[BangPypers] how to learn programming

Anand Balachandran Pillai abpillai at gmail.com
Wed Jan 21 22:04:41 CET 2009


Algorithms are mathematical descriptions of solving
a problem. Algorithms can be illustrated in pseudo code
and proved using algebra and discrete mathematics.

It is important not to confuse between an algorithm
and its implementation in a programming language.
It is true that some languages are more suited to
solving problems in a certain way, than others. Due
to the language elements supported by different
languages, solutions might vary.

For example, many things can be done in C++ templates,
for which you may not be able draw parallels in other languages.
A lisp algorithm might look more "elegant" in the eyes
of a Lisper than anything else. A Pythonista might swear
for the beauty of his code over similar C/C++ code.
These are just variations in viewpoint and don't
illustrate anything fundamentally different between the
languages.

Programming languages are tools to solve problems.

Most often, a language might be more suitable to the
problem at hand than other ones. This is often determined
by things like time & cost constraints, skill availability,
freely available software in that language, performance
considerations etc than any perceived superiority of
the language.

I never understood language wars. Got a programming
language you love, good. But such comparisons are frankly
a waste of time...

--Anand

On Wed, Jan 21, 2009 at 11:49 PM, Sridhar Ratnakumar
<sridhar.ratna at gmail.com> wrote:
> On Tue, Jan 20, 2009 at 10:37 PM, Venkatraman S <venkat83 at gmail.com> wrote:
>> A language is a tool to solve a problem. Each of the problem(s) has its own
>> characteristics, which makes us to choose one among the many languages
>> around - and hence the choice of the best tool to solve that problem.
>
> I'd add that practically the best tool depends on not just technical
> criteria but also the tool familiarity and willingness of the
> developers to learn a new tool.
>
> Also, while languages can be /just/ tools to solve problems, the
> choice of a programming language during the learning phase greatly
> affects your programming skills. For example, programming abstractions
> are best studied by using, say, any of the Lisp family of languages
> but not C or C++.
>
> "Programs must be written for people to read, and only incidentally
> for machines to execute." - Abelson & Sussman
> _______________________________________________
> BangPypers mailing list
> BangPypers at python.org
> http://mail.python.org/mailman/listinfo/bangpypers
>



-- 
-Anand


More information about the BangPypers mailing list