How to start programming, what
Good morning everyone,
One question that recurs in our forum
dedicated to beginners is: "How to start programming?’Or sometimes ‘what
language to start?’. I’ll try to
answer, but you must know that this type of question can raise discussions of
differing opinions. To try to be objective on basis of the members gathered
through different responses agreed to these issues.
First the particular language to
begin programming, programming at least on paper, with the algorithm.
Of course to test the algorithms comfortably
with the programming language, but in this case, the only thing I recommend is
a simple language, not object, not graphics. A good choice would be Basic,
Pascal, Python, but the syntax of the latter will no doubt more useful for what
comes after. But not excluding here, even the same language of calculator may
be sufficient to experiment with simple algorithms. It is good to know the
different types of language, to know what a compiler is and other generalities.
As well, we have already good base to
start programming … But one must have a goal, an idea, and software to do. Here
I cannot help it according to their tastes, their knowledge, and there takes
place the first technical choices:
Object language: yes or no?
Multiplatform: yes or no?
With virtual machine: yes or no?
User: yes or no?
Accessing the database? If so what? …
As per these choices, the range of
languages is uniquely restricted.
So let us turn to clean the languages
that appear most frequently mentioned for starting, always with the view
NB: There is a playful way to find
out the schedule: KPL.
KPL means Kid’s Programming Language http://phrogram.com/
Interface well presented (colors,
sounds, and graphics) and a education oriented programming. The basic idea is
to learn while having fun. If you really know nothing of computers and
programming, this can be a best way of entrance. Also, this is obviously a way
to involve their children (which is good for them is good for you, in
principle). Software: This is a freeware
and is not restricted to the game; of course, the site is multilingual
(English, Spanish, Portuguese, French and some Nordic languages). The language
is all that it is more common in other languages: Begin, End, Main, False,
What can be used?
A good solution, the compilers and
development environment are free (under some conditions rather restrictive).
You can start making small shell programs in Pascal and then move (after
learning the concept of object) the more complex things with the graphical
environment thanks to Delphi (and Kylix under Linux: o). The language is relative
intuitive rigorous, creating simple graphics, you can quickly feel the pleasure
of programming. The portability is poor but there is on some platforms.
Delphi official website: www.borland.com/delphi_net/
Object language, very portable,
syntax also used by Internet scripts (syntax, not the language …). There are
numerous development environments free on the Internet: simply choose according
to your tastes, however, has the facility of Delphi at the level of graphical
interfaces. This is a language "new generation" that will also give
an interesting experience for those who want to work in IT.
Simple fast, offers good programming
habits, light, open, many papers on the net, is the preferred Sebsauvage. It
allows a quick satisfaction making powerful scripts (largely due to programming
object). She is also "new generation" and portable. She works with a
virtual machine that can be marshaled through some available on the web (you
will find all kinds and any order …) in an exe file to distribute your
application in a simple and independent.
Official Site python: www.python.org
Tutorials Python: www.python-eggs.org/links.html
Indeed the future according to
Microsoft, good and bad in this deck, but it lets you program graphics
applications in a simple administrative operation only under Windows with some
attempts at adaptation in Linux. I would suggest that the C # language is
"native" of this platform: its syntax is close to C and Java, without
pointing. It is comparable to Java and Python, unless that is not free. (Microsoft)
A development environment Free and
OpenSource para.Net: www.icsharpcode.net/OpenSource/SD/
For me the object language par
excellence. Free, simple syntax, it imposes an unrivaled accuracy in
programming object. Unfortunately unpopular, it is very rare to find work with
her, but anyway it is always a good background, and something like Squeak to do
many things with.
What we can use the rigor
C / C + +
Languages are good, but with a
complicated syntax that facilitates learning. And what’s more the use of
pointers makes its use, even by professionals, then a laborious task. The
Advantage is that these languages can be used by multiple platforms (after
compiled) and that, when mastered, they make the other appear much simpler.
Moreover these languages are the most used in the professional world.
Site Borland C + +: www.borland.com/cbuilderx/
A language originally scheduled for
the steady dynamic web pages. Its syntax is close to C + +.
PHP is quite ‘simple’ to be addressed
and to communicate easily to the database.
Order to develop dynamic web pages,
one must also have a good knowledge of HTML and possibly eventually if you need
It notably allows having a quick
"visibility" of their work, putting it online, so have comments /
suggestions from Internet users.
You can also develop standard
applications with this language (not web).
Note also that you can program a
procedure or object-oriented, to choose, this allows a good view of the
This is itself a good language but
not the best to get hold. It is effective and you risk being used to.
Particularly at the level of web pages.
If you are looking for an easy
language to learn, that can learn object oriented, and leave behind her good
habits before choosing a language with Python
Site Official: www.php.net/
Language still used in the world of
real time. It remains relatively easy to learn but is recommended especially
for infromáticos, but the interest is limited. It is better to go to Ada for
the purpose only "real time" or else embedded computing. The trend is
Lisp / Caml /
Functional languages. They are in
great numbers, according to two large families: the pure (Haskell) and impure
(family lisp). A pure family is classified into two: the pure, without any
border (haskell family) and family ML (Caml, SML ,…). The way to plan is
totally different in other. Functional programming is another way to see a
program does not avoid the example of having a functional language and object
(eg Scala) or a language that combines imperative / object / functional
(Ocaml). Knowing one to have good bases and will also give people more oriented
towards mathematics passing sweetly IT. They are widely used in numerical
analysis and artificial intelligence (only because of their origin). Can be
used to program everything that can program with other languages.
What we can no longer use
(x) HTML / CSS
Write a page or a site in HTML
programming is what a glass of water is to alcoholism.
Let us be clear, this language,
apparently simple, is not adapted to learning. Its soft and its power can give you
bad programming habits, even the errors he has committed and induces.
It is better to start by learning a
language precise, and then make the most Perl.
I would add that the computer agent
can vice very well without it.
Visual Basic / Basic: D
Formally discouraged by all the
professionals who worked with her. She permute fall into bad programming
habits. It is fine to say that even Microsoft abandoned (this is a proprietary
language) in favor of Framework.Net. Finally there is no free version. The only
positive way I recognized, is the playful side and ease of graphical interfaces
for Windows, because it is not portable, this is not unique to it and is
interested before you use Delphi or Net
The case of Basic more or less the
same. There grtuitos compilers, but it is a slow outdated language, not
portable, without rigor. Prefer Pascal that allows evolution to Delphi.
For fans of math, you can also use
the language help. To date, their effectiveness is limited, but over time they
will be developed. Currently the most popular are those dependent family ML or
Haskell. In Ocaml, you have coq. The paradigms are founded on logic.
You will also find many gratuittos
compilers for different languages at this address:
PS: Par start in programming, is to confront
question: But why my program does not work? The error messages provided by the
build environment or excusal (or set of behavior) dive time starters in a
bottomless complexity. A good method is to make re-read the code by someone
with, and / or someone to explain your problem. The times the statement of your
problem explained out loud to allow anyone to understand. Finally, the ability
to program goes hand in hand with that of the abstract of this material world
in which we are immersed. Welcome to the virtual world, where nothing is
If you facing financial programming,
keep the sheet of paper and a pencil and when you think of any solution to
write and test it. This is the weapon of every computer. You will probably be
surprised effectiveness and ideas arising not know how or where they arose.