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.ra...@gmail.com> wrote: > On Tue, Jan 20, 2009 at 10:37 PM, Venkatraman S <venka...@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@python.org > http://mail.python.org/mailman/listinfo/bangpypers > -- -Anand _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers