python计算器流程图 软件是用编程软件编的,编程软件又怎么来的?

[更新]
·
·
分类:互联网
2429 阅读

python计算器流程图

软件是用编程软件编的,编程软件又怎么来的?

软件是用编程软件编的,编程软件又怎么来的?

软件是用编程软件写成的,那么编程软件是怎么来的呢?
这个吧,我真的没办法一个个给你解释到底,不然你要是打破沙锅问到底,可能一顿火锅的功夫我也没办法给你说完。举个例子哈,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语言生万物,现在就是多生万物。这就是计算机技术发展的过程。

如何看待将Python作为少儿编程的基础语言?

少儿编程火了!
学编程应该从娃娃抓起,我现在已经开始给我还没出生的孩子进行编程胎教了,并且我准备先从深度学习讲起。
为什么少儿编程会成为K12的新宠大家也都知道,中国的家长望子成龙,从小就钢琴、舞蹈、跆拳道各种兴趣班,数学、物理、化学等各种各样的奥赛班,以及英语演讲班等各种语言班,每个中国家长都害怕自己的孩子输在起跑线上,都希望自己的孩子成为“别人家的小孩”。
为什么会是编程?
编程能极大地提升逻辑思维能力;
编程是一门实践科学,能够将数学等理论知识付诸实际应用;
中国互联网发展极其迅猛,软件工程师已经成为“高薪”、“尖端”得代名词;因此编程就成了现在少儿教育领域最火的一个门类之一了。
为什么推荐Python和Scratch如果是让孩子学习编程,先学习Scratch、然后在学习Python,最后再过渡到C、Java、PHP、JavaScript等编程语言。
一张神图说明Python为什么好学!
Python为什么好入门?看下面这张图就知道了,这是国外一个大神画的一张神图,国内的一个开发者翻译了一下,有编程基础的同学基本上30分钟就可以将这张图搞懂,你Python基本上就掌握到了精髓。
Python是目前编程领域最适合作为编程入门的语言,代码十分优美、优雅且实用性强,语法简单、可读性强、灵活性高,写Python代码就感觉自己是在写作文一样,简直就是一种赏心悦目的体验。
同样写一个功能,对比主流的编程语言,尤其是对比Java来说,Python能减少一半的代码以上,当然作为一个Java程序员,我确实再也没有见过比Java还要臃肿的编程语言了。
Python还拥有丰富的包库,有超过85000个Python模块、脚本的资源库,这些都是你拿过来就可以直接使用的。
为什么选择Scratch?
Scratch是大名鼎鼎的麻省理工学院媒体实验室特别为8到16岁孩子设计的编程系统,兼具专业性和趣味性,非常适合孩子学习编程。
Scratch入门简单:图形化、可视化编程,界面生动有趣。
Scratch内容丰富:对于喜欢绘画的学生、提供角色制作设计功能,为喜欢动画的学生、提供情景设计功能,为喜欢游戏的学生、提供游戏设计功能,甚至还可以为喜欢音乐的学生、提供音频处理功能。让学生能够在动画、游戏设计、音频处理等过程中形成逻辑分析、独立思考的思维方式,并且能够提出问题和解决问题。
Scratch结果直观:学生可以非常容易的看到自己的编程结果。
虽然Scratch降低和简化了编程难度,但是最重要的编程思维并没有被削弱,Scratch的8类编程部件有100多个功能,可以制作动画、解决数学问题、实现小游戏等众多功能,极大地锤炼学生的编程思维,还能激发孩子的创造力。
因此我强烈推荐中国的青少年都应该学习编程,并且从Scratch和Python开始,逐步养成编程思维,锤炼自己的逻辑思维,即使以后不从事这个行业,对于以后的学习、工作也是有极大的帮助的。
本文为悟空问答原创文章,未经允许转载、抄袭必究!