How is eclipse ide seen in the academic world? - eclipse

I'm just curious if anybody has an idea of how wide-spread the use of eclipse is in universities/faculties around the world.
The reason for which i'm asking this question is that i'm under the impression that netbeans is BY FAR more used in the academic world than eclipse, yet i hear so many great things about eclipse. I would have thought that eclipse should have the upper hand in universities since it also supports swt in addition to swing. And at first-glance OO programming seems to have a greater support in eclipse than in netbeans.
Also it defines concepts like extension points for which i can't find equivalents in netbeans.Overall it seems more oriented towards developing "loosely-coupled" components. Then again my experience with eclipse is close to null so it may be that i am mistaking and it really isn't that good.

I am a PhD student in Budapest University of Technology and Economics. During the years of my BSc and MSC education I took several courses where we could use different IDES, such as Eclipse, Netbeans, Visual Studio or even Emacs, and there was no single IDE put forward as the future.
However, the Eclipse platform as a good plug-in based modeling and programming environment is quite interesting in academic research: the well-known Mylyn project was started during PhD, half of the Eclipse Modeling projects are more or less research projects, and I am really sure that there are many more research projects based on Eclipse. And this might mean, that there is interest in knowing Eclipse more deeply.
About the popularity and SWT support - I don't think that matters, but what the lecturers have actual experience in. And I think, that is the most important thing.

From my experience graduating with a PhD in CS from the University of British Columbia, I can say that Eclipse is the only IDE that is really used in undergrad classes. Some of the more systemsy classes will use Emacs, but most will use Eclipse. In the 4th year Software engineering course, all students are expected to create their own Eclipse plugin.
Perhaps, the bias towards Eclipse comes from the fact that the grad school does get significant funding from IBM and the Eclipse Foundation. Many grad students implement their thesis ideas as plugins for Eclipse (I was no exception). But, more than just money, Eclipse is a very lively open-source community, it is extremely modular, and the funding the grad students get tends to be with little strings attached.
On top of that, when going to Software engineering-oriented conferences (such as OOPSLA or ICSE), you'll find that the vast majority of papers that provide IDE integration will do so with Eclipse (Visual Studio is a distant second, and I can't think of a single NetBeans-based research paper off the top of my head).
All of these things seem to show that Eclipse is a popular playground for academic research. And this shows why it is also popular with undergrads. Undergrads like using Eclipse because it is seen as an essential job skill, whereas NetBeans is not considered this way from what I can see.
(Disclaimer- after using Eclipse to complete my PhD, I am now project lead on an Eclipse project, and contribute to several others.)

I can only offer my own experience:
I'm taking the Computer Science MSc at Imperial College, London. The only "IDE" we were taught was Emacs. There's a strong emphasis on learning the language essentials and then it's left up to the student to choose which IDE to go for. (We were briefly introduced to Eclipse in the 2-day "Intro to Java Course" and I think it was used in the concurrency course too, although I didn't take concurrency.)
That said, I've been using Eclipse for most of my projects and many of my course mates and many of my tutors use Eclipse but a fair few use Netbeans as well. I wouldn't want to guess which is the most used. Both Eclipse and Netbeans are both installed on the university CS department machines.

I am taking a Computer Science BSc at University of Manchester, UK. Like Jack Kelly, we weren't shown to use IDE's as we were encouraged to use vi and others editors.
We did have a single lab exercise using Eclipse and another using Netbeans.
Netbeans was useful if you were creating GUI's but overall I prefer Eclipse.
Now that IntelliJ has an open version, perhaps we will see it being used more in Academia..

NetBeans has been eclipsed by Eclipse.
Knowing Eclipse well is a marketable skill.
Well my professor swears by Eclipse - Eclipse has many books written about it. It has a huge amount of 3rd-party add-on functionality.
Sure, NetBeans is a respectable and excellent IDE. But Eclipse just has more eyes scanning it and thus is updated and fixed more often too.

I can comment that it's used in CS 61B at Berkeley (the lower division Data Structures course, taught in Java). I don't really know much else, unfortunately.

Java lecturers in TAMK Polytechnic in Finland teach with Eclipse. Thatt said, I prefer Netbeans by far, and I've found it installed in most machines there.

Related

Using IntelliJ like IntelliJ

I am a backend developer working on a cocktail of JVM based languages(mostly Java). I have been using Eclipse IDE for nearly 4years until a week ago I was mandated to use IntelliJ. I had a look at IntelliJ documentation to figure out the advantages it offers for me over Eclipse,Netbeans,STS etc but it was information overload. Currently I have changed the keymap to Eclipse. I believe IntelliJ has lot more potential which is waiting to be unearthed. What specific advantages does it offer w.r.t exposing/testing REST API, connecting to NoSQL DBs,refactoring code etc over Eclipse.
I won't be able to produce a detailed comparison matrix between IntelliJ and Eclipse but, for me, here are the most common things I miss when using eclipse on the workstation of some colleagues:
code navigation only with the keyboard
refactorings and their associated shortcuts (unlike Alt+Shift+L, Ctrl+Alt+V is actually "smart")
efficient "Find usages" (Ctrl+Alt+F7 or Alt+F7)
While debugging, real code edition with autocompletion (watched, code expressions, code fragments)
The new debugging visualization right in the editor (introduced by IntelliJ 14)
So are only the few things I use when helping colleagues. I'm not even talking about smart autocompletion, property files,
I admit that since I switched over to IntelliJ (~5 years ago) I never dove again into Eclipse. I'm sure they've improved a lot since but, from what I see on a daily basis with some coworkers, I'd rather stop programming than using Eclipse =D
Give it a real and serious try. There is a small time needed to got used to it but once you learn the key mapping and most of its productivity features, I'm almost certain you won't regret it. So far, I know nobody who has.

Eclipse 4 RCP (aka E4) documentation

Is there at least anything other than Vogella's tutorials and his book, which is completely based on those tuts? Examples from his repo are often either incomplete/unfinished/won't run and those examples even don't match the book actually..
I'd like to find at least some javadoc for this, because any step to a side and I'm completely lost on how to accomplish different tasks and what functionality is available.
Lars Vogel's Tutorials are the most complete and up-to-date documentation on Eclipse 4 development. Second to this is asking questions in Eclipse 4 Community Forum. Last option is to google for specific technical problems, which will in most cases lead you to blog posts from the same people that are active on the forums. (Mainly single supporters like Lars, some Eclipse devs and the guys from www.eclipsesource.com)
I discourage using the wiki, since much of the information may be outdated and may be more confusing than an actual help. Documentation for JFace and SWT can be reused from Eclipse 3.x since there are few to none changes in Eclipse E4.
E4 is alive and many of its components are now encapsulated in the standard Eclipse Platform. So most of Eclipse 3 docs and books are still relevant, as well as the Eclipse 4 ones.
If you want to understand the theory, you should start searching Eclipse conference slides explaining the Eclipse Platform and plug-ins. Trust me, it might sound old-style, but most of the times I find an EclipseCon Powerpoint or PDF, it is a great presentation, concentrating in 30 minutes the great work of some of the best Eclipse developers. If I had to re-start learning Eclipse, I would start again from some EclipseCon slides talking about Eclipse Plugins and Eclipse E4 Model.
For Eclipse4 or E4, we mean the Eclipse4 Model, which is now part of the Eclipse Platform. The Eclipse IDE itself supports both 3.x and Eclipse4 programming.
If you want to start Eclipse4, you should take a good book or a tutorial and follow it step by step. As an example you have these books:
Eclipse RCP (Rich Client Platform) 2nd edition
Contributing to the Eclipse IDE Project (free ebook)
Eclipse 4 Plug-in Development by Example: Beginner's Guide
Instant Eclipse 4 RCP Development How-to
However, there are a lot of sources of information, as many books, web tutorials and blogs. You can find most of them here:
https://wiki.eclipse.org/Eclipse_Articles,_Tutorials,_Demos,_Books,_and_More
https://wiki.eclipse.org/Eclipse4/Tutorials
http://planeteclipse.org/planet/
In my personal list of who to follow, I could include: Vogella RCP, EclipseSource, Tom Schindl, OpCoach, RCPVision, Kai Toedter, AllBlue, Wim Yongman, and all the E4 Contributors who are writing articles. But it is unfair not to mention all of them.
If you're not satisfied by docs and tutorials, please file a bug to the Eclipse Platform; mention "missing documents to use E4" and specify what you need. The Platform UI team will take care of this, either by linking the existing documentation to the above wiki page or by creating the missing docs.
Note: Several of the developers of the Eclipse E4 and Platform team contributed to the success of the technology by fixing bugs, writing code, documents, tutorials, and opening businesses based on this.
Eclipse committers are writing most of the existing documents, and they usually go to conferences. So, usually, you get their very best at the Eclipse Conferences. If you get their slides, you can get the best of some Eclipse and Java Champions, condensed in 30 slides, or in a video of 30 minutes.
You can start contributing to open source, by following tutorials, like those written by Eclipse Committers, and then you can give back by writing documents to capture your achievements ;)
But, keep in mind that a tutorial is not a book. There is a different process behind. Thankfully those great developers found the time to write code and documentation at the same time.
i was in the same position for my sparetime RCP-Project and was about to give up
since Neon the situation has been improved a lot
my approach
take the tycho-Example from vogella for headless-build
add your custom parts with 'hello world' and play around to learn
for database-access use a declarative Service using jpa
an example will be
http://relations-rcp.sourceforge.net/
for logging and error-view
https://github.com/buchen/portfolio
this project eye-opening!
in general:
search Application.e4xmi in Github by date descending and you will find excelent examples and full working products
Forget about e3 and stick to plain e4. Take Advantage of the latest api's
make a i18n plugin and use
#Inject
#Translation
Messages messages;
use ISideEffect as Binding
for me it becomes fun to code with e4
After almost 2 years there has been no decent response to this question. So i'm considering the Eclipse E4 platform efectively dead, as there are still people voting for this question and can't find an answer.
The only answer I have is - move to the NetBeans Platform. There are similar problems there, but at least people do answer in the mailing list and there are books which are quite more recent and are actually providing working source code! Enve the NetBeans website provides free tutorial on a lot of stuff for free!
I mean it's really hard to believe, but you should try NetBeans platform - it's the only choice.
For anyone who stumbles here looking for an e4 example, here's a simple basic example on using eclipse 4 rcpeclipse 4: rcp getting started
Standard Eclipse documentation for version 4.3 (Kepler) contains javadoc for the most part of e4 project:
http://help.eclipse.org/kepler/topic/org.eclipse.platform.doc.isv/reference/api/overview-summary.html?cp=2_1_0

Is it a good idea to develop an IDE for scala?

I have to choose a sizable (but not too sizable!) project for my next & last term in university. I thought maybe a nice IDE for scala is what the world might need right now :).
Would you like to see an IDE specifically made for scala? Or are you more comfortable using (the already available) plugins for popular (mainly java) IDEs & editors?
What do you think about the whole idea?
P.s. I'd make it open source & would add features one by one, so if it doesn't end in one semester, it won't be a problem from the university perspective.
Actually, not anymore. IntelliJ, Netbeans and Eclipse all have Scala-specific efforts that have more man-hours in it than you could possible start to begin putting in at a last term. And there's two very interesting efforts that were results of projects like that, both of which were made to contribute to any IDE effort: ENSIME and Scala Refactoring.
And, beyond these efforts, most programming editors, such as jEdit or TextMate, also have some Scala support to one degree or another.
So, really, contributing to one of these projects might be a good idea, but making a Scala IDE is not.
For his Masters thesis, Mirko Stocker contributed the refactoring functionality to the Eclipse Scala plugin, see:
http://misto.ch/scala-refactoring-talk-at-scala-days-2010/
Instead of creating an IDE from scratch, why not contribute a major piece of functionality to the Eclipse plugin, all contributions are welcome. For ideas, see tickets.
Or instead of reinventing the wheel.. you can contribute..
http://wiki.netbeans.org/Scala
But I am not sure if it will be somehow enough for your university work. At the same time, as you see, those plug-ins still require a lot of work.
While writing your own IDE you will just trying to solve problems that were already solved and tested. Besides, even if - what kind of IDE is that, which allows you to do
Scala (even if its great) only. So just for simple xml edit of ant file or whatever you will need another tool.
I think Brian Clapper already summed it up nicely.
I'd suggest something like CheckStyle but for Scala might go down well and be reasonable to tackle as a project.
Not a Scala developer but an Eclipse plug-in would probably be a worthy senior project.
Concur. Operating systems, text editors, and IDEs...does the world really need more of them? No. But everyone wants to write one.
If you want to do something useful, as opposed to simply academic, develop an extension for an existing IDE. Eclipse, NetBeans, Komodo, etc. are all nicely extensible through plugins.

Learning Eclipse RCP and SWT/JFace

I am new to to Eclipse RCP and SWT/JFace. I intend to purchase the Second Edition of the well known Eclipse Rich Client Platform book by Jeff McAffer, Jean-Michel Lemieux, Chris Aniszczyk. I wish to know from people who have read any of the editions of the book whether the book serves as a good introduction to both the topics (RCP and SWT/JFace)? Or would I need separate reading material for SWT/JFace?
I read the first edition of the book in 2007 when I started a project with Eclipse RCP development.
It was a really useful introduction on how to build RCP applications and what concepts are used by Eclipse.
Two other books that I read later are good follow-ups when you finished that book:
Eclipse plug-ins by Eric Clayberg & Dan Rubel
Contributing to Eclipse: Principles, Patterns, and Plug-Ins by Erich Gamma & Kent Beck
Although the second one is a bit dated, the concepts explained are still the same in the heart of Eclipse.
Another thing I did to learn more Eclipse RCP/JFace/SWT was to look at the source code of two great open-source projects built on Eclipse:
RSSOwl
MP3M by Kai Tödter
MP3M is especially interesting since the author tries to keep it up to date with the changes that newer Eclipse versions bring to the platform.

Are there any user interface prototyping tools for Eclipse?

I am looking into designing new features for Eclipse-based programming tools, from the requirements/ideas perspective. To really do this quickly, I would like to sketch UI elements without having to code things -- my concern is with the concepts and ideas right now, not the possible later realization. Are there any such graphical sketching tools for Eclipse?
(on a side note, I should also note that I find Eclipse a better idea every day, in the way that you can combine partial systems from very many different sources into a single environment. It really is the future of IDEs, especially for embedded systems. It used to pretty horrible pre-Eclipse-3.0, but now it does seem to work)
WireframeSketcher is a tool that helps quickly create wireframes, mockups and prototypes for desktop, web and mobile applications. It comes both as a standalone version and as a plug-in for Eclipse IDEs. It has some distinctive features like storyboards, components, linking and vector PDF export. Among supported IDEs are are Aptana, Flash Builder, Zend Studio and Rational Application Developer.
(source: wireframesketcher.com)
Incidentally, NetBeans is known for having a really good GUI editor (Matisse), but I realize that you weren't asking about NetBeans :)
I've tried the Visual Editor Project before, but in the past it crashed my instance of Eclipse, and I haven't visited it since.
Jigloo is a new one that I'd like to try out soon.
This is really specific to Eclipse: it is the platform of choice for general IDEs today, and I am looking to sketch out extensions to it. The target programming language is more likely to be raw assembler and C than anything else -- OS, driver, system-level debug.