1.1 编程语言和开发环境的选择

初学者刚开始学习编程语言最头疼的问题就是如何选择编程语言及合适的开发环境,下面就来具体介绍一下。

有人认为学编程就是学编程语言,而VC、VB这样的开发环境只是工具,不需要学。这个想法是错误的,因为开发环境提供了很多开发工具,如VC这个集成开发环境就提供了与之对应的PSDK、MFC等。除了语言以外,要开发特定的软件是需要开发包和开发工具支持的。况且,编程语言也是一种工具,用于和计算机进行交流的工具。所以我们既要学习编程语言,也要学习开发工具。

对于选择哪种编程语言或者开发环境其实也没有特定的标准。有这样一句话,“真正的程序员用VC,聪明的程序员用Delphi,用VB的不是程序员”。笔者却并不这么认为,因为在很多编程的书籍上常常这样提醒并告诫学习者,编程的精髓是“算法”,而语言是用来描述算法的。因此,大家也不必因为无法选择而无从下手。

黑客一般都掌握多种编程语言,他们不但掌握着与底层相关的如汇编、C之类的编程语言,而且还掌握很多脚本语言,如Python、Perl、Ruby……很多黑客在发现0Day以后用Perl或者Python来写POC; MSF使用的是Ruby来进行开发Exploit;有的黑客在反病毒时竟然写个批处理就搞定了……对于黑客来说,一切语言都是服务于自己的思想的,只要能快速实现自己的想法,能完成自己所要完成的功能就行,从不拘泥于任何语言和工具。在网上有很多学习不同编程语言的人们之间经常互相攻击,这其实是一种极端的行为,大家还是理性地对待这些问题比较好。

前面说了这么多,仿佛是在绕圈子,一直没有介绍到底应该选择什么编程语言和开发环境。我们这里选择使用C语言作为黑客编程的学习语言,选择VC6(Visual C++6.0的缩写)来作为我们的开发环境。VS 6相对于Visual Studio 2005、Visual Studio 2008和Visual Studio2010之类的开发环境来说要小巧很多,当前是可以满足我们的开发需求的。选择C语言的原因是由于Windows的API都是用C语言定义的,相对于使用其他编程语言会方便很多。笔者认为在VB下使用API就非常不方便,尤其是涉及指针这个概念的时候。除了VC6以外,还需要下载新版的PSDK,因为VC6中包含的PSDK过于旧,有些新的API我们无法通过包含头文件而直接使用,因此这个也是必须的。

编程语言和开发环境的选择相关推荐

  1. 单片机编程语言与开发环境

    单片机编程语言与开发环境 目前单片机的程序语言有机器语言,汇编语言和高级语言. 机器语言在编写,输入,修改和调试都很麻烦,只能开发机器简单的单片机应用系统和进行程序加密设计,无法正常反汇编,但程序能执 ...

  2. Python编辑器与集成开发环境(IDE)选择

    上一篇文章记录了怎么安装Python环境,同时也成功的在电脑上安装好了Python环境,可以正式开始自己的编程之旅了.但是现在又有头疼的事情,该用什么来写Python程序呢,该用什么来执行Python ...

  3. STM32F0308开发环境的选择--CooCox CoIDE篇

    STM32的开发环境有很多总,官方手册也提供了IAR Embedded Workbench.MDK-ARM和TrueSTUDIO这3种.今天我试用了CooCox CoIDE,是免费的集成开发环境,同T ...

  4. python学习环境+开发环境的选择和配置

    文章目录 安装包下载路径 安装 测试安装结果 开发环境介绍 下载安装pycharm 安装完成,运行 安装包下载路径 个人建议使用次新的版本,次新版本会有一些新功能的集成,并且相对稳定,使用人员也比较多 ...

  5. 单片机的编程语言和开发环境

    单片机-机器语言-汇编语言-c语言-调试器-综合开发环境 CPU懂的机器语言 单片机的CPU从存储器读取程序,但是一次只能读取一条指令,然后解释每条指令,并执行.存储器中保存的内容,不管是程序还是数据 ...

  6. SMART S7-200PLC控制步进电机转动 step7开发环境 步进电机选择

    目录 一.步进电机介绍 二.实验准备 三.实验连线 四.梯形图编程 五.实验效果 一.步进电机介绍 步进电机可以将脉冲电信号转换成相应的角位移.线位移.由于其每输入一个脉冲就旋转一步,故被称为步进电机 ...

  7. java开发环境怎样选择_怎样搭建Java开发环境?

    hyl_666 1.设置系统环境参数:     1)右击"我的电脑",选"属性".     2)选择"高级"选项卡,点击"环境变量 ...

  8. 新手零基础学习Python第一步,搭建开发环境!

    如何在电脑上面搭建Python开发环境?本文会解答这个问题. Python是一门计算机编程语言,通过给计算机下达精确的指令以完成相应的任务或者事情. 人类掌握Python后,就可以利用这个工具告诉计算 ...

  9. 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)

    Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1)   使用苹果的平台,集成开发环境使用X ...

最新文章

  1. javaScript由哪些部分组成?
  2. 后盾网lavarel视频项目---模型一对多关联简单实例
  3. 如何给DPM服务器附加磁盘?
  4. android Lint优化代码
  5. python图片显示英文字符_python如何解析字符串中出现的英文人名?
  6. 在Activity不可见时暂停WebView的语音播放,可见时继续播放之前的语音
  7. nginx tcp代理_nginx 基于tcp/udp代理
  8. Kotlin 条件控制(六)
  9. 拓端tecdat|R语言指数加权模型EWMA预测股市多变量波动率时间序列
  10. mysql存储过程模糊查询_vb.net 使用存储过程进行模糊查询的教程
  11. 局域网系统设计的主要内容
  12. 系统分析与设计课程项目总结
  13. (6)微信UI自动化-搜索指定联系人(C#)
  14. 通信软件开发与应用结业报告
  15. flac编码音频转alac编码(使用ffmpeg)
  16. CentOS6.5挂载大于2TB的磁盘使用parted和GPT类型
  17. MapReduce中各个阶段的分析(转自道法—自然老师)
  18. Dockerhub最新的toomanyrequests问题
  19. 小游戏内测激励视频广告,然而小程序最大的潜力是电商
  20. java洁癖_如何平衡代码洁癖和项目进度?

热门文章

  1. MFC 句柄Hwnd 与 窗口Wnd的联系
  2. 服务器开机显示f1 f2,开机提示按F1/F2才能进入系统的解决方法
  3. 用Word转换向导批量转换Word文档(转)
  4. 微商相册图文添加自己喜欢的文字呢
  5. 天津理工大学计算机项目管理实验四,天津理工大学软件工程实验报告4.docx
  6. FileZilla下载地址
  7. CS1526号错误是什么
  8. leetcode报数题
  9. python做项目看板_一个好用的看板工具
  10. python repl_Python自学第二天 REPL+基础语法