bernie@metapro.DIALix.oz.au (Bernd Felsche) (05/10/91)
In <1991May8.042432.27636@NCoast.ORG> davewt@NCoast.ORG (David Wright) writes: > I know that 100% of what I write is in C or another HL that I could >reasonably expect to be available for the new machine, and I would expect to >be able to simply recompile my own software in a matter of minutes on the >new machine, just as you say people will do with the nExt. > Do you really think that serious programs like WorkPerfect, Maple, >etc. etc. which are available on many different platforms are written in >some form of AL? I have always believed that C is little more than protable assembly language. Although it pretends to be an HLL, before ANSI, there was no way it would fit many people's ideas of a HLL. Language Generations: 1GL: Machine code 2GL: Assembler 2.5GL: C 3GL: C++, Eiffel 4GL: Any language that hides how the data is stored and presented. 5GL: Something that writes itself from your specifications. 6GL: Something that works out the specifications. 7GL: Somebody else's problem :-) This is certainly nor a language flame, I like portable assembler :-) -- Bernd Felsche, _--_|\ #include <std/disclaimer.h> Metapro Systems, / sale \ Fax: +61 9 472 3337 328 Albany Highway, \_.--._/ Phone: +61 9 362 9355 Victoria Park, Western Australia v Email: bernie@metapro.DIALix.oz.au
peter@sugar.hackercorp.com (Peter da Silva) (05/15/91)
In article <1991May10.055512.29552@metapro.DIALix.oz.au> bernie@metapro.DIALix.oz.au (Bernd Felsche) writes: > I have always believed that C is little more than protable > assembly language. Although it pretends to be an HLL, before > ANSI, there was no way it would fit many people's ideas of a > HLL. You been spoiled, mate: > Language Generations: > 1GL: Machine code > 2GL: Assembler > 2.5GL: C > 3GL: C++, Eiffel > 4GL: Any language that hides how the data is stored and presented. > 5GL: Something that writes itself from your specifications. > 6GL: Something that works out the specifications. > 7GL: Somebody else's problem :-) Well, other than these sort of categories being pointless, in terms of how high level they are I'd rank languages like so: Machine language Assembly language Forth, BLISS, etc... (structured assemblers) C, Pascal, Modula (Statically typed procedural languages) C++, Simula (statically typed object-oriented languages), and Basic, Perl (statically typed interpreted languages) Smalltalk, Scheme, Lisp, REXX, TCL (dynamically typed languages) UNIX shell, dBase, etc (database/dataflow languages) Prolog, Make, etc (goal-seeking languages) There are a mixture of old and new languages here, so don't be surprised by where older stuff finds itself. Also, you can write higher level programs in lower level languages by applying a little discipline and maybe implementing an interpreter... so the fact that you can do goal-seeking in Eniac machine code isn't relevant. -- Peter da Silva. `-_-' <peter@sugar.hackercorp.com>.
bernie@metapro.DIALix.oz.au (Bernd Felsche) (05/17/91)
In <1991May15.114537.22616@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes: >In article <1991May10.055512.29552@metapro.DIALix.oz.au> bernie@metapro.DIALix.oz.au (Bernd Felsche) writes: >> I have always believed that C is little more than protable >> assembly language. Although it pretends to be an HLL, before >> ANSI, there was no way it would fit many people's ideas of a >> HLL. >You been spoiled, mate: :-) Not really, I still do a lot in C (more than is good for me), but I try to do as much as possible at a higher level. (Shell programming is great! I'll give anything a go if I can see a use for it.) Sometimes, I even use assembler (WD-16 and 68k). >> Language Generations: >> 1GL: Machine code >> 2GL: Assembler >> 2.5GL: C >> 3GL: C++, Eiffel >> 4GL: Any language that hides how the data is stored and presented. >> 5GL: Something that writes itself from your specifications. >> 6GL: Something that works out the specifications. >> 7GL: Somebody else's problem :-) >Well, other than these sort of categories being pointless, in terms of how >high level they are I'd rank languages like so: Couldn't you tell that I was having a go at 4GLs? :-) The real point is that C is not much more than portable assembler. (I mis-typed the original post.) There is little to gain by anybody writing in assembler, especially applications like word-processors. Sure, it goes faster, but the bugs go faster too, and it take _much_ more skill to debug assember source than C. (Usually, sometimes I cheat and look at the assembler code generated by the C compiler, if I'm lost in C pointer obfuscation.) > Machine language > Assembly language > Forth, BLISS, etc... (structured assemblers) > C, Pascal, Modula (Statically typed procedural languages) > C++, Simula (statically typed object-oriented languages), and > Basic, Perl (statically typed interpreted languages) > Smalltalk, Scheme, Lisp, REXX, TCL (dynamically typed languages) > UNIX shell, dBase, etc (database/dataflow languages) > Prolog, Make, etc (goal-seeking languages) Very nice. I like the way in which the "AI" languages blend into the more common one. Also, some of the language categories you give may be a bit fuzzy around the edges, especially the UNIX shell(s), which are "dynamically" typed "- actually "type-less". Variable typing and language structuring seem to be your metrics for categorisation. Mine happens to be ease-of-use -- which is inversely proportional (in most cases) to the ability to control the guts of the machine. BTW: You forgot about Liverpool. It's goal-seeking too :-) (Sorry 'bout that, severe pun attack) >There are a mixture of old and new languages here, so don't be surprised by >where older stuff finds itself. Also, you can write higher level programs >in lower level languages by applying a little discipline and maybe implementing >an interpreter... so the fact that you can do goal-seeking in Eniac machine >code isn't relevant. The name of the game is to be multi-lingual. If one knows a dozen languages, which cover the range you've given, then most tasks can be handled efficiently, and produce maintainable code. I only admit to knowing half a dozen (distinct) languages. -- Bernd Felsche, _--_|\ #include <std/disclaimer.h> Metapro Systems, / sale \ Fax: +61 9 472 3337 328 Albany Highway, \_.--._/ Phone: +61 9 362 9355 Victoria Park, Western Australia v Email: bernie@metapro.DIALix.oz.au