第十四章 软件、硬件发展史上的风风雨雨中的一声悲叹!

第十四章   软件、硬件发展史上的风风雨雨中的一声悲叹!

睡不着、感而写之。

忠言逆耳、良语苦口、高山流水、曲高和寡。

我的感觉,计算机已经发展到了一个死胡同。我们似乎只是在兜圈子,从最初的汇编写的UNIX操作系统,到如今的C语言写的WINDOWS、LINUX。我 们应该反思、到底技术上进步了很多?还是原地兜圈子?从汇编,到C语言、脚本语言,到C++、C#、JAVA,到VB等等所谓的高级语言;似乎取得很多进步了。我们面向对象编程啊,抽象了类、逐步贴近自然语言了。真的?我极端怀疑!人类的自然语言描述的是宇宙万物、是对6D时空的描述。计算机语言还差得远啊,只是模仿了一些吧。物质、意识是永恒运动的对立统一体;空间3D、时间1D。且不论物质、意识这2D先,就算我们用平面1D存储空间去描述3D空间;
也不应抛弃时间1D啊。使用汇编语言的每条指令、我们都知道指令的执行时间,和指令引起的存储空间变化。而C及之后的计算机语言、却抛弃了直观表示的时间 1D。这是进步?还是倒退?你可能说,C及之后的语言:优美、简洁;而汇编语言复杂、难懂、需要与硬件打交道。其实不然,请不要用intel、amd等 CPU的汇编指令来说;那些都是垃圾里的水玻璃!是垃圾堆中的战斗机。真正的汇编语言只是7种基本语句:赋值指令、COPY指令、BTX(位X测试为1、 或0转移)指令、查表跳转指令switch(RN){….}、寄存器的移位与循环指令S(RD
= RN S N)、寄存器的三操作数运算指令( RD = RN1ALU RN2 S #N )、调用与返回指令(CALL、RET、IRET)。指令大小基本是32位,一个字W;指令执行时间,通常都是1ns。加上一些专用硬件模块的指令,总共才10多种指令;你说,哪一种语言的保留字不是几十种。所以、还是汇编语言的语句最简单!易懂!与硬件打交道,那是操作系统的事情;真的需要了解、和操作硬件时,也是汇编易于操作。简洁,这点我承认;但那些鸡鸭肠子般长的代码,看到就心烦;C语言是可以写得很紧奏,但反面就是不清晰。程序应该先是简单、清晰;才论其它。如果,还要放弃直观表示的时间1D、那真的是倒退!

面向对象?汇编语言还要简单!我们应该知道、对象的本质就是一段1D平面存储空间、就是一个位的容器。只是从具有相同的位容器对象、我们抽象出类的概念。变量也是用来描述一段1D平面存储空间,所以、对象也就是一种变量。C及之后的语言操作对象,最终还不是编译成汇编语言!APO的赋值指令就可直接操作对象空间中的成员对象、或变量。我们也可以把变量赋值到寄存器,再做变换、运算等;之后再回传。对象、变量只是对存储空间的声明,它们对应的地址;那就是编 译器的事情了。汇编语言面向对象编程是自然、而简单的。所以、C++、JAVA、等等面向对象的语言。那是哄小孩的儿童玩具,那是红脸叫兽的虚妄,那是不切实际的花拳绣腿,那是本末倒置。我真的不清楚是那回事?不过想想,我们不外都是生活在垃圾世界,就觉得安然点了。我猜想,当初用汇编写UNIX操作系统
的那些编程员;就为了优美、简洁,发明了C语言;之后、沾沾自喜,做了个坏领导而不知。或许,那些高科技脑袋都喜欢在复杂、肮脏的地方钻牛角尖;不像我们这些业余笨鸟都是喜欢简单。应用程序只能行走在自己的对象、变量空间中;进程间只能通过信号、消息来互通;通过动态变量的提交来做大数据量的交换;这些、 硬件是非常容易实现的。但intel的cpu结构那个4权限、内存页映射等等的非常复杂的硬件设计,我看了几遍才明白一些;我真不明白啊,这些聪明崽是怎么想的!晕倒,为了私利;也不应该阻碍人类的进步啊!

有时候,优美、简洁、艺术真的没屁用;编程思想才是关键!你linux操作系统牛气,用C语言编写的内核将近千万行的源代码;就不说那个捂住口袋防盗的 windows了;还有个屁优美、简洁、艺术啊。鬼都没法看完所有的源代码啊。我一个业余笨鸟设计的APO操作系统还不到4K行代码,linux 还不脸红!不算设备驱动,APO操作系统内核源代码还不到1千行;所以,我要把数据库、浏览器、word办公软件、xwindows等等都集成到内核。现 在,是那个优美、简洁、艺术、强大应该知道了。就说文件系统,APO的、在有些项目就要比linux快近百万倍。数据库、等等方方面面都要比现代操作系统强大的多。不吹了、牛死了;我其实一点都高兴不起来;作为人类的普通一员业余爱好者,我只有一声悲叹!

天亮了、又是一个不眠之夜。

时间: 2024-08-24 19:27:22

第十四章 软件、硬件发展史上的风风雨雨中的一声悲叹!的相关文章

第三十四章 软件工艺的话题

征服复杂性 降低复杂度是软件开发的核心. 在架构层将系统划分为多个子系统,以便让思绪在某段时间内能专注于系统的一小部分: 仔细定义类接口,从而可以忽略类内部的工作机理: 保持类接口的抽象性,从而不必记住不必要的细节: 避免全局变量,因为他会大大增加总是需要兼顾的代码比例: 避免深层次的继承,因为这样会耗费很大精力: 避免深度嵌套的循环或条件判断,因为他们能用简单的控制结构取代,后者占用较少的大脑资源: 别用goto,因为它们引入了非顺序执行,多数人都不容易弄懂: 小心定义错误处理的方法,不要滥用

Python基础教程(第十四章 网络编程)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5538341.html______ Created on Marlowes 本章将会给读者展示一些例子,这些例子会使用多种Python的方法编写一个将网络(比如因特网)作为重要组成部分的程序.Python是一个很强大的网络编程工具,这么说有很多原因,首先,Python内有很多针对常见网络协议的库,在库顶部可以获得抽象层,这样就可以

JavaScript高级程序设计:第十四章

第十四章 一.表单的基础知识 在HTML中,表单是由<form>元素来表示的,而在javascript中,表单对应的则是HTMLFormElement类型.HTMLFormElement继承了HTMLElement,因而与其他HTML元素具有相同的默认属性.不过,HTMLFormElement也有它自己下列独有的属性和方法. 取得<form>元素的引用方式有好几种.其中最常见的方式就是将它看成与其他元素一样,并为其添加id特性,然后再像下面这样使用getElementById()方

现代软件工程 第十四章 练习与讨论

15.3.1 有些成功人士或公司认为不需要独立的测试角色(Test),你怎么看? 我猜想和踢足球类似,还是那几个原因: 人太牛: 不世出的天才,例如高德纳写书时发现排版软件不好用,就自己写了一个.也没听说他为这个软件项目请了什么独立测试人员.对了,他不读Email,有秘书帮他处理这些事——这也是一种分工! 有些软件工程师是在后台钻研和开发高难度的算法,或者做某种后台的处理工作,这个工作本身的难度较高,测试主要是自己通过工具完成.如果一定要找一个测试人员,这个测试人员的水平要相当高才行,如果水平那

MiS603开发板 第十四章 UDP协议网络传输

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ MiS603开发板 第十四章 UDP协议网络传输 本实验将实现FPGA 芯片和PC 之间进行千兆以太网数据通信, 通信协议采用Ether

《OpenCL异构并行编程实战》补充笔记散点,第十二至十四章

? 第十二章,在其他语言中使用 OpenCL ● JOCL(Java Building for OpenCL),PyOpenCL ● 一个 PyOpenCL 的例子代码,需要 pyopencl 包 1 import pyopencl as cl 2 import numpy as np 3 import numpy.linalg as la 4 5 a = np.random.rand(50000).astype(np.float32) 6 b = np.random.rand(50000).a

R in action读书笔记(19)第十四章 主成分和因子分析

第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法.它通过寻找一组更小的.潜在的或隐藏的结构来解释已观测到的.显式的变量间的关系. PCA与EFA模型间的区别 主成分(PC1和PC2)是观测变量(X1到X5)的线性组合.形成线性组合的权重都是通过最大化各主成分所解释的方差来获得,同时还要保证个

CSS3秘笈复习:十三章&amp;十四章&amp;十五章&amp;十六章&amp;十七章

第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮动元素.关键字:left.right或both. (2).浮动外围元素:让包含浮动元素的<div>也浮动.选择这种方法一定要在浮动容器后面的任何元素中添加一个clear属性,确保浮动元素落到容器的下方. (3).利用overflow : hidden.另一种常见的方法是在外围的样式中添加以下属性:

C和指针 (pointers on C)——第十四章:预处理器

第十四章 预处理器 我跳过了先进的指针主题的章节. 太多的技巧,太学科不适合今天的我.但我真的读,读懂.假设谁读了私下能够交流一下.有的小技巧还是非常有意思. 预处理器这一章的内容.大家肯定都用过.什么#include,#define #ifdef #undef这些,可是绝对用的不多.作为全面了解学C,还是应该都看一看. 预处理器使用方法非常讲究,用不好会失误,用好了会大大加快执行时速度(不是编译速度). 总结: C程序的第一个步骤就是预处理.预处理器共包括下面几个符号: 1.#define 定