
JetBrains is working on a cross-platform C++ IDE - amatheus
http://www.jetbrains.com/objc/features/cpp.html
======
kombine
Something that people already mentioned, but still. There is great Visual
Studio for Windows and for cross-platform development there is Qt Creator. The
latter also comes with a full-fledged development framework that allows you do
GUI, threading, networking, databases: it is effectively what a standard
library should be. It also really fast and has a slick interface allowing to
do code navigation really fast. I don't have to tell you what I use for C++
development. So it will be very hard for them to compete with existing
options.

~~~
qompiler
Except for the fact that Qt is not as cross-platform as the standard C++
library. Qt also uses non-C++ features such as signals/slots which require
usage of their own Meta Object Compiler.

~~~
mpyne
Qt's moc is a preprocessor/code-generator which compiles to standard C++.

Do you also tell people that they shouldn't use
flex/lex/bison/yacc/antlr/etc.? Why are those code generators/DSLs acceptable
but the moc is not? It's not as if the Qt authors added it because they don't
understand C++, they added it because it solves a vexing problem in C++ GUI
design.

~~~
qompiler
I would have agreed with you if Qt used something like the #pragma directive.
Alas, they decided to inject keywords inside of the standard language which
breaks every C++ compiler.

~~~
mpyne
then... turn off the keywords?

Every Qt "keyword" you talk about can be disabled with a fallback to
namespaced macros.

foreach -> Q_FOREACH slots: -> Q_SLOTS

etc.

------
Watabou
I love IntelliJ for java development but I never got why I might need a big
IDE for c/C++. I just use Vim for that. I mean it does omnicompletion and code
correction with clang, has snippets, support for switching between header and
source code files.

It works pretty well for me. Even sublime text would do the job since it has
all of those features too.

What do IDEs have over Vim in terms of features that I may be missing out on?
For java, I would definitely use IntelliJ because of the debugging features
alone but I think it's overkill for something like C/C++/Python

~~~
gregschlom
What about smart refactoring? Being able to rename just about anything
(methods, classes, variables, etc...) and knowing that your IDE will do all
the right stuff.

What about instantly knowing who calls that method or uses that class or that
variable, with much more flexibility than just grepping through the code?

Those are the features I use the most in any IDE.

~~~
azov
Why does it have to be lumped into IDE? Both could be written as standalone
utilities that your favorite editor can call.

I think IDEs hurt innovation in development tools more than almost anything
else. They are like crack for your workflow - easy to get started with, but
once you're on them you're stuck. Plugging in better tools into existing IDE
is a big PIA if possible at all, and rewriting the whole IDE is a huge
undertaking for any company who wants to make your life better.

~~~
wvenable
My IDE has more plugins installed than my web browser!

Standalone utilities generally have poorer UI and require more effort to find
and run.

------
ibrahima
I wish all the best to them. Eclipse with CDT is OK but often just blows up in
my face. The last time I tried to use it I ended up switching to Emacs
completely :/. But I love IntelliJ for Java, Ruby, and Python, would love to
see them build a nice C++ IDE along those lines.

Not having used AppCode I don't know how good the support is for C++ already.
I wonder if they will be using clang/llvm for static analysis? Though I don't
know much about that area, I've noticed that all C++ IDEs that I've tried
(including MSVC++) are much poorer than Java IDEs in that aspect.

~~~
niggler
"I wonder if they will be using clang/llvm for static analysis?"

From the page:

"The IDE will be integrated with Clang Analyzer, so that more than 2000 code
inspections and error diagnostics results from Clang compiler would be shown
right in the editor. Of course, you also would be able to review them in a
bulk mode"

------
melling
Then all we'll need is a great cross-platform UI toolkit. People have been
working on them for 20 years but I not sure if anything really works well.

~~~
username111
This is the reason I don't use jetbrains products, I use linux and the Java
font rendering is absolutely awful, I've tried all the fixes and I can't find
any of them pleasing enough to use.

~~~
kunai
Why don't you try Qt Jambi or GTK+ if Swing on Linux is awful? GTK integrates
perfectly with Linux if you're using GNOME.

Just a thought.

~~~
ultimoo
I use GNOME. How would one go about switching out Swing for GTK while running
a JetBrains IDE (or another application)?

~~~
kunai
Simple. Switch to VIM. Or, just write GTK code from scratch directly in the
IDE.

It's not too hard. I currently use Swing in Java, all written from scratch -
no IDEs to be found. I've also dabbled around with simple GTK+ apps. They
aren't as easy, nor as efficient, to work with as the standard Java toolkit,
but you get used to it.

I switched back to Swing because I wanted as few dependencies as possible.

~~~
duaneb
So--I'm still missing something. Are you saying that the way to get good font
rendering in IntelliJ is to write GTK+ apps? It sounds like you misread the
OP.

~~~
kunai
Ah, I see. I'm sorry about that, but I don't think that there's a solution to
fix Swing font rendering in IntelliJ itself. Unless, of course, you dive into
the source code.

------
berkut
What's it built in? Java I'd imagine?

IntelliJ was almost perfect for Java (last used it 3 years ago), other than
the ridiculous memory usage and the constant freezing which I'm pretty sure
the JVM's GC was responsible for.

I've been using Qt Creator for C++ code for the past 3 years, and it's so much
faster and non-laggy it's lovely - even when having some serious things
missing (multiple monitor support).

~~~
pkolaczk
IntelliJ Idea does not use more than 1/30 of my _laptop_ memory with a huge
project open. Constant freezing? This must have been a bug, because I'm using
it for 2 years now, and no freezing at all, and autocomplete / navigation /
find-usages are crazy fast. It gets a little sluggish only when I switch
branches and it has to reindex hundred megabytes of jars. Well, but how often
you do it...

BTW: Comparing it to Qt creator is very unfair, because Qt creator does not
have half of the features included in IntelliJ. E.g. refactoring / inspections
/ full type-aware error highlighting (not just syntax checking).

------
thejosh
I hope that it's not in Java, because their other products for Linux have
really bad fonts.

~~~
ultimoo
True. I have somehow never liked how desktop applications written in Java turn
out. I don't know whether it is because they don't use a native windowing
toolkit or something else.

~~~
pjmlp
Usually the blame is on the developers that don't make use of what Java
offers.

There used to be a blog series explaining developers how to take advantage of
Swing to make nice UIs. The problem is that most don't care and use whatever
is the default.

------
Daegalus
This is great. It already handles pretty much every other language. Once it
gets this. And maybe C# through monogame. it will be the ultimate IDE.

Love jetbrains products. Best $200 i ever spent on Ultimate

------
dorolow
This is excellent news. PyCharm has been great to work with, along with every
other JetBrains product barring AppCode. I attempted to try to replace Xcode
with AppCore for C++ development as I was put off by some of characteristics
of Xcode and had many positive experiences with JetBrains. AppCode ended up
modifying my preexisting Xcode project that I had opened, changing several
settings that silently broke my build. I don't really recall what settings it
broke in particular, but I just reverted so it wasn't that big of a deal. It
didn't end up suiting my purposes very well as the C++ support just wasn't
that great at the time. It seemed like a decent IDE if you do ObjC work,
though.

------
nd-ebrp
Recently, JetBrains (the company), their ReSharper product, and their JVM
language Kotlin were all deleted from the English language Wikipedia.

I can't follow the deletionists' logic. I hope nothing else is going on --
like a competitor trying to remove information about them.

Kotlin's removal in particular is strange, since several other JVM languages
persists at Wikipedia, some of them much less well known than Kotlin. Still
there are: Gosu, Ceylon, Fantom, Ioke, Seph, Groovy, Boo, Nashorn, Frink,
Pizza, Pnuts, X10, Xtend, etc.

Very strange.

~~~
vorg
The JetBrains Kotlin webpage
<http://confluence.jetbrains.com/display/Kotlin/Welcome> still shows Kotlin as
active.

It's certainly better known than any of those other languages you mentioned.
In fact, the two greatest innovators on the Groovy language, James Strachan
(original creator of Groovy), and Alex Tkachman (original creator of Groovy's
static mode), were "encouraged" to move on from Groovy by its present
leadership, and are both now contributors to Kotlin.

------
niggler
I'm confused by this. If you had a particularly good IDE in a particular OS,
why wouldn't you use a VM and run that OS for the purpose of the IDE?
Especially if its on Linux.

~~~
norswap
Well, the only good C++ IDE (according to many people) is Visual Studio, which
is tuned for Microsoft-flavoured C++ (which should follow standard, but like
always, some slight difference with g++ I suppose). Also not being able to run
the code on the platform where you code is incredibly annoying.

~~~
alexkcd
I recommend checking out Qt Creator. It's cross platform, has code completion,
live syntax checking, supports regular Makefiles, C++11, and much more.

Plus, if you're looking to build a cross platform GUI app, Qt is a great
toolkit, and Qt Creator (as the name suggests) supports drag&drop UI building,
QML etc.

~~~
alok-g
Last time I tried Qt Creator, it was _very_ slow as compared to Visual Studio.
I ended up practically giving up on it entirely. Please someone tell me I am
wrong about this. I liked the interface for Qt Creator very much and would
prefer it as such.

~~~
papaf
I use Qt Creator and Visual Studio 2010 on the same medium size code base and
Qt Creator has a much faster UI.

I find that compilation in Qt Creator is possibly slower if you are on windows
(using mingw) but on Linux its around 10 times faster (through the use of
ccache and make -g4).

~~~
delian66
Probably you meant 'make -j4' ?

~~~
papaf
Yes, I did. Thanks.

------
pjmlp
This is great! Looking forward for it, there are very few mature C++ IDEs
around and this would be a nice addition, specially if it matches their
offering in other languages.

------
maligree
Huh. I'm surprised by how many comments here are of the "but we already have
XYZ" flavor.

You're right. We don't need more. Let's just stop trying to make things
better.

Wakey, wakey. JetBrains is investing time and money (or is that the same
thing, anyway?) to develop a new C++ IDE, a market (though I don't like that
word) where nothing new has sprung up in a while. That's __good__ news, what's
the matter with you? Can it harm you?

------
weitzj
I am really looking forward to this IDE.What I am missing is a good profiling
tools integration. So hopefully they have this in mind.MacOsX gives them a lot
of stuff for free with DTrace and clang, so I am excited how this will work on
Linux. (does it have DTrace?) Maybe I will be better off using this new IDE
with Solaris or FreeBSD.

------
webreac
10 years ago, I have used SNiFF+ (from windriver). This seams to have
disappeared. It was very flexible for cross-platform (MSVC and HP) development
in C++ and java. I think there are many good ideas in SNiFF+ that could be
taken.

------
ArtB
Will this be integrated with IntelliJ or available as a module/plugin?

~~~
tregoning
Wondering the same... specially since IntellJ is supposed to encompass all
other Jetbrains IDEs

~~~
nevster
I don't know the precise answer to the original question. But with regards to
AppCode it's pretty much a standalone product that has features IntelliJ
doesn't.

IntelliJ incorporates everything found in all the other IDEs like RubyMine and
PyCharm but doesn't include the additional stuff found in AppCode.

~~~
Kaali
I've heard that the reason for this is the XCode project format. The purpose
of AppCode is to be a better IDE for iOS/OSX development. But if the future
version targets cross platform development, not meaning cross platform on the
host side, but cross platform on the compiler target side; it would probably
mean that the project format support should support Makefiles and other build
systems; and hopefully that would be integrated in IntelliJ.

------
ed_blackburn
Is only me or they missing a trick by skipping C#? Or are they concerned it'll
disrupt Resharper sales? Or is there simple not a market for C# outside of
Visual Studio and MonoDevelop?

------
georgehaake
I signed up for a newsletter regarding this release yesterday. Received an
email from Jetbrains that it was a April Fools joke.

~~~
sidww2
It wasn't an April Fools joke [http://blog.jetbrains.com/objc/2013/04/c-ide-
an-april-fools-...](http://blog.jetbrains.com/objc/2013/04/c-ide-an-april-
fools-day-joke/?utm_source=rss&utm_medium=rss&utm_campaign=c-ide-an-april-
fools-day-joke)

~~~
georgehaake
Right, this is what I received.

Hi from JetBrains,

This is a short but important note about the C++ IDE we revealed yesterday:
Yes, it was an April Fools' joke, but the IDE is actually real.

Thanks for believing and subscribing to the list. As soon as we have something
ready, you'll be the first to know and try it out. Stay tuned!

Oh, and if you use a Mac, you are welcome to try C/C++ in AppCode and let us
know what you think.

Develop with pleasure! The JetBrains Team www.jetbrains.com

------
akandiah
I've just downloaded and tried AppCode (which I believe this product will be
an extension of). It is written in Java and is rather slow when compared to
XCode and Visual Studio 2008. The real memory usage on my system for this
product is ~340MB which is rather heavy when dealing with a Hello World
project.

When dealing with C/C++ or ObjectiveC I expect something that's very light and
quick to load - not something that feels this bloated!

~~~
pkolaczk
340 MB is heavy? What are you coding on? A netbook?

BTW: measuring memory usage on a Hello world project is pointless. You can't
extrapolate this value to memory usage on large projects. Most of this memory
is just code of the IDE and plugins, which does not depend on the project
size. I work on some really _huge_ projects in IntelliJ Idea, sometimes 3 or
more at the same time and it never needed more than 512 MB of heap, which is
pretty impressive result, considering how much it actually does (all the
inspections / type checking / background compilation / autocomplete come at
some price in memory usage; most of the C++ editors you mentioned don't
support them to such extent, or sometimes at all).

~~~
akandiah
>340 MB is heavy? What are you coding on? A netbook?

I take it that you haven't tried coding on Visual Studio? Just because you
have the memory, it doesn't mean that you should be using as much memory as
you can.

> I work on some really huge projects in IntelliJ Idea, sometimes 3 or more at
> the same time and it never needed more than 512 MB of heap

That's because that amount is set as the maximum heap size. If any more memory
is required, the disk swapping becomes heavier and heavier. Have a look at
your idea.vmoptions file to see what the maximum allowable usage is set for
your install.

> most of the C++ editors you mentioned don't support them to such extent, or
> sometimes at all

They don't support it for C or C++ due to inherent limitations in the
compilation of the language - not because they are unable to do so! Visual
Studio does all of what you've mentioned for languages which compile to an IL
code (i.e those that rely on the .NET framework) with great ease.

~~~
pkolaczk
> That's because that amount is set as the maximum heap size. Nope. My maximum
> heap size is set to 1GB, but the live memory set does not exceed ~200 MB
> typically.

> If any more memory is required, the disk swapping becomes heavier and
> heavier.

If any more memory would be required it would not swap, but OOM. Again - if
you ever need to swap, then you must be coding on a netbook...

> Visual Studio does all of what you've mentioned for languages

Nope. Not to such extent as IntelliJ is doing it. You need Resharper for all
of that. From JetBrains. And VS can easily grab 500 MB of RAM too, especially
after a week of work without restarting it (memory fragmentation, maybe some
leaks).

~~~
akandiah
> Again - if you ever need to swap, then you must be coding on a netbook...

Please read up on virtual memory.

> You need Resharper for all of that. And VS can easily grab 500 MB of RAM
> too, especially after a week of work without restarting it (memory
> fragmentation, maybe some leaks).

VS2012 includes many of the features provided by ReSharper. What does
restarting an IDE have to do with this? My point still stands: an IDE should
be light-weight and responsive. A heavy memory footprint (which is a hall-mark
of Java-based IDEs) is not helpful in achieving this regardless of what kind
of machine you're running it on!

------
rch
>>Built-in support for Doxigen documentation system for all supported
languages.

Great feature, but it's Doxygen with a 'y'.

------
sqqqrly
The Linux CLI is an IDE. I do not need another...

------
martin_
Don't these already exist? For example codeblocks?

~~~
zalzane
Codeblocks is essentially notepad with a gui for mingw compiler options. It
cant be compared with visual studio in terms of development, refactoring, and
debugging tools.

~~~
martin_
Their features page states otherwise: <http://www.codeblocks.org/features> \--
Multiple compilers (Mingw, MSVC, Borland, and more).. Build in debugger,
plugin support, etc. I haven't used it, so i'm just assuming their website is
accurate

~~~
andrewflnr
Having used it, I know the debugger works. I didn't get into the more
complicated stuff much.

------
thrush
coming from a student who did most of their learning in C++, this sounds
awesome. period.

