如何选择编程语言

 我来答
朵朵哆来咪0
2017-08-19 · 啦啦啦!啦啦啦!啦啦啦
朵朵哆来咪0
采纳数:483 获赞数:2450

向TA提问 私信TA
展开全部
很多语言,像C、Java、Python和JavaScript在几十年来一直持续支配着他们的各自的领域。另一方面,也要看到近期流行的需求语言,像Swift、Google Go 和 Rust。

怎样选择学习哪一种编程语言,其答案取决于学习之后用它来做什么。许多人的选择标准仅仅是“学习一门语言最大的需求就是能找到一份高收入的工作”。但这个标准并非人人都适用,还有很多其它的方面要考虑。例如,在大学里使用Python这门语言给学生讲授编程,其主要原因在于Python功能强大,学生们能够很容易地掌握编程概念。对于初学编程的人来说,使用Python是一个不错的选择;对于想从事移动程序开发的人来说,学习Swift、C#、Java和JavaScript是很好的选择;对于web开发来说,在CSS、HTML、JavaScript这样的前端技术支持下,使用PHP、Java、Python和Ruby on Rails是第一选择。

如果要完成像访问关系数据库这样的更加具体化的任务,可以学习SQL编程语言。SQL语言并非是用来开发应用程序的,而是用来支持应用程序和数据库之间的连接。更何况,很多数据驱动应用都在广泛地使用SQL,如今,对SQL的需求已经超越了对许多工作表的需求。

如果你对硬件编程感兴趣,想要开发嵌入式系统、操作系统、通信设备或者复杂的游戏引擎等,那么选择的语言依然是C/C++(主要是C)。
1.JavaScript——多用途编程语言

时至今日,对JavaScript的需求依然巨大,招聘网站上充斥着有关JavaScript及其相关技术的招聘信息。JavaScript由Brendan Eich设计,运行在Netscape浏览器中。那时,他或许做梦也没有想到JavaScript会有如此超乎寻常的发展。

JavaScript是WWW的默认语言,并且几乎每个web浏览器都支持JavaScript,它已经成为了web前端开发的世界标准。随着Node.js的发展,JavaScript的应用领域又扩展到了服务器端开发,如今和java、.Net、PHP、Ruby on Rails以及其它的服务器端技术展开了竞争。

JavaScript除了应用于前端和服务器端开发外,它也快速地发展成为移动应用开发的选择。开发者可以使用许多流行的JavaScript框架来构建混合移动应用程序,比如ionic、kendo UI和Sencha touch等。

后来,随着React native框架的兴起(由Facebook提出),JavaScript又出现在了Android和iOS原生应用开发领域。

JavaScript无处不在!然而,JavaScript本身不会让你拥有最高薪酬的开发工作,你还需要学习基于JavaScript的技术、框架和库(比如Node.js、React、React Native、ionic、jQuery、D3.js和Kendo UI等等)。相关技术的选择完全取决于你要从事的工作。

说到学习JavaScript,它是一种动态编程语言,并且非常容易入门。熟悉了JavaScript基础知识之后,你就可以很容易地学习相关的技术,比如 jQuery、Node.js、Angular或React。

2.Python——最好的编程语言

Python是另一种编程语言,目前世界各地的开发者正在使用它进行快速应用程序开发。Python是一种模块化的、易于学习的、面向对象以及注重可读性的高级语言。

Python广泛地应用于教育领域、web与internet开发、科学与数值计算以及大数据、机器学习算法开发。

Python的深度和广度使得它成为教育和研究领域的首选语言,世界各地的学生正使用Python来学习编程和构建研究项目。如今很多进行计算机编程的学生把Python作为他们学习的第一门语言。

Python已经广泛地用于web和internet开发,并且有许多流行的框架,比如Django、Pyramid、Flask和Bottle。Django CMS和Plone是两种广泛使用的基于Python的内容管理系统,许多流行网站和web应用程序都在使用它们。

最近,由于对大数据分析和机器学习算法的需求急速增长,对Python的需求也在快速增长。用Python编写的许多开源库能够实现数据科学广泛使用的一些核心的机器学习算法。R是统计与数据科学领域广泛使用的另一种语言,但是学习曲线比较陡峭。

库方面,一些流行的Python库例如用于数学、工程和科学领域的scipy、用于库建模和数据分析领域的“pandas”,以及其它一些有用的库,比如iPython、kivy、pyqt和pyside。

3.Java——大众化的编程语言

Java是大众化的编程语言,它也是一种永葆青春的语言,多年来一直是各个招聘板块的宠儿。Java于1990年由 Sun Microsystems公司发布,后来被Oracle公司收购,Java的哲学理念是“编写一次,到处运行”。

Java广泛地应用于web开发、企业软件开发和Android app开发。随着对运行在Android平台上的移动app的需求不断增长,对java的应用也达到一个新高度,这也是为什么全球范围内对java的需求依然第一的原因。

Java是高级的面向对象的编程语言,学习起来比C++更容易,但是程序的性能要比C或C++差一些。因此,一般不用java构建核心引擎、操作系统或嵌入式系统开发。

4.SQL——结构化查询语言

SQL结构化查询语言是一种能被数据库理解的语言。SQL是由IBM工程师于1970年开发的,用来创建、更新和检索“System R”这个数据库管理系统中的数据。从那时起,SQL已经走过了很长的路,时至今日,它仍然是市场最需要的一种技能。

近年来,使用非SQL数据库来处理大数据的这种需求给SQL蒙上了阴影,但持续的时间不会太长。不久人们就会认识到SQL提供的大数据分析方法更好,它是一种更具有扩展性、可验证性和经得起时间检验的技术。

SQL语言用以辅助进行数据驱动网站、web应用程序、桌面应用程序以及移动应用程序的开发。SQL在任何应用领域都有应用。从学习的角度看,SQL比较容易掌握,并且由于有很高的市场需求,你可以仅仅通过SQL就能找到第一份工作。

然而,要找到一份高薪酬工作,还需要拥有设计、管理和维护多种数据库,比如Oracle、MySQL、PostgreSQL、IBM DB2和Microsoft SQL Server等的经验。

5.C#——排名第一的微软技术

C#是最通用的语言之一,它使得编程像Java语言一样简单。C#是类型安全的、面向对象的编程语言,运行在.NET框架运行时环境中。C#代码被编译成符合CLI规范的IL语言(中间语言)。

C#语言正迅速成为构建微软家族各种应用的首选,你可以用来构建客户端—服务器应用程序、数据库应用程序、web服务、移动应用程序、游戏等等。

C#在游戏开发中也有很好的应用(高级的但并非是硬核心),顶级游戏引擎Unity 3D就把C#作为支持的语言之一,除此外只有JavaScript语言被支持。C#还是许多交叉平台应用程序构建工具(如Xamarin)所采用的编码语言。你可以使用Xamarin产品套件构建交叉平台移动应用程序。

尽管汇编语言是首选的游戏引擎开发工具,要进行硬核心终端游戏开发,仍然可以使用C或C++,Rust语言也可以应用在该领域。

6.C/C++——古老而金贵的编程语言

有人说C++很古老,但却一致被认为依然金贵。当涉及更注重性能的硬核心系统编程时,C/C++ 仍然是首选的编程语言。C比C++更接近硬件,并且能提供更好的性能。

许多开发者转向Java,是因为和C++(&C)相比,使用Java更便于开发,而且在很多情况下性能可以通过对硬件部分进行更多的投资而抵消。但并非总是如此,比如对于嵌入式系统,你就只需要管理最少的硬件组件。

C和C++仍然属于高级编程语言吗?

C/C++拥有最好的编译器、开发环境、库和核心开发部件,还拥有一个在未来也不可能被替换的巨大的生态系统。现有的生态系统和高性能应用程序的需要,使得对C/C++的需求一直很高,而且C/C++开发人员的工资档次也比较高。

7.Swift——第一个工业质量级的系统编程语言

Swift是相对较新的语言,并且正快速地流行起来。Swift是完全用于Apple的开发语言,例如iOS应用程序、OS X应用程序、watchOS应用程序和tvOS应用程序。Swift引入了C和Objective-c的优点,并且能和cocoa以及cocoa touch框架很好地协同工作。

Apple拥有自己的巨大生态系统,毫无疑问,Swift将成为在未来几年中引领其发展的语言。如果你想进入Apple生态系统,Swift正是要学习的语言。

Swift学起来很容易,用起来很有趣,究其原因在于它引入了严格类型语言(如C、Java、C++)的所有特性,而使用起来和任何脚本语言(如 Ruby或Python)一样容易和有趣。你可以通过Swift playgrounds尝试使用Swift,并且可以马上看到结果,无需担忧程序的编译和运行。

Apple声称Swift是第一个工业质量级的系统编程语言,它提供了类似脚本的语法,能使开发变得绝对轻松。

8.PHP——基础的编程语言

许多人认为PHP不是程序设计的未来,但PHP巨大的生态系统使得在未来几年里全世界需要大量的开发人员对其提供支持。排名前三的内容管理系统——WordPress、Drupal和Joomla都是使用PHP构建的,而且迄今大概有80%的网站运行在PHP之上。所以,它是巨大的!

PHP是容易学习的语言,它可以作为你进入编程世界的入门语言。PHP属于就业市场中炙手可热的语言,你可以找到大量的需要PHP技能的工作机会。PHP开发者的薪资水平和Java、C++、Python或Swift开发者相比,通常偏低。

PHP生态系统包括上述顶尖的内容管理系统(如WordPress、Drupal和Joomla等 )和PHP框架(如Laravel、Symfony、Yii和FuelPHP等)。这些内容管理系统和框架能使开发者在几天内就构建出可以投入使用的网站和web应用程序。

近年来随着 Node.js、Django和Ruby on Rails的出现,PHP蒙上了一层阴影,但是PHP正在改进,更新的版本完全可以和新兴的语言与技术展开竞争。

9.Ruby——适合学习的编程语言

Ruby是另外一种开源的、面向对象的、通用的编程语言,这是一种简单的、有助于快速应用开发的语言。Ruby最有名的框架是Rails(Ruby on Rails),这主要被用来web开发。

它在服务器端开发是很有用的,有很多公司都使用它,如:Bloomberg、Airbnb、Shopify、Hulu和Slideshare等等,且被用在一个或多个项目之中。

Ruby是用来学习的最好的编程语言吗?

Ruby常常被用来与Python的可读性进行比较,它提供类英语的语法,这让 Ruby 成为一个完美的候选者,最适合作为第一个编程语言来学习。

10.Rust——发展迅速的新一代编程语言

Rust是后起之秀,并且承诺要成为新一代的热门技术。它快速地成为硬核心开发人员所痴迷的技术,并且以非常快的速度发展着。Rust语言还在发展之中,还是一门新语言,因此,Rust的就业市场尚未形成,传播的深度与广度还不够。

Rust语言由Mozilla公司于2010年开发,它是Graydon Hoare所负责的一个研究项目。而现在开发者社区喜爱它并负责对其维护,他们决心将Rust推向一个新的高度。

Rust是一种低级的系统编程语言,其目标是提供高性能、安全性和并发性,它是一个不错的C/C++的替代语言。过去,C开发人员努力使用Rust编写操作系统、数据库、嵌入式程序、内核以及各种系统程序。

Rust是一种现代语言,它拥有高级语言的灵活性和C这样的低级语言才有的高性能以及对硬件的可控性。

11.其他

下面是另外的一些很受欢迎的编程语言,它们和排名靠前的那些语言进行着激烈的竞争。

GO——Go是谷歌公司推出的一款相对较新的语言,对于web服务器开发、网络开发以及命令行程序开发来说,它是又一个比较优秀的选择。

R——当要进行数据分析和统计软件开发时,你可以选择R语言。随着大数据和机器学习的兴起,R得以不断发展并和Python和Matlab展开了激烈竞争。

Perl——最古老的语言之一,但它正越来越受欢迎并显示出伟大复苏的迹象。DevOps是新生事物, Perl正发展成为用于DevOps的深受欢迎的语言,它或许会成为像Python语言那样的下一个重要语言。

VisualBasic .Net——微软公司推出的一种面向对象编程语言,对于开发.Net程序以及web程序和XML web服务这样的专业领域程序来说,这是一个很好的选择。

Haskell——统治着函数式编程的世界。和面向对象编程相比,函数式编程具有完全不同的哲学理念。函数式编程在分布式系统开发中应用广泛,分布式系统开发的关键需求是并行执行和并发性。人工智能和数学计算是函数式编程的又一应用领域,Haskell的应用同样如此。
尚学堂java学院
2020-06-19 · 百度认证:北京尚学堂科技有限公司官方账号
尚学堂java学院
向TA提问
展开全部

流行编程语言介绍,想学编程但不知选哪种语言,不妨来这儿看看!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚学堂前端学院
2020-09-03 · 百度认证:北京尚学堂科技官方账号
尚学堂前端学院
向TA提问
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小船上的大航哥
2018-06-22 · TA获得超过354个赞
知道小有建树答主
回答量:502
采纳率:70%
帮助的人:215万
展开全部
首先,每门编程语言都是在不同领域有着不同功能的。
但是有一点,只要你不脱离电脑,绝大多数开发语言的底层都是C
而且绝大多数的电脑编译器都是用C写的
如果你有信心,可以试着学C
同时,如果微软不消失,这个世界很难有谁能在50年里赶超微软,所以C,是很难被挤下去的。+
Java和C很像,而且是目前主流的编程语言,也是最严格,涉及最广的语言,难学,但是如果水平足够,找工作像玩一样,不要相信什么语言能够超越java,三年前,php扬言是最好的编程语言,如今我身后的php天天都在抱怨“这么大的软件怎么不用java做”,然后去年,python火了,又说java过时了……然而,时间证明,你大爷还是你大爷,kotlin也是一样,java的编程语言虽然复杂,不过复杂的东西尤其复杂的理由,php能做到的java都能做,php不能做的,java还是能做,php、python、kotlin合伙都做不了的,java依然能做。
总结java与其他语言(不包过c)一句话,很多语言有着自己的优势,他们有长板,不过短板也很多,而java虽然没有明显的长板,不过java也没有明显的短板。再简单一点,java语言底层设计的更严格也更全面。
除了C任何语言都没有java的全面性,所以,除非有谁能做出比java更全面的语言,否则java很难被替代,不过想淫浸透撤java,没有个30年,难,毕竟java也在不断更新
如果你对逻辑方面不太擅长,你也可以试试有“界面”的语言
比如javaScript,比如Android,比如java web,比如H5,他们都能够通过界面去反映你的代码效果的东西,不过不要以为能看到界面就简单,用户体验的上升性是无限的,不过你的能力却是有限的,界面语言,淘汰非常快,可能你刚研究明白一种看似是新的方法,另一种更高级的就出现了,而且客户会变着法子让你改界面,而这种情况,通常是由你提供了一个方案解决的,不过想要鼓起勇气质疑客户是很难的。弄不好就拎包走人了,因为客户认为“老子花钱了老子就是上帝,老子让你改到死你就要给我改!”,或者“你tmd居然敢质疑我”,再或者“你在质疑我的智商?”。同时你的老板也会认为“你这么一怼,你倒是没事,我们这少了个固定客户,你tmd赶紧滚吧!”一类的,所以,语言里,你最重要的不是要学会多少代码,而是要清楚,你的能力是否能完成公司既定的任务。
而这些涉及界面的语言里,Android是比较特殊的,因为Android是安卓手机app语言,而且,Android是基于java的一门语言,同时Android有具有类似HTML那种界面语言,所以Android是很难被替代的,BTW,java是可以替代Android,只不过写起来巨难。
选择语言的方法是要看你的侧重点,我们一起学代码的有一位29岁的小姐姐,从“循环开始”就展现出非人类的算法逻辑能力,最后被杭州的公司看中挖走了,然后还有一位19岁的小哥哥,做了一个魔兽的官网,可以说惊艳程度远高于所有你见过的游戏官网,然后也被挖走了(这个小哥哥连初中都没毕业)。所以,你在学习中要找到自己的擅长点,比如我个人就很擅长界面,逻辑能力却很一般,不过慢慢来也可以写,所以我学了Android,而我一起学习的朋友最后去做了网页。然后具体像数据库、.net、SQL、等等一系列的,你完全可有作为第二门语言去学习,然后辅助你工作。通常一名优秀的程序员都至少精通一门,熟练两门,而且,像很多上了岁数的程序员老师甚至可能熟悉所有的常见编程语言,因为很多语言的原理都一样,只不过写法有些变化,你需要慢慢摸索,学习多语言是程序员的一条主流路线,因为很可能你所在的公司目前做的项目涉及到很多东西,而你恰好都会,虽然可能效率不高,但是起码你能说出很多东西,然后就可以……嘿嘿嘿~!暂不说职位和钱涨多少,起码你会得到老板的重视。
等你选择了一门语言决定学习下去,就要看是谋划发展城市,如果你在北方,我建议你去北京,大连和沈阳,如果你在南方,上海,深圳和杭州都很不错。
学代码不是到哪里都吃香,中国只有一部分城市有比较集中的软件圈或者软件园一类的地方,所以如果你要学代码,请不要在一个没有代码行业的城市学习,比如哈尔滨,比如长春,比如西双版纳,同时能在一个不出名的地方教课的老师可能也不是什么好老师,很有可能你学完了也一样找不到工作。像大连,这个城市主打日本的市场,所以上课的老师以前可能都接触过很多对日项目,所以他教你的时候会有很多对日项目的内容,那么基本上你毕业后初期的工作也就离不开大连了,不过当你能力提升了,也可以再转战别的地方,比如北漂。大概就是这样,具体你还要根据情况具体分析。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
princeK460
2020-02-27
知道答主
回答量:92
采纳率:0%
帮助的人:5.5万
展开全部

编程语言并没有好坏之分,只是要看自己的应用领域,只有适不适合没有好还是不好,可以参考一下这篇文章:什么是计算机编程,编程语言有哪些,我该选择哪门语言进行学习

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式