
CLion, the new C/C++ IDE from JetBrains - broodbucket
http://www.jetbrains.com/clion/
======
gchp
I 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.

~~~
tbrock
I 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.

~~~
67726e
I seriously don't understand the "I hate Java" meme. My job and hobby
languages are all JVM, front-end notwithstanding, but I cannot get a firm
grasp on where the hate is coming from. This is about as sensible as me saying
"I hate Python" or "I hate Ruby" so I will avoid installing it on my machine.
It's just a language and a runtime.

If you don't like writing it or working in it, then sure, we all have opinions
on what makes a language good. Not wanting to install a piece of software
because it runs applications written in that language just strikes me as a bit
silly.

Maybe I just have Stockholm Syndrome after all of these years.

~~~
burstmode
Why so many people hate Java ? Let's start with the fact that it installs an
auto-update system that tries everthing it can to trick you into installing
adware (ask-bar).

~~~
MarkyC4
in addition to aardvark179's tip of installing the JDK to not get the sponsor
message, there's also a well hidden option in Java's Control Panel to prevent
them from asking you to install the sponsor:

[http://i.imgur.com/buSi4lx.png](http://i.imgur.com/buSi4lx.png)

~~~
AjithAntony
What version are you using? I don't have that option in 1.7.0_60

------
zaphar
I 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
> 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
zaphar'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.

~~~
pjmlp
Did you miss the visual part?

~~~
zarkov99
did you miss the "most" part?

~~~
pjmlp
No I did not.

A great part of an IDE worflow is the visual experience. Having some kind of
service, while forcing each client application to create their own UIs, kind
of beats the purpose.

This is why on UNIX world the developer experience feels half-baked to those
of us that could step a bit into the world as imagined by Xerox PARC.

~~~
zaphar
It's a great part of the workflow for you. For me it's constant visual
interruption of flow state.

Nothing about having a service prevents offering that visual experience.
IntelliJ/Eclipse the IDE can still exist while consuming the same backend that
my Emacs consumes. You get your visual experience that helps you achieve flow
state. I get my highly configurable/optimized editor that helps me achieve
flow state.

win/win

------
pdovy
This 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
As 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
Awesome! 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.

------
indeyets
I 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

~~~
anastasiak2512
We 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)

------
tux3
I'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.

~~~
pjmlp
Thankfully 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.

~~~
monk_the_dog
> 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
Yes, that is it! Thanks.

------
aespinoza
This 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
Given 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
I 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#.

------
zura
Interesting, they came up with ReSharper for C++. I wander how that compares
to Visual Assist.

~~~
dnesteruk
Compared to VAX, R# is aiming at 100% code fidelity. This means not skipping
on macros and the like when performing analysis.

------
squeaky-clean
This 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.

------
akavel
Ah, 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
It 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
Awesome! 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();_

------
shadowmint
Great 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%2...](http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/clang-3.2-release/)

~~~
ihnorton
Try 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)

------
beagle3
i 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.

------
michaelx386
This 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.

------
advocaat23
I 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
Sounds 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
I 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
I 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.

------
sedeki
What 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
For 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)

------
nraynaud
I'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.

------
jrk
This 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
I 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.

------
jibsen
Looks 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)

------
danieldk
This 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).

------
hit8run
Will this become the jetbrains product that also handles golang?

~~~
dnesteruk
There are no such plans, at least for the time being.

------
zura
Didn't they already have some kind of C++ IDE before? AppCode maybe - but that
was OSX only I think.

~~~
podgib
Yeah, 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
As 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.

~~~
marcosscriven
Curious why the requiring a Java runtime env for the IDE is a deal breaker?

~~~
zura
No 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
I 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
Well, I'm a heavy IDE user. On Linux I was on KDevelop (and now Qt Creator
looks nice as well), on Windows mostly MSVC. I can't imagine working
productively in vim and similar environments. But I still find Java based
software/IDEs to be significantly slower and bloatware.

------
jheriko
its 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...

------
pjmlp
Urray! It is finally here.

Looking forward to the Android Studio integration.

~~~
lmedinas
I guess the AS team was waiting for this to get real NDK support on Android
Studio.

~~~
pjmlp
Yes that is their standard answer.

When it happens and Gradle gets fixed, then I can finally ditch Eclipse for my
Android hobby development (mostly NDK based).

------
beavis2
Hopefully a JetBrains C# IDE is also on the way, then we can finally be rid of
the pig in lipstick!

------
claudiug
is not possible to create a blank or c project?

Or I'm blind :)

~~~
anastasiak2512
Not now. Create a .cpp one and then rename file to .c, for example. We are
planning more project- and file- templates in future.

------
serge2k
Excellent, 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?

