How to create a software ?

How to create a software ?

In this article, I’ll talk about : 

  • What is a software
  • How softwares are made
    • Algorithm/Program/Software/Application
    • From hardware to software
  • Building a software
    • Programming languages
    • Compilation
    • Your first own software!

Please subscribe to our newsletter to be informed when this article is finished

What is a software ?

A software is collection of data and insctructions to be executed by the machine (computer) in order to automatise the information treatment.

For exemple, to visit this website, you needed to use your browser. Your browser is a software, a game application is a software, Microsoft Word is a software …

 

How softwares are made ?

  • Algorithm/Program/Software/Application

Program, software or application we assume that for the moment these terms represent the same things, we will talk later about their differences.

A software is a product made to answer to some needs. A mason needs some materials to be able to design a house, a doctor too, an architect too … etc. A software developer needs some tools to build a software too. Like a text editor, browser, compiler … etc. We’ll talk in details later, don’t worry 🙂

A compiler is a tool that can transform humain language to machine language.

From hardware to software

We saw already that a compiler transform a humain text to a machine language.

I mean with “humain text” or “humain languages” the instructions to be given to the hard machine in order to do some work and answer to user needs.

These instructions are given by respecting meany conventions because, compilers can’t understand languages like English or French for example, compilers can only understand languages that they know.

For example, we want to tell our machine to play sound (beep) for 2 seconds.

Complier A can give this instruction to the hard machine only if we write :

beep(2);

And compiler B can give this instruction to the hard machine only if we write :

play_beep(2s);

Reminder : a compiler is a tool that you have to use to build a software.

Now, imagine that we want to build an alarm software, which play beeps at 05am.

Compiler A will tell the machine if we write : 

if time = 5 then

 beep(2)

Compiler B will tell the machine if we write : 

if (time = 5) then

 play_beep(2s)

The difference here I hope it comes more clear! To be able to write instructions to give to the computer in some compiler, you have to respect some conventions. Space between characters is a convention, putting strings between quotation marks is a convention.

You know now that a software is a collection of instructions and data to give to the machine in order to do some jobs, to write understandable text by compilers and humain you should respect some conventions.

The syntax you should repect to write some constructions and pass them to Compiler XXX is called “Programming Language”. There is meany programming languages that you can use to write instructions and pass them to a compiler to build a software. For example :

  • C language
  • Java
  • PHP
  • Javascript
  • C++
  • Haskell
  • Python

The text you write in some programming language called source code

We’re going to talk about programming languages in next chapter “Building a software”.

Building a software

Now you know what is a software, how a computer softwares are made. I invite you to focus all your intention in this chapter, you will build your first software in few minutes 

Programming languages

Take a look at this list of all existed programming  languages  

As you seen, it exists an important number of programming languages, you can write your code in any language you desire.

You will choose one according to your needs. We’ll see later how to choose a programming language 😉 

Compilation

As we saw previously, the computer cannot understand human language like French, English, German, … etc. The computer only understands its own language, it is called the machine language.

The language machine is a series of bits, do not be afraid to know the language machine is not required to create software.

For example when you type the letter ‘a’, your computer receives a series of bits like: 01100001.

It was just to give you information 🙂

Let’s go back to our subject, the computer given only understands its own language therefore, the compiler’s mission is to transform a human language into a series of bits (0/1) so that the computer can understand it. The bit sequence (0 or 1) generated is now an executable (an .exe file on Windows).

Create your first software

We will now tackle the most concrete, create your own first software.

The problem :
Alain is a friend who has a sleep problem, he does not sleep early and suddenly he does not wake up early.

Alain has a soccer match tomorrow and has to wake up at 5 am in order to prepare and leave with his colleagues.

Alain’s cell phone is broken, he is alone at home and he only has his PC.

Alain asked us to create a software that wakes him up tomorrow morning at 5 am with his favorite music that motivates him the most.

Before writing our program in a programming language, preferably we write it in pseudo code is better in order to structure it well.

* An algorithm is a series of instructions with the aim of achieving a result whatever the input data.

for example, the mathematical function f (x) = x² is an algorithm, no matter the value of x, f returns a result.

Learn to think carefully before writing your code the next time you want to create a program.

Our algorithm:

Algorithm (wake up):
begin
 stop: = false
 while not stop do:
         if time == 5 then:
               play prefered music of alain
               stop: = true

        time: = update time

In this algorithm, we repeat every 1 second the same operation as long as stop is not true
Once stop is true, the program stops
stop becomes true once the condition is fulfilled, the condition is that the current time is 5 am

We will implement this algorithm in Python version 3.8 language.

First I invite you to download Python from the official source, Python is an open source language (therefore free)

Download Python here

Install it, open Python IDLE software

 

Install it, open Python IDLE software

Now go to ‘file’ in the menu is click on new file or click on ctrl + n

Copy the code below and paste it in the window that opens.

Save the file in a directory of your choice by clicking on file> save.

Name it ‘first_software.py’

copy an mp3 file of your choice and put it in the same folder where you saved the file (first_software.py)

Rename the mp3 file you copied to ‘song.mp3’

Click on F5.

Is the program running successfully? BRAVO you had created your first software.

If your program does not work or if you have had errors, please read this chapter again. Do not hesitate to ask me your questions in comments, I will answer you.

If you have managed to read this entire article and you have followed all of my instructions, I congratulate you, you are the next Steve Jobs! Well done !

Next step: the suite will be communicated to you by e-mail, please subscribe to my newsletter to receive the personalized suite

This Quiz will allow you to validate your skills and acquire new ones.

Results

#1. What is a software

#2. Can we create a software using just a simple text editor and a compiler ?

#3. What is the intruder ?

#4. Which one is the compiler ?

#5. Preferably, we start by writing the code or by reflecting on the solution of the problem?

finish

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *