![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible schrieb:
> When the C64 was designed, extremely powerful languages such as List,
> Prolog, Smalltalk and even Pascal were already decades old. And yet, the
> C64 came with... BASIC?
Sure.
Home computers called for a language with the following features:
- Interpreted (to be able to double-act as a "shell")
- Low memory footprint (to fit in the limited ROM and RAM)
- Shallow learning curve (to give users a false sense of being computer
experts)
And once Commodore had established BASIC as the de-facto standard for
home computers, the case was settled anyway.
> Even as Borland released TurboPascal 5.5 for DOS [that's the one with
> the object-oriented extensions which aren't actually object-oriented],
From what I remember, I'd disagree. (Then again, maybe there was a
difference between TP 5.5 and TP 6.0; I only really used the latter; and
TP 3.something earlier.)
> - C and Prolog appeared at the same time. This doesn't make a lot of
> sense. C is a crude, simplistic low-level bit-twiddling langauge, while
> Prolog is a powerful high-level logic manipulation language. If there
> were computers capable of running Prolog, why did C need to exist?
Maybe simply /because/ Prolog was such a high-level language, and didn't
fit all applications? Like, for instance, writing a Unix kernel (which
is what C was initially invented for)?
> - SQL existed 15 years before high-capacity storage devices appeared.
This is somewhat unsettling indeed.
> - PostScript was invented 10 years before laser printers existed. (It
> was apparently designed specifically with laser printers in mind, as I
> had always believed.)
You're wrong here: The first laser printer dates back to 1969, while
even the roots of PostScript date no further back than 1976.
Furthermore, the language was initially targeted at the offset printing
industry to drive Computer-to-Film imagesetters, and was only later
adapted to laser printers.
- Perl predates the Internet by half a decade. (WTF?) I can only imagine
> it began life as a Unixy text-munging system in the style of awk, sed, etc.
You surely mean it predates the /World Wide Web/ by half a decade.
According to Wikipedia, it was indeed developed (at NASA, btw) as a Unix
tool for report processing.
> - JavaScript predates Java. (WTF?!)
... under the titles "Mocha" and later "LiveScript", yes. The name
JavaScript wasn't coined until December 1995 - when Java was already
released to the public (not in 1996, as your chart implies) - probably
in an attempt to benefit from the Java hype of those days.
> - Visual Basic is significantly older than Delphi.
No surprise here; Delphi was actually Borland's attempt to regain market
shares, after Microsoft's success with their BASIC dialect and IDE,
which first introduced (at least to the masses) the concept of a "GUI
modeller" that allowed to visually edit an application's graphical user
interface instead of generating it programmatically.
> - Ruby, PHP and JavaScript were all around at the same time as Delphi.
> This is puzzling because when Delphi was new, the Internet didn't really
> "exist" yet.
Again, I guess you mean WWW, not internet.
And yes, it did exist already, although in this case Microsoft was just
appearing on the scene; the first graphical web browser, NCSA Mosaic,
had been released two years earlier already, and the WWW was already all
the rage by 1995.
The WWW itself actually dates back to 1991, when it was still text-based.
(As for PHP, it should also be noted that back in 1995, when it was
first released, it was not much more than a toolset written by the
author to manage his own personal homepage.)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible schrieb:
> That must make me rare then. I can program in BASIC [I MEAN OLD SKOOL
> BASIC WITH ALL-CAPS AND LINE NUMBERS INSTEAD OF A TEXT EDITOR], Pascal
> (which is structured), PostScript (which is weird), JavaScript, Java,
> Smalltalk, Eiffel (which are all OOP), Haskell (which is functional),
> SQL (which is relational), and I have a vague grasp of Lisp and Prolog.
> I've also written in machine code. (No, I don't mean assembly. I *mean*
> machine code. I couldn't afford an assembler, so I assembled the program
> by hand with a big book of op-code tables...)
Hum...
BASIC: Yes, first language I learned. On a home computer, of course.
Locomotive Basic, to be precise. Amstrad CPC 6128.
Pascal: Second serious language I learned. Turbo-Pascal 3.Something back
then on CP/M machines, later Turbo-Pascal 6.0. My personal favorite
language in DOS times.
PostScript: Yes, been there. Weiredest (and therefore most interesting)
language there is out there, if I'm asked (except for /deliberately/
obfuscated languages, which aren't half as interesting due to the
frustration potential involved).
JavaScript, Java, SQL: Yes.
Smalltalk: Seen it; would take some days to get back into it.
Eiffel, Haskell, Lisp, Prolog: No, never seen (well, seen a /bit/ of
Haskell here of course :-))
Machine code: Yes, I think I did "poke" a few bytes into my Amstrad CPC
6128; 0xCD was CALL and 0xC9 was RET, if I remember correctly, but it
has been a while; I preferred assembler anyway (Zilog Z80, 16- and
32-bit Intel 80x86, Intel 8051).
There are lots of other languages out there though, some of which I've
done serious work in - like BASIC (Visual Basic for Applications, that
is), BASIC (good old Siemens mainframe BASIC yet another animal), Unix
shell scripts, XSLT (kind of an XML query language), and C# - some of
which I had to learn or toyed around with a bit - like COBOL (yuck!),
Logo (who hasn't toyed around with /that/? Allegedly you could even do
other stuff with it than just draw), UnrealScript (gee, first time I saw
a language natively supporting state machines; and network replication;
and all that object-oriented, of course), Nice, Tcl/Tk, awk, and maybe
one or two more - and some of which I had a quick look at, like lua.
> Did I mention POV-Ray SDL in there?
Oh, yeah, now that you mention it... :-)
> Lisp isn't too hard to interpret either. (But arguably too hard for
> 8-year-olds to program with.) Smalltalk is pretty easy to interpret, and
> easy on the brain too. Prolog would also not be hard to interpret, but
> probably not especially useful for home users.
I guess all these languages wouldn't really fit the limited capacities
of a home computer. Can you, for instance, imagine an object-oriented
runtime system on something like 32kB RAM and 16kB ROM? Running at 1
MHz? With automatic garbage collection and all?
Plus, I guess these languages would have lacked syntax for peeks &
pokes. Can you imagine the home computer boom without peeks & pokes? :-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Captain Jack schrieb:
> Hmmm... lessee... Coursewriter, Fortran, COBOL, Pascal, Lisp, BASIC
> (Dartmouth, A-BASIC, GWBASIC, VB et cetera on and on), C, C++, C#, Providex,
Ah yes, I forgot C/C++ of course...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible schrieb:
> I might also throw in Mathematica, TeX, Tcl, MS-DOS scripting, and the
> various other languages which aren't "programming languages" such as
> HTML, CSS, XSLT, AmigaGuide, ARexx, Automake, the lambda calculus...
Well, if XSLT isn't a programming language, then SQL isn't either
(unless you go for stored procedures, but each manufacturer seems to
roll their own there).
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
clipka wrote:
> Invisible schrieb:
>
>> I might also throw in Mathematica, TeX, Tcl, MS-DOS scripting, and the
>> various other languages which aren't "programming languages" such as
>> HTML, CSS, XSLT, AmigaGuide, ARexx, Automake, the lambda calculus...
>
> Well, if XSLT isn't a programming language, then SQL isn't either
I could go along with that...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
clipka wrote:
> BASIC: Yes, first language I learned. On a home computer, of course.
> Locomotive Basic, to be precise. Amstrad CPC 6128.
At one point my dad had an Amstrad machine - I couldn't tell you which
exact one though...
> PostScript: Yes, been there. Weiredest (and therefore most interesting)
> language there is out there, if I'm asked (except for /deliberately/
> obfuscated languages, which aren't half as interesting due to the
> frustration potential involved).
It's not *that* weird, just unconventional. (And definitely designed to
be machine-readable and machine-writable rather than coded by hand!)
> Eiffel, Haskell, Lisp, Prolog: No, never seen (well, seen a /bit/ of
> Haskell here of course :-))
Eiffel: Object-oriented programming with multiple-inheritance and
design-by-contract, done right. You know how Pascal is the theoretically
"perfect" example of a structured language? Eiffel is the same but for
OOP. (And, like Pascal, it's not very popular and has some gapeing flaws.)
Haskell: Everything [almost] is immutable. Imagine an OO language where
all your objects lack set-methods. That's Haskell. Now imagine if you
could have objects which represent functions. (Smalltalk actually does
this, by the way, with it's [ :foo | ... ] blocks. I think JavaScript
can do it too.) That's basically Haskell, modulo some weirdness to do
with lazy evaluation. And friggin' weird syntax, and obscure terminology.
Lisp: Everything is a list [almost]. Prefix syntax, sort of like how
PostScript is postfix syntax. Other than that (and the "minor detail"
that you can modify the source code at runtime) it's a plain ordinary
imperative language. But for some reason, Lispers think it's some
transcendental wonder-language.
Prolog: You give it facts, and rules for deducing new facts from
existing facts. It can solve logical equations. (E.g., tell it who's the
parent of who, and how to trace ancestry, and it can tell you how is
related to who, and who isn't, and by how many generations, and so on.)
Has the interesting effect that rules can be applied seemingly
"backwards" and "sideways" as well as just "forwards" like in normal
languages.
> Machine code: Yes, I think I did "poke" a few bytes into my Amstrad CPC
> 6128; 0xCD was CALL and 0xC9 was RET, if I remember correctly, but it
> has been a while; I preferred assembler anyway (Zilog Z80, 16- and
> 32-bit Intel 80x86, Intel 8051).
You know you've been using the 6501 too long when you know, off the top
of your head, that RTS is 96 decimal.
>> Lisp isn't too hard to interpret either. (But arguably too hard for
>> 8-year-olds to program with.) Smalltalk is pretty easy to interpret,
>> and easy on the brain too. Prolog would also not be hard to interpret,
>> but probably not especially useful for home users.
>
> I guess all these languages wouldn't really fit the limited capacities
> of a home computer. Can you, for instance, imagine an object-oriented
> runtime system on something like 32kB RAM and 16kB ROM? Running at 1
> MHz? With automatic garbage collection and all?
The GC is probably the killer. I rather suspect you could confortably
fit a Lisp interpretter into a few hundred *bytes*. (But not the
libraries...)
> Plus, I guess these languages would have lacked syntax for peeks &
> pokes. Can you imagine the home computer boom without peeks & pokes? :-)
It would be trivial to add this to Smalltalk or Lisp. (In fact, I'm
fairly sure it's already there.)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Even as Borland released TurboPascal 5.5 for DOS [that's the one with
>> the object-oriented extensions which aren't actually object-oriented],
>
> From what I remember, I'd disagree. (Then again, maybe there was a
> difference between TP 5.5 and TP 6.0; I only really used the latter; and
> TP 3.something earlier.)
I never saw TP 6.0.
In TP 5.5, they added an "object" keyword, which allowed you to define
functions and procedures inside a normal record definition. Other than
this syntactic change, there is no difference in the language. Most
especially, the method that gets called depends on the declared type of
a variable, *not* the type of the object in it! (In other words, static
binding, not dynamic binding.) It also lacks support for abstract
classes. But does have inheritance.
So it gives the superficial appearance of OOP, while preventing you
actually programming in an OO style.
> Maybe simply /because/ Prolog was such a high-level language, and didn't
> fit all applications? Like, for instance, writing a Unix kernel (which
> is what C was initially invented for)?
It still mystifies me that C provides no way to say (for example) "this
thing should be a signed integer with at least 16 bits in it". For a
language designed for portability, you'd think this would be fairly
basic, but no...
Also, if they had computers powerful enough to run *Prolog*, why does
the C preprocessor exist?!
>> - PostScript was invented 10 years before laser printers existed. (It
>> was apparently designed specifically with laser printers in mind, as I
>> had always believed.)
>
> You're wrong here: The first laser printer dates back to 1969, while
> even the roots of PostScript date no further back than 1976.
> Furthermore, the language was initially targeted at the offset printing
> industry to drive Computer-to-Film imagesetters, and was only later
> adapted to laser printers.
Wikipedia suggests that it was developed specifically for laser
printing. (I may be wrong on the date that laser printers were
*invented*, but they did not become common until very, very much later.
Not unlike C++, apparently...)
> - Perl predates the Internet by half a decade. (WTF?) I can only imagine
>> it began life as a Unixy text-munging system in the style of awk, sed,
>> etc.
>
> You surely mean it predates the /World Wide Web/ by half a decade.
Before the WWW, nobody outside the millitary knew the Internet existed.
In fact, for many years after, also...
> According to Wikipedia, it was indeed developed (at NASA, btw) as a Unix
> tool for report processing.
Figures.
>> - JavaScript predates Java. (WTF?!)
>
> ... under the titles "Mocha" and later "LiveScript", yes. The name
> JavaScript wasn't coined until December 1995 - when Java was already
> released to the public (not in 1996, as your chart implies) - probably
> in an attempt to benefit from the Java hype of those days.
What do you mean "probably"? ;-) The language is utterly unrelated to
Java in any way...
>> - Ruby, PHP and JavaScript were all around at the same time as Delphi.
>> This is puzzling because when Delphi was new, the Internet didn't
>> really "exist" yet.
>
> Again, I guess you mean WWW, not internet.
I mean the Internet becoming known by the general public. ("The
Internet" can be traced back to a secret classified military project
which was probably around for *decades* before this, knowing the US
millitary...)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible escreveu:
> - Pascal predates C, and yet C fails to incorporate almost any of the
> good ideas from Pascal.
It was just a small and obscure academic language back then. C was
basically portable assembly for the original Unix.
> - Smalltalk was doing OOP before home computers were even *invented*,
> and yet it wasn't until 20 _years_ later that commercial products like
> TP 5.5 and Delphi started to take the idea mainstream.
Smalltalk is actually from about 1977 or something, isn't it?
> - SQL existed 15 years before high-capacity storage devices appeared.
> (This is worse than it appears. You wouldn't even realise that a
> language like SQL was *necessary* unless databases themselves had
> already existed for some considerable length of time. And after that
> there would obviously be a rash of incompatible proprietry languages
> until people decided to design a standardised one.)
My uncle said that back then, they created ad-hoc, file-based database
management systems by themselves. People were much bolder back then. :)
> - PostScript was invented 10 years before laser printers existed. (It
> was apparently designed specifically with laser printers in mind, as I
> had always believed.)
Is it so?
> - Haskell was invented back when people were still using green screens
> and MS-DOS. It brings a slight chill to my spine to know that way back
> when I was still coding with AMOS Professional, minds immeasurably
> superior to ours had already constructed the most powerful programming
> language known.
Are you talking about Miranda? Yes, it was the spiritual basis for Haskell.
> - Perl predates the Internet by half a decade. (WTF?) I can only imagine
> it began life as a Unixy text-munging system in the style of awk, sed, etc.
Yes. Scripting languages were not devised for the internet.
> - JavaScript predates Java. (WTF?!)
Perhaps would be called oakscript? ;)
> - Visual Basic is significantly older than Delphi.
No, just a few years.
> - Ruby, PHP and JavaScript were all around at the same time as Delphi.
> This is puzzling because when Delphi was new, the Internet didn't really
> "exist" yet.
I was browsing the web (at University) in 1994, about same time those
were starting.
> - C# (by which I denote the entire zoo of .NET languages) is the only
> thing in the chart to have been invented this millennium.
It's an amalgama of Java and Delphi Pascal. and some hints of Python as
of late...
--
a game sig: http://tinyurl.com/d3rxz9
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
clipka wrote:
> Invisible schrieb:
>
>> I might also throw in Mathematica, TeX, Tcl, MS-DOS scripting, and the
>> various other languages which aren't "programming languages" such as
>> HTML, CSS, XSLT, AmigaGuide, ARexx, Automake, the lambda calculus...
>
> Well, if XSLT isn't a programming language, then SQL isn't either
> (unless you go for stored procedures, but each manufacturer seems to
> roll their own there).
XSLT is definitely turing-complete.
http://www.unidex.com/turing/utm.htm
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Alvarez wrote:
> XSLT is definitely turing-complete.
>
> http://www.unidex.com/turing/utm.htm
So is PostScript, but nobody uses that for anything except page
descriptions.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |