编程语言 一些最近我经常被问的问题中最常听的问题就是 我认为什么编程语言应该学: 我想这要根据一些具体情况。----大致上是你准备花费多少时间在上面,你想让这个语言有多么有用。
一个程序要多长时间完成。和这个程序能完成多么复杂的事情。 以下有几个选项(排列没有什么意义)。 Visual Basic。 - 非常容易学习的语言。很多这方面的书,公开的免费原代码也很多。
你应该可以很快的使用他。但是这个语言有一个限度。他并不是象 比如 c++ 一样强大。你需要在WINDOWS 下运行他。需要一个VB 的编程环境(不论盗版还是正版的 ,反正他不是免费的)。 想用VB 来编攻击代码,或补丁是十分困难的。
C++ - 也许是最强大的语言。在所有的操作系统里都有。在网上有上吨的原代码和书是免费的。包括编程环境。比VB 要复杂一点。也许要掌握他花费的时间要比VB 要多一点。简单的东西容易学,干复杂的活的东西理解起来也要复杂一点。
你自己衡量。 Assembly - 最复杂的,也是最难学习的语言,如果你把他当作第一个你要学习的语言,那么将会难的你头要爆裂。但是,你先学了汇编,其余的还不是小菜 ;) 有一些书,这方面的教材有减少的趋势。
但是汇编知识对某些方面来说是致关紧要的。比如:缓冲逸出。 攻击。很多这类的免费软件。但从这个语言开始是十分*困难*。 Perl - 一个很不错的语言。 他象VB 一样容易。
学习他相应的容易一些。他也象VB一样有限制,但是他在多数操作平台都能运行。(UNIX 。 和WIN )。所以这是他的优势。很多这方面的书。 (O'Reilly 'Camel' books), 而且这个语言是完全免费的。
你可以使用他来作一些普通的攻击工具。 他主要是作用于一些文本的技巧攻击。不适合做二进制程序。 我想这是所有你想知道的。 有把握的说 C/C++是最佳选择。
推荐的书另外一个问题是我推荐去读什么书: 我个人手边总是有以下的几本书做参考: Applied Cryptography (Bruce Scheiner) Linux Application Development (Mike Johnson and Erik Troan) Windows Assembly Language and Systems Programming (Barry Kauler) Perl Cookbook (Tom Christiansen and Nathan Torkington) (O'Reilly) Linux Programmer's Reference (Richard Petersen) (Osborne) All the O'Reilly 'Pocket Reference' books, which include vi, emacs,。