|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>> 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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Aydan wrote:
> "scott" <sco### [at] scottcom> wrote:
>>> - 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?
>> Speed?
>
> How'd you imagine writing libraries for said high level logic manipulation
> language to interface hardware? Assembler? I'd think C is your best bet there
> since it's low level enough to do the bit twiddling to control hardware and high
> level enough to not be a PITA.
>
> Just my 2 cents
>
Depends on the processor, and your memory limits. Even C didn't do you
any good if you had to cram stuff in a tiny chunk of memory, and still
have it work. Nearly everything on Apple IIs was done in assembly.
--
void main () {
if version = "Vista" {
call slow_by_half();
call DRM_everything();
}
call functional_code();
}
else
call crash_windows();
}
<A HREF='http://www.daz3d.com/index.php?refid=16130551'>Get 3D Models,
3D Content, and 3D Software at DAZ3D!</A>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> C was basically portable assembly for the original Unix.
...and yet, it doesn't make it especially easy to do low-level stuff.
>> - 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?
Yes. Very ancient, as the chart shows.
>> - SQL existed 15 years before high-capacity storage devices appeared.
>
> My uncle said that back then, they created ad-hoc, file-based database
> management systems by themselves. People were much bolder back then. :)
But what did dthey *store* these files on? Punch cards?!
>> - 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.
Haskell 1.0 is 1990. I guess green-screens is stretching it a litle, but
lots of people were still using MS-DOS regularly long after that date.
(And writing stuff in QBASIC and similar.)
Miranda, of course, is even older. (See the chart.)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Orchid XP v8 schrieb:
> 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.
Well, I once wrote a PS program to compute fractals...
In any case, PostScript /is/ a full-fledged programming language, and
was always intended to be. You /could/ do other stuff with it if you
really wanted to, and it wouldn't be /too/ difficult once you got into
it (except for obvious limitations regarding the user interface).
XSLT on the other hand was originally designed as a /query/ language,
and it is only through extensions to the basic concept that it
(accidently, not by design) happens to be Turing complete. You really
have to abuse the language to write generic programs with it, and in- &
output will be your least problems.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>>> XSLT is definitely turing-complete.
>>
>> So is PostScript, but nobody uses that for anything except page
>> descriptions.
>
> Well, I once wrote a PS program to compute fractals...
>
> In any case, PostScript /is/ a full-fledged programming language, and
> was always intended to be.
According to Wikipedia, it was always designed to be a page-description
language.
(I've read that there are in fact GUI systems powered by PS...)
> XSLT on the other hand was originally designed as a /query/ language,
> and it is only through extensions to the basic concept that it
> (accidently, not by design) happens to be Turing complete. You really
> have to abuse the language to write generic programs with it, and in- &
> output will be your least problems.
SQL was originally designed as a query language too. (Well, technically,
a data definition and manipulation language, which isn't precisely the
same thing.) Various people have made it Turing-complete in incompatible
ways though...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|