Back to Basics: Configuring the Development Environment

By Taryn Engmark

Associate Editor

Embedded Computing Design

August 30, 2023

Story

Back to Basics: Configuring the Development Environment

In the last installment of this series, we reviewed the crucial steps of identifying and acquiring a development stack and tools that work best for you and your project’s needs. This time, we’ll be getting into choosing and configuring your development environment, and how the choices you’ve been making so far will help you determine what that looks like.

Welcome to Back to Basics, a series where we’re going to be reviewing basic engineering concepts that may require a more complex explanation than a quick Google search could provide.

Intro to Interior Design

Environment configuration requires practicality. By now, you should know what language, libraries, and tools you’ll be using. It’s time to configure your environment so you can start actually writing code.

To do this, most developers look for an Integrated Development Environment (IDE) to help streamline the workflow. A good IDE allows you to see syntactical errors, autocomplete code, automatically import libraries, and debug and compile your code. It’s possible to write code without an IDE, but the difference is like trying to write music with a hammer and chisel.

Picking an IDE and OS is very user-dependent, but we’ll look at a few commonly-used examples, how to set them up, and, most important: why they’re useful.

IDEas For Your Workspace 

Java Development on Windows: Windows is the most used OS in personal computing, partly because it allows for easy manipulation of files, which makes it good for our purposes, too. When developing Java Windows, the process is as easy as picking out your preferred IDE, downloading the Java Developer’s Kit (JDK), and writing your code. Some of the more common IDEs to use are Eclipse, NetBeans, IntelliJ, and BlueJ. All of these IDEs are free to use and provide a multitude of different quality of life features. 

C/C++ Development on macOS: macOS is also quite commonly used as it provides a polished and intuitive user interface. There aren’t many IDEs available for macOS, however, which can make C/C++ programming on this system difficult. The best IDE option for Mac users planning on programming in C or C++ is Xcode, developed by Apple.

C/C++ Development on Linux: While most people don’t regularly use Linux as their home OS, it makes a great environment for embedded programming, which is why Linux is easily the most-used OS for embedded systems. Unlike Mac, Linux natively supports C/C++, making development incredibly easy. One of the easiest and most feature-packed IDE’s for Linux is Visual Studio Code. Installing VSCode is as simple as running a few commands through the command line or finding it on the Linux store.

Python Web Development on Windows: While Windows does not natively support Python development, that doesn’t mean Python web development on Windows is off the table. Microsoft provides a package called Windows Subsystem for Linux (WSL) that allows for Python development using VSCode on Windows. We recommend looking at Microsoft’s guide for more details.

Developing on a Linux Virtual Machine: Most people don’t have a spare computer lying around specifically for running Linux. Virtual machines make this easy, without the cost of buying a whole new computer. A virtual machine is a piece of software that runs on your home OS and pretends to be an entirely new computer. With the use of a virtual machine, it’s easy to do Python or C/C++ development on a virtual Linux computer running inside of your physical Windows or Mac machine.

Design Requirements Strike Again

The above are just a few examples of different use cases you may encounter when setting up your development environment. During this set-up, it’s important to keep your design requirements in mind. If you need simplicity, choose an IDE that tailors to ease of use. If you’re planning on multi-platform deployment, make sure you have access to different operating systems or virtual machines. 

Hopefully these examples give you a solid jumping off point when considering what environment you’ll be utilizing for your project. Once you have this step taken care of, you’ll be ready to move into Step 5 of your project workflow: pseudo-coding.

Additional Resources:

The next section of this series will focus on pseudo-coding, the final planning step of your project, so click here to read on!

Click here to read the first installment of Back to Basics: Ideation & Requirements

Click here to read the second installment of Back to Basics: Development Stack