Modern langauges 
Author Message
 Modern langauges

I know, I know this does not belong the least in comp.os.vms/INFO-VAX
but I just couldn't keep quiet any more. I have cross-posted it to
comp.lang.misc and will probably get damned for that I did. I have
directed follow-ups there as well. ARPA and BITnet people who must
flame me: Please mail be persoanlly.

To comp.lang.misc people: You haven't missed anything important. It's
just the same my-language-is-better-than-yours quarrel.

Quote:

>   (talking about C...) So why would we use 'formula translator for an
>   operating system?' Because some people have learned it and are NOT
>   bothering to learn new programming languages. I was part of this
>   'old programming languages' category, until I got thrilled enough
>   (inspired by other C programmers) to learn C. After I learned C,
>   I began to understand what the REAL difference between the 'old'
>   and the 'new' programming languages were. And it also affected to my view
>   of the operating systems (along the study of them).

>   Long live C!

But C is no new language. Well, may be a little younger than fortran and
Cobol, but not much. And they are all archaic. There are plenty of
motivation for the former two to continue living, namely tons of
programs written in them. And with the current vogues and trends, the
same motives will keep C alive too long.

There *are* motives for using C, I shall not deny that, but they have
nothing to do with the qualities of the language itself. It's just happens
to be that C is wide-spread and available on many machines, particulary
this is due to one of today's most poupular operating systems (which,
by the way, has an archaic user interface). Note the difference VMS/
Unix here. In VMS you can do system programming in virutually any language,
you don't have to stick to Bliss, whereas Unix more or less forces you
to use C.

Why I find C archaic? Let me just say I think that a good language
should save you many mistakes as early as possible. It should also
be readable, i.e. it shouldn't unnecessarily use artificiasl symbols.

Modern languages, but still in the 3rd generation, are for example
Ada, Modula-2 and Eiffel.

(The latter language, or rather the only current implementataion of it,
demonstrates a perfect use of C. The Eiffel system runs on Unix and
produces C code as output. That is C; a portable assembler, not a
modern high-level language.)
--
Erland Sommarskog      
ENEA Data, Stockholm    

                   C, it's a 3rd class language, you can tell by the name.



Wed, 19 May 1993 00:19:00 GMT  
 Modern langauges

Quote:
> What other language is available on everything from a PC up to a Cray?

Ada?


Fri, 19 Jun 1992 22:58:00 GMT  
 Modern langauges

Quote:

> > What other language is available on everything from a PC up to a Cray?

> Ada?

        FORTRAN 77
        Pascal
        C
        LISP (PSL, at least)
        Prolog

but *not* Ada, not yet. All little languages that run under UN*X are common,
too: sh, csh, awk, sno's subset of SNOBOL, etc.



Fri, 19 Jun 1992 17:47:00 GMT  
 Modern langauges

Quote:

>> What other language is available on everything from a PC up to a Cray?

>Ada?

FORTRAN?

LISP?

Maybe we ought to list those which aren't instead...

--
+                                
|               Duke Robillard, novice pagan.

|       Murray Hill, NJ          {any biggy}!ihnp4!m10ux!rgr



Fri, 19 Jun 1992 23:11:00 GMT  
 Modern langauges

Quote:
> > What other language is available on everything from a PC up to a Cray?

> Ada?

for $50?


Fri, 19 Jun 1992 14:26:00 GMT  
 Modern langauges

Quote:


> >> What other language is available on everything from a PC up to a Cray?
> >Ada?
> FORTRAN?
> LISP?
> Maybe we ought to list those which aren't instead...

Maybe we should ask a more resonable question:

What other language provides a reasonably efficient O/S interface that's
applicable to just about any operating system for everything from a PC up
to a Cray?

Writing system software in Fortran involves encapsulating ALL the system
calls and changing them every time you switch to a new O/S, or putting up
with the slowness of Fortran's I/O library. The Software Tools package
does the former but provides a slow version that uses the latter approach
to get the first cut working quickly.

Other, more recent, languages avoid the problem of inefficient I/O libraries
by underspecifying the O/S interface.

C specifies an interface (stream character files) that can be implemented
fairly painlessly on a wide variety of machines, provides most of the stuff
that high level system software (compilers, filters, editors, etc...) need,
and is efficient enough that only extremely weird systems encourage programmers
to roll their own. Could microEmacs have been written in (say) Fortran and
still have as much performance and portability?
--
-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter
-- Disclaimer: These U aren't mere opinions... these are *values*.



Fri, 19 Jun 1992 08:29:00 GMT  
 Modern langauges

<Writing system software in Fortran involves encapsulating ALL the system
<calls and changing them every time you switch to a new O/S, or putting up
<with the slowness of Fortran's I/O library. The Software Tools package
<does the former but provides a slow version that uses the latter approach
<to get the first cut working quickly.

You can get fast IO through a FORTRAN IO library. You just have to do
more work than doing "normal" FORTRAN IO, and have a well-written
compiler/library system.

<C specifies an interface (stream character files) that can be implemented
<fairly painlessly on a wide variety of machines, provides most of the stuff
<that high level system software (compilers, filters, editors, etc...) need,
<and is efficient enough that only extremely weird systems encourage programmers
<to roll their own. Could microEmacs have been written in (say) Fortran and
<still have as much performance and portability?

While the streams abstraction in C is a win, it's not the only
language that has it. And that's not what makes microEmacs portable.
MicroEmacs has an abstract IO level internal to itself - for taking
care of things like OS-dependent file names, error conditions,
end-of-file and end-of-line markers. The same things would work in
FORTRAN. The C stream abstraction merely makes doing a port easier -
there's more likely to be a version you can crib from. On the other
hand, doing all those linked lists in FORTRAN would be a *real* pain.

        <mike
--
When all our dreams lay deformed and dead               Mike Meyer

Spinning in different directions                        ucbvax!mwm



Fri, 19 Jun 1992 23:21:00 GMT  
 Modern langauges

Quote:
}                   Could microEmacs have been written in (say) Fortran and
}still have as much performance and portability?

Of course.  Don't be silly.  In 1980 I wrote a non-extensible EMACS clone
in Ratfor.  Performance was pretty good, considering it was originally
running on a Modcomp -- ~0.1 sec to update the screen.  Almost as soon as
I got it working, I ported it to VMS and Unix with no problems at all.
A few years later I ported it to TOPS-20 in only two days, and that included
getting the Software Tools bootstrapped.

The reason it was so easily ported is that I used modular design / information
hiding.  It was structured as a collection of library packages, each depending
on lower-level packages.  For instance, at the lowest level of the I/O tree
was a simple raw character I/O package.  On top of that I layered a
cursor-control package (which also used a termcap-file-reading package), and
using the cursor-control package I wrote an optimal screen-update package.
Porting that entire tree to a new OS meant re-writing three routines in the
raw I/O package.  Buffer management was handled similarly, so that only
the lowest level was machine-dependent.

A language that enforces information hiding is nice -- it gives an added
sense of security -- but it's not necessary.  Languages don't make good
programs, good programmers make good programs.
---
Jef


When someone says "I want a programming language in which I need only say what
                      I wish done," give him a lollipop.



Fri, 19 Jun 1992 21:32:00 GMT  
 
 [ 9 post ] 

 Relevant Pages 

1. Modern langauges

2. Advert: PostDoc Fellowship in Concurrent Functional Langauges

3. Scripting Langauges

4. Scripting Langauges

5. Langauges written from right to left

6. computers: programming: langauges: lisp?

7. Posting: Survey of Toolkit Langauges

8. Modern Smalltalk

9. A modern Forth online as a show case

10. Newbie question: Forth and modern processors

11. Modern forths with separate data, code, headers

12. BenchMarks For Modern Forths

 

 
Powered by phpBB® Forum Software