下载PDF文件 下载PDF文件

这篇文章教你如何在编程网站或论坛开发和维护免费的开源软件。虽然这样的人有时被称为“软件黑客”,但这个称呼本身更倾向于创建和调整软件的人,而不是侵入软件的人。 如果你有兴趣成为寻找和利用软件或操作系统漏洞那样的黑客,可以在网上搜索成为骇客的文章。

  1. 作为一名软件黑客,意味着你将花费大量时间来开发、调整和更新免费软件,以满足用户需求和保持相关性。为了达到这个目的,你需要满足以下条件:
    • 全面了解系统语言,例如C ++,还有编程语言,例如Python。
    • 了解编程平台,例如Windows、安卓等。
    • 愿意花大量时间学习选中的语言、平台与软件类型。
  2. 与一般人的看法相反,对数学的精通、以往的编程知识和(或)计算机科学或类似的大学学位,都不是成为一名免费软件黑客所必需的。 [1]
    • 只要你对开发软件有兴趣,并且愿意接受适当的批评,就没有理由认为自己无法成为软件黑客。
  3. 软件开发可以作为简单的爱好,或是全职工作。在开始学习编程语言或选择平台之前,了解你的最终目标将有助于你朝要走的道路前进。
    • 虽然并非绝对必要,但如果你的最终目标是找到一份软件开发工作,那么计算机科学或软件开发的学位能帮助你更快获得工作。
    • 如果你的目标只是创建一个应用或程序,帮助用户完成以往很难做到或不可能完成的任务,那就要确认相关的软件尚未被开发。
  4. Windows、macOS、iOS、安卓和Linux等主要平台都有自己的论坛、首选编程语言和独特需求。在深入了解软件开发以前,确认你的软件要应用在哪个平台。
    • 最好在你正在开发的同一平台上工作。例如,如果你正在开发安卓应用,那么使用Mac或Linux等基于Unix的系统,比使用Windows更好。
    • Linux是许多软件开发者常用的免费解决方案。
  5. 有两种类型的编程语言;尽管你最终都要掌握好几种语言,但在开始开发软件之前,至少学习其中一种:
    • “系统语言” —— 用于直接与系统接口的计算机语言。常见的包括C、C ++和Java。
    • “编程语言” —— 用于设计软件界面(用户将看到的界面)以及功能的语言。常见的包括Python、Ruby和Perl。
  6. 每台计算机都有一个命令行应用程序。例如,Windows的命令提示符,Mac和Linux的终端等。你可以根据需要,使用命令行与计算机本身进行通信,发出详细的命令。
    • 虽然你不会从命令行程序直接执行大部分软件开发工作,但你需要使用命令行来运行某些程序,或将软件命令与计算机集成。
  7. Notepad++是非常宝贵的编程工具,它既可以通过视觉辅助,使编码易于追踪,又可以作为一种教育工具。
    • 虽然最终你将使用各种基于命令行的文本编辑器和程序,编写大量代码,但在刚起步时,Notepad++是一种极好的免费学习工具。
  8. 你所选的编程语言和平台很可能有开发软件,允许你从计算机中保存并测试项目。这种软件被称为“开发环境”。如果可以,开始学习编程之前,就找到并安装所选语言的开发环境。
    • 例如,如果你正在开发安卓应用程序,需要下载并安装Android Studio开发工具包。
    • Java用户通常会使用Eclipse之类的开发环境。
  9. 一旦知道了想要使用的语言,就该开始学习如何使用它了。有许多可以参与的免费和付费在线教程,并且大多数图书馆都提供编程语言相关书籍,例如《C ++ for Dummies》等,允许你免费地学习整个编程语言。
    • 网上有着丰富的免费编程资源,在注册付费课程或训练营之前,先善用这类免费资源。
  10. SourceForge或GitHub等社区上的开源项目,通常都有狂热的追随者。如果你能找到使用相同编程语言,或者与你自己项目有着相似目标的项目,可以加入社区,提出自己的建议,并观察它们的开发过程。
    • 和任何技能一样,即使只是作为观察者,参与创作过程是获取实践经验的最佳方式。
  11. 你可以做任何事情,包括在论坛中发帖和启动自己的开源项目,最重要是交流你的想法和遇到的困难,并听取他们的反馈。
    • 如果你确实启动了自己的开源项目,要学会有所取舍,并与社区在项目方向上达成一致。
  12. 正如软件开发时经常遇到的,你的主要想法或看好的项目可能已经由一个比你经验丰富的团队进行。如果是这样,可以考虑加入该项目。虽然是在团队中,但这将进一步加强你对软件项目工作方式的理解,并帮助你将项目变成现实。
    • 开源项目可能不是你的最终目标,但你可以在这过程中观察到多种不同观点是如何融合,并最终形成面向用户的产品。
  13. 随着软件开发的进展和工作的提交,你将受到批评。听取反馈将有助于你未来的发展,也将教会你宝贵的捷径和方法,在后续项目遇到类似的问题也能迎刃而解。
    • 并非所有反馈都具有建设性。如果你确实收到了粗鲁或毫无根据的反馈,选择回应的话要保持礼貌。
  14. 你经常可以在论坛、Craigslist等网站以及校园内,找到这类挑战、训练营、讲座、课程和竞赛的消息。 报名参加这样的活动或训练营,可以让你在专人指导下累积经验,并和志同道合的同伴交流。
    • 选择之一是Google的Summer of Code计划,它帮助学生熟悉开源项目和编程。 [2]
  15. 软件开发是一个随着科技进步而不断发展的领域,一定要继续学习自己首选领域中的新项目、语言、操作系统和其他相关信息。
    • 一名免费软件黑客的成功在很大程度上取决于他的好奇心。只要你不断提出问题,并寻找答案,你在软件开发方面的时间就会高效且持久。
    广告

小提示

  • 尽管Java也是一个受欢迎的起点,但以学习C或C++和Python为起点,会让你处于相对良好的优势。
  • 作为一名自由软件黑客,你最终得学习好几种计算机语言。
  • 计算机编程看起来令人生畏,但它只是用计算机所能理解的语言与计算机对话。
广告

警告

  • 不建议重启一个已经失去先前团队的废弃项目。
  • 一次坐在电脑上超过几个小时,会对你的整体健康产生长久的负面影响。记得每隔几个小时要起身伸展身体,远离屏幕,至少走动一次。
  • 不要在开源项目的讨论页面提出很基础的编程或编程工具相关问题。免费软件程序员的时间是宝贵的。在业余或新手程序员的论坛讨论这些基础问题。
  • 要有耐心。像学习任何技能一样,成为一名免费软件黑客需要时间和决心。
广告

关于本wikiHow

本页面已经被访问过6,212次。

这篇文章对你有帮助吗?

广告