打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
What's the best programming language to learn first? | ITworld

What's the best programming language to learn first?

Which programming language should you learn to program with?

By   74

This debate has raged on for a long time. In your opinion, what is the best programming language to learn as your first programming language?

When I’m asked this question, my approach is to consider which language will be the most valuable throughout a career. Making matters more complicated, you won’t just be learning the language, you’ll be learning all of the fundamentals and concepts of programming simultaneously.

When weighing this decision, it’s important to note that I don’t count JavaScript or markup languages as candidates. In fact, I’ll just list the candidates that I consider straight away:

  • Java

  • C#

  • PHP

  • Ruby

  • Python

  • Objective-C

  • C++

Yes, I know, I’m missing XYZ languages that are your favorites. There are many pros and cons to each language overall and each language as a foundation.

My largest deciding factors are:

A) which language will provide the best conceptual foundation

B) which language will be the most helpful transitioning to other languages

C) which language will make you the most marketable

For that conceptual foundation, I’m talking about object oriented programming. When learning some of the more difficult to grasp concepts, seeing the implementation of that concept and following it can be like flipping a light switch in your brain. If however, you can’t make sense of the syntax, that’s not going to happen. For learning the fundamentals of programming, I think that Python and Ruby do a fantastic job. Being a bit more traditional, I like C# and Java myself.

The languages that I consider to be the most helpful when it comes to transitioning to new languages are: Java, C#, and C++. If you become skilled at any of those 3, you can rapidly learn the other 2. What’s more, the other languages in my list are all highly influenced by these 3 languages. On the flip side, if you start out with Objective-C and it’s whacky syntax and ambiguous style, you’re going to have a hell of a time switching to another language. Likewise but to a lesser extent, Ruby and Python’s syntax is a fair bit different than the rest.

Finally, as for which language makes you the most marketable, this depends almost entirely on what you plan on doing with yourself. This is the largest variable in the recommendation I give. If you tell me your ideal programming gig, knowing that information makes all the difference. You want to work at Google? Best go Python. You want to work in the enterprise space, learn Java or C#. You want to build websites? Probably go PHP or Ruby. Pledged your soul to Apple? Just dive into Objective-C and never program outside of their massive ecosystem.

As a broad recommendation however, I almost always suggest Java or C#. Learning one of those languages well will give you the ability to learn all languages with far less resistance. I personally started out with C# and have been programming in it (and Java) for over a decade. In that time I've learned close to a dozen programming languages that I use on a regular basis. That experience is definitely contributing to my overall recommendation as well.

How do you approach this question? What recommendation would you give to a university rebuilding their CS program? To a freelancer? To a job hunter? It’s not an easy question.

Update

Many people wondered why I do not consider JavaScript a contender for a first programming language. Here is why.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
I, Analyst: Groovy: The Sleeping Giant
quora:如果程序语言是国家,那每种程序语言分别代表哪个国家?
What Programming Language Should a Beginner Learn in 2016? | Codementor
hello world, ruby
General Python FAQ — Python 3.6.2rc2 documentation...
Code Conventions for the Java Programming Language
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服