9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: Re[4]: [9fans] Design choice is C preprocessor
@ 2001-04-26 13:48 presotto
  2001-04-26 15:35 ` Douglas A. Gwyn
  2001-04-26 23:06 ` Re[4]: " Boyd Roberts
  0 siblings, 2 replies; 13+ messages in thread
From: presotto @ 2001-04-26 13:48 UTC (permalink / raw)
  To: 9fans

I haven't been happy with a language since C.  I wasn't thrilled with
C but, since I was coming from Bliss, C seemed like a step up.

C++ has all the disadvantages of C with an unbelievably baroque
structure thrown in.  Bjarne, and later his acolytes, took the
most favored road to successful acceptance of a new language;
make it look like an old one and then say no to any interest
group that wanted to add something on.  They were smart enough
to make most of the additions over straight C fairly separable
so that one doesn't have to use them.  The result is that every
C++ programmer seems to be using a different language since they
usually pick different mixes of features.  Overloading basic
operators was the best obfuscation technique I've ever come
across.  You think you understand a code fragment but wow!
C++'s information hiding doesn't really work because you
need to include the headers in other programs so you have
to distill them to really hide anything and then offsets
screw up.  Constructors/destructors are not close enough
to garbage collection, my C++ long lived servers didn't
have less lost memory than my C ones.  The list goes
on.

Limbo is the closest to something I can live with.  It too
inherits a lot of C'ness but it has 2 things that make it
a winner; real gc (that went fast) and module loading.
Both were done better than Java, I believe.
Other features like strings as a firt class type with their own
operators were useful but not as important.  I would have
been happier with Limbo as a first class language on
Plan 9 than something that runs under emu.  A more
integrated environment on Plan 9 would be cool.

Java is probably the next best.  It's type structure looks
a bit too much like the type structure I disliked in C++.
The finalize routines are like destructurs but have
the added feature of interacting strangely and confusingly
with the gc.  The class hierarchy is incredibly large and
impossible to navigate.  Every time I turn around there
seems to spring up a new way of linking things together
to get some other feature.  On the whole, I like it better
than C++ and don't have enough experience in it to decide
if I could live with it.


^ permalink raw reply	[flat|nested] 13+ messages in thread
* [9fans] Design choice is C preprocessor
@ 2001-04-23 22:12 Andrew Pochinsky
  2001-04-25  1:34 ` Boyd Roberts
  0 siblings, 1 reply; 13+ messages in thread
From: Andrew Pochinsky @ 2001-04-23 22:12 UTC (permalink / raw)
  To: 9fans


A historical question: What were reasons for #include to stand alone
on a line? It seems that allowing #include "filename" anywhere does
not change much the implementation, while imposing less restrictions
on the programmer.

--andrew



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2001-04-27 14:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-04-26 13:48 Re[4]: [9fans] Design choice is C preprocessor presotto
2001-04-26 15:35 ` Douglas A. Gwyn
2001-04-26 23:06 ` Re[4]: " Boyd Roberts
2001-04-26 23:28   ` Andrey A Mirtchovski
2001-04-26 23:43     ` Boyd Roberts
2001-04-26 23:47     ` Re[6]: " matt
2001-04-27  0:15       ` Boyd Roberts
2001-04-27  9:14     ` Re[4]: " Randolph Fritz
2001-04-27 14:40     ` Douglas A. Gwyn
  -- strict thread matches above, loose matches on Subject: below --
2001-04-23 22:12 Andrew Pochinsky
2001-04-25  1:34 ` Boyd Roberts
2001-04-25  8:15   ` Re[2]: " matt
2001-04-26  3:10     ` Boyd Roberts
2001-04-26  7:29       ` Re[4]: " matt
2001-04-26  8:24         ` Boyd Roberts
2001-04-26 10:32           ` nospam
2001-04-26 13:20             ` Boyd Roberts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).