Re: Application of Various Programming Languages?



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
.



Relevant Pages

  • Re: =?ISO-8859-1?Q?Soup=E7on_of_cedilles_and_aper=E7us?=
    ... and a better programming language almost immediately. ... and the inferior design became the "de facto industry ... the committee that designed Algol 58. ...
    (alt.usage.english)
  • Re: Language design evolution vs. revolution
    ... Doubtless it is not possible to design in ... But when I started building a programming ... don't see how a practically usable language can be created without it. ... AIUI the designers started with the list syntax intending to ...
    (comp.lang.misc)
  • Re: Language design evolution vs. revolution
    ... But when I started building a programming ... don't see how a practically usable language can be created without it. ... This is how I would design and implement an algorithm. ... One of my major design goals with PILS, and one I think I achieved ...
    (comp.lang.misc)
  • Re: object system...
    ... for that you need machine language. ... isn't even as fast as other systems programming languages. ... Stroustrup's stated design goal was to enable ... all manner of elegance or abstraction can be sacrificed for speed, ...
    (comp.object)
  • Re: c++ documentation
    ... > more advanced competence in the language. ... > programming and object-oriented programming. ... There's design and design. ... My point was that the books also describe the *use* of those libraries, ...
    (comp.os.linux.development.apps)