如果我想建立我作为软件开发人员(Java,Python,C,C ++)的技能,那么必须使用什么类型的设置/工具?

时间:2008-11-19 21:37:17

标签: language-agnostic ide

我是软件开发领域的新手。我渴望获得更多途径,通过这些途径,我可以在开发,编写脚本和编程技能方面发展,培养和成熟,更多的是在工作时间之外。我想知道什么类型的设置(硬件和/或软件)将是非常有益的或其他人已经发现这项努力所必需的。

我希望能够为我的家庭'办公室'配备能够让我作为开发人员进步和成长的工具。

5 个答案:

答案 0 :(得分:6)

编写代码:

在这篇article Jeff Atwood讲座中,讨论如何通过设计和编写大量软件来更好地设计和编写软件。他的陈述更优雅,但这是一个有效的观点。你做得越多,就会越好。

<强>设备:

任何现代PC / Mac硬件都应该足够了。如果您计划运行Windows或Linux,我会使用PC而不是Mac。有很多吵闹声更好,但要使用你最喜欢的那个。

在这个时代,它应该是一个没有实际意义的点,但请确保您拥有某种可靠的互联网连接(有线,无线上网,无论如何......)。然后您就可以访问Googlestackoverflow;这对程序员来说都是很好的资源。

确保您拥有适合自己的键盘和鼠标。这包括设置您的桌子和椅子以适应您的身高和手的位置。你会长时间呆在电脑前,想要舒服。

<强>编辑/ IDE:

选择一个编辑器:Vim,EMACS,KATE,Eclipse, 。哪一个并不重要,但无论你选择哪一个都能很好地学习它。编辑器是您的主要工具,您希望在使用它时感觉舒适且知识渊博。您对编辑器的了解越多,创建/编辑代码的速度就越快。

在您可能正在开发的所有平台上运行编辑器会有所帮助,但这不是必需的。

构建工具:

在某些时候,您会发现自己面对面必须创建或修复构建系统。 Make是* nix和C / C ++的标准,但对于您自己的个人项目,找到最适合您的项目。有很多可供选择:Scons,Ant,Make,Jam,......

我个人使用SCons,因为它是基于python的,我喜欢python。

<强>书籍:

在学习新主题时,我建议你写一本好书。这通常可以让您对所学内容有一个很好的了解,并为您提供良好的学习基础。 Google和Stackoverflow适用于特定问题,但对主题的概述很难获得。

这当然假设您有时间和金钱。对于受到金钱限制的人,您通常可以在线找到免费版的电子书。

语言

我曾经对要学习的语言有强烈的感受,但现在我意识到你应该用你最喜欢的语言写作。但是不要害怕尝试新语言。我个人喜欢C ++,python和C#,没有特别的顺序。

因为你刚刚开始选择你可以免费获得的语言,我认为这些语言现在是大多数语言。

在商业世界中,选择的语言往往会在大约5 - 7年的周期内波动。但是,你可以找到所有“大”语言的工作(至少目前)(C ++,JAVA,C#VB.net,python,ruby,perl,...)。如果您能够很好地学习其中一种现代语言,那么快速转换到另一种语言通常不是问题。图书馆往往比语言本身需要更长的学习时间。所以选择你喜欢的语言并学习它。

其他想法:

正如Marc Charbonneau所说,建立源代码控制。有很多免费的源代码控制产品,所以选择你最喜欢的产品。我个人使用Perforce,这对两个或更少的人是免费的。我也听说过有关Subversiongit的好消息。具体的一个并不重要,但选择其中一个。

如果您想深入了解计算方法,我建议使用Sipser BookKnuth

无论您选择哪种语言,我都会花时间学习调试器。

如果您正在进行Web开发,请确保您知道如何最低限度地设置和运行Apachie(或IIS)。

如果可以的话,避免神圣的战争。他们浪费时间,除了人们固执外,你不会从中学到任何东西。一些神圣的战争主题(支架风格,编辑,endianess,“最佳”语言,“最佳”操作系统,......)。

我的个人设置:

标准PC(Windows XP专业版)

  • Visual Studio 2007(略微落后)。
  • VIM
  • 的Python
  • C / C ++
  • C#
  • 使用SCons

标准PC(FreeBSD运行无头:无GUI)

  • gnu工具链(Make,C / C ++等)
  • VIM
  • 使用SCons

答案 1 :(得分:5)

就我个人而言,我建议从Linux开始 - 几乎每种编程语言都有很好的Linux免费工具。然后我会使用VMWare制作虚拟机,其中包含您可能想要测试软件的各种其他平台 - Windows,其他Linux发行版,可能是OpenSolaris等。再次,根据我的经验,使用Windows VM的Linux比使用Linux的Windows更好VM。

答案 2 :(得分:1)

我推荐KATE(KDE的一部分)作为编辑。它是一个轻量级且简单的编辑器,具有语法高亮,多个文件和内置终端。它并不像emacs或vim那样强加,因为终端,所以它适用于各种各样的项目。它有点像迷你IDE。

答案 3 :(得分:1)

除了选择使用您最感兴趣的技术并构建它的项目之外,没有什么比这更有帮助了。你可以决定学习X语言或者读Y上的书,除了增加你的知识外没有别的理由,但即使你有意志力一直贯彻我愿意打赌你也会学习同样的,并且通过围绕实际的事情学习获得更多的满足感。

就具体工具而言,唯一的答案取决于你想做什么。您最终可能会使用Microsoft的Visual C#Express,Java的NetBeans IDE或Mac上的Xcode。所有这些都是免费的,但它确实是你打算用重要的工具做的,而不是你把它们安装在你的硬盘上。对于硬件和操作系统也是如此,您可能希望拥有一台用于在C#中构建游戏的良好Windows PC,或者使用Mac进行Web开发等。确定您想要做什么,并选择允许的最佳工具你实现了这个目标。

与一切完全无关的一件事是某种版本控制;无论您使用什么项目或技术,这都是一个好主意。 Git和Subversion是两种流行的跨平台选择。

答案 4 :(得分:1)

快速连接(用于下载linux)和safari.oreilly.com帐户!