The 'D' programmig language [was] RE: [Sussex] bork bork bork

Geoff Teale Geoff.Teale at claybrook.co.uk
Thu Feb 20 09:20:00 UTC 2003


Morning,

Trevor wrote:
-------------
> So that's it.  I like Java, don't like C++, write 
> old-fashioned C ('cos I've 
> been doing it for a while) and I know what printf() returns.  
> I can just 
> about remember how to write FORTRAN, I've written assembler 
> on a variety of 
> platforms (but *only once* on an x86, and that was to 
> interface with the PCI 
> BIOS subsystem...).  

Trevor  - I don't think a love of Java and a dislike of C++ is entirely
uncommon.  When you get into Object Oriented Design you start to want the
world to be a very clean, ordered place.  Java is very good at providing
this environment, C++ - well, your own structures can be very clean and
elegant but the legacy of C is there in large print and it can lead to
inelegance and force you to do, and think about, things at a level that
doesn't fit well with the mindset of the object orientated developer. 

Of course the thing is OO is the perfect tool to make this kind of code more
elegant - you abstract away the very technical parts of the job inside
classes and then use the elegant interfaces you have designed to do the
actually flow of the system (I'm trying hard to express that without using
the phrase "Business Logic" - which to my mind is an expression reserved for
the same idiots who counter any technical discussion they didn't understand
with "we have to fulfill the business need" or "lets take this to the
business and see what they want to run with" - ultimately these people are
on the fast-track to promotion - but they are also the producers of _bad_
systems, they produce what the customer says he wants - rather than what he
actually wants).

I actually think that C++ can be _very_ clean, judicial use of libraries
such as the STL, Gtk-- or Trolltech's Qt 3.x (yes, the latter two are far
from just GUI libraries, they are complete development toolkit's that make
C++ a _very_ different place) but of course, a lot of this takes you away
from a standarised language towards a specialised toolkit.  

So what happens if you set out to produce an object oriented language with C
sytle syntax but without the concessions to the past or OS level
programming.  Some people will scream Java at this point, and yes, you could
be right, but a more logical answer is "D".  http://www.digitalmars.com/d/

"D" was developed in 1999 as a logical succesor to C and C++ as opposed to
taking the Java route (which takes you in a whole different direction,
computationly speaking) D is a direct replacement for C++ but it implements
garbage collection, and bounds checking amongst a number of other things. 

THe idea is that C++ is a compromised system - D takes the approach that if
you want to write an OS you need to write in C (or some language of that
ilk), if you want to utilise libraries to write applications then you need a
language that does this optimally and doesn't involve you in things like
advanced memory management.  D draws on things that are kludged add-ons to
C++ (like the STL) and implements them as native, intuitive features of the
language.

D is getting some real attention from acedemic instiutions, scientists, and
_real_ hacker-grade programmers because put simply for almost all
non-systems programming it is "the Right Thing".

Do have a look, it's very nice - it isn't completely bolted down yet, but it
is very interesting.

-- 
geoff.teale at claybrook.co.uk
tealeg at member.fsf.org

"Injustice is happening now; suffering is happening now. We have choices to
make now. To insist on absolute certainty before starting to apply ethics to
life decisions is a way of choosing to be amoral."
   - Richard M Stallman


The above information is confidential to the addressee and may be privileged.  Unauthorised access and use is prohibited.
 
Internet communications are not secure and therefore this Company does not accept legal responsibility for the contents of this message.
 
If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful.
 
Claybrook Computing Limited is a subsidiary of Claybrook Computing (Holdings) Limited
Registered Office: Abbey House. 282 Farnborough Road, Farnborough, Hampshire GU14 7NJ
Registered in England and Wales No 1287205
 
A Hogg Robinson plc company





More information about the Sussex mailing list