Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is C and C++ IDE tool support behind what's available for managed platforms?

Tags:

java

c++

c

.net

ide

If you have used any decent java or .net IDE you can see the abundance of features that they provide that either do not exist in c/c++ IDEs or exist in a much more limited form.

I am thinking about features like:

  • Code Completion
  • Syntax Errors (and compilation errors with no need to compile)
  • Refactoring
  • Debugging (the amount of information that the debugger can show you about objects)
  • Code exploration and analysis (viewing type hierarchies, who calls this function etc...)

What is the main feature of managed languages that enables them to provide this (most would say) superior support in tooling?

like image 815
user199421 Avatar asked Oct 31 '09 05:10

user199421


People also ask

What IDE is used for C programming?

CodeLite It is considered one of the best IDE for code refactoring and supports Windows and Mac operating systems. It also provides better support for compilers with built-in GCC, Clang, and Visual C++. It is a good option for testing and debugging in C++ because of its easy-to-use and lightweight features.

Why do we use IDE?

Why do developers use IDEs? An IDE allows developers to start programming new applications quickly because multiple utilities don't need to be manually configured and integrated as part of the setup process.

What is the difference between an IDE and a compiler?

The main difference between IDE and compiler is that the IDE is a software suite that consists of tools required to develop and test software applications while the compiler is a program that translates the source code written in a high-level programming language into a low-level machine code.


1 Answers

C++ is an extremely difficult language to parse. For the parsers that do successfully process it (compilers), they are way too slow and not flexible enough to support IDE-style code support. Unlike in a compiler, in an IDE, the parser has to be very fast and be able to process syntactically incorrect code. Until now, no one's taken the time to do it because the people with skills required to do so are focused purely on actual compilers.

Visual Studio 2010 has a revamped C++ IntelliSense engine. It took them many, many years to get it done but its massively improved.

like image 61
Sam Harwell Avatar answered Oct 04 '22 22:10

Sam Harwell