Arslan Ali's avatar image.

My name is Arslan Ali, Electrical Engineer, UET Lahore, Pakistan

Anonymous profile image
  • Be an expert in one language or be average at many?

    As an engineer-in-training, what is the best way to go about learning programming languages? Should I pick one and try to master just that, or try to learn a variety of languages? I know that in the future I will have to learn new tech, but as a starting point, what strategy will give the best programming foundation?

    Any ideas on what language(s) I should learn first?

    Thank you!

    Arslan Ali's avatar image.

    Well, if you become an expert in one language, you automatically become average at other languages. But, first you have to be an expert in one language.

    Programming is much like driving. If you learn to drive one car, the other vehicles are then easy to learn. At the end, it is about how well you can drive on a road and avoid accidents: translated to programming terms means: how well you can write efficient code while saving yourself form serious bugs.

    And according to me, be an expert doesn't mean you just know one language to its full extent. Rather, I think it should mean that you can write better code in that language. You should be good at naming variables ( it is the most difficult part of software engineering ), should be good at designing classes, should be good at recognizing Design Patters, when and where to apply, and even when not to apply Design Patterns.

    I started with Java, went to PHP, and now doing Ruby. It takes a very short time at getting familiar with the syntax of other languages, but at the end of the day, it is about how much readable and maintainable your code is.

    Anonymous profile image

    Generally true, among language families, but there are different language families as well.

    Procedural languages, versus objective languages, versus whatever the heck kind of language Prolog is. Logical Assertion-based?

    I can assure you, back in the Arpanet and Tymshare ages, being an expert at Pascal and C didn't help one bit when learning Prolog.

    Arslan Ali's avatar image.

    Yes, there is a lot of diversity involved.

    Actually, my focus was on mainstream languages Like Ruby, Python, Perl, PHP etc. But there is a lot of different stuff as well. Anyway, thanks for adding the info. I appreciate it. Oh, I really did it.