14 ms·
Next Generation Eclipse IDE
- MrPatan 11y agoI use cloud IDEs, more for the cloud workspace than for the IDE, I guess. Maybe I could have the same thing with VMs or containers (disclaimer: I've never even set up docker or vagrant), but I still would like to have that in the cloud where somebody else takes care of patching stuff, backing up data, etc, and I can share it with a URL if I want to, instead of with a multi-GB file. I'm too lazy to care about my infrastructure anymore, and I'm happy I can pay other people to do it for me.
- ivan_burazin 11y agoLove it! This is why we build what we do :)
- lewisl9029 11y agoSpecifying a Vagrantfile and Dockerfile is usually the first thing I do for any non-trivial project these days. I find there's tremendous value in having a fully reproducible dev environment on all of the different OSes and machines I work on, and I suspect the benefits would be even more pronounced in a team environment. The cloud IDE takes this concept even further by only ever having a single source of truth for the dev environment, but this comes at the cost of offline access and choice of editors, which is a compromise I'm not willing to make yet.
- moonchrome 11y agoI like the general idea of this. Considering how much of a resource hog modern C++ compiler is for example (I hear good things about Scala as well) it would be nice if I could use a lightweight low powered front end machine to edit code and then have the backend bother with parsing, compiling, etc. People do this already with distributed builds so why not make it baked into IDE with code analysis as well. Maybe the OS can even save memory if you run multiple instances on stuff like executables, etc. What I really don't like is how developers are pretending that HTML is the only client side technology if you go client->server route. To me architecting this as a HTML app shows 0 benefits - the install time is irrelevant - I am a developer - I know how to install applications and I do this for all my other IDEs, the time it takes me to install a thin client is irrelevant. All this "use JS/DOM as front end" does is either : compile to JS -> introduce an extra compile step, a shitty VM emulation, worries with interop and leaky abstractions use JS -> poor semantics and both are abusing a layout model made for documents into application development model that gets really inefficient at rendering. IDEs are at the top of GUI complexity - why make shit even more complicated by doing things that slow development down - if they would for example write the frontend in something like JavaFX (not having used JavaFX I'm only speculating here, but I heard good things) it would probably be equally good (if not better) and at the same time it would make development a lot simpler.
- PaulHoule 11y agoI think Eclipse was slow enough before the JS/DOM thing came a long. Back in the bad old days GNU emacs was written in LISP but it always seemed pretty peppy. Today there are a lot of editors written in modern scripting languages and/or the JS/DOM environment such as Atom and Light Table and they all seem just a little bit laggy.
- TylerJewell 11y agoThe goal wasn't to use HTML. Our goal was somewhat different. When I started Codenvy, it was after I had a pretty bad experience with developer tools. I had been offline from programming for 7+ years and lost most of my skills. When I tried to get current with maven, java, eclipse, tomcat, I was unable to get a simple program to compile. I had a simple thought - it should be possible to let anyone anywhere contribute to any project without first installing software. you should be able to click a link and then everything you need is generated for you - the workspace, the projects in that workspace, the environments that power those workspaces. Now, if you are on a desktop, you may want to wire in your existing IDE to integrate with that workspace. But if you are a product manager and just want to test some code, you don't want to install anything. So a browser experience is necessary then. Generally, we have never seen the browser experience as the replacement objective or substitute. But it is a necessary deliverable for those who do not wnat to bother with installing software first. Codenvy takes Che and is working to provide this sort of no-install workflow around a concept we call factories. You start in a private anonymous screen, click a link and everything you need to continue working is there. Really hard problem - that is what we focus on commercially. But at the core of it, we needed a portable workspace server that had a web IDE. We chose GWT for the development of the GUI because of the cross browser portability and performance optimization. It's a brutal technology but we get a lot of nice optimizations. We have started some explorations to support Vaadin for dynamic reloading of widgets and have some partners who may help us with a pure JavaScript client, too. We are embedding all of the language services within the machines that power the environments that the workspace is bound to. We use either localhost or docker depending upon your configuration. Since everything is within, the actual comms between browser and the workspace machine is limited. So you can get a pretty darn good expeirence. The file operations are localhost native, so we are able to process Java files with 50K lines at about the same speed that Eclipse or Netbeans does (minus the part of the file system being inside of the docker container).
- mathgladiator 11y agoJust briefly looking at this, I'm very excited. I'm going to start playing with it tomorrow for sure.
- mathgladiator 11y agoI was optimistic that this was going to be a good alternative to my current VNC + IntelliJ setup, but I started playing with it with a bunch of real code, and I hate to be a buzz kill... (1) the folders break all the time. And refreshing the folder list doesn't fix it. The hierarchy gets broken, and I regretfully can't screenshot it. (2) where is the junit runner? One of the reasons I think IDEs are pretty great is that I can run single junits, and I don't see this working in any capacity. (3) Why do I see menus for svn / git? What about hg? I prefer to use command line for source control, can I hide these? (4) Is the timeout for the build configurable? I have a build that takes several minutes due to a large number of tests, and it is unable to build due to a timeout (5) the auto complete seems very broken; maybe it is my project (using maven). It appears to import the dependencies just fine, but beyond that it produces a lot of errors. (6) I thought this would have the eclipse refactor support, but I do not see it.
- TylerJewell 11y agoI think you are usin the 3.x branch. We didn't expect to get HN or Scobled so early. Would you do a couple things: 1. Check out the 4.0 branch. 2. Go into assembly-sdk 3. mvn clean instal. Now run the next generation version. We are a few months away from having it fully stabilized, but many of the experiences you are seeking are in this branch. We are running the JDT underneath inside of your workspace machine, and we have refactoring, debugging, find usages, etc in there.
- mathgladiator 11y agoI am. And HN is kind of like the spanish inquisition... As much as I hate being a buzz kill, I am wishing you guys my best. This is pretty awesome, and I'm looking forward to more progress. I'll start following trunk once I get time to set it up. I'm in the camp that can't use docker since I have to mount eclipse to a sub directory of a very large repository.
- stephenr 11y agoFrom that page I'm confused. Is this an update of the "traditional" Eclipse IDE, or a new browser based IDE? What does a "workspace server" mean?
- gravypod 11y agoChe is a web based IDE from what I have heard. The github site is better organized: https://github.com/codenvy/che https://github.com/codenvy/che
- gherkin0 11y ago> a web based IDE This is exactly what I didn't want. Please tell me that this "next generation" stuff is just inaccurate hype, and that this is really just some minor Eclipse offshoot.
- alblue 11y agoIt uses the same Eclipse technology, but it isn't the next version of Eclipse. Like Orion, it is an experiment at looking at what a web-based IDE can do. The existing Eclipse IDE will continue for a long time yet - Eclipse Neon will be released in six months time with full Java 9 support, for example.
- Gibbon1 11y agoThe great thing about web based IDE's and the reason we will see more of this in the future is the opportunity for vendor lock in. Once you can control a developers tool chain you can prevent him from moving to another vendor because of all the stuff he can't take with him.
- qznc 11y agoHosting it myself would be a requirement for using a cloud IDE. Of course, there is still some lock-in, but the lock-in is the same with a desktop IDE. In general, a cloud IDE has some nice promises: Initial setup is trivial; More efficient building and testing due to resource sharing in the cloud; Live collaboration is simpler. However, so far I'm underwhelmed by everything available.
- nickysielicki 11y agoThis looks AWESOME. It's effectively going to replace eclim. I just hope the backend is thoroughly decoupled from the UI, and that appears to be the case from first glance. I can't wait to try to pair this with neovim. edit: the more I look at this the less this seems to be the focus of the project. That makes me a little sad.
- deleted 11y ago[deleted]
- TylerJewell 11y agoWe have worked hard to decouple the front end from the backend, which is powering workspaces, enviornments, and machines. The client side can interact with any server side component over REST or web sockets. is there a particular use case that you'd like some elaboration on?
- johnhenry 11y agoI wonder if anyone can comment on how this compares to cloud 9 IDE? (https://github.com/c9/core/ https://github.com/c9/core/)
- jasonszhao 11y agoI thought for a moment that it actually said "Cloud 9 IDE". Seriously, why does CHE look like a Cloud 9 + IntelliJ clone?
- alttab 11y agoBecause...
- jakejake 11y agoI've only just messed with CHE for a few minutes, and I've only read the summary of Cloud 9. But from what I can see they are conceptually the same. Eclipse CHE is simply running your own private version of the Cloud 9 platform.
- TylerJewell 11y agoDifferent goals. Che is focused on workspace portability and interoperability. As a result, there is a hard abstraction between the worksapce and the environments that power it. the workspace definition includes the definitions of the environments. This makes it possible to move a workspace that is bound to a stack of docker containers containing debugging, runtime, and compilation tools from one node to another node, and then the 2nd node can recreate the entire workspace. Then within this workspace and the machines that are powering it, to embed industry native tools like JDT into it, and then place RESTful wrappers around it so that a browser or other tool may gain access to it. The C9 goal is to build a cloud IDE and provide the best overall experience for developers. And Che was primarily a focus around workspace movement and interoperability.
- jMyles 11y agoSwitched from Eclipse (LiClipe) to PyCharm in March of this year. Can be convinced to switch back. Anybody done it yet?
- vineet 11y agoSeems like Codeenvy open sourced their IDE.
- stephen 11y agoHuh; yep, the commit to relicense it as Eclipse/EPL was 18 days ago: https://github.com/codenvy/che/commit/db5b0bc2a1e2b4f3d7a7a23210cbf34c2f15992f https://github.com/codenvy/che/commit/db5b0bc2a1e2b4f3d7a7a2...
- tuananh 11y agothey also updated the project description link
- jakejake 11y agoWhen you first launch Eclipse CHE, your browser window opens and for about 1/2 a second the browser window title says "Codeenvy Developer Environment"
- TylerJewell 11y agoHi - the contributor to eclipse che include people from SAP, IBM, Codenvy, WSO2, and Serli. We started on it about 18 months ago. It takes a long time to get through the branding and legal process. We believe that the 4.0 release in a couple months will have finally resolved the branding items and the remaining Codenvy elements will have been removed.
- bobajeff 11y agoThis looks like something that would be useful to me. As I've been wanting to have a decent C++ IDE that I can run on my server and access on any machine. I've tried to use Vim+ctags over ssh for this purpose but am not really satisfied with the results.
- jmcphers 11y agoI do this all the time. You want the Vim plugin YouCompleteMe[1]. It integrates with clang and gives you real-time C++ code completion and linting, plus a semantic jump-to-definition that outdoes ctags for most symbols (though it doesn't go outside the translation unit so ctags is still useful for finding implementations). [1] https://github.com/Valloric/YouCompleteMe https://github.com/Valloric/YouCompleteMe
- alttab 11y agoRock on - I can't imagine how a browser would ever come close.
- netheril96 11y agoA browser probably cannot do that much; but the server may.
- alttab 11y agoNot from a responsiveness / performance standpoint. No way.
- nickysielicki 11y agoIn my opinion, neocomplete / deoplete are far better than YCM if you can be bothered to configure it. My nvim init.vim is here: https://github.com/sielickin/dotfiles_nvim/blob/master/.config/nvim/init.vim https://github.com/sielickin/dotfiles_nvim/blob/master/.conf...
- 11y ago
- rspeer 11y agoI'm wondering why the "meticulous design" still looks like an explosion in a GUI widget factory. In the screenshots I'm looking at, there are dropdowns inside panels inside tabs inside more panels. There are five tab bars. There are completely unnecessary icons for "cut", "copy", and "paste". There's a "Subversion" menu and a "Git" menu at the same time. There's... a user switcher? I don't even know what that means. The actual code takes up like 40% of the screen. Is this actually what programmers want from an IDE, or just what they have come to expect?
- spacemanmatt 11y agoThat explains a lot of why I have opted for a customized shell environment over IDEs nearly every time. I learned git once on the command line a long time ago. I have a REPL (Clojure) for prototyping and testing. I like to stay in the headspace of my own direction, without distraction from GUIs that typically try to shove too much canned workflow down my throat.
- k_sze 11y ago"40% of the screen is ok because EVERYBODY should be using dual or triple 4k+ monitor setups nowadays. Anybody who doesn't have 4k+ monitors doesn't deserve the awesomeness in our shiny new IDE." - Possibly what the Eclipse devs are thinking.
- the8472 11y agoIf you have limited screen real estate almost all panels seem to be collapsible, making them open-on-hover or open-on-keypress. And things go both ways: Some of us do have multiple 30"+ monitors and appreciate UIs that manage to utilize all that space. Remember that responsive design doesn't just mean scaling down to tiny mobile devices, it also means scaling up to large screens.
- stephenr 11y agoFilling a 30" screen with crap for the sake of filling it is hardly good "utilisation".
- frik 11y agoCan someone write a comparision of Eclipse vs Eclipse NextGen, and against IntelliJ, VSCode, VS. How is the UI latency if one opens a Java file with 1 KLOC or a 2MB XML?
- alblue 11y agoThis isn't "Eclipse NextGen", it's Eclipse Che. It's an open source version of a prior project that was well received (codeenvy). Re performance I've seen demos of Eclipse Orion (another web based IDE experiment) where they had 100kloc JavaScript files and still be pretty performant.
- deleted 11y ago[deleted]
- grennis 11y agoThe hero banner literally says "Next Generation Eclipse IDE"
- martin_ 11y agoWhen did PHP get demoted from language to framework?
- stephentmcm 11y agoWell to be fair it is a pretty good framework for building shonky code. Source: Am PHP Developer.
- sbahr001 11y agoSince frameworks fill in "missing features" of the 95% php use cases. Php is better to get things up and running, especially for web. Web frameworks make programming for web really easy, which is what php is all about; they are complements. Also, you add a web framework like Laravel for example, which makes it easy link your web framework and your cron tasks together things get really blurry. PHP becomes less of a language and more of scripting a framework to do what you what.
- erikb 11y agoPHP never was a language, actually. There is no language description, only an interpreter. So I don't know if it's a framework, but a language it's not.
- spacemanmatt 11y agoIt's a scripting language in the classic sense -- limited such that you could not write a real application in it, but useful orchestrating activities delegated to it. And like all classic scripting languages it should be replaced with a real language embedded or exposed such as Clojure or Python. IMNSHO.
- erikb 11y agoNot being a language doesn't mean you can't do meaningful things with it. My car is also not a language but a very valuable tool. Just like something is a car because it has 4 wheels, a motor and an enclosed space to sit in, in the same way something becomes a programming language by having a defined grammar. That's all. No reason to think I disregarded someone's favorite tool.
- deleted 11y ago[deleted]
- ivantsoft 11y agoThis is definitely the future
- ivantsoft 11y agoThis is definitely Eclipse future
- dsz 11y agoI give a try with docker, it works. IMHO both can co-exist, on/off line. Maybe in near future we can use tablets to develop.
- stshine 11y agoThis is awesome, finally we can get a decent java develop environment in emacs.
- hphuoc25 11y agoHas anyone tried this? Is there any improvements in performance/code sense intelligence? Is is anywhere closer to Intellij IDEA?
- jakejake 11y agoI've been playing around with it for about 15 minutes so far. Eclipse is my main IDE, so I would say I'm fairly a power user for Eclipse. This is not a new version of the existing Eclipse (or Intellij). It's not a desktop app at all, it's a web server that starts and then your browser opens the EclipseCHE "web app." The IDE is merely a web interface - everything is happening on the CHE server (which would make the most sense if you install it on a separate machine altogether). As far as the IDE, it's actually kinda amazing for a web app. If the browser chrome was missing it would seem like a desktop app (except the menus are in the wrong place for OSX). The intellisense doesn't seem to be working yet as far as I can tell. Maybe this is just PHP, though? It shows valid PHP code highlighted in red as if it were an error (edit - restart seems to have fixed this). I wish so badly that one of the dark themes for Eclipse looked this good, though. I've tried for days to get a decent dark Eclipse theme going - they all suck. It seems that it may be creating a docker container for your project. You don't open local files on your machine (there is actually an 'upload' function to add a file to your project though). The files don't exist on your normal filesystem - they exist on the server, perhaps in a container, or just some internal folder structure that the server controls..? It seems to want to handle it all magically, which means I can't easily try it out on one of my existing apps. This is not really normal for my PHP workflow, but perhaps it would be perfect for those who have their app already in docker containers? I can't get an application to run at this point. I have docker installed, but it just hangs with the message "Your request is queued waiting for a node to become available..." Overall, it looks extremely interesting - especially for a team environment where everything is containerized. Just point a new team member at a URL - and the IDE and server environment is 100% set up, ready for them to start coding, debugging and running the app. There would be essentially zero setup time for working on your app.
- diminishedprime 11y agoHave you tried Solarized Dark for Eclipse? That's the one I like best when I'm working in there.
- stuaxo 11y agoHave they simplified the thing where you get about 8 levels of confirmation to do things?
- TylerJewell 11y agoYeah - make sure you work on the 4.0 branch. But the intellisense is pretty seamless. We use Eclipse JDT services and have a lot of intellij-like experiences. so the experience is fairly similar.
- roflchoppa 11y agonext generation eMacs (previous gen actually)
- melted 11y agoBecause writing an IDE in a real programming language wasn't hard enough. <facepalm/>
- thecatspaw 11y agowhats wrong with java?
- hellofunk 11y agoI think many find Java to be quite inflexible and old compared to new programming paradigms of the last decade. It's much harder to get things done in Java than in many other languages due to how restrictive it can be (i.e. the notion that all things must be an OO class, etc). It is also not an elegant language, requiring lots of verbosity and boilerplate which tend to get in the way.
- thecatspaw 11y agoWhile this may be true in your experience (and mine, but only in the Enterprise field) this doesnt make java any less of a "real language"
- hellofunk 11y agoYes, that is true. I was merely trying to explain the melodramatic sentiment of the comment you responded to.
- chrisseaton 11y agoWhat new programming paradigms have been developed in the last decade? I can't think of any.
- deleted 11y ago[deleted]
- hellofunk 11y ago
- ivan_burazin 11y agoI know a lot won't agree, but seriously Cloud IDEs can be very useful. Especially If you are a Web Developer, so if HTML, Node, PHP is you thing I would definitely recommend try them out. Of course I am biased as I am the cofounder of Codeanywhere.com which is a Cloud IDE its self. But just to make a point we actually built all of Codeanywhere inside Codeanywhere. Welcome any comments...good or bad :)
- fareesh 11y agoCan you elaborate why I would want to use a service like codeanywhere instead of usual git workflow through my terminal app? Is this aimed at people who don't use laptops, those who don't use a DVCS?
- ivan_burazin 11y agoYou still ca use GIT and your terminal inside of Codeanywhere. We actually encourage you to use them, if you connect with your GitHub or Bitbucket account, Codeanywhere will list all your repos, so you can spin up a environment with them in just a couple of seconds. Codeanywhere is an Editor just like Sublime, Atom and so on. It's just available everywhere and just how you configured an left it.
- domagoj412 11y agoBeing cloud based is this "Code Anywhere", or "Code anywhere where you have Internet access"? The latter, in my case, would be "Code in less places than you could with your laptop and standard offline dev tools."
- ivan_burazin 11y agoWhen was the last time you did any development without internet access though? I dont remeber the last time I did that.
- jasonkester 11y agoAs Yoda would say, that is why you fail. I've spent entire months traveling with a laptop through places with no internet access. I've planned entire trips around the idea. Coding from a hammock on a tropical beach with nothing more exotic than a generator running for a few hours in the evening to keep the lights on and the beers cool in the bar (and your battery topped up). Sailing in remote parts of the Caribbean, with a little wind turbine on the boat to charge your machine (and again keep the beer cold). Hell, even trying to work from a coffee shop in England with their quaint idea of "internet" and "wifi" even in 2015. Your laptop weighs three pounds. Take it someplace nicer than your living room!
- grizzles 11y agoI tried it out. My first thought is, I wish I had downloaded a binary version. It was a 21min compile on my core i7. Besides that, it looks very promising. The feature set is fairly humble, which is imo a good thing. The best thing the devs could do now (they may have already did this) is to thoroughly document the server side API. Most of the extensions I'd be interested in writing wouldn't really fit into the standard IDE paradigm, and that's what I think could be really cool about this. The ability to code an env (eg. in a seperate .html file) while I code is a very appealing prospect.
- TylerJewell 11y agoHi - I am eclipse che project lead and founder of codenvy. A couple of things: 1. If you checkout che. 2. Go into assembly-sdk 3. mvn clean install If you do this directory, you just download the binaries - will take only a couple minutes. You will want to checkout 4.0 branch, which has all of the new capabilities and design into it. We have swagger APIs that you can access for all of the RESTful stuff. It should be at http://localhost:8080/im-api-docs-ui/ http://localhost:8080/im-api-docs-ui/. I am going to verify with the engineers and get back to you if the URL has changed for Che 4.
- reitanqild 11y agoInteresting. Layout looks a lot like Netbeans, example: https://eclipse.org/che/img/che-lighttheme.png https://eclipse.org/che/img/che-lighttheme.png
- karussell 11y agoIt is really funny how a very similar idea was in 2008 the April fool from Roman Strobl / Netbeans: https://blogs.oracle.com/roumen/entry/netbeans_7_0_plans_uncovered https://blogs.oracle.com/roumen/entry/netbeans_7_0_plans_unc... Already at that time I thought - why leave such a nice idea on the street? Others will pick it up ...
- karussell 11y agoAnd isn't stuff like this extremely helpful for pair and remote programming? I like this and the self-hosted cloud IDE approach :)
- stephenr 11y agoRemote/Pair programming is a feature of several desktop IDEs.
- karussell 11y agoI knew one for Eclipse but others too? (looking for Java IDEs) https://karussell.wordpress.com/2008/06/22/real-time-editing-with-eclipse-and-netbeans/ https://karussell.wordpress.com/2008/06/22/real-time-editing...
- stephenr 11y agoKomodo IDE has it. At the text-editor level, SubEthaEdit has it, and the same library is used by Coda (and thus they are compatible) I vaguely remember there as a company providing plugins for multiple IDE's to accomplish some kind of pair programming - ah i found it: https://floobits.com https://floobits.com
- mrmondo 11y agoWould be interested to see this working with puppet and test labs...
- Nullabillity 11y agoTrying to launch the docker image seems to make my laptop require a reboot. Ubuntu 15.04, Docker 1.9.1
- meshko 11y agoMoore's law is going to stop working soon but humanity keeps piling up abstractions as if we had an infinity of computing power growth in front of us.
- deleted 11y ago[deleted]
- dschiptsov 11y agoEven more bloated?)
- cognivore 11y agoWhat, it's not written in HTML/CSS/JS?! How antiquated...
- Ciantic 11y agoI've used Eclipse for PHP/CSS/JavaScript for too many years, it is still the only Open Source IDE than can do auto-completion, outline and Go to definition, Go to reference reliably for PHP. But things have gotten to boiling point. It can't handle newer technologies, like LESS, there is no good extensions for anything relatively new. I think Atom (and my preferred VS Code) is the future of IDEs, there is a lot of people behind these working on new features and extensions for these. And having HTML rendering engine behind the IDE does make it more approachable for hacks, simple and useful ones.
- VeryVito 11y agoI always opt for open-source when available, but after having used JetBrains' PHPStorm for PHP/CSS/JS/etc, I can't even pretend Eclipse is still a viable solution. Although the community version of IntelliJ at PHPStorm's core is open-sourced, PHPStorm itself is not. Regardless, the productivity gain it provides is WELL worth the cost and inconvenience.
- luisrudge 11y agoreally? che? as in che guevara? The executioner / mass murderer?
- TylerJewell 11y agoas in Cherkasy, Ukraine, the city that originally wrote it.
- mbfg 11y agoHow does one debug an application in a web based IDE? That would seem to be a pretty stifling limitation.