proliferation of computer languages


X

xahlee

Today, i took sometime to list some major or talked-about langs that
arose in recent years.

Here's the result:
http://xahlee.org/UnixResource_dir/writ/new_langs.html

Plain text version follows.

-------------------------------------
There is a proliferation of computer languages today like never
before. In this page, i list some of them.

In the following, i try to list some of the langs that are created
after 2000, or become very active after 2000.

* Erlang↗. Functional, concurrent.
* Haskell↗ Oldish, functional.
* Mercury↗. Logic, functional.
* Q↗. Functional lang, based on term rewriting. To be replaced by
“Pure†http://pure-lang.sourceforge.net/.

ML Family:

* Oz↗. Concurrent. Multiparadigm.
* Alice↗. Concurrent, ML derivative. Saarland University, Germany.
* OCaml↗
* F#↗. Microsoft's functional lang.

Lisp family:

* Mathematica↗
* NewLisp↗
* Arc↗. Paul Graham's selling his name.
* Qi↗. Common Lisp added with modern functional lang features.
* Scheme↗, notably PLT Scheme↗.
* Dylan programming language↗. Rather dead.

Proof systems:

* Coq↗. For formal proofs.
* For much more, see Automated theorem proving↗.

Perl Family or derivative:

* PHP↗. Decendent of Perl for server side web apps.
* Ruby↗. Perl with rectified syntax and semantics.
* Perl6↗
* Sleep↗. A scripting lang, perl syntax. On Java platform.

Java related:

* C#↗. Microsoft's answer to Java.
* Scala↗. A FP+OOP lang on Java platform as a Java alternative.
* Groovy↗. Scritping lang on on Java platform.

2D graphics related.

* Scratch↗
* Adobe Flash↗'s ActionScript↗. 2D graphics.
* Processing↗. 2D graphics on Java platform.

Misc:

* Linden_Scripting_Language↗. Used in virtual world Second Life..

------------------------------

Following are some random comments on comp langs.

in the above, i tried to not list implementations. (e.g. huge number
of Scheme implemented in JVM with fluffs here and there; also e.g.
JPython, JRuby, and quite a lot more.) Also, i tried to avoid minor
derivatives or variations. Also, i tried to avoid langs that's one-
man's fancy with little followings.

For those of you developens in Java, Perl, Python for example, it
would be fruitful to spend a hour or 2 to look at the Wikipedia
articles about these, or their home pages. Wikipedia has several pages
that is a listing of comp langs, of which you can read about perhaps
over 2 hundreds of langs if you want.

The user base of the langs differ by some magnitude. Some, such as for
example PHP, C#, are within the top 10 most popular lang with active
users (which is perhaps in order of hundreds of millions). Some
others, are niche but still with huge users (order of tens or hundreds
of thousands), such as LSL, Erlang, Mathematica. Others are niche but
robust and industrial (counting academic use), such as Coq (a proof
system), Processing, PLT Scheme, AutoLisp. Few are mostly academic
followed with handful of experimenters, Qi, Arc, Mercury, Q,
Concurrent Clean are probably examples.

------------------

I was prompted to have a scan at these new lang because recently i
wrote a article titled “The Fundamental Problems of Lispâ€
( http://xahlee.org/UnixResource_dir/writ/lisp_problems.html (ranty)),
which mentioned my impression of a proliferation of languages (and all
sorts of computing tools and applications). Quote:

10 years ago, in the dot com days (~1998), where Java, Javascript,
Perl are screaming the rounds. It was my opinion, that lisp will
inevitably become popular in the future, simply due to its inherent
superior design, simplicity, flexibility, power, whatever its existing
problems may be. Now i don't think that'll ever happen as is. Because,
due to the tremendous technological advances, in particular in
communication (i.e. the internet and its consequences, e.g. Wikipedia,
youtube, youporn, social networks sites, blogs, Instant chat, etc)
computer languages are proliferating like never before. (e.g. erlang,
OCaml, Haskell, PHP, Ruby, c#, f#, perl6, arc, NewLisp, Scala, Groovy,
Goo, Nice, E, Q, Qz, Mercury, Scratch, Flash, Processing, ..., helped
by the abundance of tools, libraries, parsers, existance of
infrastructures) New langs, basically will have all the advantages of
lisps or lisp's fundamental concepts or principles. I see that,
perhaps in the next decade, as communication technologies further hurl
us forward, the proliferation of langs will reduce to a trend of
consolidation (e.g. fueled by virtual machines such as
Microsoft's .NET. (and, btw, the breaking of programer's social taboo
of cross communication of computing languages, led by Xah Lee)).

---------------------

in general, creating a lang is relatively easy to do in comparison to
programing tasks in the industry (such as, for example, writing robust
signal processing lib, a new feature in web server, video web server
framework, a game engine ...etc.). Computing tasks typically have a
goal, where all sorts of complexities and nit-gritty detail arise in
the solving process. Creating a lang often is simply based on a
individual's creativity that doesn't have much fixed constraints, much
as in painting or sculpting. Many langs that have become popular, in
fact arose this way. Popularly known examples includes perl6, Ruby,
Arc, Python. Creating a lang requires the skill of writing a compiler
though, which isn't trivial, but today with mega proliferation of
tools, even the need for compiler writing skill is reduced. (e.g. Arc.
(10 years ago, writing a parser is mostly not required due to existing
tools such as lex/yacc))

Some lang are created to solve a immediate problem or need.
Mathematica, Adobe Flash's ActionScript, Emacs Lisp, LSL would be good
examples. Some are created due to a new discoveries in computing
models. Lisp, Haskell, Qi, Prolog, SmallTalk, are of this type...

Some are created by corporations from scratch for one reasons or
another. e.g. Java, Javascript, AppleScript, Dylan, C#. The reason is
mostly to make money by creating a lang that solves perceived problems
or need, as innovation. The problem may or may not actually exist. (C#
is a lang created probably mostly just for legal reasons)

-------------------

Looking at some tens of langs, one might think that there might be
some unifying factor, some unifying theory or model, that limits their
type, class, or model. With influence from Stephen Wolfram book “A New
Kind of Scienceâ€, i'd think there's no such thing. That is to say,
different languages are potentionally endless, and each can become
quite useful or important or with large user bases. In other words, i
think there's no theoretical basis that would govern what languages
will be popular due to its technical/mathematical properties... (sorry
just writing out my thoughts here...) Perhaps another way to phrase
this imprecise thought is that, languages will keep proliferating, and
even if we don't consider langs that are one-man's fancy, there will
still probably be forever birth of languages, and they will all be
useful or solve some niche problem, because there is no theoretical or
techinacal reason that sometimes in the future there would be one lang
that can be fittingly used to solve all computing problems.

Also, the possibilities of lang's syntax are basically unlimited, even
considering that they be practical and human readible. So, any joe,
can potentionally create a new syntax. The syntaxes of existing langs,
when compared to the number of all potentionally possible (human
readible) syntaxes, are probably a very small fraction. That is to
say, even with so many existing langs today with their wildly
differing syntax, we probably haven't seen nothing yet.

Also note here all langs mentioned here are all plain-text linear
ones. Spread sheet and visual programing langs would be example of 2D
syntax... but i haven't thought about how they can be classified as
syntax. (nor do i fully understand the ontology of syntax)
(see e.g.
http://en.wikipedia.org/wiki/Syntax
http://en.wikipedia.org/wiki/Visual_programming_language
)

Just some extempore thoughts.

Xah
∑ http://xahlee.org/

☄
 
Ad

Advertisements

A

Andrew Thompson

Today, i took sometime to ..

..do some more trolling? It is not the proliferation
of computer languages that is any problem, merely the
proliferation of cross-posting trolls such as yourself.

Piss off.

F-U set to c.l.j.programmer only.
 
C

Chris Rathman

I can't say that I see any particular point to the essay. But I did
want to point out that Oz should not be considered part of the ML
family. Aside from not being statically typed - a very central tenet
to ML, Oz is much more part of the Logic family of languages (Mercury,
Prolog, etc...).
 
J

Jürgen Exner

Chris Rathman said:
I can't say that I see any particular point to the essay.

You must be new here. There never is any particular point to Xah Lee's
rantings except to cross-post borderline topics to borderline relevant
NGs and then lay back and enjoy the ensuing slaughter.

PLEASE DO NOT FEED THE TROLL
On Jul 18, 12:17 pm, "(e-mail address removed)" <[email protected]> wrote:

jue
 
S

szr

Jürgen Exner said:
You must be new here. There never is any particular point to Xah
Lee's rantings except to cross-post borderline topics to borderline
relevant NGs and then lay back and enjoy the ensuing slaughter.

Admittedly, I'm not all too familiar with his postings, but on a general
note, isn't it possible that someone else might not see it the same as
you do? I really didn't see anything really sinister about the posting
or it's content. It may very well be someone attempting to create a
conversation, someone who may not be generally well received a lot of
the time I gather.

Also, if have such a distaste for his postings, you are free to ignore
them as well. That said, I am all for alerting someone of something
which may be a complete waste of their time, but in this case it feels
like you are projecting your own dislike for the OP. Unless the OP
really is deserving of such branding (in which case I'd stand
corrected), I don't think it is reason enough to tell others not to read
of his work just because you aren't particularly fond of it.

Perhaps citing an actual example illustrating a reason to avoid him like
the plague would of helped :)
 
C

cartercc

Today, i took sometime to list some major or talked-about langs that
arose in recent years.

You missed PowerShell and ActionScript.

Languages are just tools. It may have escaped your notice, but it's a
remarkable fact that no two languages are alike! It's not the language
that we should focus on, but the task at hand. Personally, I feel that
we can gain a lot more by studying the different kinds of problems we
can solve by computing and relate the language to the job, rather than
learning a language and then trying to find a fit with a particular
class of problems.

If you look at TIOBE and the like, you will note that the top four
language categories (Java/JavaScript, C/C++, Basic, and Perl/Python/
Ruby) account for around eighty percent of the language usage (not
counting PHP), and all the other languages quickly fall off. No. 13 on
the TIOBE rating was PL/SQL at 0.073 percent. If you read the
employment ads (Dice, etc.) the percentage is even greater for the big
languages. To me, this indicates that we have several mainstream
languages that account for the vast majority of work and a vast number
of task specific languages for special purposes.

CC
 
Ad

Advertisements

S

szr

Grant said:
That's the, uh, "beauty" of Xah Lee's posts. There's enough
"there" there to suck people into what they think is going to
be a conversation. But it's not really a conversation. He
doesn't really read (or doesn't comprehend) responses to his
posts and will just continue to ramble on in a somewhat
insulting, half-rational stream of utterly opaque metaphors
that he thinks makes him sound deeply philosphical. It has
been theorized that he's an AI project.

So, some dark government experiment gone horribly wrong?
Quite a few people here in c.l.p put forth a a lot of effort
(for Usenet, anyway) trying to have a reasonable exchange with
xah lee, but it seems to be pointless. He's a perpetual critic
who looks down his nose at everything and thinks he could do
everything better than everybody else (not that he has actually
ever _done_ anything, AFAICT).

That's good to know.
It's not a waste of your time if you find him entertaining, but
I wouldn't expect any actual conversation where he reads and
understands your replies and responds to them in a rational
manner.

Yeah I wasn't really aware it was that bad.
google groups should be able to find you plenty of examples
both here and in perl groups.

Thank you for filling in some voids.
 
X

xahlee

over the past 5 years there are some negative remarks on me or my
posts. I have almost never responded to any of them. Here i want to
clarify a few things.

• I seldomly write off-topic posts. For example, any argument about
netiquette, i consider off-topic, including defense such as what i'm
doing now. But in recent years i gradually relaxed my stringent self-
imposed rules in my posting habit.
(See “Aloofness vs Approableâ€
http://xahlee.org/UnixResource_dir/writ/aloof_vs_approachable.html )

• many says i'm posting off topic posts. In recent years they start to
say i'm posting tangentially relevant posts. That's not correct. In
fact, there are huge number of blatantly off-topics posts by regulars
that spawn off from threads, happens regularly. The topics vary
anywhere from discussing politics, law, licenses, free speech, math
education, yapping on happenings of celebrity programers, and
including rampant flamewars and accusations among themselves.
(see ★ “Old School Netiquetteâ€
http://xahlee.org/UnixResource_dir/writ/os_netiquette.html
)

• Some people says that i don't participate in discussion, and this is
part of the reason they think i'm a so-called “trollâ€. Actually i do,
and read every reply to my post, as well have replied to technical
questions other posted. Most reply to my posts are attacks or trivial
(of few sentences) i don't consider worthy to reply.

A few, maybe 10% replies to my controvial posts, i consider having
some value. But if i don't have opinion on what they remarked, i don't
reply. Also, if all i wanted to say is “thanksâ€, i tend to avoid
posting such trivial posts too. (i used to reply by personal email in
such cases, I still do sometimes now, but today that can be considered
intrusive.)

(see ★ “Philosophies of Netiquetteâ€
http://xahlee.org/UnixResource_dir/writ/phil_netiquette.html ,
)

In newsgroups which i feel i'm more part of the community, i do reply
more often. (e.g. in the dot com years (~1999) i'm much more active in
comp.lang.perl.misc including asking technical questions; during
2005-2006 while i was learning python, did somewhat frequent posts to
comp.lang.python; in this year in comp.lang.lisp, i frequently replied
and argued more freely. But in this year, also very active in
gnu.emacs.help, most of my posts there just answered tech questions)

• Most newsgroup tech geekers consider cross-posting wrong. I consider
the taboo of this convention being a major contribution to the
redundant creation of new languages, and foster the hostile faction
nature of programing language communities we see.
(see ★ “Cross-posting & Language Factionsâ€
http://xahlee.org/Netiquette_dir/cross-post.html
)

• There's a lot rumors that says i post prodigiously. Actually, when
i'm active, i post only about 1 or 2 posts per week, in the past 10
years. (See the “Aloofness vs Approachble†article cited above. Note
that, last time i checked, the stat given by poster's profile at
groups.google.com is actually erroneous. I think it counts all replies
or multiply cross posts)

• Many say i repeatedly post old essays i wrote that are published on
my website. The total number of times i've done that is perhaps 4 or
absoletly less than than 10, since the 12 years of using newsgroup
started in 1996. The first of such “repeat†must be sometimes after
2004. The interval of a “repeat†happens is at least half a year, more
likely 1 or 2 years. Also, the repeat does not happen more than once.
(to be absolutely correct, possibly there is 1 essay that are posted
at a max of 3 times) I “repeat†a essay i've written because i think
the issue is important, the situation has not changed, and i consider
it worth to be said again. When appropriate, i incorporate information
from the discussion into by my essay, with proper credits. (this esp
has happened in my Python tutorial, emacs lisp tutorial, java
tutorial, various classical literature on my site)

Actually, most accusations about me falls apart if one just take 10
min to check the facts.

• When i used my google email account to post, as opposed to my older
google account (e-mail address removed), often people accuse me of “changing
identity to avoid killfileâ€. This is just one of their ways these
people drivel. I don't really give a **** i'm kill filed or not kill
filed. People change emails all the time. In the past 10 years of
using newsgroups, i've only used (e-mail address removed) and (e-mail address removed) .
And before 2000, i had few other emails before i registered the domain
xahlee.org. I rather stick with (e-mail address removed), but the re-login to
different google accounts with several of their services is becoming a
pain. See, for example, this post this month:

http://groups.google.com/group/Google-Accounts-API/browse_thread/thread/a179b4fd348900aa?tvc=2

Also, whenever i had a new webhosting provider, people dig it up and
accuse me of changing IP to troll. (this happens more frequently in
the past, say before 2003, i think that the knowledge of digging up IP
is now considered lame even amoneg these stupid tech geekers)

My site xahlee.org has changed web hosting about every 2 years for
variety of reasons. For a few years it was hosted free on the math
educational site that used to be mathforum.org of Swathmore edu.
(For some detail of my website hosting and history, see:
★ “Web Hosting Compared: 2006-01â€
http://xahlee.org/Periodic_dosage_dir/t1/webhosting.html
A little trivia: before i had xahlee.org in 2000, my site was hosted
at
best.com/~xah starting in 1996.
Some very very old sites still link to that.
)

The only time that my change of web hoster has anything to do with my
posting, is in 2006 someone harrassed me to have my web hosting kick
me off due to my controversial postings in comp.lang.* groups. I have
written a detailed account about it on my website. you can easily find
the url by web search “xah, dreamhost, harrassmentâ€.

(for the record, any ban, or harrasment on me, i keep a record as
truthful as possile. Most of these bans, kicks, or fights happens in
just aboun every online forum, inworld game groups, irc chat
groups, ...etc where the participants are almost all males. Typically,
they are not unlike highschool boys brawling things out. If the issue
effected me or pissed me in some serious way, i publish it on my
website. The keeping record is very tedious. For example, in
newsgroups you might want to save all the messages in a thread this
happened. In online forums, blogs, social networking sites, where
posts can be deleted or modified easily, it's more tedious to keep a
history of the site (e.g. screenshots), and to keep a manual written
log of what happened when. Similarly, in irc, you have to save the
chat, manage the chat logs, adding comment on what happened where with
what chat log, finding out people's real identities if proper, etc.
(as a example, i've been ban'd in freenode.com's #emacs irc chat since
2006. See ★ “Emacs Irc Channel Ban on Xah Lee†http://xahlee.org/emacs/xah_ban_emacs_irc.html
. I have a bunch of irc chat logs when i'm banned. I always save the
chat log when someone ban me unjustly. But it's quite time consuming
to organize them and write about them.))

(as another example of ban, in about 2 months ago i was ban'd in
Wikipedia. I was editing 3 article related to Tibet, of which i
consider my edit very proper. But, in my opinion, it's too much againt
Western's popular beliefs. I wrote detailed argument about my edit in
my Wikipedia's personal talk page. The Wikipedia fuckheads not only
ban'd me, but subsequently ban'd me in editing my pesonal Wikipedia
page too, and blatantly deleted the detailed reason that i defended my
edit. The incident is here, bottom:
http://en.wikipedia.org/wiki/User_talk:P0lyglut
the writing where i defended my edit, is here:
http://en.wikipedia.org/w/index.php?title=User_talk:P0lyglut&diff=prev&oldid=215672906

Wikipedia these days is a huge organization (ranked top 10 of all
sites), and part of the good thing is that they have some rules and
regulations that prevents the fuckheads powers struggle too much, in
that they have 1-month ban, with record of history, and in general has
ways to further one's case to judgement. However, it's still subject
to a lot tech geekers or other cartel of vested interest in keeping
some article to the way they liked. I do consider Wikipedia one of the
most important site and in fact part of my life, but these days i
avoid “contributingâ€. (e.g. i have now over 4000 links to Wikipedia
articles from my site. I estimate, that for each link i've made, there
are maybe 10 more article i've read. See for example:
★ “Links To Wikipedia from XahLee.orgâ€
http://xahlee.org/wikipedia_links.html ,
★ “Generate a Web Links Report with Emacs Lispâ€
http://xahlee.org/emacs/elisp_link_report.html ,
★ “Encyclopedia, My Experiencesâ€
http://xahlee.org/Periodic_dosage_dir/encyclopedia.html
★ “Lispers and Wikipediaâ€
http://xahlee.org/emacs/lispers_n_wikipedia.html
)
)
-----------------

I've been actively using online forums since 1991 in CompuServe and
AppleLink days. I've seen my share of flames, netiquette arguments,
etc. (the medium include: newsgroup, mailing list, web forum, irc,
communities inside massive multi-player online games) I've been banned
now and then in places. (in one case, legally definable harrassment,
which happened and perhapss well-known at the time in comp.lang.*
groups few years ago) From what i see, the banning, heated accusations
and quarrels, are mostly exhibition of male nature and political
struggle, not unlike political struggles that happens in society at
large, such as in academia, corporations, goverment orgs, between
corporations, between nations.

Some say “why can't you be normal�

It is true i tend to discuss controversial topics and with non-
conformal attitude. I have my reasons and you could say it's just a
personality. However, “being not normal†is not a reason to accuse.
There are philosophers, unorthodox, dissenters, free thinkers, flag
bunners, protesters, traitor/founder, homosexuals ... many are
persecuted, considered a crime, in the past, and some are now
considered national or international heros.

Btw, this post is not some kinda formal defense to some formal
accusations. Newsgroups has always been a very contentious and
argumentive medium, and perhaps far more wortheless with relatively
little readership and impact on society than tech geeking regulars
like to think. People in fact like newsgroups that way. I don't feel
necessary to respond to morons. This post is just one of my post i
feels like writing. You guys to whatever it is that you do.

PS as i have detailed, i have my own moral ethics in posting. Most
posts and opinions are just too stupid, igonrant, for me to consider
replying. If you really belived that some of my opinion or posts are
wrong, contain bad advice, or wrong fact, then do post, as i do read
every reply it shows up in groups.google.com. And, whatever is your
opinion, i would recommend you spend 30 minutes to write your reply.
(as i do spend 1 to even 6 hours in most of my newsgroup posts as
explained in detail in one of the above cited article) Also, if the
subject is unconventional and you see i put forth my opinion
forcefully, i suggest you take 30 minutes, to think, do research,
about it before you reply. Also, if prefer to reply to those who post
with real names.

Again, i don't consider this is some serious issue, or that my
opinions and beliefs and behaviors are always correct. It's just
another newsgroup day. Do whatever it is that you do.

Xah
∑ http://xahlee.org/

☄
 
Ad

Advertisements

J

Joshua Cranmer

• many says i'm posting off topic posts. In recent years they start to
say i'm posting tangentially relevant posts. That's not correct. In
fact, there are huge number of blatantly off-topics posts by regulars
that spawn off from threads, happens regularly. The topics vary
anywhere from discussing politics, law, licenses, free speech, math
education, yapping on happenings of celebrity programers, and
including rampant flamewars and accusations among themselves.

There is a difference. Many of your claimant off-topic posts are buried
in the end of threads, not at the explicit start of a thread. In those
cases, I personally feel that not moving to another forum is trumped by
the sake of continuity. Even then, it should be indicated as such by OT:
in the subject, but it gets easy to forget it. Starting a thread that is
OT does not have such continuity considerations, though.

And realize that something is not on-topic merely because it's relevant
to Java programmers. You can see people's responses to one of Roedy's
threads as an example.
• Most newsgroup tech geekers consider cross-posting wrong. I consider
the taboo of this convention being a major contribution to the
redundant creation of new languages, and foster the hostile faction
nature of programing language communities we see.

X-Posting to groups as diverse as c.l.perl.misc, c.l.python, c.l.lisp,
c.l.functional, and c.l.java.programmer (the last one especially, as it
is not a functional language nor will it ever be) is generally a sign
that you are not X-Posting in a germane fashion. Your original topic
belongs in comp.programming or maybe (I can see a case for it) in
c.l.functional, but not the other four groups.

I wrote detailed argument about my edit in
my Wikipedia's personal talk page. The Wikipedia fuckheads not only
ban'd me,

"When in Rome, do as the Romans do." Fragrantly violating the
established rules of an organization, especially after being reminded of
these rules, is sufficient cause for disciplinary action.


And you're entire post gets more and more OT every paragraph. I can in
no good faith allow this to continue. Setting F-U header to take
appropriate actions.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top