前言

最近小鱼在逛知乎时,后台总会收到一些私信:新手小白适合学Java吗?有过C语言的底子,现在入门Python还来得及吗?对于想要入门编程的小白来说,在选择语言方面肯定会经常头疼,不知道自己适合哪种语言,学哪种语言更有助于自己的职业发展。小鱼以前也曾经历过这个阶段,所以非常明白白们现在困惑,所以写了这篇适合新手小白的编程语言介绍。

一、Java

Java发展到现在,按应用来分主要分为三大块:J2SE、J2ME、J2EE。三块应用范围不同,但却相互补充。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

优势:Java拥有跨平台、面向对象、泛型编程的特性非常受企业的喜欢Java是一门面向对象编程语言,不仅吸收了C++语言的优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

适用领域:广泛应用于企业级Web应用开发和移动应用开发。广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

二、JavaScript

JavaScript在1995年由Netscape公司的Brendan Eich设计而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。。听起来好像和java有些关系,然而却不是的,只不过名字像而已。实际上它的语法风格与SelfScheme较为接近。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言

优势:

与其它平台相比JS最为显著的优点就是跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。 不同于服务器端脚本语言,例如PHPASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题,安全性。

而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖JavaScript在客户端进行支持。

适用范围:JavaScrip是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript也可以用在游戏开发等方面。

三、Python

Python的创始人荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》

Python是一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。由于具有丰富和强大的库,又被称为胶水语言,Python 极其容易上手,主要源于Python有极其简单的说明文档。

优势:

软件质量:在很大程度上,Python更注重可读性、一致性和软件质量,从而与脚本语言世界中的其他工具区别开发。此外,Python支持软件开发的高级重用机制。例如面向对象程序设计。

提高开发者的效率:相对于C、c++、Java等编译/静态类型语言,Python的开发者效率提高了数倍。Python代码量往往只有C++或者Java代码量的1/5~1/3,开发速度可想而知。

程序的可移植性:Python是可跨平台的

标准库的支持:Python内置了很多预编译并可移植的功能模块,Python的第三方支持工具包括网站开发、数值计算、串口读写、游戏开发等各个方面。例如,Numpy,如何Matlab一样功能强大的库。

组件集成:Python脚本可通过灵活的集成机制轻松的和应用程序的其他部分进行通信。

以上的因素中,对于对大多数Python用户而言,前两项(质量和效率)也许是Python最具吸引力的两个优点。

适用范围:Python 的应用领域分为系统编程,用户图形接口,Internet 脚本,组件集成,数据库编程,快速原型,数值计算和科学计算编程,游戏、图像、人工智能、XML 、机器人编程等等

常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。Python是做服务器开发与物联网开发。

如:ouTube视频分享服务大部分是由Python编写的。豆瓣也是由Python开发的。

P2P文件分享系统BitJorrent是一个Python程序。

EVE Online这款大型多人网络游戏,广泛的使用Python。

May这款强大的集成化3D建模和动画系统,提供了一个Python脚本编程API。

四、C / C++

C语言是一种通用的命令式编程语言,它起源于19世纪70年代,是大学里面计算机专业学的第一门编程语言,使用相当广泛,并且深远地影响了其后的几乎每一种语言。C语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。

C++最初是作为C语言的增强版出现,C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计 语言。C++被用在一些知名软件中,比如Firefox、 Winamp以及Adobe programs。

优势:

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

C++ 既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++对于问题的适应能力更强。

劣势:C语言的缺点主要表现为数据的封装性弱,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。

适用领域:目前而言,C语言主要用来开发底层模块(比如驱动、解码器、算法实现),服务应用(比如web服务器)和嵌入式应用(比如微波炉里的程序)。C++也可以做这些,不过由于C++的复杂性和标准问题,人们还是更愿意使用C来做。

C++更适合比较复杂但又特别需要高效率的设施,可以用来开发系统软件、应用软件、高性能的服务器、客户端应用程序以及视频游戏。

五、PHP

PHP(Hypertext Processor) 又叫做超文本预处理器”,是在服务器端执行的脚本语言。PHP语法利用了CJavaPerl,主要目标是允许网络开发人员快速编写动态页面,同时也被广泛应用于其他领域,如 Web 开发并可嵌入 HTML 中去,非常受web开发者的欢迎。包括Wordpress、Digg以及Facebook在内均使用了该语言。

优势:PHP的语法利用了C、Java 和Perl,易于学习。PHP可以在多数的服务器和操作系统上执行由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的,学习成本较低。面向过程和面向对象并用,在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言做不到的。

劣势:对于非常小的项目,PHP是一个十分符合人意的编程语言。 但是对于较大的和更为复杂的项目,PHP 就显出它的薄弱了因而,PHP最大的局限性就在于工程量的限制,只能适用于较小的项目。针对这一点,想要系统学习PHP的成本就有点高了。

适用范围:目前PHP的应用范围已经相当广泛,尤其是在网页程式的开发上。一般来说PHP大多执行在网页服务器上,透过执行PHP程式码来产生使用者浏览的网页。

总结

总的来说,Java更为贴合公司需求,想吃编程这碗饭的Java是个很好的选择,但相应要付出的成本也会更高。Python这几年发展迅猛,应用范围也很广,比较适合小白上手,性价比绝对杠杠的。C语言是编程语言中最为基础的语言,掌握起来更加麻烦,难度更高,需要一定的计算机基础,但是一旦掌握了,所得到的回报也是肉眼可见!选择C语言学习的话,也可以后续进阶学习c++,多掌握一门语言。


宝子们在学习过程中有问题的可以进群咨询,里面有各个阶段的朋友,你会在这里找到你想要的答案哦~交流群:954526228(注意进群暗号是:小鱼)

里面还有适合小白新手的全套资料免费给到大家~

快来和小鱼一起成长进步吧!

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

更多推荐

【干货】详细分析最受欢迎的五大编程语言,看你最适合哪种