如何选择适合自己的编程语言,编程语言那么多

2019-10-04 17:58栏目:网络编程
TAG:

图片 1

图片 2

我们要感谢和致敬这个时代,一个信息传播快而广的互联网时代,你可以使用互联网许许多多一流的资源去学习任何你想要学习的编程语言,甚至都不需要你去花钱。

我一一作答吧。但还是要说明一下,学习编程切忌漫无目的铺开式学习,一定要有目标,比如做个计算器也算不错的小目标,想做 APP 所以学 Java、Swift 也是不错的目标。

编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

图片 3

一 · 编程语言及其主要用途

学习一种新的编程语言不仅可以提升你的专业能力、处理信息和分析数据的能力,也能让你走上一条新的职业道路。甚至你还可以将在学习语言时学到的计算思维能力和解决问题的能力应用到各个领域。

随着科技的快速发展,这个时代涌现出越来越多的编程语言,那么2019年有哪些语言值得推荐学习呢?以下是个人的一些建议,可以考虑考虑!Python

常见的是 C Family ,比如:C、Cpp、C Sharp、Java、Python、R、JavaScript、Objective-C、Swift、Go、Kotlin 等等。然后有很多脚本语言,Python 也在其内,比如:Ruby、Perl 等。

然而,选择编程语言不仅要看个人兴趣,还要考虑这个语言是否与目标职业岗位匹配等众多因素。那么,你应该如何选择适合自己的编程语言呢?

图片 4

光说名字意义不大,所以举几个例子。

1.PHP

第一个Python,我想肯定很多人在看完文章标题就能断定肯定有它!

C 常用于单片机开发和一些接底层硬件的操作使用;

PHP是目前最流行的编程语言之一,也是一门非常适合初学者的语言 ,同时它也为有经验的程序员提供了很多高级功能。

Python简单和简洁的语法使它成为一种非常好的通用编程语言,它是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本,并且随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

C++ 是 C 的超集,因为直接支持了面向对象所以更多用于游戏、图像开发方面;

图片 5

它具有许多优点,比如:简单易学、运行速度快(相对于其他语言,不要和C/C++去比的话)、免费开源、可移植和扩展性好、还有非常丰富的库等等。

C# 是微软为了把 Java 人才引入 Windows 平台设计的语言,和 Java 语法几乎一致,目前多用于服务器后端开发和 Unity 3D 的游戏开发,也有人会用这个做很多 windows 平台下的软件插件甚至常说的软件外挂(外挂其实严格说就是插件,但大陆地区已经有更深层的意义了,所以两者并列举例出来);

PHP可以实现多任务并行处理,它可以生成动态页面内容,同时,也可以对服务器上的所有文件进行创建(create)、打开(open)、读取(read)、输入(write)、关闭(close)等操作。

目前,小到Web和桌面应用程序,大到服务器、机器学习和人工智能等等应用程序都在使用Python。最近几年在TIOBE编程语言排行榜中,它的流行率都在不断提高,且去年更是获得了TIOBE“年度编程语言”奖,2019年更值得期待。JavaScript

Java 是目前最流行的服务器后端开发语言和 Android 开发语言,因为有大量框架和工具包的支持,Java 语言的运行速度已经不能阻挡 Java 成为服务器开发的首选语言。至于是什么服务器后端开发,题主学了 JavaEE 自然便知,通俗举例来说可以 yy 一下:我写了这篇答案,答案存在哪里呢?肯定是在知乎那边!至于怎么存、怎么取,都是后端开发需要设计的问题了。Java 也曾一度是 Android 的首选语言(虽然目前 Kotlin 的影响很多人转战 Kotlin 去了),负责 Android 顶层的 APP 层开发。

使用理由

图片 6

Python 是目前机器学习最流行的语言,也可以做服务器开发,有堪比 Java Spring 框架的 Django 作为支持。更多的人会使用 Python 作为机器学习、深度学习的首选语言,因为 Python 语法的简洁和类似数学式表达的规范,当然还是因为包多,很多学者科学家都会使用 Python 做科学研究。

如果你打算写一个网页,并且有像Laravel, Symphony 2, Zend, CodeIgniter, CakePHP这样的框架以及各种支持工具,用PHP就再适合不过了。

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。

R 语言作用类似 Python,常用于工程方面。还有一门语言是 Matlab,其实称之为语言是不恰当的,因为这是一个软件,脱离了软件就无法生存,远不是编译器那么简单的结构了。MatLab 汇集了太多的工具,便于科学从业人员快速分析数据,写出优良的程序,这种程序语言通常也称之为 Matlab;

和其他语言相比,PHP能更快速地执行动态网页,而且随着不断的改进,它变得越来越容易部署。

根据Stack Overflow的年度开发者调查,有超过70%的开发者在使用javascript。它具有通用性,几乎可以应用于任何软件领域,是万维网的主要前端语言之一。JavaScript还支持交互式网页,对大多数Web应用程序都是必不可少的。

JavaScript 是前端开发首选语言,在使用 HTML + CSS 模式绘制出页面图像后,通常都会使用 JS (JavaScript)来写交互、动画、请求、视图内容更新这些操作,这门语言是函数式也是面向对象的语言,灵活度极高,但有了 C Family 任何一门语言的基础就很容易学;

由于PHP被广泛使用,所以世界各地都有大量的PHP用户。而如果你想了解更多关于PHP的知识,可以加入当地的PHP群组。

JavaScript是一种多范式语言,支持从面向对象到功能的多种编程风格。它还拥有大量快速扩展的库,包括一些后端服务器。它非常受欢迎,甚至在一些不是作为最优选择的领域它都有框架,比如游戏开发和虚拟现实。

Objective-C 是苹果(Apple.Inc)开发的一门为 mac 和 iPhone 设备开发程序的语言,和 C++ 类似,也是 C 的超集,也是面向对象。但由于其太过于面向对象了(基于消息的传递数据机制)导致很不 C Family,所以对 C 系列人员上手难度偏大,比较冷门。但后来 iPhone 的崛起,导致该语言又一度热议起来;

使用公司

我相信2019年甚至未来任何时候,JavaScript都将是网页开发动态功能的最佳选择。Ruby

Swift 是苹果最新发明的一门函数式编程语言,和 OC(Objective-C)的目的一样,为苹果设备而生,但苹果也提倡用该语言做工程方面的扩展,比如苹果会在宣传的时候拿它和 Python 对比。为了兼容 OC 的所有工具包,避免该语言的冷门,创造了 bridge 作为两个语言直接的桥梁,解决了语言兼容问题;

很多服务器提供商都使用PHP服务器,它为超过2000万个网站服务,并被很多公司使用,比如:Facebook;Etsy;Drupal;WordPress;Whatsapp;Tumblr;SnapChat;Hootsuite;Nokia等。

图片 7

Go 语言是 Google 开发的一门函数式语言,特点是能解决大规模的高并发问题,天然支持多线程使得该语言一出来就广受关注。目前多用于机器学习和一些 Google 自己产品的开发以及后端服务器开发;

使用岗位

Ruby与其他语言一样支持多种编程模式,如面向对象、功能性和命令式。它还具有动态类型系统和自动内存管理功能。Ruby主要用于带有RubyonRails框架的Web应用程序,但也用于后端服务器和数据库。

Kotlin 是大家常用的 IDEA 开发工具的开发商 Jetbrains 发明的函数式语言,这门语言是基于 JVM 进行设计的,比较完美地兼容了 Java 语言,所以前后端开发都可以使用该语言替代 Java,不确切统计是可以用比 Java 少一半的代码量完成同样的功能并拥有同样的运行效率。类似的 JVM 语言也有 Scale,但比较元老了,兼容力度不大所以也开始广受诟病;

PHP开发人员;软件工程师;全栈开发人员;前端开发人员。

Ruby最大的优点之一就是它对初学者的友好。它是最宽容的语言之一,在出现问题之前,您仍然可以编译和运行程序。它也很容易学习,因为它的语法接近英语口语,而且它可以用更少的代码行完成其他语言所做的工作。JAVA

Ruby 和 Perl 这些是典型的脚本语言,Ruby 多用于各个语言的粘合剂,Perl 是 Linux 下最常用的脚本语言,文本处理能力极强。

2.Java

图片 8

二 · 如何自学

Java这几年来越来越流行。它是一门基于原型、函数先行的语言,也是一门多范式的语言。

Java的著名口号是"write once, run anywhere(写一次,运行任何地方)",因为它运行在任何支持它的平台上。Java是开发人员中最广为人知的语言之一,它是Stack Overflow上的第二种最常用的语言。

这个问题其实答案很多,就像问一个人「如何才能提高分数」一样,是个「上帝问题」。我来简单解释一下什么是「上帝问题」:一个问题条件不充分,导致问题答案变数太大甚至可以出现毫无任何限制的答案,这类答案往往无意义或者意义不大,称之为「上帝问题」。

图片 9

Java是一种基于类的、面向对象的、设计最少的实现依赖的多范式语言。由于其结构,它在应用程序域中有广泛的用途。它最著名的用途之一是为Android开发应用程序(虽然谷歌更推荐它的亲儿子Kotlin),但它也很受桌面、Web、服务器和网络应用程序的欢迎。虽然Java的语法一开始可能令人畏惧,但掌握它对于第一个开发人员来说是非常值得的。

所以这个问题是没有好的答案的。

它支持面向对象编程,命令式编程,以及函数式编程,被开发人员结合着HTML和CSS广泛使用。

且学习Java同时也是学习大数据的一个非常重要的基础,对于以后想继续在大数据领域深入研究的同学,个人觉得Java是必不可少的。

于是我便假设题主问题是:「一个时间充足、智力正常、周围电子设备允许、自律能力可以、、、等等的男生该如何自学达到学会某一门语言的目标?」

使用理由

其他的欢迎补充!

这样的话我们探讨起来可能会容易很多。

Java 可以被认为是网页的行为端,它嵌入在大多数浏览器中,用于网页广告、网页分析和网页窗口小部件的制作。

当然目前还有许许多多其他编程语言可供选择,比如现在比较流行包括GO、Scala、TypeScript、C++和Rust。但对于刚开始学习软件开发的你,应该避免其中的大部分,因为许多语言都是复杂的、高级的,或者过于关注单个应用程序域,这些坑初学者请慎入!

来个老套路吧,其实真的自律可以什么套路都行,自律不行,说什么都是废话。以下不是捷径,是远方:

Java也可以用来建立网站上的自动完成功能、解决布局问题和增强HTML框,这样可以让用户自行预设,添加文本。

谢谢~

通过视频入门(视频拥有大量的声音、图像、文字以及讲师不经意的犯错引发的笑点),视频和书不一样,视频是容纳了很多错误的,这些错误都是编程中可能会犯的,比如讲师少打了一个分号,变量名字写错了等等等等,这些在书本里面是看不到的,视频带给你的信息量远大于书本。

Java既可以用于后台脚本,也可以用于前端脚本,现在很难找到一个不运行js的设备,它几乎无处不在。

通过书本扎实思考,书本还是得看,必须得看,书是代表系统的、完备的,书总是一章一节地讲,不会错一个字地讲,很多东西就得从书里找,视频老师可能会讲漏,但书漏了第二版本还可以修订。至于怎么选好书,三步筛选:是否有第二版(或者第三四五... 版本)、豆瓣评价、实地摸(怎么说都不如自己去摸一摸,试试就知道适不适合自己了)

Java也是一种快速、灵活且富有表现力的编程语言,它有Angular和React等这些流行框架,你可以用它来编写可重用的组件,这些组件可以插入到应用程序中,从而控制一个“坚固”的框架。比如,开源平台Node.js,它就是建立在Chrome 的 Java运行时刻上的,对于创建快速的、可扩展的网络app非常便利。

一本书为主,其余书为辅,不出数月即可见效。

使用公司

然后练习项目,此时你已经有了一定的基础了,而且在学习过程中肯定也是不断地码代码练习小项目小题目。此时你需要更多的时间去做更大的项目,通常很多杂牌书后面都会附一两个项目实战,可以试试手。项目必须练,这会让你成为和以前不同的两个人。

Airbnb;Yahoo;Snapchat;LinkedIn;FitBit;Opsview;Adstream;PaySafe;Sky;Eurostar;HSBC;Thomas Cook等。基本上使用网站的公司都使用Java。

三 · 入门选择哪门语言最好

使用岗位

我个人一开始的话就是学习Java,Java相对于C语言来说更加的简单,包含的内容更加丰富,而且Java的就业方向也较广。

Java开发人员;前端开发人员;Web开发人员;软件开发人员;Web技术分析师;全栈Java开发人员(Full Stack Java Developer)

3.Java

尽管名字相似,但Java与Java没有任何关系。

Java自1995年开始被使用,是关于网站开发最早的编程语言之一,它到现在仍然非常流行,在TIOBE编程语言排行榜中连续两年都排名靠前。

图片 10

Java是一门非常灵活的语言,它可用于开发Web应用程序、桌面程序和移动应用程序,还可应用于制作网络游戏、上传照片、参与虚拟旅行和使用交互式地图等。

使用理由

Java可以说是Android的基础,它推动着Android应用程序的开发,所以对那些想进入移动开发行业的人来说,Java是一个很好的选择。

由于Java这门语言历史悠久,所以它有大量的图书和大量的文件可供你在学习时查阅参考。

并且Java软件有一个开源版本的Java编译器,程序员可以在Java平台上的开源应用上交流合作。

Java语言还有优良的工具,而且它为了让初学者学起Java来更容易,正在进行进一步改良。

使用公司

从Lloyds Bank Group, Credit Suisse, Financial Times, HSBC, Deutsche Bank, Goldman Sachs等金融银行到Facebook, Ebay, Netflix, Uber, DigitasLBi, BBC, Sky和Right move等知名网站,Java被大量的企业所使用。

使用岗位

Java开发人员;软件开发人员;后端开发工程师;Java软件架构师等。

4.Objective-C

和Java一样,Objective-C可以用来编写桌面软件和移动应用程序。

它是一种基于C语言的面向对象编程语言,被苹果开发人员用于开发iOS和Mac OS的移动应用程序。

图片 11

使用理由

在Swift出现之前, Objective-C是iPhone原生应用程序的首选语言。

它有强大的界面生成器,支持泛型编程如Java,Scala 或 C#。

如果你想进入苹果公司,肯定需要学习Objective-C。

使用公司

Apple;Instagram;Uber;Slack;Snapchat;9gag;TimeHop;Zillow;Weebly;FitBit;Luminosity等

使用岗位

全栈开发人员;软件开发人员;Objective-C开发人员;软件架构师;后端开发人员;IOS开发人员;应用程序开发人员;移动应用程序开发人员等

5.Swift

Swift于2014被引进,用来部分替代Objective-C。从Mac、iPad和iPhone到Apple Watch和Apple TV应用程序,Swift几乎参与了所有苹果产品的开发。

图片 12

如果你想从事苹果技术开发岗位,需要同时学习Objective-C 和Swift,因为这两种语言通常被应用于同一个应用程序。

使用原因

和Objective-C一样, Swift也是苹果认可的语言。它被认为是一种新的创新型编程语言。它的源代码的开放性和易用性,旨在给开发人员提供更多的自由。

Swift支持推断类型(inferred types),这使得代码得到简化,而且因为这一语言中嵌入了强大的错误处理工具,所以在使用它的过程中不易犯错。

使用公司

Apple;Artsy;Lyft;DeloitteUK;Microsoft;Shazam;TransferWise;First Utility;On the Beach;BBC;comparethemarket.com;Amazon等

使用岗位

iOS开发人员;软件开发人员;iOS应用开发人员;移动应用开发人员;前端开发人员等

6.Python

Python和PHP一样是服务器端和非编译动态编程语言,它可以单独使用,也可以作为另一个框架的一部分使用。由于它是一种通用语言,所以它几乎可以用于从服务器自动化到数据科学和机器学习等各个领域。

图片 13

大多数公司现在开始在他们的数据团队中引入机器学习,这意味着Python将成为实现高级算法的最常用的语言。而且该语言还扩展到创建移动应用程序——建立网站、软件和游戏,帮助研究人员破解相关数据并提供数据库访问。

Python和PHP的区别在于:python与PHP使用的堆栈类型不同。而且python的应用范围很广,你可以根据自己的兴趣有选择性地学习,比如:如果你只是想做网站建设,只要学习了web部分,你就能在浏览器中完成基本的建站工作了。

使用原因

对于初学者来说,Python是很好的入门语言,因为它易于阅读和理解,可以减轻初学者初学语言时的语法学习压力。

Python因为它简易的语法和可读性强的代码而备受推崇,同时它能处理大量复杂问题,所以使用者在使用Python时可以专注于学习编程概念而不必担心细节。

而且Python以其拥有大量的可用图书和大型社区而有名——它有第五大的堆栈溢出社区(5th largest Stack Overflow community )和第三大的Meetup社区(3rd largest Meetup community ),这些可以为你提供很多向其他开发者学习的机会。

使用公司

Instagram;Google;Vine;Snapchat;PayPal;DropBox;Pinterest;Netflix;Uber;Spotify;Reddit等。

从金融科技银行和金融公司(用于定价、风险管理和贸易管理的平台)到建立和维护零售网站的电子商务公司,都在使用Python。

使用岗位

Python开发人员;软件开发人员;后端开发人员;全栈开发人员;数据库管理员;数据科学家;解决方案架构师;运维工程师等

7.Ruby和Ruby on Rails

Ruby是一种服务器端解释型、非编译的动态编程语言。Ruby on Rails 是一个可以使开发、部署、维护 web 应用程序变得简单的框架,没有Ruby on Rails,Ruby是没用的。

图片 14

Ruby可以使用命令式编程和函数式编程,这一语言是Perl, SmallTalk, Eiffel, Ada and Lisp等语言的融合。

Ruby被广泛应用于初创公司和大型公司,用于构建模型和Web应用程序。同时Ruby on Rails可以使用户轻松高效的构建Web应用程序和网站。

使用原因

Ruby可以快速开发,而且它是有着强大单行命令的编程友好的语言。

Ruby on Rails是高度可移植的,而且它可以应用于UNIX,Max OS X和Windows 95到2000,DOS,BeOS等多种桌面环境。一些大的网站都是使用Ruby on Rails构建的,如Airbnb、Groupon和Kickstarter等。

而且它是一种功能强大的开源语言,涵盖前端和后端编程,这让你可以轻松地开发整个Web应用程序。

同时它也有一个蓬勃发展的社区,其中有很多适合初学者参加的会议和聚会。

使用公司

GitHub;Twitter;Snapchat;Tumbl;Kickstarter;GoPro;Airbnb;On the Beach;Citizens Advice;Deliver;Amazon等

使用岗位

Ruby on Rails开发人员;软件工程师;Ruby应用程序开发人员;前端开发人员;运维工程师;网站开发人员等

8.Perl

Perl是一种通用的编程语言,最初用于文本处理,但现在它已被广泛应用于Web开发、网络编程、GUI开发、生物信息学、系统管理、测试等各个方面。

近年来,Perl的普及率基本上已经恢复到20年前的水平。

图片 15

使用原因

Perl是开源的,代码简洁而有效,而且它既有趣又容易使用,所以也非常适合初学者学习。

因为巨大的第三方代码库CPAN收集了大量的有用的、可重复使用的Perl模块,所以初学者可以参考图书库和简化编写代码。而且如果你学会了这门语言,那么你学其他语言,比如:Python,Ruby,PHP,java,.net时就不会有什么问题。

Perl有资源丰富的社区。Perl程序员热爱他们的语言,并且广泛地记录Perl的相关知识,所以在这里你可以很容易就找到关于Perl问题的答案。

使用公司

Snapchat;Booking.com;C.V.Library;Zoopla;cPanel;NET-A-PORTER;Deutsche Bank;XS4ALL;Amazon;LoveFilm等

使用岗位

Perl开发人员;Perl脚本编写员;Perl程序员;软件工程师;软件开发人员等

9.C#

“C-Sharp”是微软开发的一种面向对象的编程语言,它借用了与Java有类似功能的C++的语法。

图片 16

由于它的灵活性,从提供大数据服务器软件到创建Web应用程序,C #几乎可以用于任何地方。它最初被用于微软.NET框架,这一框架有一个很大的关于预生成代码类的库。

使用原因

因为C #对于Windows平台的.NET能提供很大的支持,因此,当创建Windows桌面应用程序时,C #已经成为开发人员的首选语言。C #是在集合了在C++和Java语言中的优良元素的基础上创建的,并且它也打算发展成通用型语言。

C #是一种强类型语言,让初学者容易找到bug并消除bug,使初学者更容易养成用最优解编码的习惯。

如果你是C #的新手,你可以从微软找到很多可用的资源和教程。

使用公司

Microsoft;Huddle;StackOverflow;ASOS;BloombergLP;Moonpig.com;NextPLC;Hays;Natural History Museume等

使用岗位

C #开发者;.NET开发人员;软件架构师;测试开发人员;全栈开发者等

10.Scala

Scala 是一种可扩展的语言,这意味着它可以随着你的学习而成长改变。

你可以使用Scala随便键入一行表达式,看看结果会发生什么变化;也可以使用Scala构建大型的关键系统,像Twitter和LinkedIn这样的大公司就是使用Scala来构建大型的关键系统。

图片 17

以灵活性著称的Scala 语言可用于面向对象编程、脚本或其内部的功能范型。

Scala 也是一个JVM语言,它可以用来生成运行在Java虚拟机的软件。

使用原因

Scala是开源的,它语法简洁,对一些人来说它就像是一种脚本语言。

Scala的类型系统相当复杂,但是它的REPL(解释器)为初学者学习编程语言提供了很大的帮助。

Scala擅长解决函数问题,并且有很多巨大的库可以参考,而且它可以提供不同的方法来解决同样的问题。

使用公司

LinkedIn;EDFT;Twitter;Novell;theGuardian;Xebia;Xerox;FourSquare;Sony;Siemens;Thatcham;OPower;GridGain;AppJet;Reaktor等

使用岗位

软件工程师;Scala开发人员;数据科学家;JVM开发人员;数据工程师;Dev Ops架构师;大数据开发人员;Scala工程师等。

不同行业不同编程语言的受欢迎程度不同,其实这主要是由编程语言本身适合干什么工作决定的,开发者对编程语言 应无好恶之心,只有适合不适合。

所以一个语言能不能发展,甚至存活主要还是要看它适不适合市场应用。

虽然如此,我们还是能看出一些特点:综合来看,但无论哪个行业,Java,Python,JavaScript,C/C ++都是开发人员的比较喜欢的编程语言。所以开发者掌握这几张语言是有必要的。想要学会适合自己的编程语言,欢迎报名合肥达内Java编程课程,合肥达内每月Java编程免费试听课程开始预约,全程大咖级讲师亲授,为你解析Java编程行业发展趋势,就业前景,解决你的一切疑问!

版权声明:本文由澳门新葡亰平台游戏发布于网络编程,转载请注明出处:如何选择适合自己的编程语言,编程语言那么多