I think we need to point out that programming languages, like other languages, are for humans to express human ideas in. The unique thing about programming languages is that we can automatically translate these expressions into the ones and zeros that computers use. Still, the primpary purpose that should be stressed is that these are human languages, for humans to express solutions in which are meant to be understandable by other humans. Since most of the cost of software across the useful lifespan of a program is invested in enhancements and maintenance, the human-readability of programs is much more important than their nature as a "technique for expressing instructions to a computer".
A great webpage is Zirings Dictionary on Programming languages
These are the language links currently listed in programming language. They need to be refactored and regularized. In particular, those language names that are ambiguous should all either be "Lang programming language" or "Lang language". Somebody pick one and make them all consistent, please.
In the list below, I expected that one, sometines two, links in each line, one language per line, to work. The list should always show the current status of these links.
Personally, I think that "lang programming language" is more precise but "lang language" is just barely good enough. The only entries that presently use "lang language" are C (fixed now) and Ruby, so I am going to do what I can to make them work right and also what I can to make all the ambiguous ones work right with "lang programming language".
- Ada -- Ada language -- Ada programming language
- Algol -- Algol language -- Algol programming language
- APL -- APL language -- APL programming language
- awk -- awk language -- awk programming language
- BASIC -- BASIC language -- BASIC programming language
- Altair BASIC, True BASIC, Visual Basic
- BCPL -- BCPL language -- BCPL programming language
- BeFunge -- BeFunge language -- BeFunge programming language
- BLISS -- BLISS language -- BLISS programming language
- Blue -- Blue language -- Blue programming language
- Brainfuck -- Brainfuck language -- Brainfuck programming language
- C(letter) -- C language -- C programming language
- C++
- C#
- COBOL -- COBOL language -- COBOL programming language
- CORAL66
- Delphi -- Delphi language -- Delphi programming language
- Dylan -- Dylan language -- Dylan programming language
- Erlang -- Erlang language -- Erlang programming language
- Euphoria -- Euphoria language -- Euphoria programming language
- Icon -- Icon language -- Icon programming language
- InterCal -- InterCal language -- InterCal programming language
- Java -- Java language -- Java programming language
- JavaScript -- JavaScript language -- JavaScript programming language
- m4
- Miranda -- Miranda language -- Miranda programming language
- ML -- ML language -- ML programming language
- Modula -- Modula language -- Modula programming language
- MOO -- MOO language -- MOO programming language
- MUMPS -- MUMPS language -- MUMPS programming language
- Oberon -- Oberon language -- Oberon programming language
- Pascal -- Pascal language -- Pascal programming language
- Perl -- Perl language -- Perl programming language
- PHP -- PHP language -- PHP programming language
- PL/I
- POPLOG -- POPLOG language -- POPLOG programming language
- PostScript -- PostScript language -- PostScript programming language
- Prolog -- Prolog language -- Prolog programming language
- Python -- Python language -- Python programming language
- REBOL -- REBOL language -- REBOL programming language
- REXX -- REXX language -- REXX programming language
- RPG -- RPG language -- RPG programming language
- Ruby(gemstone) -- Ruby language -- Ruby programming language
- Scheme -- Scheme language -- Scheme programming language
- sed -- sed language -- sed programming language
- Simula -- Simula language -- Simula programming language
- Smalltalk -- Smalltalk language -- Smalltalk programming language
- SNOBOL -- SNOBOL language -- SNOBOL programming language
- SPITBOL -- SPITBOL language -- SPITBOL programming language
- SQL -- SQL language -- SQL programming language
- Tcl -- Tcl language -- Tcl programming language
- teco -- teco language -- teco programming language
- tpu -- tpu language -- tpu programming language
- Turing -- Turing language -- Turing programming language
- Unicon -- Unicon language -- Unicon programming language
- UnLamda -- UnLamda language -- UnLamda programming language
- VarAq -- VarAq language -- VarAq programming language
- VBScript -- VBScript language -- VBScript programming language
-- Buzco
Is it PL/1 or PL/I (ie: is it a one or an eye)
- eye, as in IBM. That is how the salesmen pronounced it, when I was in the computer room.
- PL/M is the CP/M version, smaller of course.
Digging around on IBM suggests that it is PL/I pronounced Pee Ell One (roman numeral for one). That is consistent with my Dragon Book which uses PL/I except in one place where it uses PL/1 but I think that might be a typo. It is called "PL/I" by the ANSI standard: ANSI X3.74-1987 (R1998) Title: Information Systems - Programming Language - PL/I General-Purpose Subset
(on Fortran:) The reason there is a redirect is because both spellings are used and we want obvious linking to work. The pages Fortran and FORTRAN should probably be swapped round, but it doesn't matter much.
--drj
--- This article seems to be written largely from the point of view of a programmer in mainstream languages. For example, interactive use is attributed to interpreters, without considering that eg. many Smalltalk and Lisp systems have native compilers that are used interactively. Sorry for not bothering to work this rant into a considered and balanced edit of the article.
-- han
I disagree. I don't think we need to perpetuate the prejudices of "programmers in mainstream languages" (read C/C++, Java). That would be about as stupid as rewriting the operating systems entry from the point of view of a windows user.
Anyways, someone who has a copy of 'Programming Language Concepts and Paradigms' handy, an exceedingly comprehensible book on the subject, should rewrite this article. -- Ark
This entire section needs to be rewritten from scratch. This includes this topic plus those for the various languages and language concept articles. This is going to be a big project but I think its important. Computer programming is too much a part of modern life to be half covered in an encyclopedia so I have to agree with Ark. Rlee0001 05:25 Jul 27, 2002 (PDT)
On another note: I would limit the list of programming languages here to just the main languages and not all the dialects. For example, there are something like 15-20 dialects of BASIC listed in the BASIC programming language page. Instead of listing all of them, one link for the entire language would suffice. If the user want's a dialect, he/she can stiff get to it from the BASIC page. Same goes for all the languages. Further, I fail to see why people are listing such obscure languages and dialects in an encyclopedia. Some languages have historical or technological significance. Others are just current brandnames for half-written freeware with a source forge page and no user base. Should "Applesoft BASIC" really get its own topic? What did it do to revolutionize the language? Did it have a particularly large user base? Did it establish any conventions which are widely in use today? If not its probably not worthy of its own topic. Even worse is articles like ibasic. This is a basic interpreter for the mac. It has no historical significance: it was just created within the last year by an ameture developer who lives in some small cottage in sweden somewhere. It gets it's own encyclopedia article? Rlee0001
- I would propose the following:
- Make a (short) list of the most significant programming languages in history to put on the Programming language page. Annotate the list to make clear just why these language are mentioned.
- Make new article called List of programming languages, where every single progamming language can be mentioned, even dialects. This page can have several different orders, such as alphabetical, but also by type (functional, OO, etc.) or maybe even a history tree (there's a good book about the history of Programming Language by Sebasta, if I'm right, you may use that as a reference).
- For those dialects/spin-offs/implementations/ports of programming languages that are never going to be more than a single-sentence article: assemble on the page of the main article (BASIC programming language here) and make a section where you mention this or, when this is getting a long list, make it a separate article.
- That's what I think would be best. I'll try and see if I can help you with some of the work you're proposing to do; there are enough other people with knowledge about the subject around, so it should be possible to get something good out of this. Jeronimo 01:56 Jul 29, 2002 (PDT)
---
- BTW re: classifying languages by category, many languages belong in more than one category (constraint languages vs. rule-based languages vs. logic languages; and what about functional + OO languages like CLOS?) Just to keep in mind. --k.lee
Removed from subject page:
To Do: this is just an outline to get started; add some descriptive text (or put in '/' links) and add a few representative languages to the descriptions
- sequence of execution
- procedural, sequential, linear
- event-driven
- pseudo-random
- method of execution
- interpreted
- compiled
- hybrid
- main programming paradigm
- primary method of use
- script, shell, command
- macro, text processing
- application
- systems programming
- abstraction level
- other
- pathological
- specialty
Rlee0001 01:51 Oct 20, 2002 (UTC)
Do Ruby and Scheme really have several hundred thousand users, as in programmers who use them regularly? I doubt it, but I've been wrong before. Wesley
I believe so. But no one can prove either point anyway. --TakuyaMurata
Hi,
why have we put virtually every programming language on "Foo programming language", and not on "Foo" if "Foo" is reasonably unique? "Programming language" is disambiguation, and that should only be used when there is ambiguity, should it not? --Eloquence 00:08 Jan 24, 2003 (UTC)
- Please see Wikipedia talk:Naming conventions (languages). There's no counterargument against changing to a sensible naming scheme that I'm aware of other than that certain people seemed to take it as a personal affront when it has been suggested in the past. --Brion 00:12 Jan 24, 2003 (UTC)
Heck, I'd forgotten about that. The convention as stated at Wikipedia:Naming conventions does now say not to add "programming language" if the name of the language is unique, but I've not done any work in moving pages to reflect this new convention yet. I don't have time to start on this right now, but now that I've been reminded about it, I'll get to it when I have time (others, of course, are more than welcome - indeed encouraged, nay begged - to get there before me). --Camembert
Great. I'll start some moving, although fixing double redirs will be an annoyance and we'll probably lose some page histories .. --Eloquence 00:19 Jan 24, 2003 (UTC)
Rewrite?
FYI: For some time I've been working on a ground-up rewrite of this article, because its current state does not make me happy. It's not ready to go live, but I've finally posted my current draft in my user space. I welcome comment on my rewrite; also feel free to edit it directly. It's taking me a long time to do the rewrite, but I plan to replace the entire current article eventually. k.lee 02:28, 27 Aug 2003 (UTC)
- The link seems to be broken. -- P3d0 11:05, 27 Aug 2003 (UTC)
- It appears to me as a red "edit" link rather than a regular blue link. -- P3d0 21:49, 28 Aug 2003 (UTC)
- is there a reason that javascript isn't mention in the " Commonly Used Languages"? Also the link is red for me too ... reddi 21:58, 28 Aug 2003 (UTC)
- Ok, the link works now. -- P3d0 00:03, 1 Sep 2003 (UTC)
- I'm not sure I like the rewrite. I haven't read the original to compare it, but the rewrite seems to be at a very awkward level of detail. Anyone with enough background in the area to understand that writeup presumably doesn't need to read it. For instance, the grammar example casually uses the terms "atom" and "symbol" which have very little meaning to those outside the field of computer programming. In fact, the whole section on grammars would be better off in another article (say, on parsing). -- P3d0 00:10, 1 Sep 2003 (UTC)
The link seems to be working now. :-)
Some people including me might take exception to Python being classified as procedural with bolt-on OO technology, this has been extensively discussed in the Python community
I would like to ask is there a clear concensus that the original article is unsatisfactory to the extent that it needs a re-write? TonyClarke 11:38, 27 Aug 2003 (UTC)