怎样才能和编程语言对上眼?你需要做些准备以及...

理想中的我和现实中的我

理想很丰满,现实很骨干。每个人的时间都是有限的,不只是每天要上课的学生,尤其是上班族,面对每天的加班,留给自己大把大把专心学习的时间基本就没有,除非你非常有毅力,有强烈的意愿且能很好的利用自己业余的时间。但大部分人又没有,那是不是无解? 当然不是。

答案就是用最高效的学习方法,在最短的时间内获取最多的信息,把自己当作语言设计者去思考,与最优秀的工程师交流想法。

根据我的经验,如果你已经有一定的编程经验,最高效的学习方法可以帮助您在一周内理解一门语言最本质的东西,或者说其与其他语言最大的区别。

学习编程,第一步不是抱着一本书或跟着别人做的教程从头到尾啃一遍,第一步您就要开始思考。思考先从问正确的问题开始,因为正确的问题是你提高学习效率,理解编程语言根本原理的最好方法。比如:

    ✪ 自然语言有语义和语法,计算机语言有吗?

    ✪ 就像其他人可以理解你所说的话,计算机为什么可以理解我们所写出的代码?

    ✪ 编译和运行代码时,计算机到底在做什么?

    ✪ 计算机发展历史如何?从打卡机时代到汇编语言到 C,乃至 C++, Python, 推动背后发展的动力是什么?C++ 及 Python 这种高级语言为什么会出现?

应该使用哪种编程语言?

这取决于你的学习方法和目标。

如果你是一个铁石心肠的人,愿意克服最困难的难题,并且想找出编程的核心,那么C和C++是你的第一次野餐。

掌握它们对学习其他语言非常有帮助,因为你已经解决了编程、编译器和计算机组织之间的界限问题。

你可以成为一名系统工程师C-家庭技能,编写编译器和解释器,为开放源码操作系统作出贡献,编写驱动程序。

如果你只想创建web和移动应用程序,请学习Python, Java, Node.js, HTML, C#, Golang是选择。

机器怎么能理解我们写的东西?

首先,我们需要知道语言是如何在我们人类和机器之间相互作用的,这应该被认为是同样的生产过程的理念。

编程语言就像我们所说的自然语言,具有语法和语义的意义。

当我们把自然语言写下来,或者说出来时,其他人就能理解它们,因为我们在我们共同的知识中掌握了相同的语法和语义。

对于编程语言,我们把它们写下来,我们想让机器理解它们,这样它就可以执行我们分配的任务。这就是为什么我们设计人与机器之间的整个机制,包括编程本身和它的“翻译”工具链。

当你选择学C,你仍然需要了解vonNeumann的体系结构,这样你就会注意在不需要时分配的内存是否被清理,并且要小心数组索引,等等。为了解决这些抽象和描述问题,人们发明了更多的语言。

C++、Java使用面向对象的语法,使我们能够描述面向对象方法中的问题。但,请记住,OO最初是一个设计,然后是内置于语言中的。C++和Java是编译语言。

Python是一种脚本语言和具有OO语法的解释语言

......

如何自学编程语言?

语言的分类是非常重要的,并不是说你知道一些关于语言的花哨词汇,但它可以指导你自己学习编程。您可能已经从以上不同的角度看到了一些类别,例如解释语言、面向对象的语言。

▷ 找到语言的工具链。

如果语言是编译语言,安装它的编译器,编写一个最简单的程序,分阶段产生输出。例如,C和C++,安装gcc,写一个hello world.c,进行预处理、编译、链接gcc查看每个阶段结果的选项。

如果语言是解释语言,以交互模式启动它的解释器,编写一些代码来查看结果,例如,Python。

▷ 练习语言语法及其特点。

    ✪ 使用内置类型,知道如何操作它们。

    ✪ 如何定义自定义类型。

    ✪ 使用命令式特性,知道如何定义函数和参数传递机制。

    ✪ 如果该语言具有OO特性,则使用它的OO属性,例如封装、继承、多态性。

总之,你需要成为一个谦逊的学习者,做很多练习,但是,你的目标是作为一个语言设计师而不是一个跟随者去思考,试着去理解语言的灵魂。

最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

值得关注】我的 C/C++编程学习交流俱乐部!【点击进入】

问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~

猜你喜欢

转载自blog.csdn.net/HUYA69/article/details/113049935