编程,就是如何与计算机进行沟通。可就当前而言,我们无法直接与计算机沟通;就算我们的语言,可以直接被计算机理解,也是一种相当繁琐的方式。因为我们所需要的,便是寻找一种合适的方式,告诉计算机我想要这个,计算机则给我展示这个。
于是乎,我们开始寻找如何与计算机沟通,我们就找到了编程语言这种东西。而普通的代码,对于没有入门的新手来说,就是一种天书。
因此,在没有经验的时间,使用能直接输出(解释型)的语言更好。即我们输入了一个 print("Hello, world!") 或者 console.log('Hello, world!'),我们就可以直观地看到这些变化。
即使在这个时间,我们没有编程经验,我们也能理解程序的基本模型之一:
输入 -> 处理 -> 输出。
我初学的时候,是在小学,学习的是 Logo 语言。它的输入很简单,如:
go 100
right 90
go 100
输出特别直观:
即,前进 100,右转 90 度,再前进 100。
在十几年前,这是一个适合入门的语言,在今天这门语言可能是 JavaScript、Python、Ruby 等。总之,首先你需要一门你能直接看到结果的语言。
它可以在第一时间,反馈我们的输入是不是正确的,我们的代码有没有语法错误。
在我的微信、QQ 群里,我发现新手容易陷入一个学习误区。不断地关注着这个市场需要什么人才,今天去学习 Web 前端,明天搞搞后台开发。每天总会各种奇怪的问题,xx 语言是不是比我现在的语言好。
是的,Python 语言在人工智能是比 JavaScript 好。Ruby 语言在编程的感觉上比 Python 自由。Lisp 语言看上去比 Python 更高大上。可是,那又要怎样,Lisp 再怎么高大上,它在市场上没有竞争力。你很难在市面上找到一份相关的工作。
正向反馈
意味着,程序必须有输出,你所做的东西必须有一定的结果。这样,你才会一点点往下走。
在学习的过程中,你会遇到一个非常大的问题就是,『它根本就不工作』。每天你都会遇到一些新的障碍,你都需要去跨越这些障碍。在你遇到困难的时候,请相信你遇到的问题,别人都遇到过。
这个时候,你就要想尽办法来寻找解决方案:
自己动手
场外求助
寻找新手村。,
寻找大牛。而一般来说,有一定工作经验的程序员,都会建议你自行解决这个问题。如果你解决来了,那么说服你的能力有问题。
还没放弃,还没看到这,你真是太棒了。
在我学习新的技术的过程中,如最近学的 Serverless,都是练习一个又一个的示例过来的。在练习的过程中,
编程世界中,最难的一件事,就是保持学习。
编程,在人力成本低廉的中国是一门高收入的职业,但是说到底只是类似一个 20 世纪末普通的『工人』。过去,你只要掌握一门的手艺,你就可以滋润的活一辈子。10 年前,你学的那些编程知识已经都被淘汰一大半了。IT 知识在不断地更新换代,如果你不能保持学习,就算你来到这个行业,你也很快会被淘汰的。
那些,已经上车的编程员,也不要高兴得太早。这个时代,不再是根据是不是科班出生来定论,而是你能不能学到最后。
