首先,我们先普及一下编程语言的基础知识。
用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而计算机干活的CPU只认识机器的指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。理论上任何语言做任何事情几乎都没问题, 但是做的内容需要用到的语言就不同了。
Java
java常常跟”企业”联系在一起, 因为java具备一些很好的语言特性,以及丰富的框架, 在企业应用中最被青睐, 你总可以听到关于J2EE, JSP, Hibernate之类的东西的讨论. 同时, java在手机领域也有一席之地, 在普遍智能化之前, 很多手机就是以支持java应用作为卖点的, 而智能手机爆发之后, java手机主场变成了android, 作为安卓的标准编程语言而存。
总结:
Java: 网页, 企业级开发, 普通应用软件, 游戏后台。
C和C++
C/C++理论上说可以做任何开发, 只要有合适的硬件驱动和API,特点是效率高,基本上是编译语言里面效率最高的。除非你的系统中连C/C++编译器都不具备. 某些系统当中C++编译器是不具备的, 但是C一般都具备. 目前而言, C语言主要用来开发底层模块(比如驱动,解码器,算法实现), 服务应用(比如web服务器)和嵌入式应用(比如微波炉里的程序). C++也可以做这些, 不过由于C++的复杂性和标准问题, 人们还是更愿意使用C来做. C++更适合比较复杂但又特别需要高效率的设施,c++主要写一些底层比如windows,office,web浏览器等很多都是c++写的。还有就是图像处理和识别等都是c++。大型的游戏引擎等都是c++开发的,比如大家都玩过的暴雪的游戏和一些基础库, 大型桌面应用.基本上都是c++开发的。
总结:
系统底层, 驱动, 嵌入式开发.C++: 游戏开发, 大规模, 高性能, 分布式要求的程序开发。
JavaScript
javascript听起来跟java有关系, 其实并没有任何关系, 只是名字像而已.就好比雷峰塔和雷锋的关系一样,虽然只差一个字。js最广泛的应用毫无疑问是在web前端. 简单的说, 网站给你传过来的是一堆用各种标签表示格式的文档, 而js负责操纵这些文档实现一些客户端动态效果. js的领地还不仅如此, 现在的Node.js还可以用于服务器端的开发.
总结:
JavaScript是浏览器的脚本语言,一般和Html,CSS这些一起学,主要做网站的前端开发,展现各种酷炫的画面。
PHP
php这三个字你常常会在浏览器地址栏里看到, 所以不意外php是用来开发网站的. PHP是一种服务器端HTML-嵌入式脚本描述语言.无数的网站后端都运行着php代码.
互联网上绝大多数网站都是PHP开发的。PHP最强大和最重要的特征是其数据库集成层,使用它完成一个含有数据库功能的网页是不可置信的简单。在HTML文件中,PHP脚本程序(语法类似于Perl或者c语言)可以使用特别的PHP标签进行引用,这样网页制作者也不必完全依赖HTML生成网页了。由于PHP是在服务器端执行的, 客户端是看不到PHP代码的。PHP可以完成任何CGI脚本可以完成的任务,但它的功能的发挥取决于它和各种数据库的兼容性。PHP除了可以使用HTTP进行通信,也可以使用IMAP, SNMP, NNTP, POP3协议。
总结:
PHP:主要是网络前端,用于生成网页。也可以整个web服务器都用php,比如很多论坛引擎。
Python
Python由于具有丰富和强大的库,它又叫做作胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。Python是做服务器开发与物联网开发。信息安全,大数据处理,数据可视化机器学习,物联网开发,各大软件的api,桌面应用,都需要python。
总结:
Python:动态解释型,开发效率高,开源,灵活,入门门槛低。