Get my new Super Mario World - Introduction & Map Medley arrangement recorded with Arachno SoundFont!
Definition of software programming and development - IT tutorials, reviews and articles


Just to introduce a few basic thoughts...

By Maxime Abbey - First published on 12-04-2000 on Arachnosoft, updated on 12-04-2013

Sofware programming describes the process of writing the operating code of software. It's a way to contribute actively to the IT world.

In more general terms, you'll usually speak of software development when you'll want to describe the whole array of processes involved in overall software creation.

Where should I begin?

Programming is often considered as a complicated and tiresome task, which is more or less true, depending of the software you're using to create your software. There is indeed a quite interesting number of software which aim at creating software without having to learn a programming language.

Thus, there's no really any kind of recommended "age" to begin with software programming: you'll usually only need to have some interest in information technologies, your hardware and its operating system, to make your first steps in software programming as soon as you'll feel comfortable with your IT environment. Many software developers, like me, actually started programming software in their young teens.

You must then choose the programming software you'll want to use, according to some criteria:

  • which type of software will you want to develop in a first time? (games, utilities...)
  • under which platform? (computer, tablet, mobile phone...)
  • for which operating system? (Windows, Linux, Mac OS, Android, iOS...)
  • do you have the necessary time to learn how to interact with your integrated development environment (IDE), or do you want an easy-to-use software which is ready out-of-the-box?

Your choice should be driven by answering to the above criteria. For example, if you want to create games or utilities quickly, easily, without having to learn programming in a first time, the most common and famous products are probably The Games Factory, Klik & Play, Click & Create, or Multimedia Fusion from Clickteam, as well as 3D Rad or DarkBasic to create 3D games (which however requires a minimum of programming).

However, if you don't want to fight with the limits and restrictions that a programming-free creation software could have, then you can start programming by using some "simple" languages like the Basic and its variants (QuickBasic, Visual Basic...). It's generally the language most programmers choose to begin with, as it is generally easier to learn and use. You'll find many information about this one a website like The QuickBasic World.

Of course, nothing prevents you, when you'll have acquired some experience, to learn more powerful programming languages, such as those offered by Microsoft's .NET Framework (mainly C#), Java, or some older ones like Pascal, Delphi (relatively simple to use) or C++, still actively used in professional IT environments.

What about the concepts?

Programming is actually giving a list of logical instructions to the computer, which executes them to produce actions.

With coded languages, you'll have to type strict instructions in a human-readable language, mostly English; you tell your computer to achieve a given task, then another, and so on, in compliance with the programming language you're using. On some specialized electronic system (such as embedded machines, critical systems or small processing units), you can still find some assembly language, which has a very steep learning curve, but which is the closest way to directly "talk" to your system's central processing unit (CPU).

With creation software said to be "without programming" like The Games Factory, it does not work the same way: you drop objects on a zone, then assign an action to them, often called "events". Those instructions, often coming out-of-the-box, do not usually require some code to be typed.

A software is built progressively using an organized scheme: you program the core, or engine, then you enhance and finalize it (by adding features, visual effects...). For most programming languages, you'll need to have a compiler, which will generate an executable file from your source code into an executable file, which can be released and executed on any compatible system. Compilers are quite often included within the programming environment, but there are also external compilers, often offered for free, as they're often aimed to offer a lightweight and cost-effective alternative to bigger commercial programming environments.

Many websites are devoted to software programming and development; don't hesitate to browse the most complete among them, they'll most certainly help you to choose the programming language which will better suit your needs.