七叶笔记 » golang编程 » 最好的编程语言是哪一种?PHP,Python还是C++?我觉得是

最好的编程语言是哪一种?PHP,Python还是C++?我觉得是

php, Python ,C++哪个更好一点,哪个简单易学一点

随着计算机技术的发展,如今的 编程语言 其实都能算是简单易学了。不考虑算法和数据结构等知识,单从学会编程语言本身来讲,只需要一点点英语基础,能认识几十个单词,花一点时间,通常不超过三个月,就完全可以学会一门新的编程语言了。

不管你是从来没有接触过计算机编程,还是想换一种从未接触的新的编程语言,通常都会有一个疑问:哪种编程语言适合我?也有人会好奇,到底哪种语言是世界上最好的编程语言,如果存在的话,学会这种语言不就行了。

在过去,通常意义上的编程指的都是桌面程序的开发,比如Windows操作系统中的记事本和计算器,都算是桌面应用。在那个时代,通常只要学好一门语言就可以通吃大部分应用场合了。曾经有一种说法,学好C++,走遍天下都不怕,可见一斑。

但在今天看来,计算机编程已经渗透到人类生活的各个领域,计算机设备也不仅仅指的是PC机,在Web领域、移动端、传统桌面、游戏和嵌入式设备中都大量运行着程序代码,来满足人们日益增长的计算需求。对于没有很多经验的初学都来讲,面对如此多的开发环境,选择一种语言是相当困难的。

一、Web开发

所谓Web开发,指的是编写一个网站,或者一个开发一个基于浏览器的应用软件。Web开发在编程领域是独一无二的,与传统的开发方式截然不同。Web开发可以说是入门最简单的编程领域,同时随着互联网的普及,Web开发是当前最热门的行业之一,所以我们认为对于初学者来说,接触Web开发是一个不错的选择。

HTML 与CSS:虽然严格来讲,它们并不是真正意义上的编程语言,但两者都是创建网页所必需的,HTML描述了页面的数据结构,而CSS则决定了页面的排版样式及视觉效果。HTML与CSS都遵循W3C(万维网联盟)所制定的标准,并且简单易懂,很容易学会。

java script:传统意义上的Javascript是指增加浏览器逻辑功能和实现页面动态变化的唯一途径。同时,它又是学习某些编程框架如 JQuery 的基础。如今,Javascript可以同时在浏览器端和服务器端进行开发,甚至利用某些工具,还能应用于桌面领域。Javascript是现在最火热的编程语言,不论是否从事Web开发,都应该尽可能的掌握这门语言。

Python:Python语言通常应用于服务器端逻辑,也就是说,在浏览器端,还是需要通过HTML, CSS和Javascript来构建页面。但在服务器端,Python则是一门神奇的语言,简单易学,功能强大。越来越多的程序员加入到Phthon开发的行列中,这让其迅速成为了当前最热门的语言之一。

PHP: 有一种说法,PHP是世界上最好的编程语言。这种说法是否靠谱姑且不论,但PHP的确是一门效率很高的语言。由于这门语言在Web开发领域属于不是那么时髦的语言,所以有许多历史遗留问题,显得有些混乱。不过仍然有许多地方在使用PHP语言,比如著名的开源博客平台 WordPress ,要知道全世界27%的网站是通过WordPress搭建的。

二、移动开发

移动开发是目前软件编程领域的大热门,并且在相当长的时间里,它将一直是整个行业最前沿的阵地。整个移动开发领域保持高速发展,技术日新月异,没有任何放缓的迹象。人们越来越离不开手机,离不开手机应用,移动开发领域竞争激烈,可选择的编程语言也不多。神奇的是,每天都有各种神奇的应用被开发出来,可见这一市场的繁荣。

Java : Java语言是开发安卓应用的主要编程语言,同时Java也被誉为世界上最伟大的语言之一,移动开发只是Java语言无数应用场合中的一种而已。虽然说你可以使用其它语言来编写安卓应用,但使用Java来开发,通常会拥有更高的性能和灵活性,遇到问题时也更容易在开发社区找到解决方案。

Swift : iOS 系统的应用此前一直是通过Objective C语言来开发的,但现在苹果公司更建议你采用其新开发的Swift语言。相比较之下,Swift语言更容易学习和使用,很适合iOS开发新手,通常用Swift语言开发要比Objective C语言开发更高效、稳定。

Javascript: 可以看到,开发安卓应用和开发iOS应用采用了完全不同的技术,这给开发人员带来了极大的困扰,为了能编写出同时运行在两个平台的应用,程序员可能要准备两个截然不同的开发环境。于是就有一些框架应运而生了,它们允许开发者用Javascript开编写应用,并帮你把代码转换为两个不同的应用安装包。还有一些框架则利用内嵌浏览器的技术,通过Web页面的方式来开发移动应用。这些技术使得用Javascript来编写移动端软件成为一种可能。

三、桌面开发

虽然桌面开发领域不再那么热门,但并不意味着它已经过时了。相反的,随着计算机技术越来越深入我们的生活,桌面应用的开发需求仍然十分巨大。曾经,开发桌面程序是一件非常复杂的事情,不过今非昔比,现在有了更多强大的工具,进入桌面开发领域已经没有那么高的门槛了。

Java: 在很久很久以前,Java应用程序中的图形用户界面(GUI)都是通过Swing开发包来实现的,不过现在一般都采用JavaFX框架,它提供了一个更丰富、更时尚、更现代的方式来构建应用程序设计。由于Java程序运行在虚拟机中,所以拥有更高的兼容性和可移植性,可以在多种平台上运行。

C#: C#语言(C Sharp)是一种基于微软公司推出的 .NET 框架的编程语言,与Java有许多相似之处。用C#语言开发应用程序,通常会用到 Visual Studio,Visual Studio被誉为最好的集成开发工具,广受C#开发者的好评。你可以很方便的通过C#语言,并使用WPF框架来创建Windows桌面应用。曾经C#只能用于Windows平台的开发,但现在,也可以通过 Mono 和Xamarin等第三方工具来实现跨平台开发。

Swift: 除了 iOS 应用,Swift语言还可以用来开发Mac系统的桌面应用。如果你习惯于在苹果生态系统下工作和学习,那么Swift语言就是最好的选择。

四、游戏开发

游戏开发过去一直是非常困难的事情,需要掌握大量的知识和工具,但现在,游戏编程变得越来越简单。随着大量免费(开源) 游戏引擎 的出现,你几乎可以选择任何主流语言,并可以用它来创建游戏。但是有些语言显然是更优秀的,如果你是新手,我们推荐你选择这些语言。

C#: 许多时髦的游戏引擎都是采用C#语言开发的,通常这些引擎支持2D和3D游戏开发,并且可以将构建导出到许多平台,包括Windows、Mac、Linux、Android、iOS和HTML5等等。采用C#的游戏引擎通常都比较容易学习,对开发者更友好。

Java: 程序员可以使用诸如LibGDX框架这样的开源引擎来快速创建游戏,该框架可以导出到任何桌面平台,和安卓、iOS等移动端。LibGDX是一个简单明了的框架,有助于快速生成产品。即使不谈游戏引擎,特别是在安卓平台,Java语言都是首选的游戏开发工具。

Haxe: Haxe是一个全新的、现代的语言,你可以用它来取代其他的编程语言。通过游HaxeFlixel或Luxe这样的戏引擎,开发跨平台的2D游戏的速度要比其他语言快得多。可惜的是,目前为止还没有一款针对Haxe语言的3D引擎面市。

JavaScript: Javascript已经取代Flash,成为开发Web游戏的最佳和最快的方法。通过类似Phaser这样免费开源的HTML5游戏框架,以及像 nw.js 这样的工具,快速开发并包装出一款Web或者桌面游戏。

五、数据处理和自动化脚本

有时候我们学习编程语言并不是为了开发一款应用软件,也许只是为了统计和分析一些数据,或者用程序来实现一个自动化脚本,代替人工来完成一些枯燥乏味的工作。这种情况下,下面两种语言或许是不错的选择:

R语言: R语言是一种主要用于数据挖掘、数据计算和数据分析的编程语言。如果你曾经使用过MATLAB,那么可以把R语言看作是一个自由和开放源码的替代方案。虽然MATLAB更容易使用,功能也更强大,但它也很贵(售价高达上万元)。R语言唯一的缺点是入门比较难,如果你不介意它的学习曲线,那么选择R语言能为给带来许多好处。

Python: Python语言除了在Web开发领域外,还经常在数据计算中使用,因为它是一种直观而非冗长的语言,学习和使用都很容易。你可以用它做各种事情,包括数据抓取、分析以及编写自动化脚本。而类似NumPy(数据计算)和Pada(数据分析)这样的第三方工具则能让你事半功倍。

本人最熟悉的是C++,10年码农,差不多撸了10年C++。

java、golang、python、php、jsp也都写过相当一段时间。

但,如果现阶段让我推荐,我会推荐NVM(node.js+vue.js+mysql/mongodb),前后端上下通吃没有压力,从Vue.js切入(不建议react和angular),可以用饿了么的ElementUI(基于Vue)写界面,Vue文档非常友好,一两天就能入门,一周就能搭个可用平台,配合atom等开源方案可以很轻松的制作desktop app或者移动端app,后端node.js使用express库,写restful api相比python效率高很多(golang开发效率差不多,java和C++就不说了)。

node.js生态非常完善,基本想要的库npm install一下就OK了。

绝对值得花小几天尝试一下,就算不适合也不亏。当然前提要有一点点html、js、css基础。网上有个斐波那契单一场景的性能对比,nodejs差不多是C++的4x倍,golang是C++的1.x倍。

虽然性能不及纯后端语言,但技术栈单一,工作好找(现在国内用Vue的公司开始变多)。C++、golang性能确实高,但C++开发效率低只能做后端,而golang只能用template方式开发网站,并且绕不开再学习前端技术栈(php也一样)。而js本身就是前端技术栈的一部分,node.js自然而然具有天然优势。性能不够、机器来凑,毕竟现在贵的还是人力哇!少开发一个月,完全可以多租点机器了。

NVM绝对是创业公司或自主创业的不二选择。

总之,可以看到,世界上没有哪种语言是最好的,只有最适合自己的语言。

分析了这么多肯定要给大家点干货吧

这些都是我积累几年来的web前端,PHP,JavaScript学习视频,前前后后也花了有2万多元买的,我都看完了也没啥用了,这里分享给大家,评论区。

相关文章