The way to get into programming

Amazing steps to develop your programming skills

Dragon Nomada
nomadacode

--

Photo by Jeremy Bishop on Unsplash

Programming is an amazing universe. This code — universe is composed by sintax, rules and creativity. Like as a handcraft, the programmers create unique code pieces to fix the world.

In this post we can learn some paths to get into programming by concept. We don’t need to know a lot of programming, only the mind vision about it. Let’s go.

Learn the Language of the things

The main skill is about be able to understand the manchine and how it works. Imagine a dummy box able to do some things like as “turn on the light”. “turn off the the sound”, “draw something” or “move forward”. All this basic rutines are disposed into the machine’s memory, like as files with code in its machine language. For example, imagine some machine with a set of basic instructions it can do in assembly language.

Machine can do a lot of things, like a turn on the light

In this way, you only need to express some commands to the machine, for instance, you can say it “turn on led 9” to send energy to the pin 9 in the machine led-board or “turn off led 4”. It means you need to translate your instructions into commands or sentences. For instance, instead of saying “hey you, stupid box, turn on the light”, you need to translate your intention and say “machine 25 turn on light 43”.

You need to translate your requests to the machine’s language

When we make algorithms to solve problems, we think the algorithms in our natural language. We solve the problems like as humans. For example, to prepare some coffee we think as:

  1. Take the water container and verify it is full of water.
  2. Put the container and turn on the coffee machine.
  3. Press the prepare button.
  4. Not if coffee bottle is empty, thus coffee bottle should have some coffee.
  5. Wait to the end.
  6. Take your cup of coffee (you need to put the cup of coffee in the bottom of the machine).

Our language is very messy to the machines. But, if we fix our commands and sentences more, we can teach how to solve problems to the machines. For example:

  1. Ping status to the coffe-machine.
  2. If status is “IDLE”, create a work session
  3. By session set status to “CHECKING”
  4. Check the level of water > 50%, else set status to “ERROR” and end the session
  5. Check the level of coffee > 30%, else set status to “ERROR” and end the session
  6. Check if the cup is detected, else set status to “ERROR” and end the session
  7. By session set status “STARTING”
  8. Send “to heat water”, set status to “HEATING”, and lock the session
  9. When signal “water is hotted”, send “to add coffee”, set status to “PREPARING”
  10. When signal “coffee is added”, send “to dispense coffee”, set status to “DISPATCHING”
  11. When signal “coffee is dispatched”, unlock the session and notify to finish
  12. Set status to “IDLE” and clear the session

If you can domain the language of the machines, you can be able to program all you desire, in any programming language.

You can handle machines by correct sentences and data protocols

Learn the nature of the things

To speak The Language of the Things, you need to learn their nature.

The first goal to conquer the machines is to understand their design and logic. How the machines are built? How the machines think? How the humans can speak with machines? How the machines should be to humans? How the machines can be autonomous?

The machine has a design and logic, both compound an abstract model

If you have a simple clock, think about all their gears, how about each gear works, how you can add one more, what happens if you remove some.

The clock has his own design and logic, it is “the clock model”

If you have some display, think how pixel of colors are merged into one screen to show a unique color, What are the instructions to print some picture into the display? What do you need to recreate this machine? How you can code some commands to send data to the machine?

The Draw Machine start draws when move the buttons

If you think about all this nature (desing + logic) you can be able to see the machine’s architecture, the machine as a concept and the machine as a model.

With all this knowlege you can make new machines, new designs and models. You can be a code builder and a programmer.

The programmer is able to create new realities

Learn algorithms and a programming language

Finally you need to learn how data woks. You need to understand about the machine is an abstract mathematical model that works with data. The information cross into the machine as an input data like a function with parameters, and determines how the data is processed to generate a result (the output).

The machine can sense the reality to work itself

You need to memorize a lot of sintax and code. Models and operations. In the programming language that you prefer.

Programmers learn the sintax and memorize a lot of things

For example, if you want to create a sorting list machine in python, you need to write code that takes the input list and imagine how list is sorted into another list or something similar.

Create a function to sort a list of numbers

Try it

Conclusions

The way to get into programming is about to know the language of the things and its nature. If you can understand the things as data and models, you can be able to create more complex machines and codes.

Finally you need to learn algorithms and programming language to make your own machines and abstract models to solve your custom problems like as a programmer.

I hope this post be useful for you and I will read all your comments.

See you

--

--

Dragon Nomada
nomadacode

I love maths, algorithms, artificial intelligence, data science and zen's philosophy