软件是用编程软件编的,编程软件又怎么来的_Minecraft生存一共有多少种怪物,分别有什么
软件是用编程软件编的,编程软件又怎么来的
首先要明确几个概念,计算机语言、软件和开发平台,计算机语言是软件开发的基础,通过计算机语言才能实现和计算机硬件的通讯,实现对硬件的操作,一般计算机语言分为低级语言和高级语言,低级语言如:机器语言、汇编语言,可以直接操作硬件,速度快,但是编写和理解困难;高级语言如:C、C++、JAVA等,需要通过编译转换为机器语言实现对硬件操作,速度慢,但是更便于理解。
软件是通过计算机语言开发的,通过对计算机硬件的操作而实现某些功能的计算机程序的集合体,如:手机APP、PC端的应用、网站,甚至操作系统等都是软件。
一般所说的编程软件都是指的开发平台,也被称为IDE(集成开发环境),它的主要作用是通过集成一些开发常用的环境或者工具来提升软件开发的效率,如JAVA开发必须的JDK等。
所以说软件的基础是计算机语言,通过计算机语言结合一系列的算法从而实现对计算机硬件的操作,实现某些功能,而开发平台只是将代码的编辑过程进行了简化,使其更符合开发人员的思维逻辑。开发平台本身也是一个软件,也是通过某种计算机语言来写的,并且很多开发平台都是支持多语言的,如eclipse平台,除了支持JAVA开发,还支持C/C++、PHP、Python等,甚至可以开发eclipse自身的插件。
软件是用编程软件写成的,那么编程软件是怎么来的呢?
这个吧,我真的没办法一个个给你解释到底,不然你要是打破沙锅问到底,可能一顿火锅的功夫我也没办法给你说完。举个例子哈,IntelliJ IDEA和Eclipse都是Java的IDE,用这两个IDE可以写非常多的软件,比如Android Studio先后分别基于这两个软件,Android上所有的软件都是用这玩意儿开发的,但是这两个IDE本身也都是Java语言开发的,这两个IDE呢最初肯定是在Vim/Emacs+Java开发的,咱就先说到这里,不然要喋喋不休了。
我给大家提一个思路,大家按照这个思路可以自己去找自己感兴趣的问题。我给大家说一说Google实现Go 1.5自举、去除所有的C语言程序的过程,大家慢慢就明白了,基本上计算机技术都是这样迭代出来的,比如怎么先有了C语言、现有了Unix,又如何在这些基础上,诞生了Emacs、C++等众多新的软件和技术。
事实上现在所有新的编程语言,基本上都会考虑在C语言的基础之上构建,Go语言也不例外,何况Go语言的重要设计者之一肯汤普森老爷子,还是C语言、Unix之父。Go语言发展的第一阶段,就是开发一个从C语言到Go语言的翻译器,将C语言编译器翻译成Go语言的,不过了Go语言核心设计团队的三位大神非常机智,他们最大程度避免了在Go语言编译器设计中,大量使用未来很难移植到Go语言的一些特性,比如宏、比如指针,这些都是C、C++留下的一些糟糕的设计,不符合现在的编程语言设计潮流。转换编译器源码树产生一个Go语言编译器,不过这时候还是典型C语言风格。
接下来,Google对编译器进行了优化,将编译器CPU、内存等硬件资源占用的问题解决了,并且引入了并行概念。为了改进编译器在消除边界检查等问题下的能力,同时在不依赖架构的node*s、prog*s之间引入一个中间表示。这些事情完成之后,Google就做了最后一步,用Go 1.5、也就是当时Go语言最新版本,用go/parser和go/types替换了编译器前端,至此Go语言实现了自举,并且获得了一个稳定高效的编译器实现。
Go语言本身编程难度要比C更简单,这是因为Go语言跟很多高级语言一样,摒弃了指针、规避了内存泄漏、解决了缓冲区溢出,深度递归时栈的溢出,摒弃了宏这些定义。Go语言工具链对模块化、单元测试、以及性能分析支持更好,在修改内部API或重构时,应用自动化程序重构前景更加值得期待。
你看这就是Go语言从C语言写编译器 ,到最终实现Go语言完全自举的过程,当然大家都知道图灵完备的编程语言都可以实现自举,理论上符合图灵完备的编程语言都是这么发展的,C++就是这么发展的,满足这个条件的编程语言,你才能作为其他编程语言的基础。
那么我们回到最初的问题上,编写软件的编程软件又是在什么环境下开发的呢?计算机技术发展至今,在机器语言的基础上,弄出了汇编语言,接着两位祖师爷弄了C语言和Unix系统,接着在这个基础上,又有人弄了Emacs、Vim、GCC,你看基本上现代计算机技术的所有根基技术就有了。
接着就是用C语言写各种操作系统,为了各种需求写各种编程语言,又根据各种需求开发各种集成开发环境,然后又根据各种应用需求用集成开发环境写其他应用软件,这就是一个完整的计算机技术发展进化流程。
编程软件也是,先有了机器语言,打孔时代创造和发明了汇编语言,汇编语言的基础上又有了B语言,然后B语言的基础上发明了C语言,C语言重写Unix,于是现代计算机的雏形也就有了。早期是一生一、机器语言生汇编,然后机器和汇编语言生C语言,到C语言时代就是一生万物、C语言生万物,现在就是多生万物。这就是计算机技术发展的过程。
Minecraft生存一共有多少种怪物,分别有什么
在主世界能自动生成的怪物有:僵尸,小白,蜘蛛,毒蜘蛛,蜘蛛骑士,蜘蛛射手,史莱姆,魔影人,掠夺者,幻翼
在地狱能自动生成的怪物有:僵尸猪人,地狱史莱姆,猪灵,恶魂
在魔地能生成的怪物有:魔影人(跟主世界一样,只不过魔地非常多),魔影龙,潜影贝(潜影贝是只会生成在魔地城和魔地船上面的
ok总结了所有的怪物一共有17种敌对生物,其中主世界10种(最多),地狱4种(第二),魔地3种(最少)
主世界:末影人、骷髅、僵尸、爬行者(苦力怕)、蜘蛛、洞穴蜘蛛、史莱姆、僵尸村民、小僵尸、小僵尸村民、尸壳(变种僵尸)、流浪者(变种骷髅)、卫道士、唤魔者、恼鬼 地狱:岩浆史莱姆、恶魂、凋零骷髅、僵尸猪人、小僵尸猪人、烈焰人、有几率刷新骷髅 末地:末影人(一堆)、末影龙、潜影贝 人造BOSS:凋零 稀有怪物:蜘蛛骑士、鸡骑士、僵尸猪人鸡骑士 超稀有怪物:高压爬行者(被雷劈) 水中怪物:守卫者、远古守卫者