DEV Community

Paulo Ortolan
Paulo Ortolan

Posted on

Software Development for non-programmers #1

You are a normal person from the real world. You go to work, by bus, car, walking, anyway. Just arrive at work and then do your job, whatever it is. You arrive at your desk and turn on the computer and start using the program (or programs) that you use to perform your daily tasks. And then, from nothing, the software crashes. Bad software! Crashed and you saved nothing and, as a result, you have to start over, from the beginning. You start to blame programmers and their families for this. But wait! How can you say that? What if it's not a software problem, but it's a network problem or some hardware problem or another problem indeed?

In this series of posts, I will write (or try to) about software development (and why you should not blame programmers and their families).

Let's begin with the most basic concept: Computer Program.

There's a definition on Wikipedia that defines it well, but there's a catch.

A Computer Program is a logically ordered list of instructions to perform a specific task.

Let's explain it better, but backward:

  • to perform a specific task: means that although a program can perform a lot of things, it is programmed to help people with mainly one thing. Let's have the worksheet office program example. With it, users can create a plethora of different worksheets, but it's good for making calculations.

  • list of instructions: Computer Programs don't come out anywhere, they have to be programmed using a specified protocol that will bring them into life. It's also known as a programming language.

  • logically ordered: the list of instructions are nothing if they are not logically ordered. You can't save anything to a file if you don't open it first or it's faster to find a name on a list when it's ordered, then that's better to order it first.

Computer programs are developed using Programming Languages, which are protocols that use a well-defined set of rules to create programs. There is plenty of programming languages out there in the wild. They are driven by paradigms in which will dictate their style of coding.

Computer Programs are complex. They contain a lot of algorithms that build a complete Computer Program.

In this set of articles, I will tell about algorithms and some examples, paradigms, and programming languages (with a focus on Java).

Stay tuned!

Top comments (0)