这是一个学编程的系列文章,《你的第一本编程书:从零开始死磕编程》
更新进度:
第1节:为什么要学习编程?
第2节初探计算机和互联网编程的世界我们大多数人只要能做到熟练使用编程技能就很不容易了。
了解编程世界前,需要先了解计算机和互联网的发展史。了解更多见第三章。
1.计算机和互联网的发展简要计算机最早出现是用在*事领域,用来计算导弹发射轨迹提高命中率的。
年,美国研制成功了ENIAC,被公认为世界上第一台”通用“计算机,占地面积平方米,总重量30吨,它可以每秒进行次加法运算。
年,计算机之父,冯.诺伊曼提出了计算机用二进制代替十进制,并将计算机分为5大组件,也叫做冯·诺伊曼模型:运算器,控制器,存储器,输入,输出设备。
二进制记数,是只用0和1两个数字的计数方法,计算机使用的就是二进制计数法,这是因为开关只有“开”和“关”,电压包括“高”和“低”,电子只有”正“和”负“,如此,电子电路就可以用来表达数学,包括数学计算,信息传输,数据存储等。
年,美国启动了阿帕网的研究计划,也就是后来的因特网的雏形,它是在冷战时期主要被用于*事上的。
年,Intel公司成立了。
年,贝尔实验室开发了Unix操作系统。
除了我们熟知的windows操作系统,其实还有Unix系统,Linux系统,手机上的Android系统,苹果电脑的macOS系统,iPhone上的ios系统等等。
延伸:为什么电脑上能装Windows,Linux系统,手机上却不可以呢?
20世纪70年代开始,正式开启了个人电脑时代,计算机不再单单只是用来进行大量的计算工作,还包括很多其他功能,比如音视频,游戏,文档表格编辑,办公,邮件等等。
年,曾经开发了Unix操作系统的DennisRitchie领导开发出C高级编程语言。
年,微软Microsoft成立。
年,苹果Apple公司成立。
年,IBM推出了IBMPC电脑,每台重11.34公斤,仅键盘就要2.7公斤,微软的DOS系统,16位、4.77MHz的IntelCPU,16KB的内存,当时的售价为美元,相当于现在的美元,折合人民币约2万4千块,这还不包括显卡和显示器,而且功能少的可怜。
20世纪90年代开始,正式进入互联网的高速发展阶段,也就是web网页时代的到来,大量的各种数据和信息被放到了互联网上,包括资讯,新闻,书籍,音乐,视频,图片等等,互联网的快速发展,就需要大量的技术编程人才的进入,从年左右开始一直到今天,也是程序员这个职业飞速发展的20年。
年,互联网商业化浪潮最具标志性的Netscape诞生了。
年,雅虎公司成立。
年,谷歌公司成立。
年,腾讯公司成立。
年,阿里巴巴成立。
年,百度公司成立。
年,Facebook成立。
启示:互联网历史上,任何一次技术变革都会有新型的互联网巨头公司诞生,这就是互联网浪潮,我们任何一个人只要抓住任何一次浪潮机会,定会一飞冲天。
延伸:你还知道哪些年左右出现的大型互联网公司呢?
从年,苹果公司推出iPhone智能手机开始,互联网正式进入移动网络时代。
2.技术编程领域方向和职业从大型计算机,到个人PC电脑,再到笔记本电脑,平板电脑,智能手机,智能手表,穿戴设备,一直到今天,计算机技术还在快速发展和革新,而依托于计算机组成的大型互联网络——因特网,也在不断更新换代,从3G到4G,再到现在的5G时代,未来可能还会出现6G,7G,只要计算机和互联网能够不断持续的创新和发展,那么编程技术也会跟着快速变迁,新的技术也会层出不穷,一切都会变的更快、更高效、更便捷、更具有想象力,而这都是需要千千万万更多新型的技术编程人才的跟进,包括一线的程序员码农,各个领域的技术专家,甚至是科学家的加入才行。
就今天的互联网领域,已经不单单只是十多年前(年左右)电子商务,搜索引擎,社交网络(BAT)的天下,还有更多新的互联网垂直领域的诞生和壮大(MDT),比如,游戏网络,线上教育,数字金融,知识付费,直播视频,多媒体等等。
更多的垂直领域,也意味着更多专业的技术编程领域的壁垒出现,不同的领域需要不同的专业领域知识,做电子商务的的程序员,如果让去做数字金融,就会非常的困难。
因此,也出现了更多的技术方向和职业,比如web开发,游戏开发,大数据开发,机器学习,人工智能,物联网,云计算等方向,开发工种包括:前端,后端,移动(Android/IOS)开发,嵌入式开发,Windows/Linux系统开发,测试,运维,网络工程师,数据库DBA等。
对于技术方向的选择,建议考虑这三点:1)自己是否喜欢。2)未来发展潜力如何。3)目前人才缺口如何。
3.程序员级别划分无论你选择了任何技术方向,做技术一定都是从零开始的,下面我们简单看下程序员(研发工程师)的级别划分:
实习工程师:一般为应届毕业生,没有任何工作经验,需要有人指导才能完成部分工作任务。
初级工程师:工作经验1到3年,可以独立完成分配的开发需求和功能。
高级工程师:工作经验3到5年,公司技术的核心人才,可以独当一面,完成公司的某个业务模块,包括技术debug,技术难题攻坚,带领小团队等。
架构师/技术专家:工作经验5到10年,公司高端技术人才,能够独立设计公司技术架构,包括技术更新,难题攻坚,专业领域攻坚等。
总监/CTO:工作经验10年以上,除了具备一定的技术深度,还有一定技术视野,除了技术,包括商业、管理、产品等方向,也需要有一定见解和认知。
温馨提示:这里的工作经验,一般指的是业界该水平的平均工作时长,而不是你的工龄。
以上,就是计算机互联网编程的世界,你为止所动了吗?
扬哥的场