Tools of the trade

IDEs integrate multiple tools to make programming easier.

  • For compiled languages like c++ or Java, you need a compiler.

  • For an interpreted language like Python, you need an interpreter.

  • Frequently, build systems are used to simplify build processies.

    • CMake
    • Make
    • Bazel
    • Gradle
    • Maven
    • etc...
  • Well written code has a test suite, so the developer needs a way to run those tests.

    • They also need ways of easily interpreting test results
    • Test runners often have unique syntax or features
  • Debuggers.

    • GDB (C++, Rust, etc.)
    • PDB (Python)
    • JDB (Java)
    • Etc...
  • Version Control!

    • Git
    • Subversion
    • Team Foundation Server
    • etc...
  • Specific to data-science:

    • integration with libraries!
    • data viewers!

None of this covers the code editor window!

  • Syntax highlighting!
  • Static Analysis
  • Code generation
  • Refactoring
  • Templates!
  • Structural Analysis