学编程最先学什么(编程自学先学什么)

看了其他朋友的回答,觉得他们的观点太局限,没有真正切中要害。我们不妨换个角度看这个问题,站在一个更高的层面上。“计算机编程最好先学什么?”」电脑入门最需要学习的

看了其他朋友的回答,觉得他们的观点太局限,没有真正切中要害。

学编程最先学什么(编程自学先学什么)

我们不妨换个角度看这个问题,站在一个更高的层面上。“计算机编程最好先学什么?”」

电脑入门最需要学习的是Linux,而不是什么编程语言。

这篇文章4600字,有点长。如果你能耐心看完,可能会带给你更多的思考。

1. 为什么?

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

“计算机为什么会诞生?为什么会诞生一门编程语言?归根结底,这些东西的出现只是为了帮助人们更好地解决生活中的问题。你知道为什么发明了世界上第一台(电子)计算机吗?第一台计算机因“战争”而诞生。1943年,二战即将结束,M人迫切希望解决“快速获得新武器的射程和探测模拟计算表”的问题,于是投资建造了第一台电子计算机ENIAC (Eniac)。

图片源自维基百科图片来自维基百科

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

随着计算机的发展,人类已经不满足于将计算机仅仅应用于计算。随着键盘、鼠标、显示屏、操作系统、计算机网络等的出现和发展。,计算机逐渐从“专用”演变为“通用”,计算机逐渐进入人们的生活。

2. 编程语言的出现

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

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

当时的工程师用一串由“0和1”组成的数字与计算机交流,复杂难学,记忆和故障排除极其困难。然后是汇编语言(助记语言),比机器语言更抽象。有了助记符,人类可以更好地记住与计算机交互的“指令”。汇编语言的出现进一步简化了编程过程,降低了编程难度。这个时候,人们可以更高效地与电脑打交道。

然而,对于不同的计算机体系结构,使用的汇编指令会有所不同。人们怀疑是否能发明一种“通用编程语言”?后来高级语言诞生了,这是汇编语言的又一种抽象。高级语言更方便人们使用,更容易记忆,用途更广,人们与计算机的“交流”变得更加高效。

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

可见,学习编程语言只是让我们更好更容易的与计算机交流,让计算机帮助我们解决现实中的问题。编程语言只是一种我们和计算机交流的语言。就像我们和M人交流一样,需要学习共同语言。可以是中国人学英语,也可以是M人学汉语。所以不要局限于学习什么样的编程语言。问题不从根本上解决,永远解决不了。

如果你想学习计算机编程的基础,你应该学习如何使用计算机命令。就像图形化编程一样,把代码块和功能模块拼接在一起,就可以解决某个问题,打通某个层次。同样,我们可以用电脑命令来控制电脑,帮助我们完成一些事情,解决一些问题。就像编程语言的发展一样,计算机命令不断被封装,从底层抽象出来,也是我们与计算机“交流”的一种方式。

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

Linux命令行是我们与计算机或操作系统交流的外壳。我们将简单的命令输入到Shell中,Shell会将我们的命令传递给操作系统。操作系统与计算机交互后,会将结果返回到命令行。Shell在某种程度上可以算是一个翻译器,帮助我们更好地使用电脑。使用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编辑器的工作流程时,不仅可以使用内置的选项和别人编写的插件,还可以使用Vim editor专用的编程语言VimScript来实现一些自定义的功能和逻辑,从而实现更方便的代码编辑器。

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这种古老而繁荣的带有一定魔幻色彩的高级编程语言,建议你学习e Lisp,使用Emacs编辑器。使用一段时间后,你会逐渐喜欢上Elisp这种有趣的编程语言,感受到与现代高级编程语言不同或不存在的“反波兰表达式”。

6. Lua 编程语言

如果你更喜欢“摩登Vim”,那么Neovim一定不能错过。从Neovim的0.5版本开始,官方编程语言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”的编程语言。我已经写了一篇关于它的文章。有兴趣的话可以看看:也是巨语言。为什么中国是围棋最火的国家,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.meizw.com/n/373402.html

发表回复

登录后才能评论