① “软件工程师”和“程序员”究竟有什么区别
软件工程师所要具备的条件是:对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用软件工程专业知识来解决问题,根据岗位不同,对软件工程师的要求也有所不同。具体能力要根据岗位和自己的兴趣爱好选定自己的职业规划方向,一方面要详细了解软件工程师的要求,可以关注企业的招聘信息。一方面自己要贮备通用的知识技能,广泛阅读相关的计算机材料对自己以后的发展大有帮助。可以确定的是软件工程师的前途在未来的发展依然是不断升温的职业,比较需要有技术和良好前景的专业之一。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。
② 请问操作系统的设计和开发者的工作与应用程序员有什么不同这是计算机作业,麻烦回答的详细一点,谢谢
开发操作系统就麻烦多了,比如内存管理、硬盘管理、cpu的管理等等只要是硬件都要去管理他们还有很多线程进程,应用程序就简单多了,高级语言你就直接写你的业务逻辑就行了其他人家都帮你做好了
③ 应用软件工程师和系统软件工程师的区别
应用软件一般是不同的企业根据自身需求的软件。应用软件涉及到各个行业。从而应用软件工程师要求行业经验比较多,涉及到的业务也比较复杂。
系统软件工程师主要是针对于成熟的产品:如操作系统等针对大众用户的一种产品开发及维护。涉及到的业务没那么高的要求
④ 缓存和主存对系统程序员和应用程序员是透明的是什么意思
意思就是
系统程序员和应用程序员在设计系统或者设计程序的时候都会把硬件因素考虑进去(包括缓存和主存),一个合格的系统程序员和应用程序员必须知道,理解存储机制,以优化系统和程序。
另一层:我觉得这里的程序员更多的偏向黑客之类的意思
⑤ 软件开发和系统开发有什么区别
1.软件系统开发,信息系统开发、应用软件系统开发等等,这类是以编写代码进行开发。软件系统是指由系统软件、支撑软件和应用软件组成的计算机软件系统,它是计算机系统中由软件组成的部分。操作系统是管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。操作系统是位于硬件层之上,所有软件层之下的一个必不可少的、最基本又是最重要的一种系统软件。它对计算机系统的全部软、硬件和数据资源进行统一控制、调度和管理。
2.硬件系统开发,硬件系统,是指构成计算机的物理设备,即由机械、光、电、磁器件构成的具有计算、控制、存储、输入和输出功能的实体部件。如CPU、存储器、软盘驱动器、硬盘驱动器、光盘驱动器、主机板、各种卡及整机中的主机、显示器、打印机、绘图仪、调制解调器等等,整机硬件也称“硬设备”。随着电子系统的复杂化,系统设计已经成为一门重要的学科,传统的反复试验法已经越来越不适应时代的发展。发展迅速的软硬件协同设计技术越来越受到人们的重视。它是在系统目标要求的指导下,通过综合分析系统软硬件功能及现有资源,最大限度地挖掘系统软硬件之间的并发性,协调设计软硬件体系结构,以使系统工作在最佳工作状态。也就是智能硬件,智能硬件是一个科技概念,指通过将硬件和软件相结合对传统设备进行智能化改造。好的系统软件也要有硬件作为载体。
⑥ 应用程序员是什么
应用程序员:
从事程序开发、维护的专业人员。
分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。程序员需要理解一个模块的需求,很多程序员写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
应用程序:
是电脑软体的主要分类之一,是指为针对使用者的某种应用目的所撰写的软体。
应用程序通常又被分为两部分:图形用户接口(GUI)和引擎(Engien)
它与应用软体的概念不同。应用软体指使用的目的分类,可以是单一程式或其他从属组件的集合,例如Microsoft Office、OpenOffice。应用程式指单一可执行文件或单一程式,例如Word、Photoshop。日常中可不将两者仔细区分。一般视程式为软体的一个组成部分。
⑦ 系统程序员和应用程序员的区别
其实程序员的划分,有数据库的、做架构的、PHP的,JAVA的,你所说的系统和应用,是同概念吧,只是平台不一样而已。另外大范围的话,有前端的,后台功能开发的,安卓开发的,苹果开发的。请准确描述你想表达的。
⑧ 为什么中国的程序员总被称为“码农”
对于一些贬义的说法,个人认为作为一个程序员应该保持“诚意开张圣听,不要妄自菲薄”的态度。
程序员一直以来看哪个是别名最多的一个职业,我姑且不分褒贬的称之为你才吧!就像小学的时候一样,相互之间往往喜欢区别名叫昵称之类的,而又往往外号叫的最响小名最多的就是最受关注的哪一个,程序员在当今网络上的处境大抵如此。
码农这个词米偶遇仔细研究过来源。参考其他人的回答知中文中的码农大体相当于英文中的code monkey。程序员码农说法的由来大概来自于程序员圈内自嘲的说法。这里程序员对码农的更多理解可能更接近coder这个词,就是说我是一个写代码的。可能会有人以此来明志,表面自己很热爱写代码,或我很精通以此,再或者言外之意我只是一个写代码的,别来找我给你装系统修电脑什么的,我最烦这个了(ノ`Д)ノ。
程序员这个行业知名度虽然高,但是正在了解程序员是做什么的人并不多,大多数人直观臆想出来的感受可能是一个座在电脑前,后背前倾,颈脖前伸,面容憔悴,形容枯槁,两眼无关紧盯着电脑,两只鸡爪子似的双手快速的在键盘上敲击,屏幕快速出现一行行一块块英文字符的形象。这其实只是程序员的表面,完全米有展现出大多数程序员的内在。程序员真正的工作是解决问题,代码只是解决问题的途径,或曰实现方案。
程序员究竟解决什么问题呢,又是从哪里来的问题呢?首先要提到产品经理,产品经理给成员一个需求,程序员要思考如何实现这个需求。比如产品说这个登录过程应该这样这样,用户是否有通过手机或者邮箱验证。程序员要做的就是想方案来实现这个需求。在比如产品说我们这个网站要同时支持多少人访问不会出现卡,或者页面刷不出的情况。程序员接到这个需要就要思考如何设计这样一个高性能,高并发的服务端,最终通过代码来实现设计。好,现在代码写完啦,产品发布上线了。什么购物网站啊,大家可以随意挑选自己喜欢的产品,什么交友网站啊,大家可以写好自己的介绍发布出去让别人看到。但是还米有完,可能这个网站还要加点新功能,或者程序员自己也想,这个代码有没有什么地方实现的不好,换一个方法会不会更优雅。然后又是思考解决<=实现方案<=线下测试。自己测试发现可以,这个方法很好,发布到线上,就是用户最终使用的形态。不断提出新需求,完善新的功能我们称之为迭代。改善现有设计我们称之为重构。这些都是非常有艺术感的事!
事物发展就会演变出各种变体,有一些公司会把问题和解决问题的方法都做好,然后再交给其他公司或者个人去做实现(写代码)。由于在这里解决问题的过程被剥离出来(最有技术和艺术感的部分)剩下的就是实现,就是敲代码。好比建一栋房子,房子的设计和施工方案都已经做好了,就剩下施工了,这时候只要找个施工队就可以了。在这些做设计的公司,他们是有能力来实现这些方案(敲代码)。但由于欧美日等国家人力成本高,将这些技术含量低敲代码的苦活儿剥离出来交给相对落后地区的人去实现可以帮助他们节省人力成本。以上这个现象就称之为软件外包。另一方面,在美国主导的全球生产分工下,美帝也希望将中印这样的发展中国家固定在低端制造,劳动秘籍型的行业。
既然程序员是解决问题的,那么是否所有电脑相关的问题程序员都能解决呢?纵向来看,计算机系统可以简单的分为三层,应用程序<=操作系统<=计算机硬件。计算机硬件的设计研发基本和程序员无关。硬件往上就是程序员的职责范围了。这是可以简分为应用软件程序员和系统软件程序员。系统程序员的责任是实现高效的硬件管理,应用程序员则是为用户提供高效的服务。下面说说在这两方面和国外的差距,手机端应用软件(有服务端的包括服务端)差别不大,大家从自己手机中软件就能感觉到。PC端有差距,比如人家有PS这样的图片处理软件,而我们则没有。在这方面人家发展了几十年我们年数不够,有差距还是可以理解的。但我辈当发奋努力,以追他人之先。另外应用程序web化应该是趋势,这方面我们还是有优势的,对于普通用户来说最直观的体验就是不用装很多软件了,只要有一个浏览器就行。在操作系统层面,PC如Windows,服务器如Linux。Windows微软独家拥有的闭源系统,不说。Linux内核开发来讲国内正在迎头追赶,内核的邮件中中文拼音的人名越来越常见,越来越多的国人加入到Linux内核的开发中。
⑨ 跟程序员相关岗位有哪些
1.技术+技术(深入阶段)
这算是一条纯技术路线,具体又可以分3个方向:
技术(2年以上编程经验)+技术(软件测试,或系统分析师,或系统架构师)
有软件开发的工作经验,再加软件测试,比刚开始就进入软件测试行业的人要更具竞争优势。软件测试工作经验越多越好,可以干到退休,不用担心年龄问题。
如果选择“系统分析师,系统架构师”,则首先要打好扎实的“理论基础”(可以通过考证书,比如参加软考),以保证自己“后劲力十足”,这样等有了4,5年的工作经验后,才有可能能冲上这个高端领域。平时工作中要不断的锻炼自己的“发散思维”,培养善于发现业务需求的“眼光”。
2.技术+管理 :比如 项目经理。
像雷军说的那样:“程序员象木工一样,熟能生巧。程序员必须写足够代码量(8万行以上)的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。”项目经理大多是从“优秀”的程序员里挑选出来,想走这条路,平时就要疯狂的编码,迅速累积丰富的编程经验,然后再补充一些管理方面的知识。(本人打算走这条路,呵呵)
3.技术+销售:比如 技术销售工程师,技术支持工程师。
这类工作要有一定的技术背景(入门级也可以),具备较好的语言表达,沟通能力。工作比较轻松,月薪待遇主要看个人销售业绩等,个人收入差别可能比较大。
4.当培训老师
如果你“乐于分享”工作经验,传授知识,或者觉得自己年龄比较大,精力不够充沛,且往上升又比较困难的话,可以选择去培训机构当老师,就目前而言,当老师工作轻松,待遇也不错。
⑩ 百战程序员:应用程序和软件到底有什么区别
一、软件,是相对于硬件而言的。
硬件:是指看得见,摸得着,具有形状、硬度等物理特性的器械,如:电脑的处理器、主板、硬盘、电源、机箱等。
软件:是一系列按照特定顺序组织的计算机数据和指令的集合。软件的特点是:
1、无形的,没有物理形态,只能通过运行状况来了解功能、特性、和质量
2、软件渗透了大量的脑力劳动,人的逻辑思维、智能活动和技术水平是软件产品的关键。
3、软件不会像硬件一样老化磨损,但存在缺陷维护和技术更新。
4、软件的开发和运行必须依赖于特定的计算机系统环境,对于硬件有依赖性,为了减少依赖,开发中提出了软件的可移植性。
5、软件具有可复用性,软件开发出来很容易被复制,从而形成多个副本。
二、应用程序是相对于系统程序的
程序属于软件部分,应用程序是相对于系统程序的。
1、系统程序,一般是指操作系统,如Windows XP、Windows7、Windows8、Windows10。