计算机编程是计算机系统运行程序、解决一系列有限问题的方法。自计算机系统诞生之初,编程就一直存在。第一代计算机使用了真空管,随后是晶体管,而二进制语言则被用来编程计算机。自从第一台可编程计算机Colossus
问世以来,这个领域经历了许多变化,开发者们不断进入这个领域,使计算机系统比以往任何时候都更加强大。发现了更好、逻辑更强的计算机。
操作系统(OS)和编程需求:由于每台计算机的架构相同,运行的程序也相同,但必须为每台计算机单独编写操作系统来控制计算机硬件的基本操作。因此,引入了许多操作系统。Dennis Ritchie是使用C语言重写Unix操作系统的关键人物。为了教授这些操作系统,需要一种语言来告诉计算机系统应该做什么。编程就是这样一种方法,它创建应用程序,指导计算机系统执行命令。
C语言是一种低级编程语言,它还提供了对硬件的控制。它是由Dennis Ritchie在1969年至1973年间在AT&T贝尔实验室开发的。可以使用低级语言轻松控制内存、处理器和寄存器,并且可以管理连接的设备。汇编语言是在机器语言(二进制)之后引入的第一种低级语言之一。但与C语言相比,它对人类来说也不太容易理解。
C语言编程:C语言也被称为现代编程之父。尽管有BASIC等其他语言,但C语言在优点上非常突出。C语言是一种通用编程语言。C语言中没有类,没有接口。但它有更强大的工具,如指针等,用于在运行时操作内存。C语言已经成为许多高级编程语言的构建块,包括Java、D、Visual C#、C++和Objective-c。当编译时,它们会创建C语言代码,然后C代码被编译成原生代码,使应用程序运行更快,因为一旦执行,代码就可以直接被计算机理解。
为何不再有优秀的软件?新一代的开发者真的很忙于他们的“吸引公众,特别是女性”的事情,他们忽略了作为程序员的重要部分,那就是帮助构建一个更好的数字世界。在太多论坛上看到新开发者提出的问题非常模糊,比如“为什么得到Null
错误?”意思是,真的吗?这表明发帖人对“编程”概念的基本理解非常有限,他只是听说比尔·盖茨是活着的最富有的人,他创建了一个名为MS-DOS的计算机软件,嘿,也可以在这里做同样的事情。只需要创建一个软件,是的,将成为亿万富翁。这种新开发者的心态不会让他们赢得比赛。
为什么要学习C:C编程至关重要,必须教授而不是C++。尽管C++涵盖了面向对象编程的概念,但几乎所有90%的程序员都必须知道C语言。10%的人可以依赖C++或其他高级语言。在旅程中,学习了Visual C#、Java、Visual C++、Visual Basic、ASP.NET等许多语言,总是发现人们抱怨语言的速度,答案总是学习C语言或使用C++,因为它们被编译成原生代码,使应用程序运行更快。
大学级别的问题:所在的大学教;或者应该说只教了两个月的C++,这全都是死记硬背;对编程概念的谋杀是教编程。尽管这是因为这里缺乏资源,但新的程序员必须被教授编程技能。记得学习HTML的日子,虽然它从来都不是一门难学的语言,但对来说,没有任何知识和理解,ASP.NET代码就像对请愿。
不学习低级编程语言的副作用:大多数嵌入式设备需要低级编程,大多数微控制器需要开发者对低级编程有足够的理解,以及编程中涉及的概念,如内存管理、指针等,这些概念是编程微控制器或其他微芯片和嵌入式设备所必需的。对于一个现代开发者(一个只能编写.NET框架或Android OS应用程序的开发者)来说,他们永远无法为这些设备编程。还有另一个概念叫做物联网,它可以被编程使用.NET,但连接到它的设备必须使用低级语言进行编程,以获得更好的输出。
这些语言的普遍支持:没有对C和其他编程语言,如汇编语言的支持,最好的IDE(至少在看来)Visual Studio不支持汇编项目,但仍然包括MASM。这就是为什么大多数教授软件工程和计算机编程的大学和机构不教授汇编、C或任何其他解释计算机编程概念的编程语言。这消除了编程学生对计算机架构的任何痕迹和兴趣,然后为它生产软件。相反,程序员更有可能为自己而不是公众开发应用程序。
做或死;C或盲目:学生必须被教导区分低级编程和高级编程,他们的思想必须总是更喜欢低级编程而不是高级编程;这反过来又教会他们总是选择最简单和内存效率高的方法来执行任务,而不是内存消耗的任务。可以认为程序员必须总是选择更困难但有效的方式,总是忽略容易但模糊的编程方式。构建应用程序的框架可能在任何时候都会过时。但是使用低级编程语言开发的应用程序在任何时候都不会短缺。这不仅确保了效率,还确保了应用程序的质量。低级编程对个人来说也不是坏事,它使他的大脑能够解决他可能每天都会遇到的一些基本难题。