C/C++ Good IDE for C/C++ programming that doesn't look like the 1990's??

  • Eclipse has a plethora of plugins & options (not my choice but YMMV; it's biased towards Java?).
  • KDE's text editor Kate also has some plugins to make it a lightweight IDE.
 
D

Deleted member 66267

Guest
  • Eclipse has a plethora of plugins & options (not my choice but YMMV; it's biased towards Java?).
  • KDE's text editor Kate also has some plugins to make it a lightweight IDE.
If you mentioned KDE then I suggest KDevelop.
 
D

Deleted member 66267

Guest
I've been helping another team at work evaluate IDEs for C++ recently. The 3 they started looking at were Qt Creator, vscode and NetBeans (that's my influence, lots of Sun baggage). IMO they are all much of a muchness GUI wise, pretty similar in terms of features. I find NetBeans better for navigation, but Qt Creator better for searching code. At work we have a large code base (many millions of lines of code). How the IDE copes with that is, for me, the main issue.

- RAM. Particularly Java based IDEs can consume many 10s of Gbytes when loading a large project, which can make them very unwieldy.
- "Code Model" This is _the_ big thing, and the USP for this kind of environment. The code model is what will allow the IDE to do smart navigation - jumping between definition/declaration/uses, refactoring, opening headers etc etc. Sadly there is an infinite number of bad build systems. And the IDE needs to grok the build system in order to build an impeccable code model - it needs to know all of the include paths and compilation macros.

My advice is to try a few IDEs and see which one works best with your project(s).

If you ware working on an open source project then JetBrains does offer licenses for CLion. The conditions seem fairly stringent.
Contrary to you I dislike NetBeans C++ even before it was donated to Apache. The old C++ plugin is no longer developed now and even not yet contributed to Apache by Oracle. The hack Apache currently employs is just some sort of language server, maybe CCLS. It's incomplete, and the actual C++ plugin is still not yet there.

But even on the Oracle era NetBeans C++ always sucks. Code completion sucks. It's a very stupid plugin that suggestions almost always not what I'm looking for.

NetBeans for Java rocks, but NetBeans C++ always sucks!

If you want a good Java based IDE for C++ then Eclipse CDT is much better.
 
Mainly because of the poor ongoing C++ support I've moved from NetBeans to Qt Creator.

I never liked Eclipse.
* difficult to set up projects
* code model always flaky and hard to fix
* could never get remote builds to work
* for really big source files (and I've worked on files over 100k lines long) it just gives up

It has some nice features
* macro expansion view
* decent refactoring
 
This is frankly not very convincing. I mean, uninterruptible calculations in Visual Studio? Definitely "cool story" tier.
Sorry what? I am unsure what part of this is "cool". Feel free to lurk the internet for other identical stories, mine is far from original. I remember seeing some other guy on reddit about when W10 came out who had a 3D rendering or something and lost lots and lots of money because Windows 10 "had to update" despite them disabling everything Windows 10.

Make a quick google search and you'll find similar stories where lots and lots of people have their work destroyed or delayed because MS wants to "update their product or OS" despite being actively disabled in the settings. A "cool story" as you describie it would probably be something like "Yeah I used to work for Pentagon and they never used Windows or any Microsoft products because of all the leet 1337 backdoors". "Uninterruptible calculations" was approximation calculation to get a design more correct. Saving all the data would increase the time by a huge factor so we decided not to keep a cache or backup, since the risk was assesed to be close to zero of the program crashing. I did not crash, it was shut down in conjunction with the unwanted and disabled auto update.
 
don't kno haven't looked. but Apple has a unix shell and it's dev GUI is absolutely great, and are affordable these days, and microft can no longer be ignored (if you like them keeping your source?! on "azure")

there are much higher level languages today than "dev kits"

since Oracle Java was alredy mentioned i'll mention:

INTEL compiler (for linux) which has a nice ide. it also contains some (not all) linkage to their hardware so if you want to write software that supports modern intel hardware - i would definitely try it. it's more for the hardware nuts. it's no xbox or unity dev kit for sure.
 
Anything beyond text is fluff. Reserve fireworks and pretty blinking lights for Windows....and now Linux.

You must be gifted for your brain to automatically, quickly and easily parse C/C++ syntax, codes, variables, keywords and functions. However most people like myself need some kind of syntax highlighting to be productive. I find simply old 1990s text editors to be really difficult to read the texts.

Modern text editors like VS Code provides extremely sharp and clean fonts with syntax highlighting and with plenty of plugins and users can customize the behavior of the VS code text editor.
Has many tabs. I believe without syntax highlighting, programmers will have hard time to find bugs.
 
Yes but there is far too much bandwagon jumping nowadays. VSCode is popular more because it's Microsoft based and people coming from a Windows background, not because it's superior in every way on Unix/BSD. It's just like the web. Angular was all the rage because Google uses it. React is all the rage cause Facebook uses it, not because it's good for everyone outside those realms.

And now Angular seems to be falling out of favor. People are starting to discover the problems of using React for everything. But now I'm drifting too far off topic.
That is not true, I actually prefer VSCode over Xcode (MacOS). Xcode is one of the best IDEs to code c/c++. However Xcode is only tailored for MacOS systems. I'm a MacOS user but left Apple for true freedom which FreeBSD provides for programmers. Once I started to play with VS Code, I started to realize the immense customization that can be applied to as compared to Xcode. I do not use VS code because its based on Microsoft, I use VS code because it provides customization to build an ideal IDE that best suits for C/C++ without bloatware and can fine tune the UI of everything to my likings. All in All VS code provides complete freedom for programmers to build a fully custom IDE they dream of, like literally.
 
Why is it bloatware? I don't see it as needing terribly much in terms of resources, compared to other graphical development environments. And in today's environment (where the critical resource in short supply is human brains and human time, not CPU or memory), trading off more usage of computers for creating human efficiency is nearly always a great move.

But what gets me really upset is: There are way too many people (idiots?) who automatically hate everything Microsoft does, and who throw terms like "bloatware" around for no good reason. Just because it is Microsoft doesn't mean it is bad, nor does it mean that is inefficient.

I think Microsoft has a bad rep for being bloatware among Unix programmers comparing to Windows OS. But VS Code is Definitely not bloatware (not yet, lets hope it never will). VS Code is designed to be used on multi platforms not specific to Microsoft OS. Visual Studio (not code) can be said to be bloatware, I find that to be really slow and have too many features specific to Microsoft, however Visual Studio Code seems to provide a solution in not being specific to Microsoft.
 
Emacs has worked fine for me for a long time on lots of different platforms. I can set the fonts to what works for me, I can set the colors to work for my eyes. One can run build commands/make stuff from within emacs, one can use the output to go to errors, etc. lots of emacs configuration/plugins for language syntax stuff, it's trivial to change things like c-basic-offset for tabs and such. ctags/etags let you navigate around contextually, sure you may need to rebuild a tags database but you are in control rather than "why is this thing so blasted slow? Oh it's rebuilding tags in the background".

There are a lot of reasons people consider emacs to be an Integrated Development Environment: something that lets you edit files, create an executable (compile and link), search across files (contextual tagging), run the program under a debugger

Warning: My opinion incoming. Agree, disagree, all good by me.

IDEs are like GUIs, too much personal preference. I've tried a bunch over the course of my career, never found one that stayed out of my way. Visual Slick Edit was usable, but in the end suffered from the same issues every other one had: too much effort to configure to work the way I wanted it to. Most of the IDEs if you like the default settings, work OK, but as soon as you want something different trying to figure out what to tweak where becomes non trivial.
One thing I've always hated about IDEs is the need to "configure a project", especially when you already have an existing directory structure and Makefile setup. Takes way more effort and time than it should.
Start from empty directories, no source files, no makefiles? Sure easy to setup in an IDE.

I recognize that different needs mean different things work better. I'm mostly OS/devicedriver/server side application, not UI stuff. I know some IDEs have hooks to make it easy to create UI things (I think tools on the Mac do this).

Anyway, if you're still reading, give yourself a cookie, sorry for the long words, and sorry for not understanding why IDEs are "a good thing"
 
You must be gifted for your brain to automatically, quickly and easily parse C/C++ syntax, codes, variables, keywords and functions.

Yes, I am. Thank you for noticing.

But being gifted has nothing to do with it. They don't color paragraphs in textbooks so you can find them. That's what indents and spacing is for. Same is true for writing code. There are indents, spacing, quote marks, several kinds of braces, semicolons, and on and on to guide a programmer through a screenfull of code. Of note, color coding it all never did away with any of that. and I would like to see someone try with their crazy blur of clown car colors.

A recent article: https://www.robertmelton.com/posts/syntax-highlighting-off/
 
  • Like
Reactions: mer
I like "dynamic syntax highlighting" or "when my cursor is positioned on a closing/opening brace, the partner is highlighted".

Why do I find that useful? Because if different people have worked on a block of code, then there may be no consistency in tabs/spaces/indentation so I can't depend on alignment.
I also don't need "language keyword syntax highlighting", so I'm not really sure why that is a thing (my opinion, if you find it good, I'm fine with that).
 
IDEs are such an MS-DOS concept from the 90s. Most computers these days can multi-task so you can use separate tools for the job. You don't need one monolithic blob to try to do it all poorly.

Check out the book The UNIX Programming Environment and see some of the relatively simple elegance of not needing to add (and ultimately maintain) a bunch of ratty plugins to eclipse/vscode.
 
But being gifted has nothing to do with it. They don't color paragraphs in textbooks so you can find them. That's what indents and spacing is for. Same is true for writing code. There are indents, spacing, quote marks, several kinds of braces, semicolons, and on and on to guide a programmer through a screenfull of code. Of note, color coding it all never did away with any of that. and I would like to see someone try with their crazy blur of clown car colors.

Your reference with books is a good one, but honestly I can not read books that doesn't have proper indexes, excellent print quality, acceptable font used and quality paper. Same as to IDEs.

"Premium" books are those which have some form of colorized highlighting, such as the titles, objectives, italics, bold, quotes and etc... I find these books to be more "readable" and enjoyable reading experience. These books also have a wealth of pictures and diagrams which are more valuable than a book with nothing but pure texts. Think of these books like good IDEs such as Xcode/VS Code.

From my experience all best selling with 4.5+ stars reviewed books all have the proper features I have mentioned. Honestly I would rather buy the premium book than a bland unenjoyable (unreadable) book. Recently many people are now reading books using their phones and kindles since it provides a better reading experience. I like to read a full text book from the PC and invert the color so that it doesn't strain my eyes, I can google things and read at the same time, super useful for programming books and makes it more productive in learning.

I'm really surprised that you are able to program and debug without colorized syntax highlighting. I wonder how safe your code would be for example writing code for mission critical applications. But for basic programming like HTML/CSS, I think colorized syntax highlighting is not needed.
 

So you just turn off syntax highlighting?​

Basically, yes. I still have gentle syntax highlighting for comments and matching parentheses and other vim features.

This is an extremely minimalist vim colorscheme (almost no syntax highlighting).

"No" is not qualifiable. "Almost no" means "yes". "Gentle" syntax highlighting is still syntax highlighting.

Hey, by all means don't use it if you don't like it, but don't bag on those of us who do.
 
Recently many people are now reading books using their phones and kindles since it provides a better reading experience.
I disagree, particularly the bolded part. If you had added the words "for them" I'd let it slide, but as is, no. Paper books that I can physically hold are a much better reading experience than a phone or kindle. Very hard to dog ear a page on a phone or use a highlighter on a kindle.

Premium books require zero setup or configuration for every new project. Unless you consider purchasing the book "setup or configuration".

Lots of mission critical code has been written without colorized syntax highlighting. Let me point out all the space stuff, especially everything pre 2000. In fact lots has been done on punch cards, which don't support anything beyond "hole/not hole". I'd like to point out that a lot of "real unix" (original BSD, SunOS, DecUnix, AT&T, etc) was written pre syntax highlighting, in fact best case you may have had a TI Thermal TTY device at 300 baud.

Again, my opinion.
I'm not saying IDEs are useless or a waste of time. Lots of people like them and are more productive with them. But at the same time there are an equal number of people that find them obtrusive, a waste of time and are less productive with them. Neither is right, neither is wrong. Implying that one cannot write mission critical software wthout one is just as misguided as saying one cannot write mission critical software with one.
Horses for courses, different strokes for different folks, Ford vs Chevy, Scotch vs Bourbon. You do you, let others do them.
 
I've also found that actually reading and understanding the code is also good.
Hah true. Though the least time I spend reading my own code, the better for my mental wellbeing. Letting my eyes blur a little and going by shape keeps me cheerful. Otherwise my OCD will never let me get anything done! ;)

Jose I don't think anyone is "...bagging on those of us who do." I certainly am not.
Indeed, if you have tried both and prefer one over the other, making these kinds of reflective decisions is exactly what makes a good developer and same with IDE vs text editor.

However what possibly is a little annoying is those (often straight out of college) who have only ever used an IDE with (IMO garish default) syntax highlighting and have never tried the alternative. They can't understand how someone may prefer the alternative because they refuse to try it and so instead call it "old" or "inefficient". I don't feel that relates to anyone here; possibly my time working in academia (and also the "games" industry where so many of them are simply kids*!) has exposed me to this frustrating situation more commonly.

* Obviously I was a kid too when I started. Albeit a weird kid who was fascinated by UNIX!
 
  • Like
Reactions: mer
I'm as allergic to the "ooh shiny!" syndrome as the next old guy, but I haven't written Java in Notepad in 25 years, and I frankly don't miss it.
 
  • Like
Reactions: mer
I'm as allergic to the "ooh shiny!" syndrome as the next old guy, but I haven't written Java in Notepad in 25 years, and I frankly don't miss it.
Notepad or Eclipse. I'd rather a bullet ;)

Do you use an IDE for Java? I'm interested in knowing which one. Java is unique in that it has a weird issue of many of its main IDEs being written in Java itself which is not always pleasant.
 
Top