大数据文摘出品
编译:洪颖菲、武帅
前不久文摘菌曾报道过4分钟看尽Top15编程语言15年来的沉浮史,评论中就有小伙伴留言了为什么Ruby、Lisp这些语言在榜上寂寂无名?
软件世界中有各种各样的编程语言,每年还会有新的语言出现,最近发布的编程语言就有Scala、Kotlin、Go和Closure,但历史车轮滚滚向前,浪花淘尽英雄,它们中只有少数才能够存活下来。
编程语言是软件开发中最重要的东西,多年来伴随着人们的讨论和批评不断改进,没有最好的语言,只有更合适的语言。尽管大家都很熟悉那些比较流行的编程语言的发展历史,如James Gosling是Java之父,但并不是每个开发人员都知道是谁发明了Perl,Pascal,Lisp或Erlang。
今天文摘菌带大家扒一扒过去的五十年在软件开发领域被列为最具影响力的十大编程语言及其它们背后的开发者,希望可以站在巨人的肩膀上一睹各种编程语言的风采,在每种语言文末都有免费课程推荐给大家学习。
以下排名不分先后,只是为了让我们了解并记住那些在编程语言和软件开发领域中做出巨大贡献的编程大师们!
Java——James Gosling
Java是最流行和最成功的编程语言之一, James Arthur Gosling博士因发明Java而被誉为Java之父,Java最初由Sun Microsystems开发和支持,在2010年1月Sun Microsystems被Oracle收购后转由Oracle继续开发支持。Java的使命是WORA,“Write Once Run Anywhere”(一次编译,到处运行),Java平台的独立性是其在企业领域取得成功的重要支柱之一,至今,它仍是最流行的应用程序编程语言之一。
如果你对学习Java感兴趣,那么The Complete Java Masterclass课程无疑是极好的选择。
来自Unsplash
C——Dennis Ritchie
美国计算机科学家Dennis MacAlistair Ritchie于1967年至1973年间在AT&T贝尔实验室发明了C语言,至今C语言还是非常流行并广泛用于系统编程,它比Java的历史更久远,但它仍在编程语言中占据一席之地,另外,Dennis Ritchie还与他的老搭档Ken Thompson一起创建了举世闻名的UNIX操作系统,他的知名度虽远不及比尔·盖茨或史蒂夫·乔布斯,但其对软件世界的贡献几乎无人能及。
每个程序员都应该了解Dennis Ritchie以及他对编程世界的贡献。如果你想学习C语言,你可以加入Coursera的Introduction to Programming in C Specialization课程。与其他Coursera认证课程一样,所有课程都是免费的但你需要支付认证证书的费用。
图片来自Unsplash平台上的Nikhil Mitra
此外,如果你想学习数据结构,那么可以参考一下这些免费的C语言数据结构和算法课程。
链接:https://javarevisited.blogspot.com/2018/01/top-5-free-data-structure-and-algorithm-courses-java–c-programmers.html
C++——Bjarne Stroustrup
Bjarne Stroustrup,1950年12月30日生于丹麦奥胡斯(Aarhus Denmark),是一名丹麦计算机科学家,因其发明了广泛使用的C++语言而闻名天下。顾名思义,C++是在C流行的时候作为C的下一代语言开发出来的。与偏重结构化的C语言不同,它的显著特性是面向对象,C++仍然是最流行的语言之一,并且在高频交易系统中有着广泛应用,因为它兼容本地系统并具有面向对象的特性。
如果你想学习C++,那么可以参加Udemy上的Beginning C++ Programming——From Beginner to Beyond课程。它的理论与案例组合十分棒。
来源:Unsplash平台上的Dawid Zawiła
如果你不介意学习免费资源,那么就尽情享用这些免费的C++课程吧:
资源链接:https://www.java67.com/2018/02/5-free-cpp-courses-to-learn-programming.html
Python——Guido van Rossum
Python由CWI的Guido van Rossum设计,是一种通用的高级编程语言,其设计理念强调代码可读性,据说它的语法清晰而且通俗易懂。在美国,Python在学术层面上几乎取代了Java,与上一代不同,如今的学生已经开始用Python而不是C或Java编写程序。
如果你还在犹豫用Python还是Java开启你的编程之旅,这个信息图可能会对你有所帮助?
链接:https://javarevisited.blogspot.com/2018/06/java-vs-python-which-programming-language-to-learn-first.html
Python广泛用于Web应用程序开发,软件开发和信息安全。谷歌、雅虎和Spotify等科技巨头已经广泛使用Python,如果你想学习Python,那么Jose Marcial Portilla的The Complete Python 3 Bootcamp无疑是最好的入门课程之一。
课程链接:https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fcomplete-python-bootcamp%2F
照片来自Unsplash上的Hitesh Choudhary
如果需要更多学习资源,你可以参考这份适合初学者及中级程序员的Python资源列表?
链接:https://javarevisited.blogspot.com/2018/03/top-5-courses-to-learn-python-in-2018.html
JavaScript——Brendan Eich
如果你问我哪种语言是过去五到十年里的最大赢家,我会说那必须是JavaScript,它借助jQuery这样的库统治了客户端开发领域,现在正凭借NodeJS这样的库进军服务器端开发领域。
JavaScript是由Brendan Eich设计,Netscape Communications Corporation开发的一种基于原型的脚本语言,具有动态弱类型的特点,其功能十分强大。JavaScript广泛用于客户端脚本编写,验证,动画,事件捕获,表单提交和其他常见任务。它在浏览器中运行,几乎各大网站都有所使用。
我强烈建议所有程序员都学习一下JavaScript,Introduction to JavaScript & jQuery是最好的入门课程。
来自Unsplash平台上的Artem Sapegin
如果你更倾向于从免费资源起步,这里就是一些不错的JavaScript课程?
链接:https://www.java67.com/2018/04/top-5-free-javascript-courses-to-learn.html
更多资源可参见这些网站?
链接:https://hackernoon.com/10-websites-to-learn-javascript-for-beginners-31e13bbdbb5c
PHP——Rasmus Lerdorf
无论你多么讨厌PHP(Personal Home Page),你都不能忽视这样一个事实:一半的互联网都运行在这一美妙的互联网语言上。
PHP最初由Rasmus Lerdorf于1995年发明,PHP借助于PHP组生成实现,并以此作为对PHP语言的正式引用,PHP是微软的Active Server Pages(ASP)服务器端脚本引擎以及其他类似语言(如Java Server Pages(JSP))的竞争对手,但PHP在与这些语言的竞争中脱颖而出,现在已被安装在2000多万个Web站点和一百多万台Web服务器上,PHP也是开源的,被诸如Facebook、Wikipedia、Wordpress和Joomla等互联网巨头所使用,PHP广泛用于构建动态网页和服务器端开发。
网上有很多PHP的课程,如果你想学习,我强烈推荐jorge edwin diaz prado的PHP for Beginners。
课程链接:https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fphp-for-complete-beginners-includes-msql-object-oriented%2F
来自于Unsplash
如果你需要免费的PHP学习资源,这里列出了一些PHP和MySQL的免费课程:
链接:http://www.java67.com/2018/02/5-free-php-and-mysql-courses-for-web-developers.html
Perl — Larry Wall
Perl是一种高级的、通用的、解释型的动态编程语言,Perl由LarryWall在20世纪80年代中期设计和开发,因其出色的文本处理能力而声名鹊起。至今它仍是在Unix系统上开发报告和脚本的主要语言,Perl以解析和处理大型文本文件而闻名,广泛用于CGI、数据库应用程序、网络编程和图形编程,Perl也被IMDB、Amazon和Priceline等公司广泛使用。
如果你想学习Perl,那么我建议你看看Udemy上的Perl Programming for Beginners课程。
对于Java开发人员来说,Perl或Python是一个很好的补充,因为开发人员通常需要脚本语言来执行维护和支持等特定任务。
Ruby — Yukihiro Matsumoto
Ruby最初是由日本的Yukihiro“Matz”Matsumoto在20世纪90年代中期设计和开发的。如果你曾尝试过Ruby和Rails,你就会发现使用Ruby是一件很有趣的事。Ruby受Perl、Ada、Lisp和Smalltalk的影响,致力于让编程更加高效有趣。Ruby主要用于Web应用程序开发,被Twitter、Hulu和Groupon等各大网站所使用。
如果你想学习Ruby,那么Alex Korban在Pluralsight上的Ruby Fundamentals无疑是最好的入门课程。
拍摄:Oleg Chursin来自Unsplash
Lisp——John McCarthy
Lisp是列表处理器(List Processor)的缩写,由JohnMcCarthy开发,是第二古老的高级编程语言,它是像Haskell、Erlang或Scala这样的函数式编程语言之父,主要用于军事开发和防空系统。
教授Lisp的课程不多,特别是好的课程,但是Nikoloz的Learn Lisp Programming Basics课程还不错。
Pascal——Niklaus Wirth
Pascal是一种极具影响力的命令式和过程式编程语言,设计于1968-1969年,由Niklaus Wirth于1970年正式发布。Pascal是一种小型高效的语言,旨在鼓励使用结构化编程和数据结构,从而带来良好的编程体验。
与Lisp类似,Pascal因其年代久远而没有什么好的课程,但是如果你想学习Pascal,你可以在Udemy上学习Learn to Program with Pascal课程。
相关报道:https://medium.com/better-programming/the-10-most-influential-programming-languages-of-the-last-50-years-and-their-creators-6559bb9ce224