D

Jarrett Billingsley jarrett.billingsley at gmail.com
Fri Nov 14 23:11:52 PST 2008


On Sat, Nov 15, 2008 at 12:35 AM, Tony <tonytech08 at gmail.com> wrote:

Before I begin, know that the things I'm saying here are not meant as
attacks.  It's just that your post has a rambling, semi-off-topic feel
to it and so I'll do the same ;)

> When I went to college, there was a BIG push to indoctrinate undergrads with
> PASCAL. When I got into an industry (engineering, not IT), there was that
> same push: the schools and companies were collaborating toward the PASCAL
> goal. PASCAL "did well" (Umm... for Borland?). I knew a FORTRAN a bit and
> did "minor" stuff with that (fixed ("refactored") existing code mostly, but
> wrote complete programs also) and quickly found C (eureka!). Tthis was circa
> IBM AT. The technology beyond my responsibility or capability but within the
> environment was recommissioned PDP-11s running CP/M recommissioned for
> realtime machine control (No, I never programmed those relics, though I
> rebooted them from time to time).

Sounds a lot like Java in today's school/industry world.  Or maybe
.net, depending on who's funding the university's CS department.

> For me, C came in the flavor of Microsoft C and I still have The Waite
> Group's books next to me on my bookshelf, though I've not opened them in
> over a decade. (My "stacks" are in the basement in banker's boxes, but I
> know what I have down there). What WERE those "PASCAL pushers" thinking?! I
> think back to the maintainer (yes, there was just one) of all that
> mission-critical (potentially industry pivotal) FORTRAN code ... such sad
> lives software developers have. Those many many lines of FORTRAN were pretty
> much the work of one engineer (not all the the embedded theory of course,
> though he knew it intimately also, but the code). Not a "programmer" or an
> "IT person", an engineer (no, not a sofware engineer! Think, physics,
> runge-kutta, flame fronts and the theory of chaos, (OK, maybe not that last
> one, but he was old)). But I digress...

You digress?  That's an understatement; your post looks more like an
s-expression than like English ;)

> The gist of my post, well not really a gist, but for lack of having to use
> more human processing power than necessary (aka, my brain) right now (read,
> 'gist' will do), I find it odd that a product having a lot of the same goals
> as the one I envision, is not one that I choose to use and that I search for
> another. (So much for the importance of "requirements specification"
> apparently?).

So.. what you're saying is that you agree with a lot of D's features,
but you find it odd that you don't use it?

> I did't have a question in starting this post, but having just gone through
> the harkening back (above) and back to reality now, I feel deja vu: C++ is
> now my FORTRAN, D is my PASCAL and my envisioned language is my C. I didn't
> put a question mark in there because I think that I have figured out my
> frustration with the current state of things. (Also, I'm so happy I'm not
> still a FORTRAN programmer! :) )

Wait.  Let me try to get this straight.

C++ is your "language that you use to do practical things, even if
it's not the best."  D is your "language that everyone is pushing for
reasons you don't understand."  And the language you want to make is
your "language that is awesome for everything."  Is that anywhere
close?

> Is D today's PASCAL?

If it had billions of dollars of corporate sponsorship and widespread
acceptance at universities and workplaces, I might say yes.  But even
if it were true, the entire philosophy behind the language is
different.  Pascal (it's not all caps, btw) was designed originally as
a learning language, and as such, people became familiar with it in
school, and started using it for real work.  Pascal is _meant_ to be
restrictive, structured, and simple.  It came about in a time when
structured programming was relatively new, and tried to teach people
about it.  Borland got lucky.

On the contrary, D is not meant to be a pedagogical language, or a
purist language, or anything like that.  It's meant to be a practical
language.  It's meant to provide answers to a lot of the irritating
aspects of C and C++ in a way that can still be implemented
efficiently.  It doesn't really try much new (well, D2 does..).  It
just takes a lot of existing, sensible ideas, and puts them together
into an attractive whole.

It's part of the reason why it's so great, and at the same time, why
it's so hard to sell.  You can't point at a single thing that makes D
awesome.  You can't say "it's a great beginner's language!" or "it's a
completely safe language (like Java)!" or "it's great for agile
programming like Ruby!"  It's just a ton of little things.

And of course, a language like this could only come from a sort of
grassroots source.  There is no corporate sponsorship.  There is no
governing body (well...).  There is no gaggle of professors trying to
make the language easier to pick up for new programmers (read:
businessmen) who are trying their damndest to cash in on this
"compooters thing".  And just as well, there is no money.  No
marketing, no bribes, nothing.  Which means no publicity.  D, or at
least the idea and specification of it, has been around for .. almost
ten years?  I think.  Maybe the spec was made in 1999 but not public
until 2001.  In any case, it's been a long and difficult road to get
the word out about the language.

So that's why I don't think D is like Pascal at all.  It's not
designed with a driving goal like Pascal.  And it's not backed by
corporate or academic sponsorship like Pascal.

(And to be honest, I'm still not sure what you think of Pascal.)



More information about the Digitalmars-d mailing list