Expert in one language or knows other languages

In the corporate world, it is better to be aware (by knowing, I do not mean an expert or a novice, but with some coding experience) about several languages.

or

it is better to be an expert in one language (for example, C ++ or java), but have only basic knowledge of others.

I ask this question because what I feel is languages ​​that can be distinguished based on the functions that they provide, for example, in the Garbage collection, etc., but it can be implemented in other languages ​​... and why do people prefer one language over another?

What is the general point of view on this board?

+4
source share
8 answers

I would say, study a couple of languages ​​well, but continue to expand your knowledge by studying other languages. Not for the languages ​​themselves, but for the concepts and paradigms that they implement and encourage. This will make you a better programmer overall and better suited to finding the right tool for a wider range of problems.

+11
source

I think it’s more important to be able to learn new technologies, languages, paradigms, etc. etc. on the fly than being one of the experts in just one of them. You can devote all your time, effort, blood, sweat, and tears to learning Java, but what are you going to do if it is no longer used widely. This can happen with any honest language. Your basic knowledge of the general principles of programming and programming, as well as your SUCCESSFUL learning a new language - this is what will help you advance in the corporate environment. If your boss comes to you and says: “I need to do this in C,” and you answer either “I don’t know C and I don’t like it. How about Java or Python?” or “Of course, but C is not suitable for this task and will require additional efforts. How about Java or Python?” which will be remembered the next time the promotions are fired or promoted.

+5
source

to be an expert in one language, such as C ++, then if you want to be very good in PHP, you will need ~ 3-5 weeks instead of 3-5 years (C ++), then if you want to be very good in C #, which will take you another 3-5 weeks, and after that you will be able to find out everything else, such as .NET / ASP / J # / VB / very quickly. I believe that only ASM is harder to learn, it may take longer - 2-3 months if you have the right books.

it all depends on the passion / number of hours per day when you read / write / check the code ...

but if you want to be an expert in any of these languages, experience is what you need, training is not enough.

IMO You must be a master of one in order to be able to learn several languages ​​faster. so "Jack of all professions", but also the Master of ONE.

+2
source

Find out what you need

why learn ten languages ​​if you are just going to use two each? although you still need to know what else is available and what are its good points (and its bad points too), so if in the future you run into a problem that you cannot solve with what you know, you know where to look that might help.

If you are looking for a job, it can help you learn more languages, as it “inflates” your resume, but being a jack of all trades will probably not make you hire.

+1
source

Read this: http://www.paulgraham.com/avg.html This is not exactly what you wanted, but can give you a different perspective.

+1
source

One famous person said: "A person becomes a true software developer only when he or she becomes an expert in more than one programming language." Therefore, if you want to be a good Java or C programmer, learn Java or C deeply and completely. If you want to become a highly qualified software developer, independent of the language and ready for changes in the programming world, study both of them and better not only them! :)

+1
source

The first expert in one language. Then know more languages. (Choose a language for the paradigm)

0
source

I believe that it depends on your career aspirations. If you are looking at the long-term perspective of being a consultant or maybe an independent analyst in the evening, it is critical to become an expert in technology. You will need to concentrate a lot of time on the development of technologies in your specific field, and you do not have free time to become universal, if you do not decide not to sleep. I do not recommend this for the long term.

And again, I can’t remember how many times I saw an organization dump a completely good code base in order to move to the “next” because of the career aspirations of project managers. So maybe it's not under control?

In the end, I honestly believe that domain-critical knowledge is more important than technological skills. But this may be because these days I am not only the front. I’m all because of the general lemma, which says that you should know more than one programming language, but I seriously doubt those who claim to own ten languages ​​and ten frameworks and ten different operating systems.

0
source

All Articles