Linux程序员用什么工具开发程序?

我从Windows迁移过来,听说Linux程序员不使用IDE来开发程序,比如Visual Studio。 这句话是真的吗? Linux程序员使用IDE来做实际的开发吗?

谢谢。

Solutions Collecting From Web of "Linux程序员用什么工具开发程序?"

不,这是不正确的。 人们只是使用他们最喜欢的东西。 IDE的定义也有点弱。 在Linux上,许多文本编辑器功能非常强大,例如Emacs。 你也许可以称这个文本编辑器已经是一个IDE了。 虽然,为了指出一个区别,Emacs(和其他的文本编辑器)最初被认为是非常一般的,只是写了一些东西,用于开发C / C ++ /后来添加的任何方便的工具/函数。 而他们的编程语言支持主要*只包括语法高亮,而不是更多。

像Kdevelop或者Eclipse这样的应用程序最初被开发成为一个开发环境,其中大部分仍然有更多/更好的功能来开发。 我称这些IDE。

Linux上有许多不同的IDE,一些更强大,一些不那么强大,一些用于特定的编程语言,一些用于许多不同的。 取决于你想写什么语言,有些比别人好。

另外,有些人比其他人更臃肿。 这是人们使用文本编辑器的主要原因之一,因为它非常灵活,非常稳定,速度非常快。

我将列出一些IDE,我认为这些IDE是该语言特有的功能中最好的(比如代码完成和许多其他的东西)。

对于C / C ++:

  1. KDevelop的

    对于我所知道的没有更好的支持C / C ++的IDE。 我没有发现任何其他的工具,它处理C ++的方式,它真正理解STL,这是很重要的,你可以使用自动完成的STL容器和这样的东西。 它甚至可以理解宏,所以自动完成甚至可以在非常复杂的情况下使用许多宏观技巧。 我在一个〜250k loc C ++项目上工作,它已经理解了完整的代码。 (要使用扩展的C / C ++支持,你必须在项目设置中激活它,默认情况下它是被禁用的。另外,为了获得完整的STL支持,我准备好了STL头文件并手动添加到项目设置中的C ++支持不知道是否仍然需要,但是我猜这个功能仍然不能用。)

    另外,与其他许多IDE相比,KDevelop非常快速(使用C ++开发)。 它的加载速度几乎和其他任何简单的文本编辑器一样快,而且感觉像这样快。 而且这对于非常大的项目也不会改变。 我自己只是用它来编辑/编写代码,而不是管理项目的编译。 它有automake支持,但我更喜欢使用CMake。 但Kdevelop可以正常工作:当我在KDevelop中编译时,它只是开始一个make。

    最初,Kdevelop是作为KDE应用程序的开发工具而开发的,但它对于任何C / C ++项目都能正常工作。 我其实从来没有做过任何Qt / KDE项目。 另外,对Ada等其他语言的支持稍后添加,但我没有尝试过。

    我不知道任何其他更好的支持C ++的IDE。 如果我在这里错了,请评论我。 在过去的一两年里我没有再检查过很多其他的IDE。

  2. 你可能已经知道了。 最初它是为Java开发的。 后来又增加了对C / C ++的支持。

    我想注意这个IDE,因为我知道很多人使用它。 我不是真的推荐它,因为我大多做了不好的经验。

    C ++的支持是好的,但不是完美的; 有自动补全不起作用的情况。

    IDE本身的可能性和功能非常丰富。 我不知道很多其他IDE是如此之大(臃肿)。 那就是在Java中,它使它经常感觉非常慢,有时在写东西的时候会挂起。 内存使用率也非常高。

  3. Qt Creator

    最初为Qt开发,但也适用于任何其他C / C ++项目。 非常好的qmake支持。

    C ++支持很好,只有一些小问题。 而且,IDE是活泼快速的。

    毕竟,在这个IDE中我发现自己有点太有限了,KDevelop中的C ++支持还是比较好的,所以我在大多数C ++项目中一直使用KDevelop。 但是当你做一个Qt项目的时候,Qt Creator是很棒的,因为它也为Qt和其他漂亮的Qt工具提供了一些很好的GUI构建器。

  4. 克利翁

    (商业,但免费版本。)JetBrains的新人。 很有希望。

对于Java:

  1. 看到我上面的评论。

    对于Java,我认为这是Linux上最常见的IDE。 上面提到的同样的缺点也适用于这里,但我不知道任何更好的IDE,所以我继续使用Eclipse,当我在Java开发。

  2. NetBeans的

    也在Java中。 从来没有尝试过,因为它没有真正支持我的Linux发行版(我认为是因为授权问题,不记得确切了)。

    过去我看到过许多关于NetBeans-vs-Eclipse的消息。 实际上不了解目前的状况。

对于C#:

  1. MonoDevelop的

    也没有尝试过,我只听说过它是C#最好的工具之一。 只是想指出,因为你提到了Visual Studio,你可能会对C#感兴趣。

我想添加一些话到终端的用法:

除了这样一个IDE之外,与您的IDE并行使用一个终端是很常见的。 终端及其所有外壳以及所有的Unix工具和其他工具是非常强大的,你可以用一个非常简单的方法完成许多任务。 一旦你对所有的Unix工具以及如何使用它们有了一个很好的概述,它们可以为你节省很多工作。

项目中经常有任务需要一次又一次的完成。 这可能是一些简单的任务,比如如何管理源代码并将其分发给团队成员或者更复杂的任务。

例如,当你做一些服务器 – 客户端的工作,并在不同的机器上启动大概10个服务器和100个客户端时,让他们做一些事情; 然后grep一些正则表达式的输出,并收集所有这些,并进行一些性能测试超过10秒,并重复多次的进展 – 这些事情都是微不足道的,一旦你管理终端。

你会发现自己结束了几个脚本写的,这些都是为你做的。 编写这样的脚本大多是直截了当的。

这也许有点偏离主题,但我只是想要说明这一点,因为这是一个常见而有力的工作方式。 当你从开发者的Windows切换到Linux时,你应该看看你现在拥有的所有额外的可能性。 这些是我(和许多其他人)为什么喜欢在Linux / Unix上开发而不是在其他任何系统上开发的主要原因。


(*)对Emacs再说几句:Emacs可以扩展我的许多工具和插件,使它成为一个功能与IDE相同的非常丰富的系统。 例如, CEDET具有真正的语言支持,也就是说,您还具有智能词汇完成/智能感知等功能以及项目管理系统。 我自己没有尝试过,但是我会在接下来的几周内做到这一点。

即使一些有胡子的真正的男人可能会说Emacs(或vi)> Eclipse> Netbeans>,但许多用户都使用IDE 。 事实上,前面陈述的真实性并不重要,只要使用一个你有生产力的工具,理想情况下,这个工作是正确的。 这是一个快速选择列表:

  • Emacs , vi(m) :多语言,我相信他们仍然用于C / C ++开发
  • gedit :多语言,高级文本编辑器,非常适合Rails(可以模仿Textmate)
  • Geany :另一个基于GTK2工具包的文本编辑器
  • Eclipse , Netbeans , Intellij IDEA面向Java,但很好的支持C / C ++(和PHP,Groovy,Grails,Rails)
  • MonoDevelop :用于.NET开发(即支持一些语言)
  • QT Creator :用于… QT开发
  • Anjuta , KDevelop :分别用于Gnome和KDE的C / C ++ IDE
  • Code :: Blocks :跨平台的C ++ IDE

正如你所看到的,GNU / Linux并不意味着编码在80列的shell(可能通过ssh打开)。 Linux也有一些踢屁股工具。 说实话,我发现Linux是比Windows更好的开发平台:它有许多好的IDE,至少是相当的(除了.NET,我不确定MonoDevelop是否可以与Visual Studio竞争),它有更多的命令行工具,更多的脚本功能,它提供了更好的控制…换句话说,我觉得Linux比Windows更强大。

在Linux(和其他Unix系统)上运行着大量的IDE …

你可能听说的是整个Unix系统是一种开发环境。 像id-utilsvivimemacs这样的“小”程序,再加上CLI工具,使整个系统成为一种混合开发系统。 这个哲学与IDE风格有很大的不同,所以不要期望马上理解它。

我花了很多年在Windows下开发Eclipse的Java,我喜欢。 但之前和之后,我使用Unix,NetBSD和Linux进行开发。 我非常高兴用vi(1)和其他CLI工具开发C,C ++,PHP或Ruby。 我从来没有在Unix上尝试过严肃的Java开发。 这可能会让我回到IDE,部分原因是因为需要的样板量很大,部分原因是Java有相当复杂的IDE支持。 但是为了获得边际的IDE增值!Java是不值得痛苦的,值得放弃vi(1)和终端以及所有其他Unix元素的即时性,当你启动IDE时,这种消失会消失。

一旦进入IDE,外部操作系统就不再重要了。 我想,啊,这就是为什么我喜欢在Win上使用IDE,而不是在Unix上。 Unix非常灵活有趣,不需要被替换为一个环境。

我们通常直接写机器码。

玩笑。

许多Linux开发人员使用平台上可用的许多优秀的IDE之一,例如Anjuta,Eclipse,NetBeans等等。然而,在Linux上,您也可能遇到使用文本编辑器(如vi或emacs)编程的开发人员。 这是你可能听说过的。

JetBrains产品是最好的。 JetBrains公司

JetBrains产品

我在WINE上使用TextPad ,但后来我很奇怪。

我使用GNU编译器集合( GCC ), VIM和Perl 。 make实用程序也是你将会密切关注的东西。

VIM有很多插件来帮助您编辑和语言特定的功能。 GCC适用于许多不同的语言。

我使用KDE附带的KATE。 它有很好的语法突出,没有不必要的生物舒适,一个很好的片段画廊和线壳窗口。 会话/项目很容易管理和打开。

编辑区域本身就像基本代码一样,就像代码折叠,分割视图和内容一样。

我是那些有胡子的家伙之一(当然,直到我剃光头),即使是在桌面环境下,加入世界其他地方也已经有5年多了,更不用说IDE了。 我不会把KATE叫做IDE,这就是KDevelop的用途。 凯特只是一个非常好的编辑器。

我使用gVim来编写Perl,JavaScript,Java,HTML,CSS,XML等,并且上传代码,直接从Vim运行,比如在浏览器中测试HTML。

现代gVim比vim要多一点GUi。

我喜欢gVim,因为它使我能够完成键盘上的任何操作,如果您可以触摸键盘,可以节省大量时间 – 而其他人正在寻找鼠标。 – 如果你可以触摸类型, 加载其他IDE的一小部分时间。

它非常灵活,所以如果gVim没有做你想做的事情,你可以在外部(写一个小程序)或内部(写或使用一个插件有很多)

emacs提供了类似的体验。

  • 不要使用vim使用gVim! vim是为控制台工作的。 – 当你需要它时,你会很高兴你知道gVim

我经常尝试其他GUI IDE,到目前为止总是回到gVim。

gVim是X平台,因此您可以在Win32和Mac平台以及那些只有vi的非常陈旧的Unix盒子上重复使用您的技能。

注意:有一个学习曲线,你不会得到真正的“权力”,直到命令成为第二性质,你学习如何使用正则表达式。

这个链接可能有帮助…

如果你不熟悉,我建议使用vimtutor来开始。

  • 从命令行尝试vimtutor
  • 看看帮助 – :h vimtutor

我使用vim。 我已经使用了大约三年,我仍然认为自己非常业余,有很多vim可以做,学习曲线非常陡峭。

我也许应该提到,我做了很多python / django编码,而且我在场外做了很多事情,比如我的代码不在机器上,通过ssh。 我不知道这是一个多好的想法,但这正是我习惯的,因为我主要生活在一个终端,我绝对宁愿vim。

大多数已知的IDE(如Visual Studio for Linux)都是Eclipse和NetBeans 。

有一些Linux程序员使用IDE,有些则不使用IDE。 许多人使用像Emacs或Vim这样的编辑器,然后其他人使用Eclipse,NetBeans,Anjuta,KDevelop等IDE。

我主要使用gedit和大量的插件…但是当用Java编程时,我使用Eclipse。 当在C编程我使用Code :: Blocks。 但有时候我用Geany很好用。 但是,这又是一个人喜欢的东西。

这完全取决于个人喜好,我倾向于使用python,perl等文本编辑器。

但是你可以使用IDE。 Eclipse让人想起。

在Linux上也有用于.Net项目的Monodevelop 。

KDevelop , VIM (它不是GUI,但功能强大)

有些可以,但与binutils,gdb和编辑器相比,IDE可以是有限的。 大多数使用像Emacs或Vim这样的编辑器可以作为一个IDE(构建,跳转到错误,调试等)使用底层的工具。

我使用emacs,vim和netbeans。 我也使用Notepad ++。 在windows中工作时,我使用netbeans和记事本++。 所以linux对我来说意味着更多的自由,但是使用相同的基本工具。

有很多在Linux上工作的IDE,我开发使用Eclipse的Java和Python,有时我用一个更简单的文本编辑器,没有代码检查和助手。 Netbeans是另一个好的IDE。

在编写shell或远程机器上的脚本时,Vi是一个很好的编辑器,我认为它已经不再使用了,或者由少数开发人员使用。

Quanta作为代码编辑器

如果你来到linux,你必须准备使用更多的控制台和更少的IDE。

但是我认为在之前的文章中有很多IDE

大多数桌面环境都有IDE开发和工具。 例如gnome有这个: http : //library.gnome.org/devel/tools Eclipse和NetBeans是复杂的软件,需要时间去学习和配置。

开源的smalltalks(Squeak,Pharo)是跨平台的,在Linux上运行良好。 他们是基于图像,并有一个良好的IDE。

Linux开发人员使用Microsoft Visual Studio在Windows中开发可移植代码。 然后他用gcc在Linux中编译这个代码,并用任何可以工作的Linux工具(KDevelop等)修复任何错误。

说'linux程序员使用什么'有点落后。

一些使用巨大的IDE功能,其他人喜欢我使用GNU屏幕,vim和一堆shell进行编辑。

我用Python开发,而vim + python是我所需要的。

Ubuntu有一个名为“快速”的漂亮的插件包,它为您创建了一个项目,为您提供了一个很好的起点以及易于使用的工具,如GUI对话框/窗口资源和源代码编辑器。 作为一个兽医用户的视觉工作室,我一直在寻找一些易于使用的东西,日食太臃肿和codeblocks不会安装你需要的一切(额外的库等),但很快确保你有一切(所有gtk devel libs和更多的一起安装它,如果你没有他们已经)第一次的Linux程序员我强烈建议使用它,即使你不熟悉蟒蛇(我wasnt,我是C + + / C#)这并不难学习..甚至在很多情况下更简单。 点击下面的链接查看“如何在5分钟内快速创建Web浏览器”链接: http : //developer.ubuntu.com/get-started/http : //developer.ubuntu.com/get-started/

PS:我读了其他的答案,我必须说,因为有那么多程序员争论缺乏一个好的IDE for Linux,为什么不做一个人呢? 显然这是一个巨大的需求,并且有太多的跨平台的Linux的IDE,我想你知道我在正确的? (提示提示.. C ++ :))它也不必太复杂,只是简化了一些具有生命评论的骨架的制作过程和一个强大的编辑器(或嵌入一个现有的?)…我说了。

与所有功能无缝,我没有发现任何有竞争力的: 崇高的文字2