Boot camp for learning a new language
Is it possible to learn an entire programming language with about a week, at most two to spare? When i say a week i mean an average full time computer science university school week. are there some specific programs you can try that will make you reach substantially above intermediate level?
Substantially above intermediate level - Getting assignment开发者_如何学编程s and projects done with little or no help.
Update. I think it should be possible with about two and a half to three weeks. A single week might be too short.
Learning a programming language in the same paradigm as one you already know well can be done in 2 weeks.
Learning a new paradigm will take substantially longer.
Considering you are a CS student, you have had exposure to many different languages, but are not a master of any. You will in no way be able to have mastery in such a short period of time.
You have to write a lot of code to get that, and 2 weeks isn't enough.
Yes, but only if you already know one. For example, if you know Java, it would be relatively easy to become proficient at C# in a few days (particularly if you're using the VS IDE since intellisense helps you out along the way). Picking up a dynamic language like Ruby from something structured like C might be a little harder, but still possible.
However, if you've never programmed, it's unlikely to gain an intermediate-level ability in a couple weeks. Programming requires a different way of thinking that takes a year or two to truly sink in. Many computer science graduates still aren't proficient programmers until they spend a year or two solving real world problems. Once it "clicks" though, transferring those skills to other languages is relatively easy.
You can learn the basics in a week or two.
This is provided you already understand the underlying concepts (loops, variables, control structures in just about any language) and the more complex ideas underlying the programming paradigm (OOP, functional etc...).
To become an expert, you need years.
maybe you can learn the Syntax of this programming language in a week.
but it will take 10 years to master this language and to master the "programming" :).
My experience has been thus: I learned C and C++ first, and every language since has been much easier to pick up, especially after attaining intermediate-advanced C++ status. This isn't to say that I think everyone should follow this path, but I think it can be extrapolated that if one spends a lot of effort learning a multi-paradigm language such as C++, one may find it easier to pick up other languages in those paradigms.
However, I'm not sure it would be at all possible for anyone to master a programming language in 2 weeks. Like a natural language, syntax is one matter, but vocabulary (here meaning frameworks, APIs, portability, etc.) is substantially more difficult to grasp as there are a lot of different ways to use a language.
One technique that might help when learning a new language efficiently is to find a superb API or framework, one that has been battle-tested and is well known for its high quality, and study it while learning the syntax of a language. A lot could be learned this way in 2 weeks, I'd think.
3 years later. Please bear in my mind this was initially asked for college level learning, but it should apply to post college learning as well. My experience in learning java was to use the Deitel & Deitel series (the one with the bugs on the cover). So if maybe its your first time programming I think it would help if you took your time to actually go through that one language and try the examples and everything, by the end of which you will have gained substantial proficiency. In addition the algorithms, best practices and more or less the semantics rarely change along the same programming paradigm/style, so learning another language would simply be a case of learning new syntax.
Since Deitel et al use more or less the exact same code in other books on C, python C++, etc. picking up another language, while using the text from the same series, would then become a simple matter of going through the examples and trying the exercises in order to pick up the syntax, while safely skimming through the semantics because its more or less the same. This should greatly reduce the time with which you learn the language. Then you can slow down and focus on the particular topic you're interested, be it data structures or graphics programming or whatever is required.
I'm not aware of any other programming books which have a series quite like Deitel & Deitel, but the point I'm trying to make is you can gain substantial proficiency for at least college level if you initially learn thoroughly one language and the pick the next one with the same programming text from the same series.
If you already have a fluent knowledge in one language it won't be hard to learn another language (not to master it though) in few weeks of time. Here's a link http://learnxinyminutes.com/ that help to learn basics of another language if you are already mastered few.
精彩评论