2017年最值得学习的编程语言

本文为John Sonmez在2016年下旬的建议。 John Sonmez为软件程序员都应读的十本书之一 Soft Skills: The software developer’s life manual  作者,提倡程序员要有所选择的学习,才能 学什么都很快 (  相关课程 )


很多人问我应该学习什么编程语言。 我发现这问题相当困难,实在是个很难回答的问题。在决定前你需要考虑很多事情,尤其是涉及应该学习哪种程式语言。


决定2017年要学哪种编程语言的最简单的决定方法之一是聆听市场的声音。市场肯定会告诉你未来哪个程式语言将为趋势。


那么,你怎么知道什么是2017年最需要的编程语言?


根据我的研究,这些是你应该在2017年关注的编程语言:


– JavaScript


– Python


– Elixir


– Rust


– Swift


以上...你同意吗? 你的想法如何? 欢迎在下面给与回馈 !


本文:Top Programming Languages To Learn In 2017 获得John Sonmez授权翻译。



[youtube https://www.youtube.com/watch?v=R4hNmWvFcxo?rel=0]


字幕与翻译


Hey, what’s up, John Sonmez from simpleprogrammer.com. I thought I would do a video about what programming language should I learn in 2016. This will probably carry over to 2017 since we’re more than halfway through 2016. I’ve had this on my board thinking about making this video, but you know, hopefully you still find it valuable.
嘿,近来好吗? 我是 simpleprogrammer.com 的John Sonmez。我想我会做一个有关2016年应该学习什么编程语言的视频。这将可能持续到2017年都有效,因为目前已经是2016下半年。我把这写在白板上,一直想做这视频,你知道的,我希望这对你有价值。


This is sort of a tough choice because, well, if you’re a beginner and you’re trying to figure out what programming language should you learn there’s definitely some subtleties, some thoughts on that that are different than this. There are kind of 2 paths here. If you’re a beginner, what programming language should you learn in general and it being 2016 at least when I’m recording this video? Then if you’re an experienced programmer, if you want to learn a new programming language, what programming language should you learn or where should you shift your focus potentially?
这是一个艰难的选择,因为,如果你是一个初学者,想知道应该学习什么程式语言,肯定有一些细微之处,思考这和那有什么不同的比较。我们以两种途径来想:如果你是初学者,于今我录製这视频2016年的时间点,一般来说你应该学习什么编程语言?如果你是有经验的软件工程师,想学习一门新的编程语言,你又该学习什么,或者你应该把注意力移转到哪裡?


First, let’s address beginners here. If you’re a beginner, if you’re starting out, you don’t know software development, you’re at this channel because you want to learn a programming language, you don’t know which programming language you should learn in 2016, well, first of all I’m going to point you to my new book. Actually, which you can sign up to get free and I have a chapter in here talking about how to decide what programming language you should learn and how to learn it. That’s probably going to be a lot more valuable than anything I’m going to say here in this short video. Definitely sign up there and check it out and you can get access to that. The full book might be up by the time you’re watching this video. You can just buy the book, if you want, but you can get free access. It’s posted on the blog and you can sign up if you sign up there.
首先,让我们先说初学者。如果你是初学者,如果你刚开始,你不知道什么是软体开发,你想学习一种程式语言,但不知道应该在2016年学习哪种,嗯-首先我要指引你来看我的新书-The Complete Software Developer's Career Guide(译者注: 目前讲师正在写)。实际上,你可以免费注册获得这本书,这裏有个章节谈论如何决定什么程式语言你应该学习和如何学习。这可能会比任何我在这短视频中说的更有价值。你一定要注册,并检查来信,你将获得访问连结。当您观看此影片时,也许整本书已完成。 你可以买书,如果你想,但你也可以在发佈的部落格上看到内容,你可以注册。


I will address it a little bit here. If you are starting out in 2016 and you want to learn a programming language you’re going to want to weigh 2 things. I’m going to tell you when I talk about in general what programming languages are popular and what you might want to learn you’re going to want to just take that advice and you’re going to want to apply one more layer to it which is that you need something that is going to be easy enough to learn and valuable enough that it is going to get you started right away, because the biggest obstacle to success is getting started. You’ve got to overcome that. You’ve got to build momentum.
我会在这裡谈一点。如果你是在2016年开始想学习一门编程语言,你要衡量两件事。我将会告诉你,当我谈论一般流行的编程语言是什么时你可能想要学习这语言,就只採取这个建议,且多一层了解,你需要够容易学习且够有价值的某样东西让你能立即开始学习。因为成功的最大障碍是开始,你必须克服这一点,你必须建立动能。


Even though another programming language might be optimal, what I mean by that is that there might be a better programming language in general for your career that you’re going to make more money or whatever, the biggest problem that most people are going to face that are trying to become a software developer is that it’s hard and they don’t hang on long enough. What ends up happening is they give up, they’re not taking action. They’re just learning. You want to be able to take action as soon as possible.
即使另一种编程语言可能是最佳的,我的意思是,以职业生涯来看可能一般来说有更好的编程语言,你会因此赚更多的钱或任何其他原因,大多数人在试图成为一个软件开发者时会面临的最大的问题是,它很难,他们没坚持够久。最终发生的是他们放弃,他们不採取行动。他们只是学习。但你应该想要尽快付诸行动。


With that said, let’s talk about in general, 2016, where are we at? Surprisingly a couple of different studies I’ve seen have said that the most popular programming language for employers that employers are looking for is still Java, by a large margin. How did we find this information? By looking at job recs and seeing what jobs are available and what languages are being requested.
说到这裡,让我们一起谈谈一般,2016年,我们在哪裡?令人惊讶的是,我看到的几个不同的研究表明,雇主正在寻找人才最多的还是Java,大幅的。我们如何找到这样的信息呢? 通过查看徵才纪录和市场上有哪些职缺,以及职缺要求应徵者要会什么语言。


Java’s pretty high up there by a pretty high margin and then comes C# and C++ and then JavaScript. If you’re just thinking about, hey, what is the most universal programming language that I could learn today? Java is a really good choice.
Java得分值相当高,出现幅度相对很高,然后是C#和C + +,接着是JavaScript。如果你只是想,嘿,我现在可以学习的最通用的编程语言是什么? Java是一个很好的选择。


Now, why is Java a good choice besides it being popular? Well, let’s talk about that. First of all, if a lot of employers are looking for people who have Java experience it doesn’t necessarily mean that you’re going to be writing code in Java also, right? It doesn’t stop you, it’s just that Java may be or they may have existing systems in Java. So having that background and knowing Java could get you those jobs. That’s really important. But also Java is a pretty good programming language in general, right? Why? Because it’s simpler than C++, it’s simpler than some of the more advanced programming languages. It’s not esoteric. It’s pretty standard. It’s improved a lot. It’s a very easy to use programming language. There’s a lot of libraries out there. There’s a lot of help on there. If you want to learn Java you can check out my PluralSight course. I actually created a PluralSight course on how to learn Java, it’s a 2-part course and I show you how to do that. I’ve actually got several of them. The reason why I did that as opposed to C# or other programming language is because it’s a really good language to get started and it’s fairly easy but not super easy and it’s very useful. Like I said, there’s a lot of resources and it’s valuable. In general, if you know Java, you’re going to be able to do a lot.
现在,为什么Java是一个很好的选择,除了很多人用它的理由?好吧,让我们来谈谈。首先,如果很多雇主正在寻找有Java经验的人,这并不一定意味着你将要用Java编程,对吗?它不会阻止你用别的,只是Java可能是或他们可能现有的系统是用Java写的。所以拥有这样的背景和会用Java可以让你获得这些工作。这真的很重要。但是Java也是一个相当不错的编程语言,对吗?为什么?因为它比C ++简单,它比一些更高阶的编程语言更简单。它不深奥,很标准。它已被改进很多,是个非常容易使用的编程语言,有很多libraries,也有很多帮助。如果你想学习Java,你可以查看我的PluralSight课程。我实际上製作了一个PluralSight课程教你如何学习Java,它是一个2部分的课程,我告诉你如何做到。 这方面我实际上有几个。我之所以做这,而不是C#或其他编程语言是因为它是一个很好的语言,以此开始相当容易,虽不是超级简单,它是非常有用的。就像我说的,有很多资源且很有价值。一般来说,如果你学会Java,你将能够做很多。


If you compared it to C++, I did this video on how to learn C++ or basically telling you not to learn C++ especially for beginners which you can check out here, C++ is probably a deeper skill set. It’s more valuable in general like in being a programmer because you understand a lot more complex computer science topics and computer engineering topics, but it’s more difficult.
如果你把它和C ++比较,我以前曾做一个关于如何学习C ++的课或基本上告诉你不要学习C ++,尤其是初学者,你可以在这裡查看,C ++可能是一个更深的技能集。它对于一个程序员会有价值一般来说在于因为你理解了很多更复杂的计算机科学和计算机工程的主题,但这语言比较难。


Again, some of you that said, “Oh, well you should learn C++” I totally agree. C++ is valuable but it’s more theoretically valuable. What I mean by that is the process of learning C++ is still valuable today, but the language itself is not as valuable. It’s how difficult it is, it’s the concepts that you learn that are going to help you with every other programming language, but it’s just not a great place to start especially today when there’s many other choices there.
再次,有些人说,“哦,那你应该学习C ++” 我完全同意。 C ++是有价值的,但它更在理论上来说有价值。我的意思是,学习C ++的过程今天仍然有价值,但语言本身没有那么有价值。它的价值在于它多么困难,概念上你学习这将帮助你学会其他任何编程语言,但它并不是一个很好的起始点,特别是今天,你有许多其他的选择。


That takes care of Java. C# is sort of in the same boat. If I were to tell someone between C# and Java today I would probably actually tell them in 2016, even though there is more jobs that are being requested for Java that C# is probably better. If you know one, you know the other pretty much so you could pretty much pick and choose. It’s not going to be a big deal there, but the reason why C# is because Microsoft is really changing its game here in 2016. We’re seeing Microsoft adopting open source, we’re seeing it buy companies like Xamarin, we’re seeing them build iOS apps, we’re seeing Microsoft really focusing on getting C# on multiple platforms. We’ve got the .NET runtime running on Mac and Linux now and being supported and being open so C# is probably a decent choice. It’s got a lot of really good language development that’s going on actively whereas Java is a little bit slower to move although it’s been moving lately.
那我们就得回到Java。 C#有点像是在同一条船上。如果今天要在 C#和 Java 之间选择的话,我可能会说在2016年,即使有更多的工作被要求要会Java,但 C#可能比较好。如果你知道其一,你几乎知道另一个,你就可以几乎挑出并选择了。 这不会是一个大问题,但选 C#的原因是因为微软这边2016年正在改变其游戏规则。我们看到微软採用开源,我们看到它购买像Xamarin公司,我们看到他们构建iOS应用程序,我们看到微软真的专注要让C#用于多个平台。现在也已经在Mac和Linux上运行 .NET runtime,且微软提供支援并持续开放,所以C#可能是一个不错的选择。它有很多真正良好的编程语言发展,积极进行中,相较下Java的发展有点慢,虽然它最近有点动。


Let’s look at now some other interesting things here. What programming languages are employers necessarily looking for? Again, like I said Java, and then we’ve got C#, C++, JavaScript, but what about programmers? What do developers and programmers think? What’s going on here?
现在让我们再这看看一些其他有趣的事情。哪种编程语言的人才是雇主想要的呢?再次,如我说是Java,然后我们有C#、C ++、JavaScript,但编成的人怎么想?开发人员和程序员想什么?正在发生什么事?


JavaScript is still really important. I think it’s going to, I think it’s fading a little bit here. It’s not as popular when node.js first came out and there was that huge, huge thing. JavaScript is still valuable. It’s valuable because it’s going to be useful in multiple situations. If you’re going to be a web developer you’re going to have to know JavaScript and it can allow you to do more than that.
JavaScript仍然很重要。我认为将会,这裡它有点褪色。当node.js第一次出来,如此很大很大的事件,它变得没那么很受欢迎。 但 JavaScript 仍然有价值的。它之所以有价值是因为它将在多种情况下有用。如果你要成为一个web开发人员,你将不得不知道JavaScript,它可以允许你做更多的事情。


It kind of depends, if you’re doing web development you’ve got to know JavaScript. You might as well start there and have that be your programming language. It’s sort of a difficult programming language to learn, there are some transitions going on here. JavaScript has become a lot better of a language but there’s still a lot of old JavaScript.
这就要看 ,如果你做的是Web开发,你必须懂 JavaScript。你可以从那裡开始,并让它成为你会的编程语言。 这是一种比较难学的编程语言,有些变迁正在发生。 JavaScript已经成为一种更好的语言,但仍有很多旧的 JavaScript。


As we transition to ES6 which—ECMAScript is really JavaScript, version 6 where we’re getting a lot more functionality into it, it’s better but it’s still harder to learn in general because you’ve got this mixed up world between the old stuff and now you’ve got the new stuff and not very many people are doing the new stuff and you’ve got a lot of frameworks. I would actually avoid that now is what I would say. I would say learn a basic programming language and if you haven’t learned JavaScript already and you’re doing web development, I don’t know what you’re doing.
当我们转换到ES6时,ECMAScript是真的 JavaScript,第6版,我们得到了更多的功能,它是更好,但一般说来它仍然比较难学,因为这是有旧东西溷杂的世界,现在你有了新玩意,不过并没有很多人在用这新玩意,你有很多框架。我希望我现在能告诉你避免学JavaScript,学习基本的编程语言吧,但如果你说你正在做web开发却从没学过JavaScript,我不知道你在做什么。


Now there are some interesting ones to think about here besides that which is Rust. Rust is picking up a lot of steam and it’s a very popular programming language. This is one that I would recommend more for experienced developers like if you’re a C, C++ developer and you want to pick up a new language in 2016 or 2017 even pick up Rust, Rust is really good. It’s this low level systems language. It’s more elegant, more refined than C and C++ and is a good replacement for those languages and it just keeps on picking up steam. I think this is going to be a really popular language. I think it’s going to replace some of these legacy programming languages and some systems.
现在我们在此来想想还有其他有趣的语言吗?我认为是Rust。 Rust正在蒸蒸日上,是个很受欢迎的程式语言。这是一个我会比较建议给有经验的程式设计师,如你已经会C或C ++,想在2016年或2017年学一种新的语言,那就选择Rust。 Rust真的是很好的语言,这是个低阶系统语言。比C和C ++,更优雅、更精緻,是那些很好的替代者,它正在持续爆红中。 我认为这将会是一个非常受欢迎的语言,将会取代掉一些遗留的编程语言和一些系统。


Now if you’re talking mobile side now we might consider Swift. Objective-C is pretty much dead. If you know Java you’re going to build a new android development but if you want to do strictly iOS development Swift makes sense. Again though, if you want to do mobile development I might instead of learning Swift, if you don’t know it already, go the C# route because Microsoft bought Xamarin. Xamarin is a really good tool. Xamarin will let you build all kinds of apps in C#. C# is everywhere. I keep coming back to it now, but because of Xamarin, because of things like Unity3D for game development C# will definitely be useful for those.
现在如果你问有关移动端,我们可能会考虑Swift。 Objective-C已经过气了。如果你知道 Java 你将能构建一个新的Android开发程式,但如果你想做严格的iOS开发,用 Swift 没错 。 虽然如此,如果你想做移动开发,在你不会Swift的情况下,我可能建议你考虑走 C#这一途,而不是学Swift。 因为微软买了Xamarin。 Xamarin是一个非常好的工具。 Xamarin将让你在C#中构建各种应用程式。 C#无处不在。我现在继续回来谈C#,但因为Xamarin、因为像Unity3D的游戏开发这类的事,C#肯定在这些方面很有用处。


We’ve got a few more contenders in here. F#, I wouldn’t mess with this. There’s not enough traction here. It’s an interesting language and I love the language itself, but it doesn’t make a lot of sense to me. We’ve got—we’ve got some of the languages like Scala and Haskell and stuff like that. Those are interesting but, again, not so widely used. Those would be interesting if you’re an experienced developer and you want to pick up a new language, but I might encourage you actually to look at Elixir. Elixir is sort of a new programming language that is really interesting and there’s a lot of people that are jumping onboard with Elixir because it sort of has this elegance, this expressiveness of Ruby, readability of Ruby but it’s extremely powerful and it does a lot of things right. But that’s a gamble because Elixir could go down. There’s not a huge community, but it’s starting to develop, but again, for an experienced developer.
我们在这裡有更多的竞争者。 F#,我不会去沾这个。它没有足够的牵引力。它是一个有趣的语言,我喜欢这语言本身,但它不会对我有很多的意义。我们已经有一些像Scala和Haskell这样的语言。他们有趣,但并没被广泛使用。 如果你是个有经验的开发人员,想要学习一门新的语言,那么我可能鼓励你好好看看Elixir。 Elixir是一种新的程式语言,非常有趣,且有很多人已选用Elixir,因为它有这种优雅、像Ruby的表现力和可读性,但它非常强大,它在很多方面都做得正确。 不过这是个赌博,因为Elixir有可能没落。 还没有一个庞大的社群支持,正在开始发展中,但再次,这是给有经验的开发者的建议。


Another great one potentially for someone starting out especially if you’re anywhere in the science or academic or image processing field would be Python. Python is a very popular programming language especially with companies like Google and it will continue to be so just because there’s so much going on in the scientific realm there. It’s an easy to learn language. The fact that it uses white space for formatting makes it very readable. If you like cleanliness in your code you might enjoy that language and find that valuable.
另一个很棒的语言有可能成为你的起点,特别是如果你在科学或学术或图像处理领域的任何时点,是Python。 Python是一种非常受欢迎的程式语言,特别是像Google这样的公司,它将继续蓬勃发展,因为它在科学领域持续发展。 这是一个容易学习的语言。 事实上,它使用空白格式化使其非常易读。如果你喜欢你的编码很乾淨,你可能会喜欢这种语言,并发现它很有价值。


I’m going to go through a few more here. That’s where I stand here. What would I recommend for 2016? What are the things that are showing up here? Rust, like I said is showing up. Elixir is showing up here. Go is still gaining popularity as well. I didn’t talk about Go but Go is a good one as well especially for systems type of programming but it’s also moving to the web somewhat.
我将在这裡提及更多其他东西,以我目前所看到的。 2016年我会推荐什么? 有什么正在上场呢? Rust,如我之前所说。Elixir,也在上场中。Go也仍越来越受欢迎中。 我前面没说到Go,但Go是个很好的语言,尤其是对于系统类型的程式设计,但它也有点转移到网络设计。


Yeah, I think that you’ve got a lot of choices here. It depends on what you want to do. Again, if you’re a beginner you don’t want to try and necessarily pick the trend. You want to pick a solid base that’s why Java is always going to be a good choice or something like C# because you’re going to get—it’s an object oriented language. You’re going to cover a lot of the concepts that you need to know as a programmer and you can branch out from there.
是的,我想在此你已听到很多选项。 选什么取决于你想做什么。 再次,如果你是一个初学者,你不想摸索,且想一选就跟上趋势。 你想选择一个坚实的基础,这就是为什么 Java 总是一个好的选择或类似C#的东西,因为你会由它学到很多-它是一种物件导向的语言。 这将涵盖你作为程是设计师需要知道的许多概念,让你可从那裡分支出去。


Once you know 1 or 2 programming languages it becomes easier. Same thing with Python, for a beginner Python is going to make a lot of sense. Even for someone more experienced, if you don’t know Python already, there’s a lot of opportunity in Python as well.
一旦你知道1或2种程式语言,它变得更容易。 Python也是如此,对于初学者,学Python有很大的意义。 即使对于更有经验的人来说,如果你不知道Python,也要知道Python会带来很多机会。


Anyway, I hope that helps you. I know that’s a lot of information there and there’s a lot of different choices. I didn’t even mention programming languages I would avoid like Ruby, unfortunately. I love Ruby but it’s going down and Objective-C is definitely one you want to avoid. Anyway, if you want more tips like this, if you have more questions, subscribe to the channel. Just click that subscribe button wherever it appears, I’m not supposed to point because I don’t know where it’s going to appear, but maybe it will—I’ll be doing a video and there’ll be a subscribe button there, I don’t know.
反正,我希望能帮助你。我知道有太多资讯,且有很多不同的选择。 我甚至没有提到我会避免的编程语言像Ruby,不幸地说。 我喜欢Ruby,但它正在式微,另外,Objective-C绝对是你避免考虑的。 反正,如果你想要更多的提示,如果你有更多的问题,订阅频道。只要点击那个订阅按钮,不管它出现在什么地方,我不应该指向,因为我不知道它会出现在哪裡,但也许会,我会做一个视频,通常都有一个订阅按钮,我不确定。


Anyway, click the subscribe button and you’ll get more of these videos every week, actually everyday because I put out videos everyday. If you came here from the YouTube search or something you should know that this is software development career and personal development channel so I will be talking about all kinds of crazy stuff, but that’s the way I like it. Thanks for joining me. I’ll talk to you next time. Take care.
无论如何,点击订阅按钮,你每週会得到更多的这些影片,实际上是每天,因为我每天推出影片。如果你从YouTube搜索来到这裡,或者你应该知道这是软件开发职业和个人发展的频道,我一直也将会继续谈论各种这类疯狂的东西,这是我喜欢的方式。 感谢您把我加入。下次再跟你说更多囉! 保重。


本文:Top Programming Languages To Learn In 2017 获得John Sonmez授权翻译。


也许你会有兴趣

Exercises for Programmers Exercises for Programmers:学任何新语言都可利用本书的实例来磨练
JavaScript课程精选
Python课程精选
Swift课程精选
Soft & Share 团购和特价线上课程  加入这个社团追踪我们的团购讯息与特价课程资讯
追踪这个 Twitter,得到特价课程讯息




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023年最值得学的编程语言Top 5是: 1. Python:作为一种简洁、易学易用的编程语言,Python 在2023年依然将继续盘踞榜首。它被广泛应用于数据科学、人工智能、机器学习和自动化等领域,具有强大的库和生态系统,使其成为程序员必备技能。 2. JavaScript:作为Web开发的重要一环,JavaScript 在2023年仍然将继续受到广泛关注。随着Web技术的不断进化,JavaScript 的需求将继续增长。同时,JavaScript 也逐渐扩展到移动应用开发和后端开发领域。 3. Go:作为由Google推出的静态类型编程语言,Go 在近年来的发展迅速,并且在2023年有望进入到更多的应用场景。它以高效和简洁而著称,适合构建网络服务器、分布式系统和云计算等领域。 4. Rust:Rust 是一种系统级编程语言,具有强大的内存安全性和并发性能。尽管相对较新,但在2023年,Rust 有望获得更多关注,特别是在需要高性能和安全性的领域,如嵌入式系统、游戏开发和区块链等。 5. Kotlin:作为一种现代的静态编程语言,Kotlin 是编写 Android 应用的首选语言。随着 Android 开发者社区的增长,Kotlin 在2023年有望继续活跃,并与Java共同成为开发 Android 应用的主力。 需要注意的是,编程语言的发展和流行趋势是随时变化的,以上列出的是在当前预测下可能最值得学习编程语言。但是,随着技术的不断发展,新的语言和工具可能会出现并成为未来更流行的选择。因此,学习新的编程语言只是一个方面,更重要的是掌握编程的核心概念和解决问题的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值