❶ 请问C语言,JAVA之类的语言编译程序是属于 系统软件 还是 应用软件
这类语言编译软件属于应用软件。广义上系统软件包括编译器,从这个层面上讲,MSDEV、eclipse里面的compiler部分属于系统软件范畴。但是, IDE 还包括editor,linker这些不属于系统软件的component element,所以以上几个软件称不上是系统软件。
应用软件则是具有某一个专门功能或者某一些相关功能的软件,这些功能对有些用户可能帮助很大,对另一些用户可能毫无意义。C语言和JAVA语言都属于编程语言,并非软件,支持C语言的MSDEV和支持JAVA语言的eclipse才是软件。
(1)编译器是计算机底层吗扩展阅读:
系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。系统软件在为应用软件提供上述基本功能的同时,也进行着对硬件的管理,使在一台计算机上同时或先后运行的不同应用软件有条不紊地合用硬件设备。
有代表性的系统软件有:操作系统、语言处理程序、数据库管理、辅助程序等。
应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。
有代表性的应用软件有:多媒体软件(如暴风影音)、互联网软件(如微博)、办公室软件(如office系列产品),还有许多专业软件(如AutoCAD)。
❷ 中国计算机底层技术几乎没有
据我所知底层技术覆盖的还是比较全面的,但是达到世界顶级水平的芯片、操作系统、编译器等确实还稍微差一些。
举例来说,CPU设计有申威、龙芯等。操作系统有翼辉。编译器其实也挺多,比如易语言,还有龙芯用的gcc移植版。
其实,计算机底层技术的人员一点儿都不少,关键是这些底层技术不挣钱。
当年我选择的计算机硬件专业,当时我们计算机组成原理的课程需要使用实验板,实验板又贵又不好维护,但在当时还是很先进的,甚至有一些出口订单。学生使用起来也有诸多不方便。我和其他几位同学就想帮老师做一套虚拟实验版,让同学能够学习到相关课程而不必须使用那些实验板,做好预习可以提高实验板的使用效率。虽然在我们的一再坚持下,最终做了个简易的虚拟实验板系统。但是我的老师语重心长的跟我们说,他在这个领域耕耘一辈子,觉得这个领域没什么希望,希望我们能去做软件。
其实,类似现象有很多,比如当年搞两弹一星的人很多科学家,都是高考状元之类的佼佼者,深入基地十几年,但几十年后的待遇可能并不理想。不说别的,天眼计划的科学家招聘就只有年薪十几万,而阿里同级别的专家可以做到年薪几百万,这样的差距使得许多一流人才不愿意去做这些事。
而国外的一些成功经验国内很难复制,比如很多人都知道linux是Linus的作品,但是其实FSF(免费软件基金会)才是对linux的发展起了决定性的作用。
不过,我觉想做事情的人应该不会在乎这些经济上的问题,只要饿不死就可以了。希望有一天可以看到计算机底层技术有你的一份力量。
❸ 新手如何学习编程
熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:
1、语法。
2、基础理论(数学、数据结构、算法等)。
3、设计方法(编程原则、设计模式、框架设计等)。
4、库(核心、基础、UI、扩展、游戏引擎等)。
5、计算机相关(操作系统、网络、图形学等)。
6、领域知识(游戏设计、网站设计等)。
7、开发工具(编辑器、IDE、自动部署等)。
8、项目管理(进度管理、分工协作、Bug管理、版本控制等)。
最普遍也是最重要的能力:创造力。努力分析并理解好做什么以及怎么做。要知道上面那些东西一开始都是不存在的。
具体方法包括:
1、快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java读的《Java编程思想》,练习题做过一点,然后学ActionScript就没读过书,只读过Adobe官方文档《ActionScript 3.0编程》。
2、阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。
3、做一个自己感兴趣或熟悉的小项目,比如我就以黑白棋游戏作为多个语言的试水项目,一样的逻辑,便于把关注点放在语言特点上。
4、自己动手丰衣足食。厨师有菜谱,程序员可没菜谱。比如我做游戏,最关键的游戏编程知识全部是动手学出来的,很少有专门针对某个业务领域(如游戏)的编程书籍,要么是入门书,要么是模式书(如算法)、理论书(图形学),很少有书籍教你如何开发一个45度角地图系统加编辑器的,全靠自己思考,以及看前人的代码,需要时找些网络资料。关键是,可以培养最重要的创造力。
对于算法和设计模式,可以研读下,但是关键还是靠平时如何使用了。新手勉强不来的。
项目管理方面的,就得靠工作经验了,多思考多提意见不要只走流程。
❹ 计算机层次结构
如何被编译的呢?
其实计算机只能识别和执行的就是0.1
编译出来的的也都是机器码 既0或1
怎么是操作系统呢 他是根据cpu而编译的
不同的CPU 都有不同的指令集
所以不同的cpu 就要选用不同的 编译器了
编译器本身又是程序,操作系统的运行又是靠什么编译的呢?
操作系统是已经被编译好的 程序 而编译器是运行在已经编译好的操作系统上的·
怎么说呢其实 以前没有编译器 都是手工汇编
就是人自己把 汇编语言转变成 2进制的可执行文件
后来程序越来越大 手工汇编 出错的几率也越来越大
所以有了编译器·
硬件上的汇编器和
硬件上没有汇编器 都是人自己写的
编译器上的汇编器什么关系?
编译器的汇编器是把 高级语言转成 计算机可执行的文件!即1.0