最近小鱼在逛知乎时,后台总会收到一些私信:新手小白适合学Java吗?有过C语言的底子,现在入门Python还来得及吗?对于想要入门编程的小白来说,在选择语言方面肯定会经常头疼,不知道自己适合哪种语言,学哪种语言更有助于自己的职业发展。小鱼以前也曾经历过这个阶段,所以非常明白白们现在困惑,所以写了这篇适合新手小白的编程语言介绍。
Java发展到现在,按应用来分主要分为三大块:J2SE、J2ME、J2EE。三块应用范围不同,但却相互补充。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
优势:Java拥有跨平台、面向对象、泛型编程的特性,非常受企业的喜欢。Java是一门面向对象编程语言,不仅吸收了C++语言的优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
适用领域:广泛应用于企业级Web应用开发和移动应用开发。广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
JavaScript在1995年由Netscape公司的Brendan Eich设计而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。。听起来好像和java有些关系,然而却不是的,只不过名字像而已。实际上它的语法风格与Self及Scheme较为接近。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
优势:
与其它平台相比JS最为显著的优点就是跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。 不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题,安全性。
而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖JavaScript在客户端进行支持。
适用范围:JavaScrip是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript也可以用在游戏开发等方面。
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语言是一种通用的命令式编程语言,它起源于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(Hypertext Processor) 又叫做“超文本预处理器”,是在服务器端执行的脚本语言。PHP语法利用了C、Java和Perl,主要目标是允许网络开发人员快速编写动态页面,同时也被广泛应用于其他领域,如 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学习路线图(告别不入流的学习)