C+ Dev will be a full-blown IDE with all the integrated development tools you might expect:
- Build system;
- Editor w/ Intellisense (autocompletion, goto-definition, ...);
- Debugger;
- Performance and memory profilers.
Why does this exist? Aren't there already a lot of other IDE's?
Yes, there are. But they aren't good. Of two of the bigger ones, Eclipse is just plain bad, and Visual Studio has good stuff but is big and slow.
C+ Dev aims to be a replacement for Visual Studio; keeping the good parts, but giving a way better experience due to ease of use and just not being slow and sluggish.
Why C+? Is that a thing?
C+ is C, but with some quality of life extensions which allow many people who program C-like C++ in C to not be exposed to all the other downsides of C++. To name a few changes:
- Types & functions are out-of-order: forward declarations aren't needed. Combine this with unity build, and gone are header files.
- Pulled from C++: 'auto' and (operator) overloading.
- 'using' (pretty much the same as in Jai, alike Pascal's 'with').
- Module system.
- A blessing from the gods: . and -> are interchangeable.
C+ Dev has its own compiler for C+ and using C+ Dev to program C+ will provide the best experience; but C and C++ are supported as well.
Will there also be new things?
Since C+ Dev has it's own compiler, that means that it can do things that other IDE's can't. e.g., provide the compiler with custom data formats, inspect every little aspect of the compiled program or even modify aspects of the language.
Some innovative ideas that could be implemented:
- Organizing code in different ways than just a long list spread over several files. Code could be mapped to 2D- or even 3D-space. Maybe you could zoom into code, first having a high-level overview and then zooming into the details!
- Letting the compiler codegen trackers so that every single conditional branch the program takes is tracked. This will allow you to view the full, complete path your program has taken. If you then also track local variables/function arguments, this becomes a great debugging tool, as you can just go back in time and look at what your program was doing five function calls ago prior to the crash!
Roadmap
This is a very course roadmap of what will happen in which order. Take it with a grain of salt.
- Getting a basic IDE working;
We are here.
- Finished build-system;
- A debugger;
- Intellisense for C and C+;
- Profiler(s);
- Intellisense for C++.
Can I try it? Is it open-source?
Not yet. There is still a lot of stuff that has to be implemented before a demo/beta will be released.
The project isn't open-source and probably will never be.
Pronounciation: Cee Pee Dev, not Cee Plus Dev.