11 ms·
CLion, the new C/C++ IDE from JetBrains
- akavel 12y agoAh, so not a vaporware, it seems! Great to hear and congratulations to JetBrains. Caveat: apparently published under an "Early Access Program" as of now, where "EAP build doesn't require any license and can be used freely for 60 days.", and "Please note that the quality of EAP versions may at times be way below even usual beta standards." Now, my most important question, that I couldn't find answer for on the pages, is: does it provide "Find all references", and one that would correctly resolve references in advanced templates? (i.e., better than Eclipse CDT's)
- lemming 12y agoIt definitely provides "Find all references" - as to how well it'll work in the presence of templates, that's anyone's guess. But I'd definitely bet it's better than CDT's, or will be soon.
- akavel 12y agoAwesome! And I confirm it does provide from looking through bug reports. As to whether better, I'd be wary to any claims, but I think I might give it a try! edit: argh, yes, now I see that it's mentioned in the original blogpost; haven't read it to the end :/ this->facepalm();
- nraynaud 12y agoI'd gladly queue around the block to get mine! Too bad it's somewhere in Central Europe. More seriously, I have made my employers buy most of their products over the years, and when I have no job I pay with my own money for their products to do personal stuff.
- advocaat23 12y agoI had a look at the video and it really seams nice, but for me the cost (learning yet another tool, integrating it into your workflow, dependance on yet another big-size software project) is too high. The fancy stuff they show you are in my opinion just short-comings of C++ [activate flame-war prevention system] or not THAT important in development. E.g. - implementing getters/setters: just make the thing public, the whole private/public bullshit is too shallow - implementing methods: inheritance is normally used with caution and is just a small part of your application (e.g. a core that uses it); you will think about getting this abstraction right (your inheritance tree) and the time it needs typing the text to implement the methods is often small in comparison to the thinking over inheritance. - completion: IMHO there are different modes you are in, while coding: (0) prototyping (researching the problem, reading API documentation) and (1) implementing a robust solution; In the first case, again, the time it takes you is more constrained by the thinking you do, and in the second case you probably know the API and important functions already (from the previous step) so the auto-complete is not needed anymore. The coolest thing is the renaming which really might help you tackle one of the hardest CS things (naming things). Furthermore I would not use the Shape example as it is too far fetched from reality. It's like the "let's implement fibonacci numbers" in the FP world. And how do they manage "Makefile" only projects?
- shadowmint 12y agoSounds like you've never used a jet brains product before. Seriously, it's worth a download just to play with even if you only do it for ten minutes and then throw it away. You may be surprised at how much of a productivity boost it is (and yes, intelliJ can be slow; but it's nothing like as rubbish as visual studio).
- gchp 12y agoI use PyCharm quite a bit, and I find it great. To me though slowness is a big issue. I often switch back and forth to vim, and occasionally find the slowness of pycharm quite jarring. Had I not been using vim, perhaps I would not have noticed, but it does have quite an impact at first. Their autocomplete is second to none, however. And once that has parsed the codebase it is lightning fast. Definitely recommend giving it a try.
- philjohn 12y agoI was suffering slowness in PHPStorm, but I've disabled all of the plugins that I wasn't using (mostly things like support for frameworks I don't use) and it's now much more responsive.
- x0x0 12y agomore ram (and make sure the jvm is allowed to use it) Deep inside I wonder if the ram usage isn't wasteful, but then I use "find usages" in a medium sized python codebase and I'm just happy pycharms saved me 30+ minutes of poking through code. I found it a big productivity boost.
- anastasiak2512 12y agoMakefiles are not supported yet. But we plan to: http://youtrack.jetbrains.com/issue/CPP-274 http://youtrack.jetbrains.com/issue/CPP-274
- lmedinas 12y agoEclipse CDT project import is also planned ? What about remote debugging ?
- shadowmint 12y agoGreat news~ Only minor disappointment for me was that you can only use it on windows with gcc via msys, and you have to struggle through that install yourself. Given that there's a build of clang* out there for msys already that would have been nice to support... but I guess it's still EAP. * http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/clang-3.2-release/ http://sourceforge.net/projects/mingw-w64/files/Toolchains%2...
- mlvljr 12y agoWhich is where Qt Creator currently shines (would be interesting to hear from someone who has tried both) :)
- anastasiak2512 12y agoYou could try using Clang from MinGW. May be CMakeCache changes will be necessary in the CMake tool window. But in the whole should work ok.
- ihnorton 12y agoTry these one-click installers; the experience is much better. mingw-builds to install gcc: http://sourceforge.net/projects/mingwbuilds/ http://sourceforge.net/projects/mingwbuilds/ msys2 to install the rest of the build environment: http://msys2.github.io/ http://msys2.github.io/ (as well as a growing number of packages, managed with a port of pacman from Arch)
- zura 12y agoDidn't they already have some kind of C++ IDE before? AppCode maybe - but that was OSX only I think.
- podgib 12y agoYeah, I've been using AppCode for C++ on OS X for a while, and switched to CLion a week or so ago. CLion doesn't provide much more on OS X other than native support for CMake projects, but unlike AppCode I can use it on Linux as well.
- zura 12y agoAs I remember AppCode is a native (non-java) app, right? CLion requires Java/JDK which is a huge deal breaker for me, for things like IDE.
- podgib 12y agoAppCode is a java app as well - it's built on the IntelliJ platform which is java based.
- marcosscriven 12y agoCurious why the requiring a Java runtime env for the IDE is a deal breaker?
- zura 12y agoNo matter how time passes and how powerful desktop I use - java based software are just slow and bloat (especially IDEs). Even for some Java related work, I preferred to use JCreator (which is the only Java IDE purely written in C++ I believe).
- marcosscriven 12y agoI would say that's more down to IDE bloat, and nothing to do with Java. IDEs are often slow because they end up do huge amounts of indexing/static analysis, and/or have lots of plugins activated.
- zura 12y agoInteresting, they came up with ReSharper for C++. I wander how that compares to Visual Assist.
- dnesteruk 12y agoCompared to VAX, R# is aiming at 100% code fidelity. This means not skipping on macros and the like when performing analysis.
- michaelx386 12y agoThis is timely for me. I'm still new to C++ and have been using vim so far. I'm having trouble figuring out a way to easily refactor C++ code (e.g. renaming things across multiple files). In Python there are vim plugins which do a good job of this, but I haven't found any good plugins for C++ refactoring. It might be worth learning a new environment if it makes this easier.
- pjmlp 12y agoUrray! It is finally here. Looking forward to the Android Studio integration.
- gchp 12y agoI have to say, I'm a big fan of JetBrains products. I use PyCharm pretty much every day and love it. The only thing that I am not a big fan of though is having to install Java to run any of their IDEs. I'm not a Java developer, and have no need to install it on my system, so having to install it just to use my IDE is a bit of a pain. Small price to pay I guess for an otherwise great product. Congrats to the team on another great-looking IDE.
- chii 12y agoi dont think you need to install java to run the ide - it comes with a compatible version of the Java Runtime. You need to install java if you want to work on java projects.
- masklinn 12y agoDepends on the platform. "What do I need to start with CLion?" lists "Installed Java is required, Apple JDK 1.6.0_65+ is recommended" for OSX and "Oracle JDK/OpenJDK 1.7.0_51 is required" for Linux. Only Windows bundles its own JVM, same as other non-IJ IDEs.
- gchp 12y agoYep, I had to install OpenJDK. Haven't tried installing on anything other than Linux, though.
- tbrock 12y agoI dislike dealing with the JVM as much as all the non-java programmers but this is trivial on Mac OS X + Linux and is what allows JetBrains to launch on virtually every platform from day 1. On OSX the JRE installs on demand and requires very little from the user other than clicking OK and a password. On Linux package managers are there for you. In practice, I'd rather not have Java if I don't need it but it's fairly painless to get setup for this sort of thing. Sidenote: JetBrains makes a great IDE, I always hear python programmers praising pycharm and java programmers praising intellij.
- claudiug 12y agois not possible to create a blank or c project? Or I'm blind :)
- anastasiak2512 12y agoNot now. Create a .cpp one and then rename file to .c, for example. We are planning more project- and file- templates in future.
- deleted 12y ago[deleted]
- hit8run 12y agoWill this become the jetbrains product that also handles golang?
- dnesteruk 12y agoThere are no such plans, at least for the time being.
- deleted 12y ago[deleted]
- hackerboos 12y agoGive it a chance. Jetbrains products are nowhere near as slow as Eclipse.
- alok-g 12y agoSomething does not match my experience. IntelliJ IDEA is significantly slower than Eclipse. There was a blog explaining how to increase memory allocated to it to make it faster, but IDEA crashed when I did this (I have 8 GB RAM). I have thereby had IDEA Ultimate stay unused on my machine for the last two years or so.
- sgdread 12y agoRunning IntelliJ 14EAP. Runs like a charm. Edit: used Eclipse for 6 years, but forced to switch from Eclipse because project grown to a degree that Eclipse can't open it properly (lot of maven cross-dependencies). Another thing: Eclipse 4.x really dropped quality bar - performance is terrible, unstable (compared to 3.8.x).
- justafucker 12y agoWe pay attention to any performance related problem found by our users and try to fix them as soon as possible. If you ever face this experience again I strongly recommend you to report it immediately so we can reproduce it and provide a fix for you. Please use this instruction on how to report such problems: https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems https://intellij-support.jetbrains.com/entries/29983118-Repo...
- tux3 12y agoI'm honestly not sure what it does that QtCreator doesn't (for free!). Especially since I'm not particularly fond of CMake. Congrats, thought. C/C++ could use more powerful and cross platform IDEs.
- bebna 12y agoHow is the support of C only in QtCreator? I always read C++ on the project page.
- pjmlp 12y agoThankfully thanks to native code resurgence and also Clang's work, it is changing. IBM had a version of Visual Age for C++ that tried to offer Smalltalk like developer experience, but it used lots of memory back then, and it failed to get enough customers. There was also another company selling a similar product, that used to sell Lisp Machine software, but I don't recall the name any longer. C++ Builder is also quite good, but thanks to Borland/Inprise/Embarcadero mismanagement gets ignored outside big enterprise projects. Currently QtCreator refactoring seems to be quite limited still.
- zura 12y agoI developed a significant project in C++ Builder more than a decade ago and it was a really smooth experience.
- monk_the_dog 12y ago> There was also another company selling a similar product, that used to sell Lisp Machine software, but I don't recall the name any longer. Are you thinking of Lucid and their "Energize" environment? If you're interested, Richard Gabriel (founder of Lucid) published a set of essays about the failure of Lucid. You can get them here (linked from the author's site): http://dreamsongs.com/Files/PatternsOfSoftware.pdf http://dreamsongs.com/Files/PatternsOfSoftware.pdf The section on Lucid is called "Into the Ground".
- pjmlp 12y ago
- indeyets 12y agoI wonder why they took GDB instead of LLDB, which was designed specifically to be nicely integratable with IDEs. other than that, CMake is ok for a start, but some kind of support for good-old makefiles will still be needed. most of the projects won't be bothered to switch to CMake just to be compatible with IDE
- rpc_was_taken 12y agoMaybe just a question of time. AppCode (the Objective-C version) runs LLDB.
- anastasiak2512 12y agoWe are planing LLDB integration: http://youtrack.jetbrains.com/issue/CPP-359 http://youtrack.jetbrains.com/issue/CPP-359 As for the other build-systems: http://youtrack.jetbrains.com/issue/CPP-274 http://youtrack.jetbrains.com/issue/CPP-274
- danieldk 12y agoThis is really great! One of the interesting things to see is how well it will work with templates. At any rate, given how happy I am with IntelliJ, I'll definitely buy it (if it won't be part of IntelliJ Ultimate).
- zaphar 12y agoI don't want an IDE. I want an IDE service. Something like GoCode for Go or Omnisharp for C#. IDE's miss the point. What a programmer edits code in becomes more and more personalized as time goes on. An IDE can never hope reach the level of customization we crave. But a service that our editor of choice can consume? That is where the future is at. When JetBrains releases an IDE as a service then I'll be excited. I do admit that of all the IDE's I've used IntelliJ was definitely the least annoying. But it still doesn't hold a candle to Emacs in Evil Mode for me.
- pjmlp 12y ago> IDE's miss the point. No, because IDE are more than just coding. They offer an integration of services that one usually requires in large scale projects. I want: - semantic refactoring - background compilation as I type - static analysis - integration with bug tracking software and source control - visual debugging of data structures, threads - ability to change code during debbuging sessions - navigation of binary artifacts - debugging unit tests - semantic code navigation - GUI designers - XML build tools - visual navigation of databases - UML dual way generation - ... And above all, avoid trying to make Emacs or VIM do half of these features, every time I install them.
- zarkov99 12y agozaphar's point, and I agree with him, is that most of the features you mention should be offered as services that can be used by whatever UI suits your fancy. It is a shame to have to switch to shallow editing tools to be able to benefit from all this machinery.
- squeaky-clean 12y agoThis is really exciting to me, I've been waiting for this since their update in February And I just picked up C++ again last night after a long break from it. Perfect timing! I was already missing that Alt+Enter functionality. Apparently Resharper for C++ has been in public EAP for a little while already (first time I've heard of it). I'm definitely going to try both, but does anyone know the differences? It seems like CLion is more mature that Resharper for C++? Edit: Does anyone know of a good way to convert a Visual Studio solution to cmake? The only thing I use C++ for anymore is VST plugin development, which is pretty Windows-centric, and everyone uses Visual Studio.
- sedeki 12y agoWhat project types are possible to add? I'd like to work on projects that doesn't have, say, a XCodeProj directory or CMakeLists.txt. Something like a Makefile would suffice. Is this technically impossible to do? Sorry in advance for my ignorance. (By the way, I love PyCharm).
- anastasiak2512 12y agoFor now only CMake is supported. After 1.0 release we'll consider more: http://youtrack.jetbrains.com/issue/CPP-274 http://youtrack.jetbrains.com/issue/CPP-274
- jheriko 12y agoits a shame this doesn't solve the real problem with lack of cross platform ide - which is targetting iOS or Android. the only reason i ever leave visual studio...
- pdovy 12y agoThis looks really interesting, glad to see some new development in the area of C++ IDEs. That said, it's disappointing that they have explicitly tied this into CMake. This limits it's usefulness / ease of adoption for anybody working on a larger project with some other build process. Hopefully more generic support gets added as this matures out of EAP.
- anastasiak2512 12y agoAs for the first 1.0 release, we'll go with CMake. After that we have big plans: http://youtrack.jetbrains.com/issue/CPP-274 http://youtrack.jetbrains.com/issue/CPP-274
- pdovy 12y agoAwesome! I certainly get wanting to keep the feature set more limited while you gather feedback. I look forward to trying this out at some point in the future.
- aespinoza 12y agoThis is great...I am already a subscriber for most of their product they just found a new way for me to give them more money. I would love to see them implementing a C# (Mono/.Net) IDE for Linux and Mac. Monodevelop/Xamarin Studio is ok, but I love the power and flexibility of intellij idea.
- mdaniel 12y agoGiven their investment in ReSharper, and that almost everyone who uses .NET is using VS, I would be surprised if they think it's worth their while. Having said that, I wouldn't have expected them to put out AppCode, either but maybe it's because Xcode sucks so amazingly much whereas it seems everyone sings the praises of VS.
- aespinoza 12y agoI agree, but I am also waiting to see if they are brave enough to do the same thing they did with AppCode but with C#.
- jrk 12y agoThis fails to launch with the 1.8.0_20 JRE installed on Yosemite (the only supported version, now that Apple Java 1.6 is gone). Fails with "No matching VM found." Anyone from JetBrains: how does this work with newer Java releases on OS X?
- x0x0 12y agoI had this problem with PyCharm. The solution was to edit Info.plist inside the executable pseudo-dir, and change the property inside JVMVersion to 1.8 from 1.6. This appeared to work totally fine for me w/ java 1.8 and osx 10.9.
- orbitur 12y ago> now that Apple Java 1.6 is gone It's right here: http://support.apple.com/kb/DL1572 http://support.apple.com/kb/DL1572 Installed on the latest Yosemite beta.
- beagle3 12y agoi see that JetBrains people are in this thread. Is there an "everything" license? I can justify PyCharm, and perhaps CLion; but if the (combined) price was right I'd also get IDEA. For the majority of programming languages/environments (e.g., IDEA) I suspect the community edition will be enough for me. But I would be happier if I could pay a reasonable price and get all JetBrains products in one install.
- serge2k 12y agoExcellent, I have been waiting for this since it was announced. Now I just wish there was an easy way to get it working with chromium. I can dream right?
- jibsen 12y agoLooks promising, but disappointing it only supports the (more or less abandoned) official MinGW install [1]. [1]: http://youtrack.jetbrains.com/issue/CPP-668 http://youtrack.jetbrains.com/issue/CPP-668
- beavis2 12y agoHopefully a JetBrains C# IDE is also on the way, then we can finally be rid of the pig in lipstick!