公众号回复“1”即可加入程序员交流群。
在初级程序员阶段,每个人都不可避免地会遇到选择编程语言和职业方向的问题。我选取了几种常见的编程语言,分析了其优缺点和职业方向,供想成为程序员的人参考。
C/C++
一句话:大多数中国程序员的第一语言
C语言是当代面向过程的语言,常用于编写操作系统。 C++ 是 C 语言的超集。它同时具有指针和对象,使其成为最复杂的语言。
C/C++的优点:几乎所有现代编程语言都源自C/C++。因此,如果你了解了C/C++,你就会了解该编程语言的一切,这对于快速掌握其他类型的编程语言是非常有帮助的。
C/C++的缺点:据说C/C++发明时,为了提高入门门槛和行业收入水平,故意刻意难学。
C/C++的优点:C/C++可以嵌入到任何现代处理器中,几乎所有操作系统都支持C/C++,跨平台性很好。
C/C++的缺点:虽然C语言体积小,但最常用的C++体积大,并且有大量极其复杂的函数交互方法,很容易导致资源浪费。
职业路线:
(1)Unix/等操作系统软件的开发。嵌入式开发者优先。
(2)App的ROM定制和NDK开发。
(3)使用-x来开发游戏对于C++程序员来说也是一个好方法。
爪哇
一句话简介:最长寿的语言
Java是最典型的面向对象语言。 Java不仅吸收了C++语言的各种优点,而且还抛弃了C++中的多重继承、指针等难以理解的概念。今明两年毕业的大学生大多是Java的同龄人(1995)。
Java的优势:Java平台不断迎来新的功能,比如移动互联网时代、大数据时代、人工智能时代。
Java的缺点:国内Java及其衍生技术的就业环境被培训班严重破坏。培训班的HR曾经问我:“现在已经不流行了,你能推荐一些讲师吗?”
Java的优点:Java是世界上使用最广泛的语言——谁在安装Java环境时没有见过“3 Run Java”这句话?
Java的缺点:Java占用内存大,启动时间长——已经被系统中的AVD欺骗了。
职业路线:
(1)招聘网站上常见的“招聘Java开发”是指狭义的Java开发——基于后端开发。过去曾经流行过SSH框架和SSM框架。现在建议学习框架来入门。
(2)移动互联网时代,可以使用Java进行App开发。但Java在世界上的地位可能会被取代,而且近年来的培训课程造成了低级程序员的泛滥。
(3)大数据时代,可以使用Java进行开发,前景非常广阔,但可能有溢出的趋势。
(4)人工智能时代,Java可以用于深度学习的开发。
C#
一句话简介:自称不是Java的Java语言
C#是微软看到Java过于流行而发明的一种语言,并且与Java有相似的语法。
C#的优点:C#最大的优点是对.Net库的全面集成,提供了优秀的功能和完善的库访问能力。
C#的缺点:由于集成了.Net库,跨平台能力较差。
C#的优点:VR时代的到来给了3D开发者良好的发展前景。
C#的缺点:目前.Net在国内的就业环境不是很好,收入较低。
职业路线:
(1)招聘网站上常见的“招聘C#开发”、“招聘.Net开发”是指狭义的C#开发——基于.Net框架的后端开发。
(2)-3D同样使用C#作为开发语言。除了开发3D游戏外,还将在VR时代大放异彩。
一句话:它不是一种 Java 语言。
它是一种动态类型、弱类型、基于原型的文字脚本语言。它也是向 HTML 网页添加动态功能最常用的语言。外行人最常见的笑话是它是 Java 语言的一个分支。
优点:作为脚本语言,可以立即运行,无需等待服务器响应,速度极佳。
缺点:代码运行在用户计算机上,可能被别有用心的坏人恶意利用。
优点:是动态类型语言,学习难度低。而掌握这门语言就相当于成为一名全栈工程师,可以同时开发网页()、后端(Node.js)、移动端(Weex)。
缺点:对浏览器依赖过多,不同浏览器上表现不同。
职业路线:
(1)首选初衷:网站、移动网站前端页面开发。
(2)使用node.js或Bmob云代码进行后台开发
(3)基于Weex的移动开发,只需要写一次代码,就拥有两个软件和iOS
(4)微信开发:包括微信公众号、微信小游戏、微信小程序。不要把这个方向当作有中国特色的方向。国外机器也需要PWA开发。
(5)如果以上四件事你都能做到,那么你就是一名全栈工程师。
SQL
一句话:数据库离不开一门语言
SQL 是一种专用于数据库的专用语言。用于访问数据以及查询、更新和管理关系数据库系统。
SQL的优点:存储过程可以重用,可以减少数据库开发人员的工作量,加快开发速度。
SQL的缺点:与Java语言的大多数设计模式一样,SQL的开发速度是以牺牲运行速度为代价来实现的。
SQL的优点:SQL可以设置只有某个用户有权使用指定的存储过程,安全性好。
SQL的缺点:不同数据库系统之间的SQL不能完全互换,可移植性差。
职业路线:
(1)掌握SQL可以让你成为一名DBA(数据库管理员),主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
一句话简介:一门需要用游标卡尺来学习的语言
它是一种服务器端解释型开源非编译脚本语言。它常被昵称为胶水语言,可以轻松地将用其他语言(尤其是 C/C++)制作的各种模块连接在一起。
优点:简单易学,被誉为“最容易学的语言”
缺点:有一些只在特定情况下出现的bug(无法重现)
职业路线:
(1) 使用框架进行Web开发:与Java没有什么不同。
(2)使用PIL框架进行图形处理
(3)物联网:Pi等物联网平台均选择它作为开发语言
(4)有一个万能的Hack库。如果你认为“兼职是不可能的”,那就成为一名免费黑客吧。
PHP
一句话简介:世界上最好的语言
PHP 是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,简单易学,应用广泛。主要适用于Web开发领域。被誉为“世界上最好的语言”
PHP的优点:PHP简单易学,易于快速上手。
PHP的缺点: PHP运行缓慢。
PHP的优点: PHP历史悠久,拥有庞大而活跃的官方社区。开发人员面临的大多数问题都有现成的解决方案。十多年前的许多解决方案对于当代也具有指导意义。
PHP的缺点:PHP的错误处理机制较差,并且认为PHP需要支持大量旧版本的功能。
职业路线:
(1)适合Web开发,与Node.js结合效果更好。
-C 和
一句话简介:被培训班伤害的语言
-c 和 都是 OS X 和 ios 系统上的专用语言。 -三年前,C 是该国收入最高的语言。去年以来,大量的培训课程培养出了一大批“三年经验”的快手“iOS工程师”,成为了脉脉匿名区的笑柄。
-C的优点:提供了丰富的工具和库供开发者使用-C来开发软件。
-C缺点: -C有自己独特的编程方法思想,与其他编程语言有很大不同。
优点:随着时间的推移,iOS和OS X软件中的代码比例将会增加。
缺点:版本变化太快,不同版本之间差异太大。近年来,曾多次出现“从精通到重新入门”的情况。
-C和C的优点:因为只需要运行在少数平台上,所以不容易遇到兼容性问题。
- C和C的缺点:这两种语言的就业环境已经被培训课程彻底破坏了。如果你现在开始学习这两种语言,你最终可能会像2007年6000点入市的散户一样。
职业路线:
(1)这两种语言都是为iOS和OS X服务的,入行前记得准备好苹果电脑和苹果开发者账号。近年来,培训课程引起了低级C语言和程序员的激增。
一句话简介:一种运行在 JVM 上但不是 Java 的语言
它是专为开发而设计的最新的基于 JVM 的编程语言。
优点:与Java 的良好互操作性。其他JVM语言都实现了自己的语言标准库。相反,使用Java的标准库,但对其进行了扩展。更轻量级和更小的Apk。
缺点:同时,它也可能继承了Java的一些比较具有欺骗性的特性。
优点:由于数据类型弱化,学习成本比Java低。
缺点:它可以而且只能运行在3.0上,有点像易语言。
职业路线:
(1) 只能用于开发。即使你想做点别的,除了3.0还有其他编译器吗?
- - -结尾 - - -
原文: http://codebay.cn/post/3750.html
JAVA从初学者到高手