编程,这是最基本的黑客技能。如果你不懂任何计算机语言,建议从Python开始。它设计简洁,文件齐全,对初学者比较友好。尽管它是一种很好的第一语言,但它不仅仅是一个工具,它非常强大和灵活,非常适合大型项目。在Python网站上有很好的教程;在计算机科学界有很多优秀的第三方教程。
对于想要找到,个人比较推荐使用java作为一个良好的语言学习的早期。但是作为黑客入门不是很合适,他们讥讽式的方式解决问题就像在一个五金店“水管工;你必须知道的组件实际上做什么。现在我认为这可能是最好的学习C和Lisp,然后java。
也许这里有一个更一般的观点。如果一门语言对你来说太多,它可能同时是一个好的生产工具,也是一个坏的学习工具。它不仅是语言,有这个问题;Web应用框架RubyOnRails,CakePHP,Django的可能使它很容易达到一个肤浅的体悟,将离开你没有资源时,你必须解决一个难题,甚至只是采用最简单的调试解决问题。
如果你从事严肃的编程,你必须学习C语言,Unix的核心语言。C++是C密切相关;如果你了解其中一种,学习另一种应该不难。不管怎样,这两种语言都不是第一次尝试学习的好语言。事实上,你越能避免在C语言中编程,你的效率就越高。C是非常有效的,而且非常节省你机器的资源。不幸的是,C需要通过手工进行大量的资源(如内存)的低层管理来获得效率。所有这些低级代码都很复杂,容易出错,并且会占用大量的调试时间。由于今天的机器功能强大,这通常是一个糟糕的折衷办法——使用一种使用效率较低的语言更聪明,但您的时间效率更高。因此,Python其实是最合适的入门语言。
对黑客特别重要的其他语言包括Perl和Lisp。由于实际的原因,Perl值得学习;它广泛用于主动Web页面和系统管理,因此即使您从未编写Perl,您也应该学习阅读它。很多人使用Perl的方式,我建议您应该使用Python,避免在不需要C机器效率的工作上进行C编程。您将需要能够理解他们的代码。
Lisp是值得学习的一个不同的原因-深刻的启迪经验,你会有当你终于得到它。这样的经验会让你在以后的日子里成为一个更好的程序员,即使你从未真正使用过Lisp语言。(你可以开始经验比较容易的LISP编写和修改Emacs文本编辑器编辑方式或脚本插件,赋为GIMP。)
这是最好的,其实,学习所有的Python的C / C++,java,Perl和LISP。除了作为最重要的黑客语言外,它们代表了非常不同的编程方法,而且它们都将以宝贵的方式教育你。但是要意识到,仅仅通过积累语言,你是达不到黑客的技能水平,甚至无法达到程序员的水平——你需要学习如何独立于任何一种语言来思考编程问题。要成为一个真正的黑客,你需要在几天之内学会一种新语言,把手册中的内容与你已经知道的联系起来。这意味着你应该学习几种非常不同的语言。
这里不能完全说明如何学习编程,这是一个复杂的技能。但我可以告诉你,书本和课程是远远不够的,也许大部分最好的黑客都是自学成才的。你可以从书本中学习语言特征——知识的部分,但是只有通过实践和学徒才能把知识变成生活技能的思维定势。读代码和编写代码是什么?。Peter Norvig,是谷歌的一个顶级黑客和最广泛使用的教科书对AI的合著者,写了一篇精彩论文要求十年编程。他的“编程成功秘诀”值得仔细注意。
学习编程就像学习写一门好的自然语言一样。最好的方法是读一些表格大师写的东西,自己写一些东西,多读,多写,多读,多写一些,不停重复,但不是一个简单的指令。
领取专属 10元无门槛券
私享最新 技术干货