又是一年毕业季,现在的毕业生已经越来越多,都说毕业即失业,刚刚毕业的学生要开始为找工作而奔波,
在学校所学的专业,要么找不到合适的岗位,要么就是根本找不到对口的工作,那么去哪里工作?找什么样的工作?我能做什么工作?等等问题开始困扰着他们,咨询学长,网上查询,我想很多人都会关注到IT编程,程序员这个职业,从发展,从薪资等问题的确这是一个看上去非常好的一个选择,那么就又会有是否要参加培训,该怎么去学习找工作呢?对于在学校学的计算机专业的同学来说,他们是有基础的,这个可根据在校学习的程度酌情考虑,那么,学校所学的不是计算机专业的同学,没有基础的同学,所学专业又没有找不到合适的工作想要做编程的同学来说,参加培训也是一个很不错的选择,但是因为没有基础,而编程又有很多种技术学科,该学什么?各个技术都是干什么的?那个更有发展?又困扰着他们。
下面是各个学科的简单介绍,希望可以帮助到想要了解学习编程技术的同学!
创始于1972年
C是多用途的、重要的计算机程序语言,支持构建化编程,词法变量范围和递归,是开发固件或移动应用的理想语言,通常被用于编写系统软件
C用来做什么
操作系统开发
软件开发
硬件
C的优点
可移动性:C是高度可移动的,你在不做改动或仅做很小改动的情况下可以开发运行在不同平台的软件
C很小:C完全基于变量、宏命令、函数和架构,他们不是特别多,因此,C可以嵌入几乎所有现代微型处理器,从冰箱到闹钟
学会C学会一切:因为几乎所有编程语言都由C实现,学会就能使你方便的学会一切编程语言
C的缺点
运行时间:C语言没有运行时检查机制
面向对象编程:不支持面向对象编程,这就是为什么创造C++
相当大的学习曲线:不是最好学的编程语言,也不是最难的,适用于有其他编程基础的人
创始于1983
C++被视为编写大型应用的最好的面向对象编程语言,C++是C语言的升级版本
C++用来做什么
软件开发
搜索引擎
操作系统
视频游戏
C++的优点
让你与众不同:熟练掌握C/C++能把你放在与其他程序员求职者不同的位置上,使用C/C++你能理解其他编程语言如java和python如何进行内存管理以及如何处理缺陷
性能调整:C++能允许调整你的应用性能以及影响所有计算机性能,它写起来比java要不友善的多,但是你可以用它做任何事
C++的缺点
陡峭的学习曲线:C++学起来十分困难,但是如果你能流畅使用的话能使你远远超过程序员的境界
巨大的尺寸:C++及其巨大,它的大部分功能相互影响是及其复杂的方式,没有开发者能使用全部提供的组成部件,但是会花费大量时间来挑选你的程序的子部件
创始于1983
Objectve-C是一门用途广泛,面向对象的编程语言,在C语言的基础上增加了Smalltalk风格的特点,这门苹果开发的语言,主要用于osx和ios操作系统,还有各自的应用程序(APIs)
[C] 用来做什么
IOS应用
Obj[C]的优点
库:Objectve-C是为了和Cocoa框架配合使用而专门开发的,也就是说可以桥接苹果开发的类库
运行速度:用Objectve-C写的程序更动态化,能在运行时汇总信息去判断是内存还是数据类型,而不是在编程事判断
使用范围有限:虽然Objectve-C能做很酷的事情,但你不能用它在别的平台上开发,比如android
Obj[C]的缺点
学习曲线:不是最容易掌握的语言,因为你最好同时了解一些C语言的知识
别指望马上看到成果:如果你想几周内就拿出程序来炫耀,这不是你应该选择的路径,可能要花上一年才能精通
不同的编程方法:苹果有自己的编程方法,和其他人都不同
创始于1991
python是服务端解释器的、开源的、非编译语言,它能用于自身或其他框架,如Django
python用来做什么
网页开发
视频游戏开发
桌面GUI
软件开发
python的优点
易于学习:python广泛认同为最容易学习的编程语言
库:大量令人惊讶的库和函数使得制作东西极为容易
物联网:python也许会成为物联网最受欢迎的语言,如树莓派这样的新平台都基于python
python的缺点
速度:作为解释型语言,比编译型语言慢很多
移动端:python在移动计算方面很弱,很少有智能应用是有python开发
设计:python是动态型,它需要更多测试以及错误仅在运行时展示
创始于1994
PHP是一种服务器端的脚本语言,专为网页开发儿设计,但也是一门用途广泛的语言
PHP用来做什么
wordPress插件
Web开发
创建数据库访问页
PHP的优点
容易上手:它是一门快速并且容易的服务端脚本语言,用于网页开发和其他广泛的用途
社群强大:拥有庞大的活跃社群,被防范使用,开发者遇到的大多数问题都已经有前人的解决方案了
数据库:对数据库友好,比如文件系统、图片系统等等
PHP的缺点
太容易学了:有许多丑陋的代码,一是因为有太多初学者(因为PHP容易学)二是因为一些开源代码已经出现超过十年,有点过时了
速度:经过验证,PHP语言一般比它的竞争语言运行的要慢
错误处理:和其他语言相比,PHP的错误处理考虑的不够周全,主要是因为PHP的开发历史比较久远,需要支持老版本
创始于1995
java是一种开发者用来创造计算机应用的程序语言,你下载程序需要java运行环境并确保它安装在你的系统上,java也有一些web插件允许你在浏览器中运行应用
java用来做什么
安卓和ios应用开发
视频游戏开发
桌面GUI
软件开发
java的优点
java开发者被大量需求:2015年Dice.com报告表明java开发是需求量最高的软件开发技能
一种进化的语言:这个平台在继续加薪功能,如lambda功能
安卓应用开发:谷歌的安卓移动平台是世界第一的移动平台,编写安卓应用,开发者主要使用java
java的缺点
使用大量内存:java比C++使用更多内存更大内存占用
学习曲线:不是学起来最简单的语言,但也不是最难的
缓慢的启动时间:每一个试着用java写安卓应用人都知道同样的代码在模拟器汇总启动多么缓慢
JavaScript是最通用的客户端脚本语言,这意味着JavaScript的代码可以写进HTML页面,当一个用户请求一个包含JavaScript的HTML页面时,这个脚本被发送到浏览器然后浏览器通过它做一些事,
JavaScript用来做什么
网站前端
分析
小工具
web交互
JavaScript的优点
速度:作为客户端,JavaScript非常快,因为任何代码功能都能立刻运行,而不是和服务器通讯并等待应答
朴素:JavaScript学习和实施都相当简单
多功能性:JavaScript能和其他语言相处融洽并且可以用在很多应用,不像PHP或者SSL脚本,JavaScript能嵌入到任何web页面而不用考虑文件拓展名,
JavaScript的缺点
安全:因为代码在客户的电脑上运行,在某些情况下会被恶意利用,这也是一些人选择禁用JavaScript的原因
最终用户的信赖:JavaScript有时会被不同的浏览器编译出不同的结果,服务端教本经常产生相同的输出,客户端脚本会有少许不预知性,不要过多涉及这个–你只要在常见浏览器上测试你的脚本即可
创始于1995
Ruby是动态的、面向对象的、多用途的语言,是最好的编程入门语言之一
Ruby用来做什么
桌面GUI
网页应用
Web开发
Ruby的优点
易于学习:ruby和python都是公认的最好入门语言
库:大量的扩展和库让常遭东西十分简单
巨大的成长中的社区:世界上每个主要城市都有ruby社区,在github上最受欢迎的语言之一
Ruby的缺点
运行速度:关于tuby和rail的主要批评都是“慢”
文档:很难找到很好的文档,尤其是对于一些冷门的库或多个库服用
性能:ROR应用运行起来不像java和C写出来的那么快,然而,大部分的ruby on rails的应用都足够快
创始于2000
一种强大且灵活的程序语言,与所有语言相似,它能被用于创造大量应用,你在C#方面的潜能仅被你的想象力限制,这个语言没有约束你能做什么,C#用于动态网页项目、开发工具甚至编译器
C#用来做什么
windows应用
商业应用
软件开发
C#的优点
.net库:完整的.net库,提供接入大量功能和支持
可转移:基于C语言,所以你学得的架构可以转移到其他语言如java,objective-C,php以及C++
受欢迎:C#和java是最受雇主欢迎的语言
C#的缺点
不适合初学者:C#不是最适合初学者开始学习的语言,有很陡峭的学习曲线,
跨平台:因为集合了.net,所以没有任何跨平台能力。
各个编程技术都有可发展的职业方向,未来生活离不开互联网,各行各业也离不开科技的发展,也许未来还会有新的编程技术的出现,但是这都是需要我们不断去学习,去探索。