Jump to content

Recommended Posts

Hello guys, I've recently came across different points of view concerning IDEs: there are people who find that they are bad or at least unnecessary, and there are people who find that they are good or even indispensable. The only two arguments I found favorable to IDEs say that IDEs help people code faster and, in some cases, they are indispensable tools because you can't properly program without it in some languages, like Java. But then I found some people arguing that if a language needs an IDE to be used this is a sign that this language is a bad programming language in the first place. According to these people, a good programming language shouldn't require an IDE to be used efficiently. People complain that IDEs are bloatwares, resource consuming, and they get worse in every release. When working with projects, IDEs tend to add a bunch of useless information, hidden files and metadata. IDEs has their own work flow and particular ways of doing things, there is no space for creativity and over time you become passively tied to what these softwares offer you. I found a lot of people saying that they prefer to stick with lightweight and versatile text editors, like VIM, EMACS, Sublime etc, and the basic tool chain, so they know exactly what they are doing, they have more control over what's happening and there is more flexibility the way things can be done. VIM and EMACS are not considered IDEs in a pejorative way, although they can have IDE features, because they don't have the bad qualities of monolithic bloatwares like Eclipse and Visual Studio, and they don't force you to develop bad habits, hence they are primarily considered lightweight text editors. Here are some articles I've been reading recently:

 




 

What's your opinion about that? What do you thing about the use of IDEs?

Edited by renatov

Like everything else, IDEs come with their own pros and cons.  I personally like IDEs because they integrate and automate a lot of things that make my life easier, like debugging and using git.

 

I think the only way to make an informed decision is to try some out and see if you like them.  Most are free, or come with a free trial.

For PHP I've only been using an IDE (PHPStorm) for a few months now, prior to that I used just a simple text editor for years. For C I've been using MS's visual c++ ide for quite a while and only use a simple text editor when doing some fixes/testing on linux.

 

In general I believe IDE's are a good tool and help a lot with developing things better and faster. One of the only real down-sides I've seen is that for people who begin with an IDE they end up never learning the language, they just learn the IDE. I've known people who can't code at all without their favorite IDE. I've even been slightly guilty of this with VB.NET, though that was a language I never really cared to learn I've just had to do a few minor fixes/enhancements in the past for projects.

 

As far as the opinion that a language needs an IDE to even be used, I don't really agree with that. Thus far I've never encountered a language that I feel requires an IDE. Some languages are certainly easier with an IDE but not because of the language itself but rather the development process. For instance C and Java require compilation before running, so having an IDE that integrates that and lets you just hit "Run" is helpful. An integrated debugger is also very helpful.

 

When you're dealing with a large project or with large libraries an IDE is certainly helpful. I've been recently learning how to use Symfony and the features of PHPStorm that allow quickly jumping around to class/method implementations, quick-view documentation, auto-generating interface stubs, etc have been invaluable for the learning process I feel.

 

So, the TL;DR of my opinion is

IDEs:

- Quicker development

- Bugs less likely due automatic validation

- Helps with learning new libraries

- Some people get dependent on them

- Can be cumbersome for small projects

 

Plain editors:

- Force people to better learn the language and development process

- Easier for small projects/one-off scripts

- Possibly slower development.

Iv'e been a vim user for years and love it, but that is indeed because I know it well.

 

There are other devs on my team that freak out when they do any work on my machine. I do the same on there machines when I have to use phpStorm. I hate it. Everything feels slow and it mostly just gets in my way.

 

Probably not so important where I work now (in a web dev environment), but one awesome thing about vim is that you learn it once and can use it everywhere. Remote machines, servers, your local terminal (I used to have amore devops focused role).

 

My vim setup has integration with git, linters for various languages, syntax highlighting, php & python debugging, plus the shell is right there.

 

You should check out the Unix as and IDE series.

I used to think it's far more convenient to have all the stuff I needed in one single window and so installed Eclipse and used it for almost a year. But then I started to think that it's troublesome to rely exclusive on my IDE and to expect that it will provide every single feature I need. A general purpose software will provide a lot of features indeed, but it will excel in none of them when compared to tools which were designed to do specific tasks. For example, I could use an IDE to do some MySQL manipulations. Eclipse has two famous plugins for Database management: SQL Explorer and Data Tools Platform. Although they can do what they are meant to do, their interface are clunky, syntax highlighting is inaccurate and their queries are terribly slow - inexplicably slow, oh my god. They will never be as good as an accurate text editor like Sublime Text + a specific MySQL administration tool like phpMyAdmin. I'm currently keen to get rid of IDEs and to start using separate lightweight tools for specific tasks. I'm still trying new software to see what makes me happier, but so far I feel better with Sublime Text + auxiliary tools than when I was with that monolithic bloatware called Eclipse.

 

@trq I tryed to use VIM, but it just didn't happen. I don't know, everything seemed so unnatural. How did you become familiar with it? Did it happened spontaneously or did you have to push yourself into using it for a while?

Edited by renatov

It took a while for me to grow into IDEs. For a while I found them clunky, slow, and overall just plain annoying. After several different ones I finally stumbled upon PHPStorm and haven't turned back since. Granted, I've done a lot of little tweaks here and there to get it setup the way I really like, but it definitely increases my productivity. 

It took a while for me to grow into IDEs. For a while I found them clunky, slow, and overall just plain annoying. After several different ones I finally stumbled upon PHPStorm and haven't turned back since. Granted, I've done a lot of little tweaks here and there to get it setup the way I really like, but it definitely increases my productivity.

Don't be fooled. His productivity merely went from 10% capacity to 20%.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.