[cfe-dev] LLVM, Clang Development IDEs

Richard via cfe-dev cfe-dev at lists.llvm.org
Wed Sep 9 10:41:01 PDT 2015

[Please reply *only* to the list and do not include my email directly
in your reply.  Thanks.]

I posted on this previously and have had great success using CLion:

CLion has since been released and is no longer in early access program
builds.  I recommend it highly for CMake projects.  It works great for
CLang IMO.

TL;DR History of the reviewer:

- 1978: My first real editor was TECO, the ancestor of emacs.  IDEs were
  non-existent.  I liked having an editor that was programmable.  I
  still have a soft spot for TECO even though TECO programs read like
  a binary file.

- 1982: My second editor was vi.  I liked the modes (insert/navigate)
  because it's similar to TECO and did visual presentation of my file
  better than the macro package add-ons for TECO.  (Mostly this is saying
  "I like curses.")  I still use vi for many small day-to-day editing
  tasks, mostly email messages like this one.

- 1988: My third editor and first IDE was emacs.  Handling multiple open
  files was great but the lack of insert/navigation modes hurts my pinky
  finger.  (Old joke: EMACS stand for Escape Meta Alt Control Shift.)
  First approximation to something called an "IDE" because it let me
  run the debugger and move a little => cursor over my source code as
  I single stepped.  Emacs/gdb/M-x compile seems to have pretty much
  remained identical since this time and not significantly improved in
  any way for C/C++ development.  Despite all the programmability of
  the editor, open source compilers remained deliberately crippled for
  extension making it nearly impossible to provide high quality automatic
  source-to-source transformations beyond simple find/replace operations
  or move beyond the batch-oriented Makefile paradigm of compiling.

- 1994: I played with the graphical GUI oriented software developer
  tools from SGI (CASEVision?).  The emphasis seem to be on the pretty end
  of things and I remember it being slower than emacs/dbx/M-x compile,
  so I stuck with that.

- 1997: I played with Borland's C++ Builder IDE.  I liked the VCL
  concept but I wasn't a fan of introducing non-ISO syntax into C++ in
  order to support it (for VCL's properties).  I found the multitude
  of top-level windows with no ability to dock them into a single
  top-level window arrangement too annoying, so I never pursued any
  serious development using the IDE.

- 1998: My fourth editor (2nd IDE) was Visual C++ 6.  This was the first
  time I started programming for Windows and I initially had a Windows
  version of emacs sitting side-by-side with VC6 for some editing tasks.
  Over time I learned the keyboard navigation of VC6, learned the project
  system, etc., and stopped using emacs for any code editing.  This was
  my first real IDE that I used on a daily basis.  I have continued to
  use this as my primary IDE on Windows as it evolved into Visual Studio
  from Visual C++.  I have rarely used emacs since this time.

- 2007: ReSharper (JetBrains) and Visual Assist X (Whole Tomato) add-ons
  for Visual Studio.  While not IDEs themselves, these are such
  a productivity boost for C# (ReSharper) and C++ (Visual Assist)
  development that the difference before and after is astounding.
  Visual Assist X introduced automated refactoring for native C++
  development.  Their parser is ad-hoc but continues to be improved
  and the results are pretty good.
  Other refactoring tool add-ons for native C++ development had promise
  but were too buggy or negatively impacted the speed of editing.
  Although they showed great promise, they were eventually discontinued.

- 2011: My fifth editor (3rd IDE) was IntelliJ from JetBrains for Java.
  I continued to use Visual Studio for C++ development.  I tried using
  Eclipse for Java for about a month but it was really too painful and
  eclipse-using coworkers could neither explain to me how to get things
  to work properly or why things did what they did.  A quick download of
  IntelliJ on their free trial and I never looked back.  The refactoring
  support combined with structural analysis created an IDE that was
  truly like having a partner that helped me with the drudgery of coding
  while I concentrated on the creative part of coding.  IntelliJ level
  of refactoring is the "Gold Standard" as far as I'm concerned.

- 2015: My sixth editor (4th IDE) was CLion (JetBrains) for C++
  development on Linux.  JetBrains also introduced the ReSharper for C++
  add-on for C++ development on Windows with Visual Studio.  I tried the
  early access program builds for CLion for several months, primarily
  working on my contributions to clang-tidy.  It's really a tailored
  version of the IntelliJ IDE for native C++ development using CMake
  as a build system, so it wasn't like learning a new editor.  CLion
  provides good automated refactoring support.
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
     The Computer Graphics Museum <http://ComputerGraphicsMuseum.org>
         The Terminals Wiki <http://terminals.classiccmp.org>
  Legalize Adulthood! (my blog) <http://LegalizeAdulthood.wordpress.com>

More information about the cfe-dev mailing list