CISC 3142
Programming Paradigms in C++
Fall 2025
Setting Up a C++ Development Environment
I've downloaded and tried all of the following with varying degrees of difficulty.
Command-Line vs IDE
Command-line Development
Developing at the command line means choosing an editor (e.g. vim), editing your code, and then compiling and executing
using commands at the command line. Initially you may find yourself entering the editor, making the changes, exiting the
editor , compiling at the command line, possibly re-entering the editor (if you have compilation errors), eventually executing
from the command line, etc. This may lead you to investigate having multiple windows open — for your editor and
the actual command-line compilation/execution.
IDE (Integrated Development Environment)
Using an IDE provides you with both and editor and a way of building and executing your code. It also provides a
graphical environment that simplifies navigation among the files of your project, and (though we will in all likelihood
not explore it) the integrated use. In addition, it's probably safe to say that most commercial programming environments
use some sort of IDE.
Command-Line
I've been using the same tools for the last thirty years (so don't use me as a role model): vim (improved vi — the standard editor that
comes with every Unix install), and command line compilation and execution. I supplement this with utilities that provide multiple tabs/panes/windows
(e.g. screen and/or tmux on Linux) and some of the fancier commands in vim that allows me to have an editor window open at the same time as a command line for
compilation. The upside of this is that I am not working in a graphic environment … I can get onto just about any machine and be able to work as long as
I can log into my server. The downside is I am not making use of modern technology such as auto-completion, error indication within the editor, symbolic debugging,
etc (though I COULD configure vim to integrate all or at least most of those facilities).
Your Choice of IDE's
CLion (from JetBrains) (Recommended)
Many of you may have been using IntelliJ as your IDE in your previous Java courses. As it is also from JetBrains, it should not be surprising
that the interface of CLion is quite similar. Additionally, from what I can tell, CLion seems among the most straightfoward of the IDE's with respect to
the level of a 3142 student, so i am recommending it as a first choice.
If you've been using IntelliJ, in all likelihood you've been working with the free Community Edition. The full commercial version (IDEA Ultimate) requires payment, as does
CLion. HOWEVER, if you are a student or faculty member currently using it in the context of coursework, JetBrains provides access to ALL of is offerings, including IDEA Ultimate,
and more importantly CLION. To gain access, you must provide proof of being a student. Here are two links to do that; the first is a description of the program (and leads to the second),
while the second is the application form.
Several students (as well as our department lab text, Dwayne) have told me that you don't have to do anything, simply check off that you're using it for non-commercial purposes. I can't vouch for that,
but if nothing else, applying for the Educational Pack gives you access to ALL the JetBrain offerings (e.g. IntelliJ Ultimate … the production-level version). You probably won't need or
even look at any of them during your undergraduate work, but …
Here are instructions for getting CLIon up and running on your machine (Windows and Mac — unlike Linux — do not come preinstalled with a C/C++ compiler; so you must download one
before installing CLion. If you think you may have one installed on your machine, you can check in Windows by opening the Command Prompt and typing g++; in Mac by opening Terminalaand typing clang++.)
Native Windows IDE
The native IDE for Windows is Visual Studio — it was developed by Microsoft who is also the developer of the
underlying OS (Windows). The Community Edition is free
and straightforward to install.
Native Mac IDE
The native IDE for the Mac is XCode — it was developed by Apple who is also the developer of the underlying OS (macOS). Community
Edition is free and straightforward to install
Linux
If you're using Linux, yo should have a C/C++ compiler installed already, and you probably know your way around either the IDE's or command-line work.
Other Options
- Code::Blocks : was the IDE used in 1110 and 3110 (the C++ precursors to 1115 and 3115). Not an industry-quality app, more for education 'hobbyists'.i
It has a relatively simple interface, which was its attractives. No longer supported/developed on Mac.
- Visual Studio Code: not a full IDE, Microsoft calls it an 'extensible source code editor'; i.e., it provides basic editing and some project navigation,
but the language and build tools need to be hooked in. Cross-platform, free, extensive plugins, Seems to be highly popular. Prof Sokol uses it in her 3142,
so if you know someone there, you might grab their notes on its usage. I looked at it and decided it took too much configuration work for this class
Sample Program to Test Your Installation
#include <<iostream>>
using namespace std;
int main() {
cout << "Hello world!" << endl;
}