Penguin
Note: You are viewing an old revision of this page. View the current version.

This page is currently a mess while a great refactoring is rippling throughout programming language related pages in the wiki.

There should probably be a ProgrammingParadigm? page and one on programming goals (systems programming, application programming, teaching programming, fun with obfuscated languages etc). This is a huge reorganisation I launched into here.. all descriptions should be merged from here into the respective language's page, and the lists should be replaced with category backlinks. Eventually there should be a web of mostly selfmaintaining category pages. --AristotlePagaltzis

There has been some discusson lately regarding this refactor, which I now refactor. If you create a bunch of pages and link them all to !CategoryFooBar?, then their only 'connection' to the wiki is through the !CategoryFooBar? page. Therefore, they will show up if we build an !OrphanedPages listing, and it is one of my personal wishes to see that list tend towards zero.

Chances are, however, they probably link to one another, and may tend down the way of a Wiki:WalledGarden if anything. This was my concern. Also, there is no method for category listings to give a summary of the pages they are linking to. -- CraigBox

Sigh, but these don't have to have their only link being to !CategoryFooBar?, just that that is at least one of their links. A Wiki:WalledGarden is one where the Gardeners remove pages leading out of them and tend to their gardens vigerously not letting anyone in, which is certainly not the intent here. Pages like PDF already link to PostScript for instance, so I imagine over time theres going to be a lot of cross linkage from Programming languages.

If you have a better solution I'm willing to hear it, but this page is clearly unmaintainable in it's current size, and IMHO should be split up, if you can see a better solution than be sure to enlighten us. -- PerryLorier

I guess I see where Craig is going at (or is he?) - when pages belonging to a category aren't linked to from anywhere else, they'll show up as orphaned because the category page does not link to them either. (Although Craig was not very clear about his concern so it took me a while to understand.) That's a valid point actually. BST will appear orphaned once the references to it are cleaned from this page, f.ex. I'm not sure what to do about that; probably the only solution is to list such pages on the category's companion page manually (which is effort I wanted to remove with this refactoring in the first place). Hmm.. --AristotlePagaltzis

I'm not entirely sure that's a problem - google will follow the backlinks pages, and our own text search indexes all pages straight out of the database (although only the raw text for each page, not rendered/parsed by the plugins). The only downside I see to "orphaned" pages is people re-creating them under different names, and the WikiGnomes can fix that up anyway like they always do :p -- JohnMcPherson


If the Tao is great, then the operating system is great. If the operating system is great, then the compiler is great. If the compiler is great, then the application is great. The user is pleased and there is harmony in the world.

[...?

The Tao gave birth to machine language. Machine language gave birth to the assembler. The assembler gave birth to the compiler. Now there are ten thousand languages.

Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.

But do not program in COBOL if you can avoid it.

-- Geoffrey James, The Tao of Programming

A human-readable language to control computers. SourceCode written in a ProgrammingLanguage is commonly compiled into a BinaryExecutable or ByteCode by a Compiler, but it may be interpreted?.

Machine Oriented General Purpose: C++, Java, Pascal

BASIC COBOL Fortran

Obfuscated programming languages

These languages are not intended to be used for serious work, but to stretch the brain. You might also be interested in PolyGlot.


Very High Level General Purpose

Python
This is a good language to learn if you only program occasionally out of necessity. (E.g. if you are a WebMonkey who needs do odd things with text, XML and structured data every now and then.) Those who like it find Python code unusually easy to read, which is good if you are returning to a script you wrote 3 months ago; and it has a very complete standard library, so you don't have to start from scratch when working on common tasks. It's use of indentation as the only means of structuring source is not appreciated by everyone, though.

Special Purpose

sed?
a Stream EDiting language very useful for manipulating files larger than the avaliable RAM. A predecessor to Perl.
AWK
a line-oriented language with much the same syntax and features as the later Perl.
Postscript?
Imperative language. Stack-based, so it resembles Forth, but allows a considerably higher level of abstraction. Although a complete, general purpose language, it was developed for typesetting and is accompanied by a complex, powerful graphical model. It forms the basis for PDF.
TeX
a language for laying out text and images on the pages of DonaldKnuth's books. Lesser mortals use LaTeX, a set of wrappers around it.
BST
a language for laying out bibliographies, with special primitives for laying out names, part of bibtex(1).
SQL
a relation manipulation language used in RDBMSs.
XSLT
a tree manipulation language used to manipulate XML.
sendmail(8)
a language for expressing mail routing. See also SendmailTuringMachine?.