Monday, March 28, 2016

What is Software?

Purpose of this blog

The purpose of this blog is to teach you as much as possible about software development without knowing anything from the beginning and end up being on your way to know as much as me. I find the way I were taught in school was not very efficient and there were a lot of things that you should know before going out into the work place, some of which are not taught in school. I hope to address these issues with this blog. But, this will absolutely not be a substitute for any university courses or programmes. My main focus will be on basic real world knowledge of software development.

What is Software?

In its most basic form, software is a collection of instructions that tells the CPU (Central Processing Unit) what to do. Each instruction is represented by certain length of bits. A bit is a value that can only be 0 or 1. The number of bits required for each instruction depends on the kind of CPU you are using; a typical desktop CPU can run 32 bit and 64 bit instructions. More simply put, every instruction is a numerical value that each correspond to a certain logical operation which the CPU can run; like adding two numbers together or compare one number to another. The main purpose of software is to automate logical operations that we otherwise would have to do manually. It's used everywhere - door openers, phones, cars, air planes... the list is long.

What does it mean to write code?

Back in the day people used to write code in a language called assembler, which is a direct translation of machine code (as in instructions) into more human readable names. When you have enough of instructions, you have a program. Even though a few people still use assembler, it's not common.

What languages do people use today?

There is a lot of different languages, such as:


  • Java
  • C#
  • JavaScript
  • Python
  • C++
  • SQL
  • etc...

    All of these have different uses, benefits and shortcomings. The truth is that if you want to become a valuable developer you need to learn several languages and be able to learn new ones as demand requires it. Luckily most languages are very similar in basic syntax. Though, you do not need to worry about that just now. The reason we have any other language than assembler is to make it more efficient to write programs. Simplifying things is very important in every profession. It's what allows us to make profits and that's what makes it possible to enjoy all the good things from life. Without profits we'd still be living in caves!

    What tools do I need to start coding?

    Typically you write your code in an IDE (Integrated Development Environment), which basically is a program that helps you with a lot of things involved in developing software. The most important part is the compiler which basically translates your high level language (such as C#, Java...) into machine code that you then can execute (run). It also helps you to arrange the different files that makes up your project. The IDE will also help you in real time with syntax errors, sometimes you forget minor details required for your code to compile. These error messages can be cryptic to understand for a beginner, but you will learn to understand them with experience.

    What is the next blog post going to be about?



    /*
        Strength comes from within.
    */

    No comments:

    Post a Comment