Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the real challenges for a developer migrating between programming languages? [closed]

Many developers will claim that moving from one programming language to another is relatively simple especially if the languages are based on similar paradigms. However, in practice the effort comes not from learning the syntax of the language but in developing a deep understanding of the language nuances and more importantly knowing what is offered in the language’s libraries. For example, switching from Java to .Net is not difficult from a syntactic perspective but programming efficiency requires a good knowledge of the available libraries. Switching from PHP to .Net could present an even greater hurdle given the language disparities.

What are the real overheads for a developer to move to a different language in the same paradigm? What if the paradigms are different?

like image 826
Richard Dorman Avatar asked Oct 17 '08 13:10

Richard Dorman


3 Answers

The biggest challenge (for me) is usually the API, rather than the language itself (.NET notwithstanding). For example, I've been using Microsoft's C++ and C# for a lot of years (Delphi before that). But I have great difficulty getting started on Java; even trivial projects can take me a while. Not because the language is difficult (it's not), but because the APIs are different, and arranged differently.

It takes months to get up to speed on an API to the point you can use it fluently, and years to become "good" and learn all the ins and outs of the language. That's daunting for a lot of developers, because you basically have to devote a significant amount (if not all) of your time and effort toward working in the new language to become an expert at it. Many times, the incentive to move out of your current area of expertise just isn't there.

like image 115
TheSmurf Avatar answered Nov 06 '22 05:11

TheSmurf


Same paradigm is much easier because it is really just a matter of grasping the various libraries and locating them quickly as you mentioned.

If the paradigms are different than this switch is more difficult. Moving from a static to dynamic language or a procedural to OOP language will require a different mind set. This will take more time but it is possible and still a very good exercise.

It may be similar to learning foreign languages. If you speak English, than moving to another Latin based language is far easier than going to something like Greek.

like image 2
SaaS Developer Avatar answered Nov 06 '22 05:11

SaaS Developer


For me it would finding good bloggers and useful sites on the language. After a while you get to know where the best people are. Those people and sites are good sources of information for learning the subtleties.

like image 1
harriyott Avatar answered Nov 06 '22 03:11

harriyott