How Do We Code?

Coding (or programming, as I like to call it) is changing. What used to be done directly on a computer, with specific hardware, is becoming easier and more ubiquitous. These days you can develop your program completely in the cloud and even deploy to a production server without having the files directly on your own computer. We've almost gone back to having dumb terminals.

Here is a slideshow I created on the topic, however it would be better with an explanation.

Dev Environment

Typically, you would set up a development environment on your computer(s) to produce your code in the language(s) of your choosing. This might include an Integrated Development Environment, or IDE. One of the most widely known IDE's is Eclipse. Another is MS Visual Studio (one of my favourites). The IDE has a workspace for editing code files, highlighting syntax, compiling and debugging code, and even deployment or connecting to a version control system.

These days your dev environment, including very capable IDE's, are available online. Amazon is putting a lot of money into their AWS system, for example.

We will be using a teaching/learning IDE from Repl.it. Below are some examples of other web-based development environments:

The list could go on for quite some time. In fact, there is even Eclipse Che.

Compiling vs Interpreting

Compiling

The procedure known as compiling is the act of running a program (the compiler) to read through your code and convert it to something a computer can understand. It might get compiled down to assembly or some other machine-level language that is meant for the processor to understand, not our human eyes - essentially to binary instructions.

Interpreting

Interpreted code, like JavaScript and Python, has a "middle-man" translating the code to machine language instruction-by-instruction. Instead of compiling all the code into machine language, it does this as necessary. This can be costly in terms of performance but also has many benefits like fixing code on-the-fly and using the same code for any kind of hardware.

There are many great videos on YouTube explaining the differences between compiled and interpreted code - I suggest you watch a couple and find the one which helps you the most.

Last updated