On Thu, Feb 12, 2015 at 02:51:34PM -0500, william moss wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> On 02/12/2015 01:42 PM, Hendrik Boom wrote:
> > On Thu, Feb 12, 2015 at 11:25:46AM +0100, Didier Kryn wrote:
> > ...
> >>
> >> I have been programming in C
> >> from the beginning of the 80's and loved it, but I think C++ is
> >> wrong by design (personal thought), although I have no choice but to
> >> use programs written in that language, as well as Perl, Python and
> >> Ruby, which I have no opinion about.
> > 
> > I share your opinion about C++.  I too used to use C, since the 
> > mid-seventies.  Except for its abysmal identification of array 
> > subscripting with pointer arithmetic, it's a very clean assembler 
> > replacement.
> > 
> > C++'s marketing success was to be compatible with C.  It no longer is, 
> > though.  And C++'s complelxity is too much for me.
It's no tthat I can't figure out what C++ does -- I once wrote most of 
a C++ parser and sesmantic checker -- but it gets in the way of 
understanding my program.

> > 
> > I occasionally use C++'s objects.  But for the most part, I try to 
> > write my C code so it indifferently compiles under C++ or C.  Yes, 
> > if means some #if's.  But C++ statically catches some errors that C 
> > doesn't.
> > 
> > I strongly suspect that most of the code nowadays written in C++ could 
> > better have been written in Modula 3.  The kind of guaranteed instant 
> > response you can in principle get without garbage-collection pauses are 
> > not needed for almost all software.
> > 
> > But I'd appreciate a more compact syntax for Modula 3, while retaining 
> > its semantics.
> > 
> > -- hendrik
> > _______________________________________________
> > Dng mailing list
> > Dng@lists.dyne.org
> > https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
> > 
> 
> C++, originally C with Classes, was a great idea. It added Smalltalk
> like abstractions to data and bound data to methods. This is long in the
> past and I no longer use C++. C, in its ANSI/POSIX/ISO incarnation is
> quite good. Modern C has removed some of its FORTRAN roots and fixed
> many of the K&R foibles.
> 
> Pointer arithmetic is what C is all about. The original manual and the
> Programmer's Workbench both call it a portable assembler.

Yes.  I understand pointer arithmeetic, and like to use it.
THe trouble is I don't normally want the integers I'm adding  to a 
pointer scaled by  what the pointer points to.  C already has a useful 
subscript operation that does that.  It gets really awkward to use 
tricky memory layouts.  All the casts to void* and back make the code 
unreadable.

> 
> There are no arrays in C, there is a memory region that is addressed by
> a reference. Pascal and its derivatives (Modula, Ada) do implement real
> arrays as does PL/I.
> 
> For scripts, I use byte code languages (Perl mostly these days) with
> some low level modules written in ANSI C. I do however, miss using
> FORTH, CLOS and Smalltalk for real applications.

The traditional implementation of FORTH gets really bulky on a 64-bit 
machine.  All those huge addresses!  It's why I implement my 
concatenative languages with bytecodes.

> Most applications that are not critical to latency or 6 sigma
> predictability are best served with a byte code language.

I can see why it could affect latency.  But predicatability?

> This places
> the burden of reliability on the developers of the run time (byte code
> machine). That said, I have probably written as much code in various
> assembly languages as in C.
> 
> I have been using Unix and its analogs for 37 years, computers for
> engineering for 51 years. My first programs were written in FORTRAN-4,
> using a model 19 key punch.

I used an earlier version of Fortran.  Fortran 4 hadn't been invented 
yet.

-- hendrik

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to