Language agnostic 如果我想培养我作为软件开发人员的技能(Java、Python、C、C+;+;),我必须具备什么类型的设置/工具?

Language agnostic 如果我想培养我作为软件开发人员的技能(Java、Python、C、C+;+;),我必须具备什么类型的设置/工具?,language-agnostic,ide,Language Agnostic,Ide,我是软件开发领域的新手。我渴望有更多的途径来发展、培养和成熟我的开发、脚本编写和编程技能,尤其是在工作时间之外。我想知道什么类型的设置(硬件和/或软件)会非常有益,或者其他人认为这项工作是必要的 我希望能够为我的家庭“办公室”配备工具,使我能够作为一名开发人员不断进步和成长 就个人而言,我建议从Linux开始——几乎每种编程语言在Linux上都有很好的免费工具。然后,我将使用VMWare来创建具有各种其他平台的虚拟机,您可能希望在这些平台上测试您的软件—Windows、其他Linux发行版,可能

我是软件开发领域的新手。我渴望有更多的途径来发展、培养和成熟我的开发、脚本编写和编程技能,尤其是在工作时间之外。我想知道什么类型的设置(硬件和/或软件)会非常有益,或者其他人认为这项工作是必要的


我希望能够为我的家庭“办公室”配备工具,使我能够作为一名开发人员不断进步和成长

就个人而言,我建议从Linux开始——几乎每种编程语言在Linux上都有很好的免费工具。然后,我将使用VMWare来创建具有各种其他平台的虚拟机,您可能希望在这些平台上测试您的软件—Windows、其他Linux发行版,可能是OpenSolaris等等。根据我的经验,使用Windows虚拟机的Linux比使用Linux虚拟机的Windows工作得更好。

我建议KATE(KDE的一部分)担任编辑器。它是一个轻量级且简单的编辑器,具有语法高亮显示、多个文件和内置终端。它不像emacs或vim那样令人印象深刻,而且它对于各种项目都很好,因为终端。它有点像一个迷你IDE。

没有什么比选择一个使用您最感兴趣的技术的项目并构建它更有用的了。你可以决定学习X语言或读一本关于Y的书,除了增加你的知识外别无其他理由,但即使你有毅力坚持到底,我敢打赌,你也会学到同样多的东西,并从基于实践的学习中获得更多的满足感

至于具体的工具,唯一的答案取决于你想做什么。你最终可能会在Mac上使用微软的Visual C#Express、NetBeans IDE for Java或Xcode。所有这些都是免费的,但真正重要的是你打算用这些工具做什么,而不是你把它们安装在你的硬盘上。同样的事情也适用于硬件和操作系统,你可能想用一台好的Windows PC用C#构建一个游戏,或者使用Mac进行web开发,等等。决定你想做什么,并选择最好的工具来实现这个目标


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

编写代码:

在本文中,我们将讨论如何通过设计和编写大量的软件来更好地设计和编写软件。他的陈述更加优雅,但这是一个正确的观点。你做得越多,你就会做得越好

硬件:

任何现代PC/Mac硬件都应该足够了。如果你计划运行Windows或Linux,我会使用Mac上的PC。关于哪一个更好有很多的争论,但是使用你最喜欢的一个

在这个时代,这应该是一个没有实际意义的点,但要确保你有某种可靠的互联网连接(电缆、dsl,无论什么…)。然后您将有权访问和 ; 两者都是程序员的好资源

确保你有一个舒适的键盘和鼠标。这包括设置您的桌子和椅子,以适应您的身高和手的位置。你将在电脑前呆很长一段时间,你想要舒适

编辑器/IDE:

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

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

构建工具:

在某个时刻,你会发现自己面对面地必须创建或修复构建系统。Make对于*nix和C/C++来说是相当标准的,但是对于您自己的个人项目,请找到最适合您的。有很多可供选择:烤饼、蚂蚁、蛋糕、果酱

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

书籍:

当学习一个新的话题时,我会推荐一本关于它的好书。这通常会给你一个很好的概述你正在进入什么,并给你一个良好的基础学习。Google和Stackoverflow对于特定的问题很好,但是很难获得一个主题的总体概述

这当然是假设你有时间和金钱的奢侈。对于经济拮据的人,你经常可以在网上找到免费版本的电子书

语言:

我过去对学习哪种语言有强烈的感情,但现在我意识到你应该用你最喜欢的语言写作。但是,不要害怕尝试新的语言。我个人喜欢C++、Python和C++,没有特别的顺序。 因为你刚刚开始挑选你可以免费获得的语言,我认为这是目前大多数语言

在商业世界中,选择的语言往往以5-7年为一个周期波动。但是,您可以在所有“大”语言(C++、JAVA、C#VB.net、python、ruby、perl等)中找到工作(至少目前是这样)。如果你把一门现代语言学得很好,那么快速过渡到另一门语言通常不是问题。图书馆的学习时间往往比语言本身要长。所以选择一种你喜欢学习的语言并学习它

杂念:

正如Marc Charbonneau所说,建立源代码控制。有很多免费的源代码管理产品,所以选择一个你最喜欢的。就我个人而言,这是免费的两个人或更少的人。我听说这很好