C U T B H P N

Programming Environments

Visual Studio, Netbeans, Microsoft and GNU toolchains

Web Resources, Supplementary Resources

Content:

In this lecture we discuss programming environments we'll use throughout the semester, e.g., Win: Visual Studio, cl, and PowerShell, Linux: NetBeans, Eclipse, g++, and bash.

  1. Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Required Resources:

    • Visual Studio 2017 to support C++11
    • NetBeans or Eclipse IDE to support building code for Linux
    • Alternately, you may elect to use a text editor and gnu make
    • CLang or gcc toolchain for C++, used by both NetBeans and Eclipse
    • VMware Player, VirtualBox or some other Virtual Machine host, e.g., Hyper-V, Parallels
  3. Tools you need:

    Tool Where to get Discussion
    A Linux Installation I'm using: Will move to: when it becomes available. These are both debian-based distributions. After installing run:
    sudo apt-get update
    sudo apt-get upgrade
    A virtual machine I'm using: Another possibility: Both VirtualBox and VMware Player are stable and it's easy to build virtual machines. VirtualBox has a few more features than the (free) VMWare Player.
    clang 3.8 sudo apt install clang Installs compilers, libraries, etc. Fully implements C++11 and parts of C++14.
    GNU gcc 5.4 sudo apt-get install build-essential check your system with: gcc -v to see if you already have what you need (any version greater than 4.9 will work for this class).

    To get the latest you have to build the sources, starting with build-essential.
    jdk8 - Java Development Kit java development kit Needed by Netbeans IDE. You may already have it - try 'whereis java' from the console.
    NetBeans IDE 8.2 Available from NetBeans.org NetBeans needs the Java Development Kit (jdk) available from Oracle
    You can download a bundled NetBeans 8.2 along with JDK8. To download, click the link above, click the Java SE link at the upper right, then click on the NetBeans button. That installs both in a way that NetBeans can find the JDK and JRE that it needs. You can add C++ support by opening NetBeans, clicking on Tools, and selecting plugins.
    Eclipse IDE Available from Eclipse.org Eclipse needs the Java Development Kit (jdk) available from Oracle
  4. Virtual Box

    VirtualBox is easy to set up. Just download and follow the directions from the website. You can probably do just fine ignoring the directions. In previous semesters I've had problems with Virtualbox graphics scaling. Now, VirtualBox seems to handle scaling well, especially with the latest Ubuntu 16.04.
  5. VMware Player

    VMware Player is easy to set up and use to build and run virtual machines.
  6. VS Code

    VS Code is a lightweight code editor that can use extensions to incorporate C++ compilation and debugging. If I have time I'll try using and demo in class.
  7. Atom

    Atom is a code editor built using Electron.js framework.
  8. Linux Shell Commands
  9. Linux Documentation:

    Linux Man Pages - Linux.die.net
  10. g++ demos:

    g++ references:

  11. make references:

    • Clear, simple tutorial
    • CMake
      I haven't used CMake, but have recently been told (by Scott Constable) that CMake builds projects for many of the major tool chains, including NetBeans and Visual Studio.
      That would allow us to use a nice code editor, like Atom, and build with make and debug in our IDE of choice. If anyone wants to try this, please let me know what you thought of it and how well it works. I probably won't get to this until this summer.
  12. NetBeans Demos

  13. NetBeans References:

  14. Eclipse references:

CST strip