Cognitionis
The little I know

Programming


Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The process of writing source codes requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

Different programming languages support different styles of programming (called programming paradigms). The choice of language used is subject to many considerations, such as company policy, suitability to task, availability of third-party packages, or individual preference.

There are different programing paradigms that have appeared sequentially in time:

imperative (goto)

sctructured/procedural (functions)

object oriented (classes/objects)

Programming Languages

ASM (low level/imperative/compiled) (DEPRECATED)

Bash – shell scripting (interpreted)

C/C++ (middle level/structured/OO/compiled)

Java (High level/OO/interpreted)

PHP (High level/OO/interpreted)

.NET VISUAL (High level/OO/compiled)

Perl (High level/interpreted)

Python (High level/interpreted)

Ada (Real time)

Parrot project (virtual interpret for PHP, Perl 6, Python, javascript and .NET bytecodes)

Data Structures (Very important, TODO TODO TODO)

It is very important to know basic data structures.

The most common of them are bool, integer, string, array, hash (associative array), list, arraylist…

TODO TODO TODO

Comparative

General Performance: C++ > Perl > Java > Python > PHP > .NET

Easyness, readability: Python > Java > … > Perl

Regular Expression power, expressiveness, code lines: Perl, Python > other

¿Jewels (perl) or Snakes (python)?

Programmers

Computer programmers are those who write computer software. Their job usually involves: