I think I have command of a language when I can write something from scratch without spending much (if any) time in the docs looking up things.
How many languages have you learned before Python? The first is always hard, and the second is always the worst, because it's the first time you have to think above the level of syntax, but after that it's much easier. By the time you get around to learning number nine, all you have to conceptualize are the diffs with what you already know, which is a much smaller learning curve. So, to summarize, it gets easier with each one you add to your repertoire.
As for problems, I just start with the current one. I usually learn new languages because it seems well suited to a problem I have for some reason. Right now I'm really interested in parallelism, so I'm learning Erlang. I'm working on writing some kind of REST ROA stuff with it (and Yaws), for fun.
Thanks for your response. I had learnt C and Cobol before and those were driven by the projects I was assigned to. I am confident with the algorithm but I should reduce the frequency of looking up the manuals.
Well, what about not being reliant on docs for syntax, but only for library functions? I can never remember what each language calls "length" (length? size? Is it the same for strings and arrays? What about number of keys in a map?) but I don't feel too bad about that, even in languages I use every day.
On the other hand, if I have to look up the syntax for a loop, then I can't say I know the language yet.
Comments
I think I have command of a language when I can write something from scratch without spending much (if any) time in the docs looking up things.
How many languages have you learned before Python? The first is always hard, and the second is always the worst, because it's the first time you have to think above the level of syntax, but after that it's much easier. By the time you get around to learning number nine, all you have to conceptualize are the diffs with what you already know, which is a much smaller learning curve. So, to summarize, it gets easier with each one you add to your repertoire.
As for problems, I just start with the current one. I usually learn new languages because it seems well suited to a problem I have for some reason. Right now I'm really interested in parallelism, so I'm learning Erlang. I'm working on writing some kind of REST ROA stuff with it (and Yaws), for fun.
Thanks for your response. I had learnt C and Cobol before and those were driven by the projects I was assigned to. I am confident with the algorithm but I should reduce the frequency of looking up the manuals.
With all the batteries-included languages running around I think reliance on documentation is an irrelevant (obsolete?) measure.
I for one am constantly apropos-ing in CL even though it is my primary language.
Well, what about not being reliant on docs for syntax, but only for library functions? I can never remember what each language calls "length" (length? size? Is it the same for strings and arrays? What about number of keys in a map?) but I don't feel too bad about that, even in languages I use every day.
On the other hand, if I have to look up the syntax for a loop, then I can't say I know the language yet.