Talk:Comparison of integrated development environments

From Wikipedia, the free encyclopedia

This article is within the scope of WikiProject Computer science, which aims to create a comprehensive computer science reference for Wikipedia. Visit the project page for more information and to join in on related discussions.
Start rated as start-Class on the assessment scale
Low rated as low-importance on the assessment scale


Contents

[edit] IDE vs. source code editor

Please only put full-fledged IDEs, rather than list text-editors that just happen to you let run command-line programs such as g++ from within the IDE.

For this reason, I removed Geany since after downloading the Windows verison and playing around with it for a while, it seems clear that it doesn't have many build/compiling features. (I don't know the features the Linux version has.) However, Geany certainly fits the criteria of a source code editor. See source code editor. If anyone wants to make a separate page for advanced/powerful source code editors, Geany and others such as TextMate would fall easily into that category.

I know the distinction is often unclear, so please respond here first if you have any issues with this. Thanks -Hyad 01:45, 21 October 2006 (UTC)

Does anyone want to comment on Geany being re-added to the list? I haven't used it myself, but since there was a previous objection to it, it would be courteous to at least state your views if you prefer to have it included. Ham Pastrami (talk) 19:55, 4 February 2008 (UTC)

A similar problem is the distinction between RAD and IDE (and to complicate it, IDE with some code generating designer strapped on). Some of these fall into the RAD category. But that would require creating a set of requirements to fall in a certain category. 88.159.74.100 16:02, 9 September 2007 (UTC)

That ultimately shouldn't concern this article -- it's either an IDE or it isn't. Whether it falls under criteria for RAD is more appropriate for an article on RAD tools. If desired, you could list RAD as a feature for comparison, but as you say that would require establishing criteria. Ham Pastrami (talk) 19:55, 4 February 2008 (UTC)

[edit] Ide and Text editors

there is some small difference between some ide and text editors specialy for Emacs and VI by the way on the linux platform some pure text editors like kate/kwrite could be added because they have an exelent syntax highlighting and you just need to type a command in a console for launching or compiling your program —Preceding unsigned comment added by 85.27.16.225 (talk) 00:29, 18 September 2007 (UTC)

The point of an integrated DE is that it eliminates as much as possible the need to do things like type in commands or install/configure separate tools. Source editors can be very good at what they do, but they're not IDEs. Another way to look at it is that you can either discuss each component individually (editor, make, compiler, gui builder, debugger) or discuss them as a whole (IDE). In fairness, though, I wonder if CDT should even qualify as an IDE, as it too is basically a source editor only. What does CDT do that a standalone source editor doesn't? Ham Pastrami (talk) 20:18, 4 February 2008 (UTC)
Question answered. Ham Pastrami (talk) 03:13, 6 February 2008 (UTC)

[edit] Cost format

The cost field is currently the messiest part of the table. It's worth noting that vendors often have big charts of their own just to compare various editions and their prices, so it may be impossible to cleanup the table and preserve all of the information. Here are some suggestions, please comment on them or propose your own.

  • Show single price if the product only has one edition or price. Otherwise use "variable" and have the reader perform further research on his own. This is ideally clean, but loses some information.
  • Reduce pricing information to a range. This eliminates the price-per-edition messiness while retaining some idea of the possible price ranges. If a company offers a free version and an enterprise edition, and intermediate versions in between, this will all be rolled into a single range of "$0 - $10,000".
  • Remove cost field entirely. This places the responsibility of doing cost research on the reader. However, you can still kind of distinguish price range by looking at the license type. For example, open source licenses usually imply cost-free software.

Ham Pastrami 23:08, 19 September 2007 (UTC)

Any comments? I am personally opting for complete removal, mainly because I can see a trend that most of these fields would be "free" anyway. I'll proceed with it if nobody raises an objection. Ham Pastrami (talk) 21:34, 31 January 2008 (UTC)

There is also Sun Studio 12 C, C++ & Fortran Compilers and Tools from SUN http://developers.sun.com/sunstudio/ It should be added into C++ and Fortran boxes Zmi007 13:00, 22 February 2008 (UTC)

[edit] Crediting the Eclipse Foundation

The Eclipse Foundation is a not-for-profit organization like the Apache Foundation. The staff employed by the foundation do not write the code for the plug-ins and frameworks that are available from eclipse.org. I don't think it's proper to credit them as being the "Developers" of the various IDEs that are built on top of Eclipse. Is there some proper way to credit the "Community"? --Remy Suen (talk) 22:29, 23 November 2007 (UTC)

A valid point, but one of semantics. You're right that, for example, the authors of CDT might not be EF employees, but at the same time, we aren't claiming that CDT is an IDE; rather, it is an extension by which Eclipse is a C/C++ IDE. This could be another good reason to remove the field entirely from this article, as discussed above. Ham Pastrami (talk) 21:41, 31 January 2008 (UTC)

I added to the Python table before thinking to look at the talk page. I listed Eclipse as the platform, in this case I believe platform can be used as synonym for framework and meaning will still be clear. I will try to watch this page and get an account soon ;-) --71.204.129.158 (talk) 10:03, 12 February 2008 (UTC)

[edit] ReportLab is not an IDE

Is there a reason why ReportLab is mentioned in this page? It's just a library to generate PDFs.

-- Jan Niehusmann, 5 December 2007 —Preceding unsigned comment added by 87.79.64.57 (talk) 12:12, 5 December 2007 (UTC)

You're right. I deleted it! Lumartineru (talk) 22:55, 17 January 2008 (UTC)

[edit] Date field

Once again, I see that most of the dates listed for Latest release have fallen behind the actual releases. So again I propose that the field be removed since it is unlikely that editors will ever be inclined to stay on top of these things for all of the entries (and if you don't stay on top for ALL of the entries, then the comparison is moot). Ham Pastrami (talk) 04:00, 3 February 2008 (UTC)

[edit] Toolchain

Shouldn't this column be added to all tables? Existence of a toolchain can be significant when choosing an IDE platform. --ShalomC (talk) 11:22, 14 February 2008 (UTC)

It should be added for languages where it is not trivial. For example, with Java, AFAIK the JDK always comes with javac, and IDEs that don't have a custom compiler likely just pass arguments to javac, maintaining transparency. The same could actually be said for C/C++ if not for the fact that a toolchain doesn't come with Windows -- it's largely trivial for *nix. Eclipse CDT for example defaults to using GNU, which ships with just about every Linux distro. A more relevant field for Java IDEs might be a native code compiler. So while it's likely that some of the other languages could use this field, you still have to judge whether it's really relevant to each language. Ham Pastrami (talk) 14:11, 14 February 2008 (UTC)
What is this "toolchain" anyway? I would think that it means which tools (compiler, linker, make, debugger, stripper etc.) are needed to create code for some specific target. So if someone asks about toolchain, I can not see how "Yes" could be the answer. Of course, a single IDE can use multiple different toolchains. For example, when creating PROMable code for embedded system, you need different toolchain than when creating a program for a PC. -- PauliKL (talk) 17:43, 5 March 2008 (UTC)
For the context of these tables, "toolchain?" means "does this IDE include sufficient functionality to transform source code into a runnable binary?" or more simply "does it have a complete toolchain?" Ham Pastrami (talk) 15:25, 6 March 2008 (UTC)
Isn't that a basic requirement for IDE? If it can not be used to build programs, it is not an IDE. Or does it mean that the compilers etc. has to be included with the IDE package? But often the same IDE can be used with multiple toolchains (different languages, different target environments), so you have to install tools separately anyway. - PauliKL (talk) 09:18, 7 March 2008 (UTC)
Well, defining what exactly IDE means is a debate for the main article, not this list, and I suspect that there won't be a whole lot of consensus other than the basic precepts that we are working off of here. What the table column means, in any case, is whether or not the IDE has out-of-the-box support for building programs. Whether the IDE can be configured to use different toolchains is not being addressed. Ham Pastrami (talk) 19:07, 7 March 2008 (UTC)

[edit] Java vs J2EE

I'm thinking we may need to prune or spinoff J2EE IDEs from the Java list. J2EE is really part of an entire server platform, which should really be compared against each other, not against general-purpose Java IDEs. Or we could do something with the fields to better indicate this, but I think that just makes it needlessly complex. There's already a list of J2EE#Certified application servers. I think it's best to leave J2EE there. Comments? Ham Pastrami (talk) 16:25, 19 February 2008 (UTC)

[edit] Restructure

At the moment this page is a "Comparison of IDEs by language" and duplicates information across the tables such as Licence, Platform, Developer and Latest stable release. I think this page would be improved with a main table that lists all the IDEs and compares which languages they support and which generic features they have (GUI builder, etc), like this:

IDE License Latest stable release Feature Language Host platform
Syntax highlighting Build chain integration GUI builder Code documentation C/C++ Pascal Fortran Java Linux Windows Mac OS X
KDevelop GPL Feb 2008 Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Sun Studio Proprietary Sep 2007  ?  ?  ?  ? Yes No Yes No Yes No No

Then there only needs to be language-specific tables if necessary. What do you think? Jwmurphy (talk) 12:39, 24 February 2008 (UTC)

There is a discussion about this in the archive. Basically, the main argument against is that most people looking for an IDE already have a particular language in mind, so combining all the languages together makes the table far less readable. Sortable tables would help, but currently the function to do this is limited; you cannot have layered column headers. The column headers (for example in the C and Java tables) are already a little jumbled because of this. A relatively easy compromise is that, if you want to catalog IDEs that support multiple languages, you can add an additional table to the article, without changing the current ones. But if your goal is to condense and shorten the article, that probably won't help. At any rate, the amount of redundancy is small, and as it stands I don't think a restructuring would improve the usability of this page. Ham Pastrami (talk) 13:01, 24 February 2008 (UTC)
Also, there are currently 10 languages on this page and that is likely to grow before it shrinks. Creating columns for these languages would end up with a lot of blanks. Ultimately it'd be trading redundant horizontal screen space for redundant vertical space. Between the two, however, vertical space is a lot easier to cope with since vertical scrolling is already expected and there's less dependence on things like whether you are viewing it with a 4:3 or widescreen monitor. Another point is the discussion above about which fields to add to particular tables; a lot of comparative features are specific to certain languages. Ham Pastrami (talk) 13:14, 24 February 2008 (UTC)
I did read the archive, but obviously not closely enough. OK, I can see the advantage of the language-specific tables for ease of use and readability, but I still think that the redundancy is considerable and prone to inconsistency and errors. I'll have a play around and get back to you.  :) Jwmurphy (talk) 13:58, 24 February 2008 (UTC)
I agree with Jwmurphy. I use both Eclipse for java and Visual studio for c# and would like to contribute to a features table about whats included and missing from both for easy comparisons. I'm not in the uncommon position of having the ide influence my choice of language, especially for new projects. The argument presented here are directly equivalent to pragmatic RDBMS design (using something like hibernate). Either you have one massive table with lots of nulls (not good for readability nor for normalization), or you have lots small tables for each language (not good for making comparisons by eye, nor for creating indexes in a rdms). The pragmatic solution is to have a fairly sized table for comparable features and then also have the smaller tables for features that are really language specific. You may also find that the big table needs to be broken by CATEGORY of language (say for strongly typed and weakly typed languages), but I would only recommend doing this later after we do the first restructuring. Willing to help in the restructure, so please get back to us and let's get this ball on the road. --Dmg46664 (talk) 07:28, 15 April 2008 (UTC)
Again, you can do this by adding a new table (or even, a new article) that exists to compare multi-language IDEs. It's not necessary to restructure the existing tables and introduce a different set of problems. There's always going to be a split over which mode is preferred, and absolute consensus is unlikely to exist either way. So feel free to just do your own thing without being destructive. Ham Pastrami (talk) 20:00, 15 April 2008 (UTC)

[edit] Basic?

How come Basic language section is missing? Basic is probably the 2nd most widely used language with IDE's (next to C/C++). Of course Visual Basic is dominating the market, but there are many other Basic versions with IDE available, too. -- PauliKL (talk) 12:30, 7 March 2008 (UTC)

[edit] Open source license types

My gut feeling is that most people probably don't care a whole lot about which specific open source license is carried by software, as most have essentially identical terms from the user's/modder's point of view. I propose condensing all the license names into two categories: Copyleft (the GNU-likes) and Permissive (the BSD-likes). This also better represents lesser-known licenses and licenses that don't use a public template. Ham Pastrami (talk) 20:06, 4 May 2008 (UTC)

[edit] .NET

How about renaming the "C#" section to '.NET"? Also doesn't Expression Blend fit in this category somewhat? - xpclient Talk 09:43, 4 June 2008 (UTC)