Re: Application of Various Programming Languages?
- From: Christian Gollwitzer <Christian.Gollwitzer@xxxxxxxxxxxxxxx>
- Date: Thu, 31 Jan 2008 20:53:33 +0100
W. D. Allen schrieb:
As a neophyte I have become aware of a large variety of programming languages, Ada, C++, VisualBasic, Python, Ruby, etc., but have not find information regarding which kind of problems each language is designed to address. For example, I assume Ruby is a web design language, but is each language optimized for certain applications?
That's not true for such mainstream languages. Every language you mentioned is general-purpose and the basic paradigm is more or less the same - the (object-oriented) imperial paradigm. What makes them different is mainly the availability of the standard library. So in Perl you have a tight integration of regexps, a tool for string processing, that is considered syntax. One could argue, that perl is a language for string processing (and that's what it has been built for originally), but in general its as powerful as any other language enumerated by you.
Really special purpose languages, not to be recommended for general work, are e.g:
* SQL (Database query language)
* TeX (Typesetting language)
* Postscript (Stack based language for drawing graphics)
* XSLT (language to transform XML)
* Matlab, Octave (numerical computation - has matrix algebra built in)
* Prolog (solving logical puzzles)
* C++ Compiler abused (Template metaprogramming)
* sed (unix tool for string manipulation)
Except for SQL, all of them are Turing complete which means, that you can compute everything with them. This can be, however, arbitrarily uncomfortable. It's possible (and has been done) to write a Webserver in Postscript (pshttpd), a basic interpreter in TeX (http://texcatalogue.sarovar.org/entries/basix.html) or a factorial function with the c++-compiler, but the code is usually obfuscated and can hardly been understood even by an expert.
However its useful to look into as many different languages as possible, to broaden your view onto programming. Choose a classical language (like the ones you mentioned) and learn it well, but having fun with Haskell, awk and SQL will make you a competent programmer. If you just want to get some job done, take the language you know best that fits your needs. If you need speed, take something compiled. If you need formalism, take a strongly typed functional language. If you need to build a portable GUI really fast, take Tcl/Tk;-) or XUL (Firefox engine). If you need an unreadably short program, try Perl;-)
Hope this helps,
Christian
.
- References:
- Application of Various Programming Languages?
- From: W. D. Allen
- Application of Various Programming Languages?
- Prev by Date: Re: Application of Various Programming Languages?
- Next by Date: Re: Application of Various Programming Languages?
- Previous by thread: Re: Application of Various Programming Languages?
- Next by thread: Re: Application of Various Programming Languages?
- Index(es):
Relevant Pages
|