没有经验的程序员需要IDE吗?[关闭]


12

阅读这个问题让我怀疑我(作为一个绝对的初学者PHP程序员)应该坚持使用WAMP和Notepad ++还是切换到Eclipse之类的IDE。

可以理解,熟练的开发人员将从大型闪亮的IDE中受益。但是,为什么绝对的初学者应该使用IDE?在学习开发知识的基础上,收益是否超过学习IDE的额外挑战?

更新说明:

我的目标是获得一些基本的编程经验。通过选择PHP和WAMP(以及FogBugz和Kiln),我希望避免不得不浏览棘手的/混乱的OS细节并进行编译等,而只关注基本功能,例如在线用户注册表格。

十年前,我从大学获得了许多理论知识,但没有实践经验。我想通过一个类似于现实世界中可出售的Web应用程序的业余项目来对此进行补救。

有很多问题要问。我可能不得不陷入很多陷阱。这个问题只是那个难题的一部分(我的第一个!)。


取决于IDE的含义。Notepad ++可以用作基本IDE。
Oded 2012年

10
是! 没有!我不知道。选择适合自己的东西!
2012年

1
普通编辑器的情况是基准-所有程序员都具有这种经验。最重要的是所有工具-最重要的工具-因此,您应该开始学习基础知识,以了解IDE可以为您提供的帮助。

我在programmers.stacexchange.com上刮了一下屏幕。使用“依赖”或“依赖”一词似乎增加了投票的可能性,而回答以“我会...”开头或以“是”或“否”开头的短语的人往往被否决。撰写帖子的提示:对任何事情都没有明确的看法。
杰森·塞布林

Answers:


21

根据要尝试创建的程序类型,IDE可以使整个过程(尤其是构建和部署)更加容易。当您使用相对复杂的框架时,尤其如此。

另一方面,手动完成所有操作可以大大提高对幕后情况的了解。因此,对于“菜鸟”来说,“困难的方式”创建一些小程序是一个很好的练习。


16

n00b应该使用IDE吗?这取决于您作为n00b的目标。以下是一些可能的近期目标:

1)刚开始学习一些编程语言/一些编程知识(轻量级介绍)

2)成为高手,了解一切如何工作(重量级介绍)

对于1),请使用IDE。使用优质的IDE将使您的生活更加轻松。不难。安装IDE后,几乎很少会学习如何使用IDE。然后,要编译并运行程序,只需单击“运行”按钮或类似的按钮。调试也将更加容易...只需单击一些调试按钮。

对于2),请不要使用IDE(首先)。如果您想完美地理解所有内容,那么使用命令行调试器和编译器将使您对所有事情的工作方式有更深入的了解。这将更加困难,一开始可能会令人沮丧。


不使用IDE如何使您更好地了解一切工作原理?您可能会错过编译器命令行选项和调试器命令,但这两者都是您以后可以在一页解释中了解的。Makefile也没那么难。我想不出其他任何不平凡的东西。
宫阪丽

3
我并不是说白天和黑夜之间存在差异,但是我当然不会将Makefiles以及所有这些归类为新开发人员的“琐碎”。我并不是说如果从IDE开始,您将完全被遗忘。我只是说,从命令行开始可以使您更好地了解事情的工作方式。
Casey Patton 2012年

好吧,我的意思是,一旦您了解了构建程序通常涉及几个步骤和许多文件,Makefile就会变得非常琐碎-无论如何,IDE都会通过这些方法教您。
宫阪丽

3
@ ReiMiyasaka,IDE会在整个过程中教您这一点吗?我的印象是,许多编码人员从未弄清楚将代码输入IDE和生成可执行代码之间会发生什么。
Winston Ewert'1

@温斯顿是的,他们愿意。没有办法不注意到将数十个代码文件和库合并在一起的事情。了解描述交互作用的数据的确切格式是有用的,但是同样,一旦了解了确实在发生的事情,就可以在几个小时内学会它。您是否曾经尝试过在不解释链接列表的优点的情况下进行教学?一旦人们有理由需要知道链表的详细信息,链表对他们就会变得更加有意义。同样处理makefile和编译器参数等等。
宫阪丽

5

当有人尝试在一个小型业余项目中学习一种新语言时,我会说要坚持使用语法突出显示的文本编辑器。

刚开始时,您会犯错误。您会忘记某个地方的分号或将变量名拼写错误。没有和IDE,您将只需要专注于语言及其编写方式。这是有价值的学习。

大型闪亮的IDE会通过尝试捕获这些错误来节省您的时间,使您无法学习。就像其他人所说的那样,学习IDE也会给您的学习带来更多负担。想象一下,当IDE提出建议时,您会想知道为什么它提出了建议,甚至是正确的建议。这只会增加混乱。

我喜欢只使用文本编辑器来开始一种新的语言,然后,只要我有足够的信心,就可以研究任何Eclipse插件。


4

学习IDE的额外挑战

您是说IDE为您完成大部分工作的部分?

现在,我从未使用过任何PHP IDE,但是假设它们的功能与其他类型的IDE相似,它们可以为您节省大量的工作。与IDE 使您不必自己做的功能相比,学习IDE所涉及的工作将是微不足道的。诸如代码完成和语法高亮之类的东西是非常有用的工具,并且是完全不可替代的。

每个专业编程人员都可以借助IDE等工具来完成此操作,这是有充分理由的。


2
我专业地使用PHP,并且不使用IDE,而是使用Vim!
加里·威洛比

1
@Gary VIM是一个IDE。
2012年

2
不,是编辑。IDE的定义:en.wikipedia.org/wiki/Integrated_development_environment Vim不是那样。
加里·威洛比

1
我很确定Vim带有代码完成之类的东西,或者可以添加到代码完成中去,这几乎使它成为一个IDE。
DeadMG 2012年

3
VIM和IDE之间有很大的区别。VIM不会像IDE一样隐藏正在发生的事情的细节。VIM提供了IDE的许多好处。但是将VIM称为IDE是不正确的。
温斯顿·埃韦特2012年

4

我认为没有经验的PHP开发人员使用IDE可以提高工作效率。

问题应该是,经验丰富的 PHP开发人员是否需要IDE?


2
那实际上是我认为误读标题后的意思……
bunglestink 2012年

4

根据经验,我选择这样:

  • 如果它是一个没有太多文件的小型应用程序,请坚持使用命令行。
  • 如果它是一个大型应用程序,包含许多文件,请使用IDE,因为您将不断在文件之间切换,并且可以从快速浏览和概述功能(尤其是面向对象的语言)中受益。

学会在适当的时候使用两者。从命令行开始。


3

无论技能水平如何,都有几件事可以帮助任何语言的程序员:

  1. 语法高亮加花括号匹配

  2. 键入时进行语法检查(非常方便,可避免许多错误都来自单个被遗忘;或不匹配的花括号)

  3. 方便的文档浏览(但是,它不需要在IDE本身中),

    • 任何语言的主要库都有在线文档,您可以在浏览器中访问它们,
    • 但是内部文档(来自您正在处理的项目)将不存在,除非您明确提供该文档
  4. 自动格式化为一种真正的花括号样式并正确设置间距(因此,您花费更少的时间来执行这些规则)(同样,可以使用外部工具来完成)

IDE /编辑器中仅需要1和2


3

我一直使用IDE(Eclipse),即使是初学者也推荐使用它。如果您刚开始,主要优点是:

  • 对错误代码的即时反馈(例如,代码中的语法错误)
  • 负责使用标准约定设置项目,因此您不必担心配置/操作系统细节等。
  • 经常可以生成示例代码,您可以在该代码的基础上学习
  • 避免您必须记住一整套奥术命令行选项和调用,因此您可以专注于代码。

但是,尽管我认为您应该在一般情况下使用IDE,但我认为值得在命令行中至少一次或两次手动执行代码。这是为了让您了解引擎盖下正在发生的事情。如果以后需要调试问题,这种理解将为您提供帮助。


1

另一个尚未提出的问题:经验丰富的 PHP程序员是否需要IDE?

IDE可以帮助您自动化构建过程-但是使用PHP,没有构建过程。语法突出显示是一个非常不错的功能,但是您不需要完整的IDE,许多轻量级文本编辑器都提供突出显示功能。

我在NetBeans中完成PHP工作,但这仅仅是因为我已经习惯了NetBeans。我敢打赌,在任何数量的文本编辑器中我都可以做到。


1

如果您合理地期望自己主要是在生命周期或地狱期间编写代码,即使并非如此-您应该获得一个可扩展的编辑器/ IDE并开始学习它。如果您负担不起任何费用,请使用Notepad ++或类似工具-可以让您开始终生的工作,即确定“我如何喜欢我的热键”并学习传统的键。

我称它们为工具的IDE(Visual Studio,Eclipse,What-have-you)会不断发展和演变,当您只是想脱口而出代码或按摩时,它们往往变得过于笨重且无响应,无法使用/以某些方式对其进行重构。

这样,您就拥有了一个“家庭”编辑器,一个终生陪伴您的人,您所爱的比您的GF更重要。

您将了解到同时利用您的Tooling IDE和Home IDE来进行某些事情的工作将是非常自然和高效的,同时利用了两者的优点。

我的Home IDE是SlickEdit,在过去的10多年中我一直使用和扩展它,因此我为此编写了120多个Macro模块,并且有1000多个热键。

我还记得他们吗?不,在任何给定时间可能大约有一半,可能是60%,但其他时间是专门任务,我最终按需查找。

请记住,生命是短暂的,而且如果您在任何大型项目上进行数学计算,您都会看到,即使善良的外星人以心灵感应的方式将完美的代码提示在您的脑海中,让您每天输入8个小时,这仍然需要MONTHS来编写一些大的东西(没有智能编辑器,宏,模板等)。

这就是为什么。长期计划,每隔一段时间就为未来铺平道路。

实际上,很多时候。即使现在花费您。


1

我只能分享我自己的经验,以及对它如何影响开发人员的一些见解。

首先,我要声明自己喜欢在两种环境中工作。我是否在GCC或QtCreator / Visual Studio中使用Vim和makefile以及它们各自的环境和编译器,这完全取决于项目本身和应用程序的规模。

为了学习,我偶尔会使用Vim只是因为我讨厌不了解事物的工作方式,只是不想通过无知去写作。当我第一次学习编码时,我是通过C#和Visual Studio来完成的。这教会了我基础知识。不过过了一会儿,我决定自己动手学习如何使用Makefile和一个不错的Text Editor。

宫阪丽在评论中说,任何人都可以在几个小时之内学会如何使用Makefile,而无非是页面的信息。我完全不同意这一点,特别是对于新来的人。这可能需要几天的时间(至少在我看来是这样)。另外值得注意的是,关于Makefile的大多数文档都跨越数百页,尽管您可以通过单个页面获得很好的介绍,但真正了解如何使用它们需要花费更多的时间和阅读时间。

在我看来,如果您有足够的野心并且刚刚开始学习,那就发行一个Linux发行版(无论哪个发行版具有良好的软件包管理器并且相对稳定,都无关紧要-我建议使用Linux Mint甚至Debian。本身,然后学习C。从文本编辑器开始(语法高亮,自动缩进和行号支持是必须的-其他所有内容纯属首选项),只需学习如何通过CLI调用编译器即可。一旦你已经得到了你在哪里学习过去的点如何使用每个项目只有一个源文件代码是当你开始学习如何编写Makefile。同样值得一提的是Valgrind(如果您使用C / C ++编写,我不确定它是否支持其他编程语言)。在这种环境中进行几个月的编码之后,当您从事较大的项目时,学习一个IDE(最好是FL / OSS),您应该会做得很好。

我之所以建议这样做,是因为使用IDE会严重限制程序员的学习能力。自动补全和项目/构建管理非常好,但是,如果您不了解其在幕后的工作方式,则会在调试和/或弄清楚为什么您的应用程序不起作用方面受到严重限制。可以正常运行,尤其是仅由于您或IDE本身指定的构建或编译器设置不正确时。

干杯。


-1

使用IDE将使生活更加轻松。PHP特别具有许多不一致的功能,IDE中的自动完成功能可以帮助很多。此外,在您的IDE中安装调试器确实是无价之宝...

在文本编辑器中使用原始文件的简单性有很多好处,但是如果您想了解生成真实Web应用程序的方式,那么学习使用IDE的功能将为您提供巨大的帮助。长跑。


-1

在我的计算机科学课程中,我们并不是从IDE入手的。这是我们在了解自己正在做的事情之后所做的事情。

对于初学者来说,IDE往往过于抽象,最终导致受过教育的傻瓜。开始时,至关重要的是您要有一个很好的理解,否则您将最终仅在IDE中思考,而没有IDE就无法弄清基础知识。您还将仅限于IDE可以执行的操作。一些IDE完全是恶意的,因为它们具有这样的抽象并拥有自己的范例,这实际上使人们变得笨拙地使用它。ASP.NET的示例Web表单。

引导自己需要说些什么。


-4

这是我的看法:

  1. 初学者是唯一需要IDE的人。这是因为调试-初学者仍然可能在理解程序执行方式时遇到问题,单步执行代码可以帮助实现这一点。
  2. Mediogre程序员可以加快其编程过程,因为IDE提供的功能使您可以更轻松地在大型源代码存储库中导航,并找到每个符号在源代码中的位置。他们不再需要思想,但有时会使生活更轻松。
  3. 高级程序员不需要IDE。他们已经做了足够长的时间,以至于IDE的用户界面对他们来说太慢了-按下一个键并等待响应就花费了很长时间-为了不浪费时间,需要即时响应。浏览源代码不是主要的优先事项,因为他们可以记住每段代码的位置-他们在修改任何内容之前确实阅读了整个代码。

1
如果可以的话,我将投反对票。在进行大型项目时,将所有事情都掌握在头脑中是不可行的。您不一定需要使用ide,但是必须使用一些工具。
Bwmat

@Bwmat,您现在可以投票了
Pratik
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.