This is the
talk page for discussing improvements to the
List of programming languages by type article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google ( books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
This article is rated List-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I just read an article on the Liszt language and thought maybe it should be added? I couldn't find anything on Wikipedia about it. http://liszt.stanford.edu/ http://liszt.stanford.edu/spec.pdf The language is designed for use with super computers, and programming across large numbers of CPUs. They keep saying "Liszt Language" a lot, and I suppose it is an offshoot from Scala. Or is it really just a compiler bolted on top of Scala? I don't know. Zarkme ( talk) 00:40, 29 June 2012 (UTC)
i a good man — Preceding unsigned comment added by 50.164.130.160 ( talk) 14:37, 17 May 2016 (UTC)
jain leads to a religion page. I don't think that's right. —Preceding unsigned comment added by 63.226.108.126 ( talk) 02:07, 13 December 2008 (UTC)
This article was nominated for deletion on 26 March 2008. The result of the discussion was keep. |
This page is missing languages like applescript and hypertalk and others. I don't know what categories you would want to add, such as fifth generation languages perhaps, or beginner-friendly languages (basic variants belong there as well).
(suggests adding markup languages) (runs from flack) -- 24.126.30.46 00:25, 27 November 2005 (UTC)
Something went wrong with the formatting when I tried to edit! HELP! -- RTC 22:10 Apr 9, 2003 (UTC)
Yes, that looks more like the original. All I did was edit the page and change a couple items. I have no idea what inserted all that "trash", I've never seen it happen before! -- RTC 22:17 Apr 9, 2003 (UTC)
What about the REBOL language? It's more than a scripting language, but I don't know quite enough about all this to know where to put it. -- Marj 18:21, 4 Jan 2004 (UTC)
Aren't batch and scripting languages the same thing? Evil saltine 06:45, 8 Jan 2004 (UTC)
Some so-called 'scripting languages' are not 'batch processing' languages in the strict sense of the term (compare sed and python for example; sed is very much a batch processing language, whereas python is full featured enough to write complete systems with). While you *can* use them in this way - just about any other language for that matter can be used in a 'batch' processing mode. A language is a language - plain and simple. I think the term 'scripting language' has been used too often to deprecate the subject language as 'not a real' programming language - i.e. 'it is a useful toy for small tasks' - but not much use for any 'real' large application/system programming utility. Modern languages such as Python, Ruby, and Perl argue against this characterization.
I think there are probably several additions that could be made to the Little Language category from the Unix environment. SED and BC are the top two that come to mind. Of course, the nix environment is full of tools like these, so are you guys drawing the line at the more recognizable "little Languages"? That may be a good idea so that the category doesn't get swamped. 75.88.30.191 ( talk) 15:23, 28 November 2009 (UTC)
In my opinion, C# listed in these various categories should not have an editorialization in parenthesis afterwards. These editorializations are opinionated, inprecise, and entirely unnecessary (if one wanted to know more about C#, they would simply read the entry for C#).
I'm new here, so instead of just taking a whack at it, I'll check what the more experienced here have to say.
Samrolken 10:29, 18 Jan 2004 (UTC)
Isn't Ruby is also a Curly brace programming language? I am a layman, but I want to help. -- cow_2001 12:21, 4 Sep 2004 (UTC)
Compared to python it belongs in the curly brace family. Perhaps it should be added with a caveat?
if
/while
/do
/def
/..., end
). The {|params| body} syntax is roughly just a shortcut for do
...end
: it specifically declares an anonymous function, instead of acting as a generic syntactical grouping, like other
curly bracket programming languages.I think Perl scripts are more interpreted then compiled. -- Michal Jurosz 10:06, 6 Feb 2005 (UTC)
I think you're right.
Hmm... JIT compiled is still compiled. Strange conundrum -- perl itself jumps through hoops to simulate an interpreter while compiling and caching code. But it is possible to pre-compile perl into binary form to make it load and execute quicker. zowie 17:14, 13 December 2005 (UTC)
Python compiles bytecode - very similar to Java - when it runs. Furthermore, the bytecode is deposited in a .pyc file alongside the source .py file. If detected at runtime, this compiled bytecode is used instead - making second and subsequent initialization loads much faster.
Also, my understanding is that both Perl and Python have utilities for generating binary executables (basically the virtual machine is encoded along with the bytecode in a binary). Does anyone have sufficient experience using these facilities to comment on them here?
I like to point out that for most uses of Python such as CGI, it is interpreted. Also, I'm not sure I'd include bytecode as a compiled language either, because the intermediate file also has to be interpreted. I'm of the opinion that Python should be removed from the Compiled Language list until someone writes a suitable compiler for the language. Which, as pointed out by Piet, probably ain't too far off. I am not going to remove it myself, I'll leave that to someone else (or nobody). I just wanted to state my opinion. 75.88.30.191 ( talk) 14:58, 28 November 2009 (UTC)
Can we add a stack-based category? Stack_(computing) -- 213.48.248.121 21:28, 4 May 2005 (UTC)
I'm not sure on this so can anyone shed any more light? -> There's only 2 assembly languages listed here - What about the different assembly languages for each processor? e.g. x86 assembler, motorola assembler etc... I don't know enough on assembly languages specifically to really makes changes to this section.
Pascal is listed under Iterative languages ("Languages built around or offering generators"), but cursory research seems to indicate the opposite. Can someone more familiar with Pascal confirm this? -- Piet Delport 13:29, 7 November 2005 (UTC)
Could someone put lists for "Write once, run anywhere" and "Write once, compile anywhere". That's a crucial choice when choosing a language imo... -- MatthewKarlsen 14:28, 27 December 2005 (UTC)
I would answer that some are clearly trivial to identify --- e.g. java, python, perl for 'write once, run anywhere'; on the other hand 'write once, compile anywhere' is dependent upon having an assembly language, and then a compiler built for a particular cpu architecture - trivial if you stick to basic functionality that all CPUs are likely to have, but not trivial if you happen to use functionality specific to particular CPU's instruction set (c and c++ come to mind as languages that allow low level interaction with the cpu - but again 'it depends upon how you use the tool'). Finally, what do you consider 'compilation'? Does Java's, Python's or Perl's bytecode compilation count for this category? It is can be problematic - nonetheless useful in practice.
Since this is a Categorical list of programming languages, wouldn't it be easier (and more maintainable in the long term) to simply create a bunch of Wikipedia categories for each category on the list, and add the listed languages to each of these categories? Then add each of the categories to Category:Programming languages, and the need for this list pretty much vanishes. Plus new additions to the "list" are handled locally. -- Allan McInnes ( talk) 16:44, 11 April 2006 (UTC)
This list could use a lot of cleanup, both internally and externally. Many of the lists contained correspond to categories, but they aren't listed; I've started to add a see also link where possible to rectify this. Often, these lists contain languages that are not categorized as being in the list; I've started to fix that, making sure that the languages are either in that cat or in an appropriate descendent cat. The categories contain languages that aren't listed on this page as well, but I figure that having the category links will make that tolerable enough; it would of course be better to update the list with everything listed in the categories, but I'm not doing that myself.
Not all sections have a corresponding category. I've already added one new category that seemed reasonable, but others I wasn't sure of. I figure that once I've finished doing what makes sense to me, I'll probably start posting questions about the stuff that I'm less sure what to do with—unless someone else deals with them first.
There was some discussion as to whether this list should be kept. If it ever is deleted, this kind of cleanup should be finished before the deletion.
If anyone has any comments, concerns, or suggestions on how to continue this effort, please share. – Zawersh 00:04, 3 June 2006 (UTC)
It seems to me that the concept of Object Oriented Programming was introduced by Alan Kay and first implemented in his Smalltalk language. Alan Kay referred to Simula as on the major of the sources of inspiration. Thus Simula is not the first object-oriented language, but a direct precursor of Object Oriented Programming. —Preceding unsigned comment added by P99am ( talk • contribs) 22:55, 23 November 2008 (UTC)
I am not a Simula expert, but to the best of my understanding, Simula67 contains the characteristics of what we today call object oriented programming languages (although Kay first used the term). Jack Waugh ( talk) 16:02, 23 September 2011 (UTC)
I am currently editing a script on computer languages and their use for scientific computation. I am missing references in the page. Aren't there any good books one might cite? 91.50.123.121 ( talk) 16:30, 16 December 2008 (UTC)
There are many languages that are no longer in use, often because the machines they ran on no longer exist.
The example I came looking for is PROSPER, a financial modelling langauge used in the 1970's and 80's on ICL 1900 range machines.
I see two issues with adding such langauges to this page. Firstly, do they being here? Secondly, the lack of sources or references.
Andrew.Blucher (
talk) 04:42, 12 January 2010 (UTC)
Shouldn't PHP go under the interprited languages heading too. It can be compiled but rarely is. -- 193.113.135.87 ( talk) 12:02, 4 August 2010 (UTC)
The word curly doesn't appear to this article, but lots of redirects related to curly bracket languages redirect here. Mathiastck ( talk) 16:03, 21 October 2010 (UTC)
Seconded. This is really unhelpful. Was there an article Curly bracket programming language at some point? If so, could we either have it back, or have a suitable distillation of its contents included here? In particular (and this would require a separate article), it would be interesting to have something about the history of this combination of syntactic elements; what was the first language to use it? What was the first major language to use it? I know it's in C; did C get it from BCPL? Where did BCPL get it from? -- Tom Anderson 2010-12-51 —Preceding unsigned comment added by 109.231.204.82 ( talk) 18:26, 15 December 2010 (UTC)
What about a category for languages (at least originally) based on line numbers or labels and GOTO statements, like BASIC, FORTRAN, or COBOL? These languages (especially in earlier versions) used several variations of GOTO and other statements that use line numbers as their primary form of flow control. These include arithmetic IF, computed GOTO, ALTER, GOSUB, PERFORM, the ability to use an expression as the target of a GOTO statement, THEN or ELSE taking a line number as their target, and the ability to go to any line in the program. Unlike C or Perl where goto is only for convenience, like breaking out of nested loops/switch statements or jumping to a common cleanup routine, it's almost impossible to write a useful program in these languages without using a line number or label. Since there's a "curly-bracket languages" list, there should also be a list for these types of languages. 76.205.72.76 ( talk) 22:16, 27 June 2011 (UTC)
A useful subcategorization of logic-based languages would between those that are purely declarative and the others. Jack Waugh ( talk) 16:10, 23 September 2011 (UTC)
Add Category:Agent-based programming languages? 99.190.87.151 ( talk) 04:02, 28 January 2012 (UTC)
There exists another list of interpreted languages in List of programming languages by type. New items in that section should be brought over to the corresponding section in this page (along with any notes), then the section should be deleted and replaced with the link here in either the end of the intro or the "see also" section. There are complications, however. This page does not include sub-bullets to indicate the ancestry of languages. Should we change this page or just sort out the page? Furthermore, the list is not alphabetical, which will be a pain. I have posted this note on the other page as well. AllenZh ( talk) 01:12, 18 March 2012 (UTC)
It would be meaningful to list languages that are *not* curly-bracket based, like Haskell and Python. I have two proposed names to my avail, "Non-curly bracket languages" or Off-side_rule languages. Latter has a list that should be incorporated into this.article.
C++ is in the assembly laguages category, but as far as I know it is not an assembly language. Shouldn't it be deleted? Zolija ( talk) 14:36, 24 January 2013 (UTC)
So I know AS2 has support for classes, but I don't know whether that makes it class-based or not, or if classes need to be a prominent part of the language for it to qualify (I've never programmed in AS2, so I don't know how classes are often used in AS2 programming). 129.21.34.68 ( talk) 12:59, 1 April 2013 (UTC)
Should this list be subject to WP:WTAF? There are a fair number of redlinks, and more get added over time, although some are removed as well. On List of programming languages, for example, the no redlink policy is fairly strictly enforced. I think the policy should apply here, but as it clearly has not been really enforced in some time (if ever), I thought I'd open a discussion before removing them. Rwessel ( talk) 22:39, 21 November 2013 (UTC)
Done. A summary:
Should I hit the other "List of programming languages by..." articles too? Rwessel ( talk) 08:35, 15 December 2013 (UTC)
E.g. these two categories include "TeX" as "programming language":
Kazkaskazkasako ( talk) 13:26, 3 June 2014 (UTC)
In the section of curly-bracket languages, does TCL refer to Tcl or Transaction_Control_Language? (Both are computer languages.) — Preceding unsigned comment added by Wbeek ( talk • contribs) 20:45, 22 December 2014 (UTC)
The definition and list of data languages might be better titled RDBMS languages, since they both (currently) appear to be constrained to relational data.
XPath is certainly a data language for any reasonable definition of that broad term, though doesn't manipulate "entity relationship tables". Lisp, being homoiconic, could be argued to be a data language. Regular expressions could be said to be a "data" language as well.
Brianary ( talk) 17:55, 23 February 2015 (UTC)
70.71.28.122 ( talk · contribs) added a summary table. While I do not fundamentally object to such a thing, in its current form it is absurdly incomplete, listing five of hundreds of languages and three of ~60 categories. If we're going to keep this, we should have some policy on what's included, and some plan to actually get this to be fairly complete based on that criteria. Otherwise there no hope at all that this will be maintained as the rest of the list gets updated. Rwessel ( talk) 10:09, 24 March 2016 (UTC)
Your own article says Ada is object-oriented but it is listed as a procedural language. Perl has not been a procedural language for a long time. — Preceding unsigned comment added by 70.115.135.184 ( talk)
C is listed under the Functional languages section, but the only functional feature it has is the ability to pass functions by reference as parameters. It doesn't even have closures, much less any way to compose two functions, and idiomatically, it relies very heavily on mutable state and pointers, without any garbage collection and very explicit resource management (more so than even Rust or C++).
If you consider the GCC-specific extensions, then it could potentially be argued, because inner function closures are fully supported, but those are rarely used in practice. Compilers also occasionally employ tail call optimization when optimizations are enabled, but it's not required by spec. But even then, I don't think that necessarily is enough to call C a functional language, so in my honest opinion, it probably should be removed from that list.
129.71.158.128 ( talk) 18:41, 18 October 2016 (UTC)
Agreed. We could even get looser in the definition and state that assembly is a functional programming language. It's not because a language allows functional constructs to be defined that they are FP languages. — Preceding unsigned comment added by 74.12.162.30 ( talk) 02:44, 13 March 2018 (UTC)
Hi all, I'm missing Real Time Languages as category — Preceding unsigned comment added by DrHBK ( talk • contribs) 14:49, 27 December 2017 (UTC)
Whether a language is procedural has nothing to do with whether it is compiled or interpreted, but has to do with the semantics of the language. A procedural language is characterized with the sequential execution of blocks or statements that can modify the state, e.g., set variables, subject to modification by various control structures. Types of languages that are not procedural include functional languages, in which functions are not allowed to alter the state and rule-based languages, e.g., Prolog.
Most if not all of the shells listed in the article are procedural, and at least one of them is also compiled. Shmuel (Seymour J.) Metz Username:Chatul ( talk) 19:40, 16 January 2019 (UTC)
1. Note [a] - Would someone have a look at this note? I can't parse it at all. 2. And 'Little Language' seems rather disrespectful. SQL is far more powerful than many 'full' languages. I think the proper term is 'Domain Specific Language'. — Preceding unsigned comment added by 174.7.15.241 ( talk) 02:50, 9 July 2019 (UTC)
(Also asked at Talk:Forth (programming language)#Where does FORTH belong on our list of programming languages by type?)
FORTH is listed under:
And yet FORTH is not listed under "imperative languages" and there is no category for "threaded languages" or "threaded interpreted languages" (which, of course, only describes some implementations of FORTH).
So I ask, where should FORTH be listed on our list of programming languages by type?
Related: What is the Forth programming language?, The Evolution of Forth. -- Guy Macon ( talk) 18:02, 17 March 2020 (UTC)
There is an app in the Play Store / App Store that's called "Fancade". By many users, the visual programming language is called "Fanscript". Fancade is an engine written in C + OpenGL + Bullet physics, according to the official wiki. It executes programs by dragging scripts and wires.
One of the recent edits adds Fanscript (Fancade) into the list of visual programming languages. So I ask: should Fancade's programming language be added/kept to the list of visual programming languages? - D-ynamics ( talk) 11:00, 4 July 2020 (UTC)
Hi! sry to bother, I'm reading wikipedia a lot but so far have only done some minor typo fixes. the Julia entry has a bigger line of text after it within the list, and that spills over in other table columns. If I play around with my browser size, it goes to two lines per column, but the order is wierd so its hard to read. I don't know how to fix that, maybe someone with some edit experience can quickly fix that up, thy wikipedians! I don't have an account but best wishes 24.134.80.25 ( talk) — Preceding undated comment added 09:11, 16 November 2021 (UTC)
I added, not too long ago, Pony (programming language) under several subheadings, and my change was immediately reverted by someone who mistakenly assumed that it was vandalism.
It was not. Pony is what I claimed it was in my edit. The website is https://ponylang.io
Obviously, there's no page for the language on Wikipedia, and I had hoped someone else would have taken up the charge of writing up a stub (I don't know the protocol for such things.) 50.35.80.67 ( talk) 04:59, 5 March 2023 (UTC)
Wukuendo, you are repeatedly adding Vlang to this list despite the fact that it does not meet the list inclusion criteria. This list is for programming languages that demonstrate notability by having their own Wikipedia page. All other languages always get reverted. You have left a link on my talk page. The link you left was incorrect, but should be to Draft:V_(programming_language). That is a page in draft space and not in main space. When that draft is published, and assuming it is not immediately rejected by a new page reviewer, or taken to AfD as not notable, then you can, at that point, link it here. Until then, the link cannot be here. Per WP:ONUS it is also your responsibility to gain consensus for inclusion of challenged material. You have not done that, but simply reverted your edit back in 2 times now. It is very tempting to simply re-assert edits when you think you are right, but please note that doing so is edit warring. Please discuss instead. Sirfurboy🏄 ( talk) 09:58, 13 March 2023 (UTC)
I've added SETL to #Imperative languages but am not sure in what other categories to list it. My first thought was #Esoteric languages but there might be other relevant categories. Shmuel (Seymour J.) Metz Username:Chatul ( talk) 16:49, 13 March 2023 (UTC)
Supposedly only languages that have demonstrated notability are allowed to be on this page. Yet, there are various languages listed which don't have their own page. Some of the languages, which will be listed below, have links to external pages and others don't. From the perspective of programming language history, not administrative, arguably various listed languages are significant. Hopefully various ones do get a page, at some point. List of languages in question below:
Wukuendo ( talk) 02:22, 25 July 2023 (UTC)
Should there be a section on languages where blocks are delineated by keywords rather than braces, e.g., BEGIN/END, PROCEDURE/END? Examples include Ada, Algol 60, Icon, Pascal, PL/I. -- Shmuel (Seymour J.) Metz Username:Chatul ( talk) 16:56, 12 February 2024 (UTC)
This is a 'list of languages by type' but just as importantly it is also a 'list of language types with examples'. People seem to want to add new types as much as adding new language items. ... Just saying. Stevebroshar ( talk) 11:47, 29 April 2024 (UTC)
Current text: "Scripting language" has two apparently different, but in fact similar, meanings. In a traditional sense, scripting languages are designed to automate frequently used tasks that usually involve calling or passing commands to external programs. Many complex application programs provide built-in languages that let users automate tasks. Those that are interpretive are often called scripting languages. Recently, many applications have built-in traditional scripting languages, such as Perl or Visual Basic, but there are quite a few native scripting languages still in use. Many scripting languages are compiled to bytecode and then this (usually) platform-independent bytecode is run through a virtual machine (compare to Java virtual machine).
So one meaning is: language designed to automate frequently used tasks. What is the second meaning? Stevebroshar ( talk) 19:47, 10 May 2024 (UTC)
One missing category is string processing languages, used for manipulating text. Off the top of my head this includes
These languages are important historically, and many of their features have entered the mainstream. -- Shmuel (Seymour J.) Metz Username:Chatul ( talk) 10:22, 28 May 2024 (UTC)