Monday, July 27, 2009

Should I focus on one language or learn many?

I've programmed in quite a few languages: Java, C/C++, C#, prolog, lisp, python, VB6.





My main languages being Java and C# since the syntax is very similar. I've programmed in Java for about 3 years, and C# for only a year.





I've just completed my junior year at a university pursuing a Computer Science degree. I would like to do programming. As of right now I feel like "i'm a jack of all trades, master of none" so to speak with my languages.





Should I work on improving my skill in Java, like my Java GUI programming needs some work. Or should I continue learning C/C++ since I only know that basics of it?





Thanks.

Should I focus on one language or learn many?
The more languages you learn, the easier the next one becomes. But at the same time, you can find find yourself spending all of your time learning new languages, and never getting any programs written.





It might be better to focus on say, one full-featured language and one scripting language.





Here's some help to choose the main language. If you have a good head for details, I would recommend following the C++ route (its not as simple as some had let on, especially coming from a C#/Java environment, with its garbage collection and safe references). If you are more of a conceptual person, I would say follow C# or Java.





For scripting, you have many choices. Personally I love Perl, and PowerShell (cause I'm a UNIX geek). But Python, Ruby and Lua have had strong acceptance in multimedia environments (games, movie studios), and other places.





Also, consider that your time might be better spent on learning Design Patterns, Data Structures and Algorithms. This knowledge will make you a much stronger designer/developer and can be used with any language.





Hope this helps
Reply:Since you seem to know the basics, having programmed in so many languages, try focusing on one or two (one at a time). Which of the languages you focus on depends entirely on the type of coding you wish to pursue. Is it application development, web development etc?


I'd strongly recommend using ASP.NET and C# - it seems to be getting people far these days. Always stay on the edge and see which languages are utilized the most in order to increase your visibility and potential job opportunities.





Good luck.


I.G.
Reply:Learn C/C++ for sure. If you have already learned the other languages, C/C++ should be fairly straightforward for you to learn. Once you master its basics and pointers and standard functions, you will be able to use its powerful libraries to create just about anything. (Win32 API, DDK, DirectX , OpenGL, SDL, PSP SDK , iPhone SDK, etc).
Reply:Well, either could work, it might be better to learn more then one if you're going to sell it, then it will be harder for people to figure out. But if your not, or not very much, then one because then it will go faster.
Reply:I think you should learn one first because you kinda get mixed up if you learn a lot at once. You should learn one first then start learning others.


No comments:

Post a Comment