![](/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) |
Captain Jack wrote:
> Wow... so many thoughts, and the coffee is only beginning to swirl in my
> brain...
Y'aarrr! ;-)
> Bear in mind that the world wasn't as connected then as it is now.
> Advancement in technology was slower, people used books and published papers
> to share technical ideas, not the Internet.
Sure. Back then, if you wanted better graphics, you had to wait for the
next home computer to be released. Today, more powerful graphics cards
come out almost weekly. (Although we have long since reached the point
where the graphical quality is as high as anybody needs, and you're only
arguing about 3D rendering power.)
Look at the C64 with it's 16-colour graphics. 5 years later the A500 has
12-bit colour and up to 64 colours on-screen at once. Another 5 years
and the A1200 gives you 24-bit colour and 256 colours at once. That's a
while to wait. ;-)
> Even now, people use different
> programming languages because, for the most part, programmers are
> provincialists who tend to think the first language they learned is the best
> one.
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...)
Did I mention POV-Ray SDL in there?
The first langauge I learned was BASIC, and it sux. Even fancy AMOS sux.
[For anybody that doesn't know: AMOS is BASIC with bells on. Sort of
vaguely like Visual Basic, in that AMOS gives you an IDE and powerful
multimedia features, but the actual language itself has a billion syntax
features but still isn't all that powerful. AMOS Professional comes with
a 2,000-page user guide and has over 800 commands. It arrives on 14 DD
floppies - most of which are bitmaps, music, sprites and demo programs.]
> Pascal was never intended to be efficient on the inside, and was often
> rejected by people working to create real-world software for that reason.
> Wirth invented Pascal specifically as a teaching tool to educate students in
> the concepts of nested, structured programming with a hierarchy of
> visibility of token names.
I've heard this before. I never really understood why Pascal couldn't be
a useful real-world language. (Aside from a few obvious flaws which
should have been easy to fix.)
> BASIC was also developed as a teaching tool, but it was also considered the
> best choice by many for popular use (the name itself may have lead that
> charge, based on the power of suggestion). More importantly, BASIC is
> interpreted, so you can ship it without a compiler, linker, or memory for
> large symbol tables. Slap it in a ROM, stick it in your gray box, and start
> selling.
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.
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" <voi### [at] dev null> wrote in message
news:4adf12fc$1@news.povray.org...
>
> 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...)
>
> Did I mention POV-Ray SDL in there?
>
> The first langauge I learned was BASIC, and it sux. Even fancy AMOS sux.
Hmmm... lessee... Coursewriter, Fortran, COBOL, Pascal, Lisp, BASIC
(Dartmouth, A-BASIC, GWBASIC, VB et cetera on and on), C, C++, C#, Providex,
BBx, ZPL, Psion AXL, Forth, Prolog, APL (not much), Erlang, x86 Assembler,
System 36 Assembler--
There's more but that's enough urinating off the port bow. :)
>
> I've heard this before. I never really understood why Pascal couldn't be a
> useful real-world language. (Aside from a few obvious flaws which should
> have been easy to fix.)
As originally designed, Pascal didn't support source code modules or
including files, which made it difficult to write large programs with, and
made it almost impossible for a team to work on an application. You couldn't
make libraries to link to later, or use any kind of dynamic linking with it.
It can be (and has been) extended, but then you're getting into a gray area:
"My language is the best, so I'm going to add in bits of your language to
prove it." (Not saying that you're saying that, put down the flamethrower,
please. <g> However, I have heard that statement used in actual
conversation, in its essence)
Binary, digital computers can only do three things. They do them really
fast, and can create some amazing things from those three functions, but
still... when you get right down to it, the language we use doesn't really
matter. :D
> 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.
What's great for that is Forth... you can fit the rules engine in about 4Kb
and include the most commonly defined symbols. All the rest of your RAM,
which doesn't have to be much, is available for code. Like Lisp, though,
it's a stack oriented language, and I think that confuses a lot of the
masses.
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) |
>> 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...)
>>
>> Did I mention POV-Ray SDL in there?
>
> Hmmm... lessee... Coursewriter, Fortran, COBOL, Pascal, Lisp, BASIC
> (Dartmouth, A-BASIC, GWBASIC, VB et cetera on and on), C, C++, C#, Providex,
> BBx, ZPL, Psion AXL, Forth, Prolog, APL (not much), Erlang, x86 Assembler,
> System 36 Assembler--
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...
> There's more but that's enough urinating off the port bow. :)
;-)
>> I've heard this before. I never really understood why Pascal couldn't be a
>> useful real-world language. (Aside from a few obvious flaws which should
>> have been easy to fix.)
>
> As originally designed, Pascal didn't support source code modules or
> including files, which made it difficult to write large programs with, and
> made it almost impossible for a team to work on an application. You couldn't
> make libraries to link to later, or use any kind of dynamic linking with it.
When I first encountered it, Pascal already had modules and sane I/O. (I
gather that at one time this was not the case.) It still had that silly
restriction where array sizes had to be known at compile-time for no
apparent reason...
Anyway, it's irrelevant now. Pascal is a monomorphic language. It would
get laughed at today.
> What's great for that is Forth... you can fit the rules engine in about 4Kb
> and include the most commonly defined symbols. All the rest of your RAM,
> which doesn't have to be much, is available for code. Like Lisp, though,
> it's a stack oriented language, and I think that confuses a lot of the
> masses.
Heh, yeah, I can't see that one taking off really...
(You can also interpret Haskell fairly easily, but it probably requires
too many resouces.)
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" <voi### [at] dev null> wrote in message
news:4adf1def$1@news.povray.org...
> When I first encountered it, Pascal already had modules and sane I/O. (I
> gather that at one time this was not the case.) It still had that silly
> restriction where array sizes had to be known at compile-time for no
> apparent reason...
>
> Anyway, it's irrelevant now. Pascal is a monomorphic language. It would
> get laughed at today.
I had a friend who was working on a master's in Comp Sci in oh, about 1982.
His professor gave him this thesis project:
Write a Pascal compiler.
In Pascal.
I can still hear in my mind the screams coming from late at night from
friend's apartment. He was NOT a happy camper for those two years. :D
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) |
> I had a friend who was working on a master's in Comp Sci in oh, about 1982.
> His professor gave him this thesis project:
>
> Write a Pascal compiler.
>
> In Pascal.
>
> I can still hear in my mind the screams coming from late at night from
> friend's apartment. He was NOT a happy camper for those two years. :D
Wee... I should have just grabbed a copy of Borland TurboPascal. It was
written in TurboPascal! ;-)
I once had a go at writing a Pascal interpretter in BASIC. (Because I
didn't have access to any computer that actually had a Pascal compiler
or interpretter.) Of course, not knowing anything about computer science
[because I was 11], I attempted to construct a program to edit,
tokenise, parse, type-check and execute the Pascal source code all at
once. This inevitably resulted in rapid and complete failure.
Today I understand that the correct thing to do would be to build a text
editor, *then* try to make a compiler/interpretter. And have this thing
process the souce code in several seperate stages, not all at once.
Basically I was trying to tackle a problem having no idea where to start
or how to structure it.
I was only 11, after all...
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" <voi### [at] dev null> wrote in message
news:4adf232d$1@news.povray.org...
> Basically I was trying to tackle a problem having no idea where to start
> or how to structure it.
>
> I was only 11, after all...
Let me think... 11, for me, would have been 1972-3, which would have been
the sixth grade... I didn't have access to any kind of computer anywhere
(that would come about four years later, when my shool got a remote terminal
attached to an IBM system 34). I *was* into electronics at that point, and a
rigged a kind of programmable light board out of some scrap wood, parts from
about a dozen flashlights and some resistors. You could patch jumper wires
into clips on the board to make little puzzles to solve by flipping numbered
switches. A couple of years after that, I spent some time building TTL
circuits, which was really cool, but not as flexible as I would have liked.
But, man oh man, when I did get started programming, I new I'd come home. :D
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:
> 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) |