计算机入门最应该学的是Linux,而非任何的编程语言

计算机入门最应该学的是Linux,而非任何的编程语言

看了其他朋友的回答,我觉得他们的观点太狭隘了,没有真正抓住问题的核心。

我们不妨换个角度,从更高的层面来看待这个问题:“入门计算机编程时,首先学习什么最好?”

入门计算机最重要的是学习Linux,而不是任何编程语言。

这篇文章4600字,有点长。 如果你能耐心阅读,也许会给你更多的思考。

1. 为什么?

任何编程语言都只是一种工具,一种让人们与计算机“交流”的工具。 人们学习编程最重要的是学习解决问题的思路和方法,其次就是使用编程语言解决生活中的问题。

“为什么计算机诞生?为什么编程语言诞生?” 归根结底,这些东西的出现只是帮助人们更好地解决生活中的问题。 你知道为什么世界上第一台(电子)计算机被发明吗? 第一台计算机因“战争”而诞生。 1943年,二战末期,M人在研制武器的过程中急于解决“快速获取新型武器的射程和探测模拟计算表”的问题,于是投资建设了它。 第一台电子计算机ENIAC。

图片来自维基百科

三年后(1946年),ENIAC建成并投入使用。 人们在“计算”领域取得了新的突破。 这标志着人类文明进程进入了一个新阶段。 ENIAC也是人类电子计算领域的第一个里程碑。 从而进入计算机时代。

随着计算机的发展,人类不再满足于使用计算机仅仅进行计算。 随着键盘、鼠标、显示器、操作系统、计算机网络……计算机逐渐从“专用”演变为“通用”,计算机慢慢走进了人们的生活。

2. 编程语言的出现

为了让计算机为人类工作,人类的意图必须告诉计算机。 我们不可能用英语、汉语等自然语言直接与机器交流。 人们与ENIAC“交流”的方式是通过手动移动开关和插拔电缆。 尽管计算算术表仍然很费力,但它比以前的机器计算机要快得多。

人们发现,计算机开关的插拔可以抽象为二进制的“0和1”。 后来,人们采用了德国数学家莱布尼茨提出的“二进制计数法”(二进制最早的起源可以追溯到中国的《周易》)。 有兴趣的可以了解一下。)引入到计算机中。 计算机有一种真正的语言——机器语言,也可以称为二进制语言。

当时,工程师们使用由“0和1”字符串组成的数字与计算机进行通信。 它们复杂且难学,而且记忆和解决问题也极其困难。 随后,出现了比机器语言更加抽象的汇编语言(助记符语言)。 借助助记符,人类可以更好地记住与计算机交互的“指令”。 汇编语言的出现进一步简化了编程过程,降低了成本。 编程的难度降低了,现在人们可以更高效地与计算机打交道。

然而,随着计算机体系结构的不同,所使用的汇编指令也会有所不同。 人们想知道是否可以发明一种“通用编程语言”? 随后,高级语言诞生了。 高级语言是汇编语言的另一种抽象。 高级语言更方便人们使用、更容易记忆、用途更广泛。 人们与计算机的“交流”也变得更加高效。

自从高级编程语言出现以来,半个多世纪以来,世界上已经出现了数百种甚至上百种高级编程语言。 无论是哪种高级编程语言,最终都会被编译成机器语言,实现人与机器的交互。

可见,学习编程语言只是让我们能够更好、更轻松地与计算机沟通,让计算机帮助我们解决现实中遇到的问题。 编程语言只是我们用来与计算机通信的语言。 就像我们和M国的人交流时,需要学习共同语言。 可以是让中国人学英语android 游戏开发入门书籍推荐,也可以是让M国的人学中文。 因此,我们不应该局限于应该学习哪种编程语言。 如果问题不从根本上解决游戏图片,问题就永远解决不了。

如果你想学习如何开始计算机编程,最重要的是你应该学习如何使用计算机命令。 就像图形化编程一样,通过将代码块和功能模块拼接在一起,就可以解决某个问题,通过某个关卡。 同样,我们可以使用计算机命令来控制计算机来帮助我们完成某些事情,解决某些问题。 计算机命令和编程语言的发展一样,都是源于对底层的不断封装和抽象,也是我们与计算机“交流”的方式。 一个方法。

为什么要学习Linux而不是学习Dos命令? 这是基于多功能性和易用性。 如果有兴趣,还可以了解一下Dos命令。 Dos 是 Windows 计算机的常用命令。 如果你不知道Linux是什么,那么我可以简单地介绍一下你。 Linux几乎构建了当今整个互联网世界,包括常见的路由器、智能家电、Android手机、自动驾驶汽车、通信系统、操作系统、网站以及各种程序。 应用程序......无一例外地或多或少地使用Linux内核或其衍生物。

Linux命令行是我们用来与计算机或操作系统进行通信的外壳(Shell)。 我们在Shell中输入简单易懂的命令,Shell会将我们的命令传递给操作系统。 操作系统与计算机交互后,会将结果返回给命令行。 Shell在一定程度上可以看作是一个翻译器android 游戏开发入门书籍推荐,帮助我们更好地使用计算机。 使用了Linux之后,你可能会发现,图形界面能做的事,命令行也能做; 命令行能做的事,图形界面不能做。 这句话虽然不完全正确,但却体现了命令行的精髓和巧妙之处。 我之前写过一篇关于GUI和CLI的文章。 有兴趣的话可以读一下:为什么有人坚信人类不可能发明出比基于GUI操作方式的“命令编辑器”更高效的开发环境? - 知道得差不多了

3.ShellScript编程语言

当你学习完 Linux 命令后,你将接触到 Shell 编程。 您将希望将这些简单且经常重用的命令写入文件中,以便下次使用。 这就是 ShellScript 脚本编程语言的由来,不知不觉中你已经学会了一门编程语言。 ShellScript 灵活且简单。 只要您具备使用命令行的基础知识,学习 ShellScript 就非常简单。

4.VimScript编程语言

在学习编写Shell脚本的过程中,必不可少的工具就是编辑器。 您可以通过编辑器编写代码,然后将其保存到文件中。 Linux 中有很多可用的命令行编辑器,例如 Vi、Nano、Vim、Emacs、Neovim...

相信在使用Linux的时候,你肯定会接触到Vi编辑器,然后是Vim编辑器,然后你会接触到Neovim。 当你认识到 Vim 是“编辑器之神”时,你的编程理念就会更近一步。 你会发现编辑器也有“自己的编程语言”。 当你想优化Vim编辑器的工作流程时,除了使用内置选项和别人写的插件之外,还可以使用VimScript这种Vim编辑器独有的编程语言来实现一些自定义的功能和逻辑。 这样就可以实现更加方便的代码编辑器。

5.Lisp和Elisp编程语言

如果你接触过Emacs这个被程序员称为“上帝编辑器”的强大编辑器,那么你一定会使用Elisp语言。 因为 Elisp 是 Emacs 独有的编程语言,相信每一个进入 Emacs 的程序员都或多或少地想尝尝这门“古老的编程语言”,享受函数式编程的乐趣,并且想使用 Org 这个强大的 Emacs 组件,我最初进入 Emacs 就是因为这些原因。 Emacs 的功能如此强大,它可以做一切事情,比如煮咖啡、充当视频播放器、音乐播放器、浏览器、玩游戏……Emacs 与操作系统只有一个核心不同。 因此,很多程序员戏称Emacs为“隐藏在编辑器中的操作系统”。

太空麦克斯

作为世界上第二古老的高级编程语言,Lisp诞生于1958年。世界上最古老的高级编程语言Fortran只比它大一年。 这种编程语言就像魔法一样,神奇而强大,在接下来的半个世纪里催生了十几种“方言”。

现在看来,Lisp 更像是一个编程语言家族,不断发展和繁荣。 Lisp 是一种与人工智能 (Ai) 紧密结合的编程语言。 自 20 世纪 60 年代起,Lisp 语言就开始用于人工智能编程。 随后,由其派生的许多方言也在某些领域得到深耕。 例如,Emacs Lisp 用于人工智能编程。 Emacs 的 Lisp 方言。 虽然人工智能的主要编程语言是Python,但这丝毫不影响Lisp的历史地位。 尽管它在某些领域悄然退出了历史舞台,但在其他领域却再次大放异彩。 如果要在编程语言中评选出经典,那么Lisp一定占据一席之地。

因此,如果你想品味 Lisp 这门古老而繁荣、带有一定神奇色彩的高级编程语言,建议你从 Elisp 开始学习,开始使用 Emacs 编辑器。 使用一段时间后,你会逐渐爱上Elisp这门有趣的编程语言,体验与现代高级编程语言不同或不存在的“逆波兰表达式”。

6.Lua编程语言

如果你更喜欢“现代 Vim”,那么 Neovim 一定不能错过。 从0.5版本开始,Neovim正式使用Lua编程语言作为Neovim的一级语言,提供丰富的API接口。 虽然 Neovim 是 Vim 的一个分支,但随着 Neovim 社区的不断壮大,Neovim 开始追求更广阔的天空。 它不仅继承了Vi和Vim的优秀基因,而且还朝着强大、易用、现代化的方向发展。

如果你是一名从事游戏开发的程序员,那么你一定对Lua很熟悉。 这是一种易于学习、紧凑、灵活且易于扩展的脚本语言。 如果你想为 Neovim 开发插件,如果你想编写游戏逻辑,那么你一定会接触并使用 Lua 编程语言。

7.C 编程语言

当然游戏图片,如果想深入了解计算机,C语言是必须学习的。 这是进入计算机世界的必经之路。 因为市面上大部分的计算机教材和经典书籍都是用C/C++语言描述的,Linux内核也是用C语言编写的。 当你真正想要了解操作系统以及Linux的编程哲学和设计哲学时,那么这个时候就需要有一定的C语言基础了。 当然,这一步必须在你有使用Linux的经验之后才能进行,否则你学习起来会很困难。

当你学习C语言时,你会对许多高级编程语言的设计和原理有更深入的了解。 C语言不愧是你打开编程世界大门的第二把钥匙。 有句话是这样说的:一命为二,二生C,C生万物。 一切源于C,对于这个评价,C语言确实名不虚传。

8.Go编程语言

有很多编程语言最初是用C语言编写的,后来自举不再依赖C语言,比如我最喜欢的编程语言——Go。 如果你有兴趣,还可以了解一下这门被称为“21世纪的C”的编程语言。 我写过一篇文章来介绍一下。 有兴趣的话可以看一下:同样是巨头的语言,为什么Go在中国最受欢迎? 国了,C#越来越少了? - 知道得差不多了

9. Rust 编程语言

这是一种可与C/C++相媲美的现代系统级编程语言。 这种语言几乎与 Go 同时诞生。 它们都是新时代的编程语言,定位与Go还是不同的。 有兴趣的朋友也可以了解一下这门语言。 这种语言将来可能会取代C++。 也许在不久的将来,这种语言会像C++和Java一样流行。 这只是时间问题。 如果你想学习一门相对较新的语言,Rust 可能值得你投资。 它代表着未来的无限可能。

10. 总结

听完我的例子,你应该明白为什么我建议你在开始编程时先学习Linux。 迟早你会接触到编程语言。 基本的东西是永恒的。 就像九层楼拔地而起一样,掌握Linux命令的使用,学习ShellScript、C/C++、Java、Python、Go、Lua……很多编程语言就水到渠成。 当你长期使用Linux命令时,你就会思考如果使用其他编程语言如何实现这个功能。 只有有了目标,才能有明确的目标来学习编程语言。

希望我写了很久的这篇文章能给你一些启发。 学习编程语言很容易。 学习编程的思想就是已经探索过的星辰大海。

转载规则:转载文章上方标注原文链接和原作者,所有人都可以自由转载。 我也希望我长期以来写的科普内容能够被更多的人看到。 感谢能够阅读本文的读者,希望我的文章能给您带来一些启发。

》》》往期回顾:

哪种编程语言最容易学习? - 知道得差不多了

我的英语不好,我想学习编程。 我可以只记住一些编程中使用的单词吗? - 知道得差不多了

Go语言如何入门,有什么入门书籍推荐吗? - 知乎

编程能带来食物和水吗? - 知道得差不多了

文章来源:https://www.toutiao.com/a7055928997900943904/