I'm 17 and since I was 15 I knew that my future life will be among the techniques of programming. And now I'm really sure about that. In those 2 years I've studied a lot of C++ language (this is the main language I learn at highschool) and among that, I practised the fundamentals of C#, I programmed a bit in Python, I looked over the MySQL and now I'm programming in Visual C++ 2010. I started to read an amazing book about C++, called C++ in Action but I didn't finish it (I learned just a quarter of it) because I got stucked in other things.
Now my question is: it's fine to explore many things in this area (IT), as I did (python, MySQL...) or it's better to learn best one concept, and then to move to another (in my case, to practise more in C++ than exploring C# and all those languages).
The thing is that I couldn't learn best all those languages because of many situations which occured at a specific time...
Neither extreme (being an expert in just one thing, or a jack of all trades) is ideal. Ideally you should master one or two things and be proficient in several more. My goal is to master C and be proficient in some other languages.
Programming is an art, the language is the tool. If you become a good programmer in any language, you can just as easily be a good programmer in another language without having to re-master the art. Granted, you won't be able to do things as beautifully or efficiently in languages you aren't as proficient in, but that's not really a huge deal.
I understand your opinnions. They are clear and logical. So the art which ModShop is talking, may be the basics (the techniques) of programming? This point will be the same even if we're talking about desktop programming languages and web programming languages? I can't imagine a PHP expert programmer to deal fine with C++, for instance.
To some degree yes. Of course being in one sector of programming will cause you to be very good doing that kind of programming (desktop apps for example) while you're not so solid in say, web programming. My point was if you are good at programming X type of applications, then you can use any language to develop apps of type X and still get pretty similar results. Of course there will be some learning required for the language/libraries themselves, but the actual logic and programming remains the same.
for me, i know its hard in our field to become expert in all programming language. maybe it would be enough if we also have just enough knowledge in every language.. i am amazed at your age. i thought i am the only one here who is a young programmer :). nothing to worry in our age. we still have a lot of time in exploring a variety of language.
Anyone that says they are an expert in <insert programming language here> is lying as it would take years to learn most languages due to them being changed and updated. They may be able to become an expert in BASIC or some language that is no longer maintained, but newer ones are updated too frequent to be mastered to the point of expert, IMO.