1、最早的可编程硬件,只能写一次;后来出现可重复写的可编程硬件;
2、编程语言分高级编程语言、汇编语言、二进制语言三种;
3、硬件只能运行二进制语言(指令),也是最早的语言,也最难写,直接看也看不懂,每个型号的芯片支持的二进制语言,都不一样;
4、汇编语言比二进制高级点,能够大概读懂,需要经过处理(编译)编程二进制,才能在硬件上运行,不同的硬件是用不同的汇编语言;
5、高级语言最容易理解读懂,需要先处理(编译)汇编语言,再处理成二进制,才能在硬件上运行;
6、大部分的语言都是高级语言,比如C,java,go,c++,c#,js等等,这类语言和硬件没太大关系;
7、还有一类语言运行在某种软件组成的运行环境下,比如虚拟机(java)、浏览器(js,html,css),这样是为了尽可能的避免硬件平台的不一样;
8、软件分类
• 本地直接运行的软件,比如本地播放器、本地计算器、文件管理器,photoshop;
• Client+server,必须联网使用,本地必须安装客户端,需要远程服务器配合,比如qq,微信客户端等,联网游戏属于这一类;
• Browser(浏览器)+server,必须联网,本地有浏览器就行,网页存储在server上,本地浏览器访问远程server满足功能;
• 移动端app
• 其他平台的软件,比如mp3,mp4、平板、路由器、电视机等;
9、编程的岗位有很多细分
• 前段工程师,主要开发浏览器页面,app页面,能看的见得壳;
• 后台工程师(服务端工程师),需要和前段工程师配合,实现远程的具体功能;
• ios开发工程师,针对iPhone开发;
• Android开发工程师,针对安卓开发;
• 游戏开发工程师
• 硬件开发工程师,底层的开发工程师,主要使用汇编和C;
• 客户端开发工程师,开发本地运行的程序,比如播放器;
网友评论