title: “Programming: Week One” description: “A primer in programming and concepts.” tags: [ “programming” ] lastmod: 2018-01-01 date: “2018-07-01” categories: - “Programming” - “Languages” slug: “programming-week-1” type: page — –>

Programming - Different Languages

Abstract

The idea of programming is not limited to computers. One of life’s greatest mysteries is around the debate of evolution versus intelligent design. The instructions for life are encoded into DNA. The process of encoding instructions into a format that may be intepreted and followed is programming.

Basics

A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output. Programming languages generally consist of instructions for a computer.

These languages exist as an abstraction from the hardware on which it runs. That is, we are able to write in a format that is familair and easy for us and then that code is used by some translator to run on hardware. The primary benefit of a programming language is that it exists in a container which protects the system from our failures. Similar to how the body will lose consciousness to prevent further harm to the body. Once you pass out the body begins a reboot cycle. The inability for the body to reset or reboot results in coma or death.

Hopefully these examples help to show that for most programmers the skill and concepts of programming are actually fairly basic when compared to the complexities of life around us. More fortuneately it means that there are many, many ways to relate the craft of programming with the world around us.

Elements of a language

  • Syntax
  • Static vs Dynamic
  • Type Sysstems
  • Standard Libraries
  • Runtime

Learning a language

When I explore a language I usually ask the following questions:

  • How are simple things modeled?
  • How do simple things combine to create complicated tings?
  • How do I store and manipulate lists of things?
  • How do I ensure the code I write is safe?

Closing Thoughts

We’l be using JavaScript/ES6 for the remaining weeks of this introduction for the following reasons:

  • Can be learned using any web browser.
  • No need to setup complicated development environements which require various other skillsets.
  • Very popular and is a skill the student can use immediately when using services like Squarespace and Wordpress.