Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

C, Objective-C, C++... D! Future Or failure?

Hemos posted about 10 years ago | from the yet-another-programm-language dept.

Programming 791

TDRighteo writes "OSNews is carrying a quick introduction to a programming language under development - D. Features include garbage collection, overrideable operators, full C compatibility, native compilation, inline assembler, and in-built support for unit testing and "Design by Contract". With all the discussion about the future of GNOME with Java/Mono, does D offer hope of a middle-road? Check out the comparison sheet."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered


FIRST POST (-1, Redundant)

Anonymous Coward | about 10 years ago | (#8903314)


Re:FIRST POST (-1, Offtopic)

Anonymous Coward | about 10 years ago | (#8903391)

nope but this is got to be the first time i have seen a fp be mod to redundant!


Anonymous Coward | about 10 years ago | (#8903509)

It's the first post. Most first posts say "First post" and not much else. That is redundant.

Re:FIRST POST (-1, Flamebait)

Anonymous Coward | about 10 years ago | (#8903656)

You are a faggot. Everybody knows you are a faggot. Therefore, you posting to Slashdot is redundant.

Late GNAA post (-1, Troll)

Anonymous Coward | about 10 years ago | (#8903329)

GNAA claims responsibility for Momfuck virus.
By Horatio Brunswick

New York, NY - GNAA (Gay Nigger Association of America) The GNAA today claimed responsibility for the release of the devastating trojan Momfuck.1o1, which has caused an estimated 486 billion dollars US in lost productivity and unread penis enlargement offers.

In a drastic escalation of their widely criticized christmas island bombing campaign which has killed thousands of defenceless CI natives, the GNAA made vague threats last week in a "first post" on slashdot.org, a popular "news for trolls" website. In the post (not published here due to profanity and ascii nudity) the GNAA threatened the "Destruction of all internet" if net martyr http://www.goatse.cx was not immediately reinstated. Initally dismissed by self proclaimed security experts Cowboykneel and Linux Toreballs as a childish lark, the world was totally unprepared for the storm to come.

Momfuck.lol exploits three vulnerabilities within Linux's UPnP implementation: a remotely exploitable buffer overflow that allows an attacker gain SYSTEM level access to any default installation of Linux, a Denial of Service (DoS) attack, and a Distributed Denial of Service (DDoS) attack. Within hours of release, every backbone in the country had become infected with the virus, bringing the internet to a crashing halt. The DHS announced an orange alert when the virus spread to even such such remote non-countries as Canada and England, becomming a worldwide computer epidemic. The sequence of events that followed was devastating. ATMs in several states began routing funds from caucasian bank accounts into a GNAA controlled cayman islands account. Traffic lights in all major metropolitan areas malfunctioned, displaying pink rather than the standard red yellow and green configuration, causing unprecedented accidents and traffic delays. Radio stations ceased transmitting their standard programming and began a round the clock broadcast of a bootleg of the Village People's "YMCA" which was altered to "GNAA." Perhaps most horrifyingly, The FOX network's LOL sunday programming lineup was interrupted, and replaced by a graphic video of two men having anal sex, backed by the lyrics "Boom I got your boyfriend".

The FBI has fallen under heavy criticism for their failure to respond to the threat of the GNAA. The general public seems uwilling to accept their claims that the post was below their current threshold. The FBI's top cyber-security unit warned consumers and corporations Friday night to take new steps beyond those recommended by SCO Corp. to protect against hackers who might try to attack major flaws discovered in the newest version of Linux software, or to get a life, faggots. FBI Department head John Asscrotch is expected to resign in disgrace shortly.

What follows is a transcript of an actual internet relay chat conversation, with two individuals who seem to have been infected by momfuck.lol. It is my hope that this will help computer users to recognize and avoid the virus if encountered.

* Now talking in #eurotekken
* Topic is 'http://www.tekkenzaibatsu.com/forums/showthread.p hp?s=&postid=1527925#post1527925 : everyone give your 0.00c'
* Set by SirCane on Tue Apr 06 15:57:26
<l0de> "Mom, I can't sleep would you mind if I get in bed with you?
<l0de> I have virus!
<l0de> She was wearing a baby doll semi-see through nightie, and was embarrassed to let me in bed with her.
<subt-L> haha.. this is a fucking crazy virus..
<l0de> I can't type this fast!
<l0de> However she remembered how I had let her sleep with me when she needed to.
<l0de> Oh my god.
<l0de> "Sure John, it's a big bed," she said in an uncertain tone.
<l0de> "Mom, would you mind if I snuggle a little with you.
<l0de> I just feel kind of sad tonight, I need you close to me."
<l0de> I said; without waiting for an answer I pulled her tight against me.
<l0de> I kept grinding my crotch into her ass trying to get comfortable.
<Exygone> LOL, random flag in between
<l0de> My hands crept up to her breasts and began playing with them, lazily at first.
<Exygone> too good
<l0de> "John... JOHN what are you doing?
<l0de> This is giving me such a headache! I have to go to school in 3 hours and my term paper is not saved!
<subt-L> this is fucking insane..
<l0de> Stop that and go to sleep."
<subt-L> haha
<l0de> But I could not stop.
<neoKEN> jewish hacker. ho ho ho
<l0de> I pulled her nightie up and wet my finger.
<l0de> I then stuck it into her slightly moist pussy.
<l0de> "John listen to me, stop right now.
<l0de> This has to stop.
<neoKEN> go into command prompt
<l0de> You are my son, and we can't do this.
<Exygone> there it is again
<l0de> Please John don't do this to me."
<Exygone> hahaha
<neoKEN> type NETSTAT -o
<subt-L> don't click on irc links..
<l0de> I did stop then and sat up next to her.
<l0de> I pulled her into my lap and cupped her breasts in my hands while licking her ear.
<l0de> "Susan honey, we need to talk, we need to finish this.
<l0de> I told you a long time ago that I love you, that I need you.
<subt-L> good lesson to learn.
<l0de> I want to possess you utterly.
<l0de> I want you to give me your body, to make love to me.
<l0de> I have a tape mom.
<neoKEN> it will show u all the connection on your computer
<l0de> A tape of you raping me.
<l0de> I could blackmail you, send you to jail.
<l0de> neoken- I will never click another link again
<l0de> But that does not get me what I want.
<l0de> I don't just want you on Christmas, I don't want stolen kisses, or the occasional snuggle.
<neoKEN> save that in notepad.
<l0de> I want you to want me.
<l0de> To be hot and wild and passionate, and completely in love with me.
<l0de> I want to have the right to grab you and fuck you anytime I want, just like dad did.
<neoKEN> u will find your hacker :P
<l0de> I want to wake up to find you sucking on my cock just because you feel like it.
<l0de> Mom can you honestly say you don't want that too?
<l0de> Oh my god. NEoken, I hit start menu but it's not popping up!
<l0de> Can you honestly say that you can bear to have me walk out of your life forever?
<l0de> Because that is what I would have to do.
<c0m> so umm why doesnt someone kick dis do0d
<l0de> You are the woman I love, the only woman I have ever made love to.
<l0de> If I can't have you, I will have to go.
<l0de> All buttons on quicklaunch don't work
<l0de> If I am near you, I have to fuck you.
<l0de> It is as simple as that," I said as I wrote my name on her breasts with my finger.
<l0de> She was crying now, and I could smell her juices beginning to boil and drip out her pussy.
<insanelee> whoever bans this guy
<insanelee> i'm gonna ban you
<neoKEN> c0m: some people enjoy reading it. lol
<l0de> She laid back against my chest and I wrapped her in my arms.
<Exygone> c0m - because insanelee is reading the story
<subt-L> he
<l0de> "I don't want to lose you, I, I know that you are more than just a son to me.
<l0de> I am so scared though.
<l0de> Wanting you this way is wrong.
<l0de> I am your mother.
<l0de> I should not let you play with my tits, I should not want you to lick my pussy, or need you to fuck my ass but for some sick reason I do.
<l0de> I know I can't allow you to fuck me, I can't let you put that big slab of cock-meat inside me.
<l0de> If I do that, there is no turning back, you will own me.
<l0de> thank u insanelee
<insanelee> i like the panic in lodes voice/msgs also
<l0de> I will become addicted to your dick.
<l0de> Oh god, what am I going to do.
<subt-L> this is sick... i think i want people to get this virus.
<Exygone> looool
<l0de> I love you John, but it is still wrong!"
<l0de> We laid that way for a long time, just holding on to each other.
<neoKEN> doesn't matter to me. i don't read #eurotekken chatlog. am not a tekken bum. lol
<l0de> My hard on was peeking up between her thighs.
<l0de> Finally I came up with a solution.
<l0de> "Mom I understand that our relationship is not normal, but it is not WRONG either.
<l0de> Making love to you could never be wrong.
<l0de> I love you and I want to show you how much.
<l0de> Susan, it's Christmas.
<l0de> Let me have you this one time.
<l0de> Make love to me, be greedy, teach me how to please you.
<insanelee> why are you thankikng me
<l0de> Make me fuck you right.
<l0de> We owe it to ourselves to try it at least once.
<l0de> You are All I want for Christmas, all I have ever wanted."
<insanelee> you are just an investment
<Exygone> lol
<insanelee> i need your stories
<l0de> Susan was quiet for a few seconds and then she slowly nodded her head.
<Exygone> an asset
<l0de> Her hands were trembling as she smiled up at me and said yes.
<l0de> I was so happy, that I crushed her against me and said over and over, "I love you baby, I am going to be so good to you, I love you mom," while kissing and hugging her.
<Exygone> in lee's masterplan
<l0de> insane- if I get banned I may never get help
<l0de> Our kisses slowly began to deepen, she was on top of me straddling my waist.
<insanelee> lol
<l0de> Her breasts were brushing against my chest and my cock was laying against her ass.
<subt-L> is it repeating? or is it still going original?
<l0de> I was licking her lips, sucking on them when her pretty, pink little tongue flicked out to meet mine.
<l0de> I sucked her into my mouth and we both let out a little sigh of happiness.
<l0de> jesus, how can I launch command prompt?
<l0de> Susan began crawling down my stomach, stopping briefly to lick my belly button clean.
<l0de> Then she began playing with my cock, rubbing it against her face, eyes, nose, sniffing and then licking and sucking it into her mouth.
<l0de> It was amazing to watch.
<l0de> My mother was overcome by a wave of pure dick-lust as she began to swallow my cock.
<insanelee> ask neoKEN
<l0de> I don't know how big my dad's cock was, but he must have been my size or bigger, cuz my mom swallowed my fat 8 incher like an old pro.
<l0de> She kept looking me right in the eye, with this wicked little grin on her face, daring me to fuck her properly.
<insanelee> i am just readin
<l0de> I did.
<subt-L> dick-lust!
<l0de> I began to ram it down her throat, we established a good rhythm.
<subt-L> hahaha
<l0de> She breathed through her nose and every 20 seconds or so I would pull out and let her lick and massage my knob (and breathe), before plunging back in.
<Exygone> lmao
<l0de> "Cum on my face baby, cum all over your mother's face," she said between slurps, and squeezes and soft, slow, sucks.
<l0de> I could not help it, she was sucking the sperm right out of me.
<l0de> I grabbed Susan's head and pulled it tight against my crotch.
<neoKEN> i don't know any other shortcuts to the command prompt other than the start menu
<l0de> I held her in place as I powerfucked her throat.
<neoKEN> ask M$
<l0de> Precum was bubbling out of me and I could hear it gurgling in her mouth.
<l0de> My balls were twitching and jerking hard now and I felt the sperm swimming their way to the head of my cock.
<l0de> "You want my sperm mom, you want some stinky-sticky?
<l0de> Take it you beautiful little slut, take your son's cum!"
<l0de> I bellowed as I shot the first load down her throat.
<insanelee> this is sick
<l0de> I remembered that she wanted some on her face too; so I pulled out and pressed my spurting cock against her nostril and shot it up her nose.
<neoKEN> comamnd prompt should be an emergency shortcut
<l0de> I had one or two dribbles left so I placed my cock on each of her eyelids and let er rip.
<l0de> Mom was a little surprised...
<c0m> this is gay\
<l0de> but she did not complain.
<l0de> I don't know if I can explain how sexy my mom looked.
<insanelee> 'cum all over your mothers face'
<l0de> My cum was in her belly, a little drop was hanging from the corner of her mouth.
<l0de> Her nose was dripping my cum, and her eyes were crusting over with it.
<l0de> (Guys try it with your girlfriend tonight, it is fucking amazing!)
<l0de> I wanted to rest for a few minutes, but I could not.
<insanelee> com shut up he needs help
<l0de> neoken- yeah, Itried ctrl alt delete but it doesn't work!
<l0de> My mom was obviously very horny and it would not have been polite to leave her hanging.
<l0de> We switched positions and I settled in for a long, slow lick.
<l0de> I may not have a lot of experience in some aspects of sex.
<l0de> Technically I am still a virgin, I guess, since mom has never let me fuck her pussy.
* c0m sets mode: +m
<c0m> yep
<subt-L> oh,,
<subt-L> ouch...
<subt-L> ...
<insanelee> ay
<insanelee> AY
<c0m> ok
<neoKEN> then he cums on her face. THE END
<c0m> lol
<Exygone> Lol
<insanelee> he stopped
<subt-L> haha
<subt-L> story time is over.
<insanelee> what the hell is this
* l0de is now known as helpplz
<c0m> im sorry it was pretty annoying
* helpplz is now known as l0de
<subt-L> l0de didn't even get kicked.
<insanelee> yea
<insanelee> it just stopped
<insanelee> you didn't even kick him dummy
<neoKEN> sadly i haven't read anything this well written in a long time. lol
* c0m is not a dummy
* insanelee sets mode: -bb l0de!*l0de@
<neoKEN> heh, i need to read some books.
<Exygone> this guy is funny
<insanelee> bring him baaaaaaaaaaaaack
<insanelee> i want my stories
<neoKEN> exy: hahahhaha
<subt-L> that was pretty hilarious.
<insanelee> it was all a joke
<insanelee> damn it guys
<insanelee> why ruin a good thing
<c0m> its fucking annoying
* l0de is now known as cantchat
* cantchat is now known as halp
<insanelee> com
<Exygone> ;p;
<Exygone> lol
* halp is now known as l0de
<insanelee> then get the fuck out
<insanelee> pfft
<c0m> stfu bronson you get the fuck out
<c0m> you never come here
* insanelee sets mode: +b *!*c0m@
<c0m> anyway
<Exygone> lol
* c0m was kicked by insanelee (i'm elitist)
* Attempting to rejoin channel #eurotekken
* Rejoined channel #eurotekken
* Topic is 'http://www.tekkenzaibatsu.com/forums/showthread.p hp?s=&postid=1527925#post1527925 : everyone give your 0.00c'
* Set by SirCane!SirCane@
<l0de> Yhbt yhl
<c0m> well i could care either way
<l0de> HAND
<l0de> (^o^)b

Horatio Brunswick, GNAA, signing off.

GNAA radio every week, midnight CST fridays! #gnaa for details!

About GNAA:
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the first organization which
gathers GAY NIGGERS from all over America and abroad for one common goal - being GAY NIGGERS.

Are you GAY [klerck.org] ?
Are you a NIGGER [mugshots.org] ?
Are you a GAY NIGGER [gay-sex-access.com] ?

If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!
Join GNAA (GAY NIGGER ASSOCIATION OF AMERICA) today, and enjoy all the benefits of being a full-time GNAA member.
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the fastest-growing GAY NIGGER community with THOUSANDS of members all over United States of America. You, too, can be a part of GNAA if you join today!

Why not? It's quick and easy - only 3 simple steps!

First, you have to obtain a copy of GAY NIGGERS FROM OUTER SPACE THE MOVIE [imdb.com] and watch it. (You can download the movie (~280mb) using BitTorrent, by clicking here [idge.net] .

Second, you need to succeed in posting a GNAA "first post" on slashdot.org [slashdot.org] , a popular "news for trolls" website

Third, you need to join the official GNAA irc channel #GNAA on irc.gnaa.us, and apply for membership.
Talk to one of the ops or any of the other members in the channel to sign up today!

If you are having trouble locating #GNAA, the official GAY NIGGER ASSOCIATION OF AMERICA irc channel, you might be on a wrong irc network. The correct network is Niggernet, and you can connect to irc.gnaa.us as our official server. If you do not have an IRC client handy, you are free to use the GNAA Java IRC client by clicking here [nero-online.org] .

If you have mod points and would like to support GNAA, please moderate this post up.

| ______________________________________._a,____ |
| _______a_._______a_______aj#0s_____aWY!400.___ |
| __ad#7!!*P____a.d#0a____#!-_#0i___.#!__W#0#___ |
| _j#'_.00#,___4#dP_"#,__j#,__0#Wi___*00P!_"#L,_ |
| _"#ga#9!01___"#01__40,_"4Lj#!_4#g_________"01_ |
| ________"#,___*@`__-N#____`___-!^_____________ |
| _________#1__________?________________________ |
| _________j1___________________________________ |
| ____!4yaa#l___________________________________ |
| ______-"!^____________________________________ | (c) GNAA 2003, 2004 [idge.net]
` _______________________________________________'

wow (5, Funny)

spangineer (764167) | about 10 years ago | (#8903330)

Who said computer geeks don't have any creativity in naming their programming languages?

Oh, wait...

Re:wow (3, Funny)

slickepott (733214) | about 10 years ago | (#8903363)

I think they still had some good choices with the C.. I have loads of cool signs on my number keys to play around with. *C, //C, &C, "C", /*C*/, C--, C+=1 Why the rush for D already?

Re:wow (1)

salimma (115327) | about 10 years ago | (#8903375)

D's *THE* Programming Language :P. On a more serious note, once a stable release comes out targeting the GCC backend, it would be quite sweet to use with gtkmm/gnomemm...

Re:wow (5, Insightful)

91degrees (207121) | about 10 years ago | (#8903544)

I'd like them to come up with a better name. D makes it very hard to find information about it on the web. A name like "zlxrt" would be better since it would get zero hits that weren't about the language.

For the pedantic - I consider this post to be about the zlxrt language.

Microsoft will come out with it's own version (5, Funny)

eclectus (209883) | about 10 years ago | (#8903345)

Microsoft will come out with it own version, and call it D-.

Re:Microsoft will come out with it's own version (0, Funny)

e8johan (605347) | about 10 years ago | (#8903390)

Nope, D#.

Re:Microsoft will come out with it's own version (5, Funny)

b4rtm4n (692708) | about 10 years ago | (#8903429)

Visual D

Cue loads of VD jokes :-D

Re:Microsoft will come out with it's own version (4, Funny)

Lord_Slepnir (585350) | about 10 years ago | (#8903578)

Heck, I got enough of a kick out of Visual C (VC). Made me want to listen to acid rock and hunt Charlie.

Re:Microsoft will come out with it's own version (1)

wideBlueSkies (618979) | about 10 years ago | (#8903621)

Please mod parent funny.

I thought I was the only guy in the world who thought of the cong when someone referred to that product as VC.

Re:Microsoft will come out with it's own version (5, Funny)

Anonymous Coward | about 10 years ago | (#8903631)

You know why you can't get information on Visual C on the web? 'Cos Charlie don't surf.

Re:Microsoft will come out with it's own version (1)

Bronster (13157) | about 10 years ago | (#8903444)

More likely Db, at which we'll realise that it's actually exactly the same C# near enough (unless you're playing an instrument that allows you to sharpen the Db a little more).


full C compatability? (4, Interesting)

beegle (9689) | about 10 years ago | (#8903353)

I think the "full C compatability" is a problem. It's -not- a feature.

In "small program" languages like perl, giving people lots of ways to do things is a feature. In a "large program" language, providing both C compatability and garbage collection is a maintainability nightmare. You'll have people who use both, or worse yet, who only understand one, so to understand the mixed code that results from a hybrid langage like this, you'll have to be utterly proficient with -both- languages.

Re:full C compatability? (4, Insightful)

Anonymous Coward | about 10 years ago | (#8903430)

I don't know, I think objective-c handled it pretty well and clearly. It's a superset of c, and it's optional garbage collection is as simple as setting or not setting the auto-release flag when you construct your object.

I wish the article actually compared to objective-c, as the story's poster seemed to imply...

Re:full C compatability? (5, Informative)

Elbows (208758) | about 10 years ago | (#8903431)

Actually, the post was a bit misleading -- D only provides *link* compatibility with C. You can link to C libraries without any trouble, but you can't compile C source code in the D compiler.

Re:full C compatability? (4, Insightful)

PhrostyMcByte (589271) | about 10 years ago | (#8903512)

Agreed. Though it's generally bad practice for libraries to allocate their own memory for returned data, it happens.

Because it's not handled by D's garbage collection, it still needs to be freed. I'm sure this will make those developers who love to leak memory even worse.

BINARY C compatability (-1, Flamebait)

Anonymous Coward | about 10 years ago | (#8903636)

Well, not only /. readers but also the submitters don't seem to read to articles.

However this is still BAD.
The C compiler/linker scheme is one of the most fucked up concepts in computer languages.
And it fucks with the garbage collection.
I don't understand why people are soo keen on sticking with C's concepts.
Experience and science have shown that C is one of the most fucked languages in the world and responsible of 90 percent of all security holes.
But instead of a decent exorcism and buring of the remains people go on and on with recycling the C rubbish.
C might be not a proof that GOD exists, but it's clearly a proof that SATAN does.

Old news (4, Interesting)

AKAImBatman (238306) | about 10 years ago | (#8903354)

1. D is not new. If this D is new, then we've got about 50 of them floating around by now.

2. Java and .Net are successful because they protect the program from complete failure. (i.e. error recovery ability) Making a C compatible language isn't going to help anything.

3. If a new popular language does come on the scene, you won't notice it until it has nearly taken over the world. Oh, and developers will love it so much they'll drop everything else (like what happened with Java).

Re:Old news (2, Interesting)

mark_lybarger (199098) | about 10 years ago | (#8903405)

the java jvm can lock up hard. makes recovery quite interesting.

also java and .net are "successfull" b/c of general investment from big companes. there's lots of marketing dollars selling products and articles about these platforms. the PHB's read the PHB magazines, and those mags have articles re java and .net. Do those mags have articles on D? then it's not a competition.

Re:Old news (3, Interesting)

fforw (116415) | about 10 years ago | (#8903583)

the java jvm can lock up hard. makes recovery quite interesting.
Off course it can lock up (nothing is perfect) , but it never occured to me. I experienced a few thread deadlocks, which are also not nice to debug, but only had one complete java VM crash - and that was due to faulty memory as memtest86 [memtest86.com] revealed.
also java and .net are "successfull" b/c of general investment from big companes. there's lots of marketing dollars selling products and articles about these platforms. the PHB's read the PHB magazines, and those mags have articles re java and .net. Do those mags have articles on D? then it's not a competition.
Sure there's a lot of hype around java related issues, but that isn't the reason for it's success. ( Every commercial software is hyped, dummies fall for hype - news at 11)

Java is successfull because:

  • it offers a nice abstraction for system specific issues which is only seldomly leaky [joelonsoftware.com] .
  • you can dive into an unknown project, select a random source file and understand it. You may have problems getting the big picture, but the code itself is there - there are no suprises like operator overloading, defines etc. All you need to know about the class is in it (and it's superclass and interfaces)
  • its complex enough to do some magic in it, but the idiot next cubicle can't run totally amok and wreck the whole system.
IMHO all these reasons are more important than for Java's success than hype.

Re:Old news (1)

illusioned (733320) | about 10 years ago | (#8903471)

Did I miss something? Most of the developers I know have used Java, but they haven't dropped C/C++ as their main development language.

Re:Old news (1)

Trejkaz (615352) | about 10 years ago | (#8903646)

Actually making a C compatible language helps a language get usage without some poor soul having to port or wrap every library to a new language. In D, if you want to use GTK, you just use it, like you do in C. You link to it, like you do in C. If Java were that easy to work with, it would have taken off far faster than it did. In fact Sun wouldn't have had to waste their time devising whole new toolkits for it.

That being said, D is supposed to manage your memory to some extent, and is generally made in such a way that you don't need to do pointer arithmetic, and unless you do pointer arithmetic, there isn't much you can do to segfault the application. I presume it has exception handling like C++, but hopefully better.

bugs in Linux (-1, Offtopic)

Anonymous Coward | about 10 years ago | (#8903356)

bash$ find linux-2.6.5 -exec grep FIXME {} \; | wc -l

Obligatory java response... (5, Informative)

mogrinz (548098) | about 10 years ago | (#8903364)

Looking at that comparison table, it's clear the author hasn't looked at Java since 1.4

Re:Obligatory java response... (4, Informative)

Nasarius (593729) | about 10 years ago | (#8903438)

I'm as excited about the new syntactic sugar in 1.5 as the next guy, but it *is* still in beta, and therefore not quite part of the "official" language. I for one can't and won't use the new features until there's a stable 1.5 JDK.

That's because 1.4 is the CURRENT version (3, Informative)

the-matt-mobile (621817) | about 10 years ago | (#8903451)

it's clear the author hasn't looked at Java since 1.4

Well, since 1.5 is still in beta [sun.com] , I don't see how this is an invalid comparison.

Re:Obligatory java response... (3, Insightful)

wideBlueSkies (618979) | about 10 years ago | (#8903658)

I'm sure the gentleman will update his table once 1.5 comes out.

Templates.... great. It's like C++, but it's not.

the most interesting part of that table (-1, Troll)

Anonymous Coward | about 10 years ago | (#8903365)

is how clearly is shows C#s superiority to Java.

Java isn't dying, people. It's already dead.

C# is where it's at.

Re:the most interesting part of that table (1)

molarmass192 (608071) | about 10 years ago | (#8903459)

Whatever, first off they compared Java 1.4, not 1.5 so a lot of your C# Yes's are should be in the Java column. Also, some of the categories are just plain vague and the judgment call doesn't seem right. For example, "Independent or VM" and "Direct native code gen" are essentially the same and Java is listed as a No with no consideration ever given to GCJ which provides both of those for Java. Anyhow, use whatever damned language you want, I'm sticking to C, C++, and Java like the rest of the majority.

Re:the most interesting part of that table (2, Interesting)

ThosLives (686517) | about 10 years ago | (#8903618)

Actually, the most interesting thing I saw is that D defines a type 'ireal' which is an imaginary number. They also have 'creal' which is a complex number. What's funny to me is that, by definition, imaginary and complex numbers are not real at all.

I found this immensely amusing...and yes, I know that's sad.

What does D stand for? (2, Funny)

Spiked_Three (626260) | about 10 years ago | (#8903366)

Doom of course.

Re:What does D stand for? (2, Interesting)

TheJavaGuy (725547) | about 10 years ago | (#8903479)

What does D stand for?

Here is a qoute from their website:

"The original name was the Mars Programming Language. But my friends kept calling it D, and I found myself starting to call it D. The idea of D being a successor to C goes back at least as far as 1988, as in this thread [google.com] ".

D'oh! (2, Funny)

SkimTony (245337) | about 10 years ago | (#8903506)

I believe you're mistaken. D stands for "Duke Nukem Forever."

The delays in release of the game are simply a result of having to wait for a new programming language in which to write the software.

Sounds like a good idea (5, Insightful)

CharAznable (702598) | about 10 years ago | (#8903369)

I like this. It was about time someone saw the need of a cleaner, more modern version of C/C++ that takes the best features of the modern languages that are supplanting it in higher-level application development, like Java and Perl.
However, I it is doubful it will gain a foothold in the current ocean of multiple, semi-specialized languages.

Re:Sounds like a good idea (-1, Offtopic)

Anonymous Coward | about 10 years ago | (#8903387)

+5 Idealistic

"like Java and Perl" (0)

jbellis (142590) | about 10 years ago | (#8903490)

that's a pretty rediculous juxtaposition. perl is good language for one-offs and "duct tape;" Java is a systems language like. They really don't share the same problem domain; the one place they do intersect (web applications) is a place nobody uses C++, so they can't very well be supplanting it there. :)

How about Eiffel (2, Interesting)

charnov (183495) | about 10 years ago | (#8903630)

I'll admit I suck as a programmer, but Eiffel was the first language that actually made sense to me and from what I have been told (I have to trust others on this one), it generates extremely clean and safe programs.

A feature every language should have (3, Interesting)

bangular (736791) | about 10 years ago | (#8903632)

Speaking of perl...
I really wish lanugages would start implementing the ~ operator from perl (as with $myvar =~ /expression/). From what I understand Ruby also has it. I'm tired of having to deal with pcre's little caveats (as implemented in php, python, java, c, c++ etc.). Such as having to compile the expressions beforehand. Or having to play the backslash game \\\\n to get a newline. There's nothing nicer than being able to have a regular expression that does exactly what I want on one line with minimal code. When programming in perl I tend to use the =~ operater almost as much as the == operator!

Yet another (2, Insightful)

53cur!ty (588713) | about 10 years ago | (#8903373)

Add another language to the list! While D does seem to offer some great features the key is adoptability. The question is , will the programming community at large use D for production systems and future development.

I don't see D having the kind of successful adoption that Perl had/has or Python (to name two) yet neither of these were overnight successes. Only time and programmer support will tell if it has D chance!

Where the answers are... [technicalknow-how.com]

D @ Google (4, Informative)

Jugalator (259273) | about 10 years ago | (#8903379)

Don't miss Google Directory if you're looking for more D info:
Computers > Programming > Languages > D [google.com]

New programming languages are interesting, and sometimes I wonder what the next "big thing" will be. Will we have another big, revolutionizing, new concept like "object-oriented programming" that you simply must know in a near future?

Re: Fads (5, Insightful)

dpbsmith (263124) | about 10 years ago | (#8903457)

Of course.

There are fads in programming just as there are in clothing and management methodologies. And there are always people telling you to adopt the flavor of the month, I mean wave of the future if you don't want to become obsolete.

And you can usually ignore them.

I sat out PL/1, which, well, gee, it had BIG BLUE behind it (in a day when IBM's domination was far more complete than Microsoft's is now). And it doesn't seem to have done me much harm.

True, you can score big by being the person who actually has the "two years experience in" (language-that's-only-existed-for-two-years) that the recruitment ads want, but if you go this route remember that it's easy to be knowledgeable in the latest language if you've just spent some unpaid years in college learning it. If you want to make a career out of always having the skill that's in demand, keep in mind that the only reason the skill is in demand is because it is rare--and you'll need to be quite clever at guessing the next fad, and dedicated about finding out how to educate yourself in it while keeping your day job.

try, catch, finally (3, Interesting)

91degrees (207121) | about 10 years ago | (#8903380)

Wjhy do programming languages keep implementing this nasty tired interface? It's too bulky and long winded. Whereas I might just call a cleanup method if the function returns NULL, I'm actually obliged to deal with a thrown exception.

In theory this would be an ideal solution. It forces programmers to think about what they're doing. In practice, it doesn't. Coders are too busy thinking about the actual problem. Error checking gets in the way. They end up implementing the quickest way of ignoring the problem. The result is that we're no better off than if we just checked return values. The application should be doing what the user wants. Not the other way round.

Re:try, catch, finally (5, Insightful)

PotPieMan (54815) | about 10 years ago | (#8903455)

As you say, programmers don't want to spend time worrying about error checking. The problem with return values is that some functions return -1, some return NULL, and others return some magic number depending on the problem. You can come up with rules and standards, but these are often broken or forgotten while programming.

Exceptions provide an obvious answer to the problem of how to handle different types of problems. If a file doesn't exist and someone tries to open it, a FileNotFoundException is thrown. If a file exists but the permissions don't allow access, an IOException is thrown.

Exceptions also provide a MUCH cleaner way of propagating errors. If one method calls another method to open a file, and the file can't be opened, how do you tell the original caller that there was a problem? With exceptions, you simply declare that your method throws IOException, and then (typically) skip the try-catch-finally block.

actually, the more important reason for exceptions (5, Interesting)

jbellis (142590) | about 10 years ago | (#8903527)

is that when you get an error that is properly handled 3 or 5 or 10 levels out from where the error happens, you DON'T want to have to check for that error in all the intervening calls. Your code would be messy as hell, and what happens more often, as you can see in a LOT of C code out there, is the coder pretends the error just won't happen.

Exceptions let you throw the error where it happens and catch it where it makes the most sense, however far down the stack that may be.

Re:try, catch, finally (1, Informative)

Anonymous Coward | about 10 years ago | (#8903574)

Catching a NULL value, a -1, 0, 1, 89, -999, -5000 or any of the other 4+ billion possibilities can only convey so much information and in the end you're still left guessing as to what really went wrong. Exceptions, on the other hand, automatically relay this information.

In .NET specifically each Exception contains the description, a full stack trace back to the source of the error (if you compile with debugging the line number is included) and any exceptions that may have resulted in that exception being thrown. As such I have a detailed account of what went wrong so that I can address it specifically.

Furthermore, at least in .NET, there are several ways to catch exceptions that were not explicitly caught by the code in a try...catch...finally block. I could marshal all unhandled exceptions to a function that logs the error in a file, shoots out a detailed error message with full stack and state information over SMTP, explains the problem to the user in laymen's terms and then returns the application to an idle state.

Re:try, catch, finally (1)

-brazil- (111867) | about 10 years ago | (#8903520)

In theory this would be an ideal solution. It forces programmers to think about what they're doing. In practice, it doesn't. Coders are too busy thinking about the actual problem. Error checking gets in the way. They end up implementing the quickest way of ignoring the problem. The result is that we're no better off than if we just checked return values.

So what you're saying is that if the programmer is lazy, it's no better than return values? I'd say that it ends up better even then, most of the time (if the programmer wasn't downright incompetent and at least outputs the stack trace somewhere), but most importantly, it makes it much easier not to be lazy, and leads to cleaner code when you're not.

Re:try, catch, finally (1)

JM_the_Great (70802) | about 10 years ago | (#8903577)

I'd say it's only a problem when you get in the habit of:

try { ... do stuff ... }
catch (Exception e) { }

just so the code compiles quickly, assuring yourself you'll go back later and make it right... but then you never do.

Re:try, catch, finally (1)

drxenos (573895) | about 10 years ago | (#8903638)

First off, if error recovery is not part of your design, you are a pretty shitty-ass programmer. Secondly, exceptions are much easier and cleaner to deal with than return codes. By providing an alternate path for errors, exceptions alleviate the need to check the return value of every function call, and the need to then implement many, many paths in your code to skip sections once an error is found. Exception don't have to be handle immediately at the return point, they can be delayed (scope-wise) until a point where is makes sense. Plus, debugging is much simpler. Without multitude error control paths in the code, path converage is easy.

Summary (5, Informative)

TheJavaGuy (725547) | about 10 years ago | (#8903381)

D drops archaic C++ features like the preprocessor and forward declarations. It adds modern features like design by contract, unit testing, true modules, automatic memory management, first class arrays, closures, and a reengineered template syntax. D retains C++'s ability to do low level coding, and adds to it with support for an integrated inline assembler. C++ multiple inheritance is replaced by single inheritance with interfaces. D's declaration, statement and expression syntax closely matches C++.

Looking forward to job ads (5, Funny)

swapsn (701280) | about 10 years ago | (#8903385)

Looking forward to job ads saying :
  • 10+ years of C#,Java programming experience
  • 10+ years Windows 2000 experience
  • 10+ years programming experience in D

Duh !!

D already exists? (3, Interesting)

Anonymous Coward | about 10 years ago | (#8903389)

I remember reading something in a C book years ago about the existence of the language D, which was supposed to be an evolution of the C language, the book even specified some of the added benefits of D, this was before DigitalMars even started on D. I also know of a language called "E" on the Amiga, which was a C++ derivate and was explicitely not called D because D already existed, and I'm _not_ talking of DigitalMars' flavor. In fact I once mailed this to DigitalMars but never got a reply.
Can anybody confirm this in any way?

p.s. If I'm not mistaken there's also an "F", based on Fortran if I'm not mistaken.

Why are they making it C compatible (1, Insightful)

Anonymous Coward | about 10 years ago | (#8903392)

I can understand many of the goals D is trying to achieve and like many of the features they have listed. However, I am surprised that D wants to be C compatible. IMHO, that has been the biggest problem with C++, it totally violates the thinking of the object oriented coder.

Unneeded history (4, Insightful)

xoran99 (745620) | about 10 years ago | (#8903398)

From the article:

D is designed to address the shortcomings of C++. While a powerful language, years of history and unneeded complexity has bogged down that language. They want to overcome C++'s "history" while still maintaining C compatibility. Suddenly, I'm confused.

A, B, C, D, ... R! (4, Funny)

KjetilK (186133) | about 10 years ago | (#8903404)

Bah, We've allready made it all the way to R [r-project.org] !

Re:A, B, C, D, ... R! (1)

djeaux (620938) | about 10 years ago | (#8903452)

Bah, We've allready made it all the way to R!

Well, as we see in the very next post (or the one right above this one), it stands for "Rupert."

At least S! (1)

samrichards (663088) | about 10 years ago | (#8903564)

In fact, if you follow the "What is R?" link from the R-projects main page, you'll see that:

It is a GNU project which is similar to the S language and environment ...

And I wouldn't bet against there being a link to a "T" language on the S project's homepage or something.

What next? AB language? Eventually we'll get to COBOL all over again! Oh No!

What a good choice of name! (sarcasm intended) (2, Funny)

OwlWhacker (758974) | about 10 years ago | (#8903414)

Sheesh. You'd have thought they'd come up with a name that's a little more interesting than "D".

No, I'm not going to suggest that it should have been called "Rupert".

Hmm (2, Interesting)

Lank (19922) | about 10 years ago | (#8903415)

Well, while the addition of a garbage collection mechanism sounds appealing, it also sounds a little bit scarey when dealing with low-level code. Additionally, D has no macro preprocessing. I know some people out there consider this a feature, others will consider it a failing. However, I do think it's awesome in that it has STL-like data structures somewhat built in - STL saves a ton of time and code, regardless of whether or not you like it.

Re:Hmm (2, Interesting)

ViolentGreen (704134) | about 10 years ago | (#8903581)

Additionally, D has no macro preprocessing. I know some people out there consider this a feature, others will consider it a failing.

You have to remember that this language is still in development. A preprocessor can be added as a step after a standard is developed. Many older languages had preprocessors added as an optional compiler pass. I believe g77 even has one for FORTRAN though it's been a while since I used it.

What about C++0x? (3, Interesting)

Jezral (449476) | about 10 years ago | (#8903418)

What happened to C++0x?

Last I heard about that was in this Slashdot story [slashdot.org] from 2001...exactly 3 years ago, nearly to date.

But that was supposed to be the next official holy grail, no?

Toss out C. (1, Interesting)

iwadasn (742362) | about 10 years ago | (#8903425)

Guys, it's time to face the facts. C is a relic from a time when compilers were stupid. Declare all your variables before executing code, declare all your functions before using them, include headers that almost invariably break one another, hurrah.

I'm so glad that every time I write C I get to write each function signature several times, that's lovely. In addition, C takes much more time to compoile than Java/C# because all the stupid headers take forever to parse.

Now on to preprocessor macros. They are useful in statically compiled languages, but in dynamic (VM based) languages they are less than useless. The VM will take any code that it can and inline it, propagate constants, etc.... Macros are not needed.

Thirdly, pointers and "suggested" types. I say suggested because the type system isn't enforced, why bother with types at all if they don't mean anything. Pointers are a problem because they allow unsafe code that forces the hardware to make up for lack of security in the software. Repeat after me, security is a software problem. Memory protection is also a software problem. The modern computer throws away about 30% of its performance on various protection schemes. More than enough to make up for using a language like Java or C#.

So, in conclusion, C compatibility is a bug, not a feature.

Re:Toss out C. (1)

Xugumad (39311) | about 10 years ago | (#8903543)

C has its uses, especially where you need extremely high-speed code. Particularly the wierder stuff, like using function pointer arithmetic to improve performance, or highly-specific optimised binary search tree implementations. Now, neither of these cases is exactly every day stuff (or in fact a good idea unless you know exactly what you're doing), and I'm quite happy writing most of my code in Java, but when we're trying to do complex statistics across gigabytes of data, C really is the best language for the job.

Re:Toss out C. (2, Informative)

endx7 (706884) | about 10 years ago | (#8903604)

Guys, it's time to face the facts. C is a relic from a time when compilers were stupid. Declare all your variables before executing code, declare all your functions before using them, include headers that almost invariably break one another, hurrah.

I'm so glad that every time I write C I get to write each function signature several times, that's lovely. In addition, C takes much more time to compoile than Java/C# because all the stupid headers take forever to parse.

What will you use for your low level device drivers? Or how about that code that needs run fast? I don't know about compile (C does compile faster than C++ though), but C runs faster than java and C# (only -sure- about the first one). In fact, the java virtual machine and compiler are both written in C. Face it, C isn't dead yet, even though people have been trying to say so for years.

So, in conclusion, C compatibility is a bug, not a feature.

Other posts have mentioned this is -link- compatibility. Remember, D is meant to live in the real world as a binary outside of a vm. Link compatibility becomes a pretty damn useful thing when you need to work with other people's libraries.

C! (5, Funny)

zegebbers (751020) | about 10 years ago | (#8903428)

We want C!
with apologies to eminem...
to the tune of 'without me'

Two GUI classes go on the inside; on the inside, on the inside
Two GUI classes go on the inside; on the inside, on the inside
Guess who's back Back again C is back Tell a friend
Guess who's back, guess who's back, guess who's back, guess who's back
guess who's back, guess who's back, guess who's back..

Sun's created a monster, cause nobody wants to code Java no more
or basic, but something quicker
Well if you want speed, this is what I'll give ya
A language called C that won't let you do "is a"
Some "has a" that makes me feel sicker
than the bugs when I build patch that's critical
using make to compile and be building
with a language that allows object orientating

Your var name's too long, now stop line breaking
Cause I'm back, I'm a new var and instantiating
I know that you got a job Bill and Steve
but your company's trust problem's complicating

So GCC won't follow ANSI or copy memory, so let me see
They try to recompile with visual C But it feels so bloated, without C
So, connect with SLIP, or create a RIP Fuck that, write a function, and shift some bits
And get ready, and use a pattern like proxy MS just settled their lawsuits, expect a levy!

Now this looks like a job for C So everybody, just code in C
Cause we need a little, bit more speed Cause it runs so slowly, without C
Now this looks like a job for C So everybody, just code in C
Cause we need a little, bit more speed Cause it runs so slowly, without C

Little Hallions, MS feelin litigious Embarrassed that users still listen to RMS
They start feelin like ellen feiss 'til someone comes on the television and yells SWITCH!!!

A visionary, beard's lookin' scary Could start a revolution, lives in a bear cave
A rebel, although emacs ain't real fast and there's the fact that I only got one class
And it's a disaster, such a castastrophe for you can see so damn much of my class; meant to use C.

Well I'm back, i-j-k-x-y-z-out-ta-var-names Fix your damn indentifier tune your code and I'm gonna
open it, under vim, maybe pico and variables, no such thing as a member
I'm interesting, the best thing since assembly but not Polluting the namespace with inherits
We're Testing, your functions please Feel the tension, soon as someone commits some C
Here's my webpage, my code is free who'll pay the rent? What, You code with vi?

Now this looks like a job for C So everybody, just code in C
Cause we need a little, bit more speed Cause it runs so slowly, without C
Now this looks like a job for C So everybody, just code in C
Cause we need a little, bit more speed Cause it runs so slowly, without C

An object in .NET, I go tit for tat with anybody who's setting this bit, that bit
AT&T, you can get your ass kicked worse than those little C++ bastards

And Ruby? just like a static property not even used with KDE and QT
You're not like C, you're too slow, let go It's over, nobody'll code in OO!
Now let's go, -9's the signal I'll be there with a whole list of XM and L
I use SOAP, XPATH with XSL And you know perl's just like coding in symbols
everybody only just codes C so this must mean, some com-pile-ing
but it's just me i'm obfuscating And though I'm not the first king of controversy
And i'm not the worst thing since assembly but I am the worst thing since 86 XFree
do use BASIC and JSP and used it to get myself wealthy
Here's a concept that works twenty million new coders emerge
but no matter how many fish in the sea half of them can't even code C

Now this looks like a job for C So everybody, just code in C
Cause we need a little, bit more speed Cause it runs so slowly, without C
Now this looks like a job for C So everybody, just code in C
Cause we need a little, bit more speed Cause it runs so slowly, without C

Sad news ... Jim Cantalupo, dead at 60 (-1, Offtopic)

orthogonal (588627) | about 10 years ago | (#8903443)

I just heard some sad news on talk radio - McDonald's Chairman/CEO Jim Cantalupo was found dead at his Orlando, Florida international McDonald's owner and operator convention this morning. There weren't any more details. I'm sure everyone in the Slashdot community will miss him - even if you didn't enjoy his burgers, there's no denying his contributions to popular pudgy culture. Truly an American icon.

Libraries (4, Insightful)

jetkust (596906) | about 10 years ago | (#8903469)

In the end, it may come down to having extensive library support weather this language gets any attention or not. Without having easy to use, easily availiable libraries for sound,graphics,networking etc..., along with support examples and help with the libraries, it may not be worth using the language at all. Sure you can import C/C++ based libraries, but this will all be unmanaged C/C++ code and not protected D code with all the bennifits of D.

Nice to see a system language (5, Insightful)

wtrmute (721783) | about 10 years ago | (#8903475)

I've seen this language before, and I happen to think it's pretty cool. It's been almost ten years since we've seen a language that isn't compiled to bytecode and interpreted on a VM come out. If I need to write something that compiles to straight Linux ELF/Win32, I'm stuck with C (which I dearly love, but is 34 years old an not even OO) or C++ (g++ gives me terrible headaches, what with refusing to compile code with throw statements), and D is a pretty interesting bare-bones compiling language with very nice features.

Really, kudos to Walter Bright for this little piece. It needn't become popular, if it stays good it's plenty more than enough.

Re:Nice to see a system language (1)

tiptone (729456) | about 10 years ago | (#8903601)


ADA 95


Rather Object Oriented, right in all the places C is wrong, if it compiles you can almost be sure it's going to do what you thought it was.

I know you weren't asking for suggestions but you got one anyway.

High Hopes (4, Insightful)

Randolpho (628485) | about 10 years ago | (#8903477)

Looks like the D website has gotten a facelift since the last time I checked in on the language. I've had high hopes for the concept. I've often felt that C++ needed syntactic a facelift away from C; I especially hate the preprocessor, and am glad D looks to get rid of it.

The only thing about D that bothers me is the inclusion of the Garbage Collector and several other runtime components that occur in the background of your program. I'm not sure I really like that; it sounds a little *too* close to Java, if you get my drift. What I'd really love to see, and what I hope D inspires if not actually implements, is a language with the power of C/C++, but the easier syntax of Java.

D *seems* to be the first step in that direction. I hope it goes further.

Re:High Hopes (1)

Psiren (6145) | about 10 years ago | (#8903635)

What I'd really love to see, and what I hope D inspires if not actually implements, is a language with the power of C/C++, but the easier syntax of Java.

I'm not sure I'd want that. A complaint I've heard several times from Java developers is that it's much too verbose. Needing to create set and get methods for every object etc. I'm not a Java developer so I can't comment on how much of a problem this is, but if it is true, I don't see what the appeal of it is.

Hmmm.... (4, Insightful)

shrykk (747039) | about 10 years ago | (#8903497)

C has a masssive codebase, and some real code wizards - we're talking people with 30 years experience. There are mature, free compilers avaiable.

Walter Bright's D is free as in beer but not speech, and there's only the one compiler. Do we really need another language that's a bit like C++?

OSNews are coders now? (1, Offtopic)

Gothmolly (148874) | about 10 years ago | (#8903501)

Well, I guess with all the "I can't build GAIM from scratch because of lib.foo.so!" rants from Eugenia, then maybe they've become 31337 h4X0r5, but when was the last time that OSNews had anything decent or insightful? I'm surprised that there's been no bitching about 'theming' this new language.

Success is Elusive (5, Insightful)

ChaoticCoyote (195677) | about 10 years ago | (#8903502)

D is certainly a very interesting language;

However, there are many interesting languages. Over the years, I've explored Prolog, Modula-2/3, Oberon, Haskell, Ocaml, and others. All of those embody some very interesting concepts; in some cases. they may be "better" than mainstream languages.

But the fact remains that no one has ever paid me (or anyone else I know) to write code in Ocaml, Haskel, Oberon, Prolog, or D. For the most part, it is C, C++, and Java that feed my family; upon occasion, clients need Python and Fortran 95. I'd love to be paid for a project in D or Ocaml; I'm not going to bet the farm on that happening.

I wish the world of languages (both human and computer) was more diverse -- but reality suggests a hard road to popularity for original concepts like D. I respect and appreciate Walter Bright's abilities; his Zortech compiler paved the way for C++, and provided excellent optimization. I wish him luck in promoting his vision.

Design by Contract (1)

NewWaveNet (584716) | about 10 years ago | (#8903521)

I was oddly confused when I read that un-sourced term in the quickie part of the story...so, from this [digitalmars.com] page:

Contracts are a breakthrough technique to reduce the programming effort for large projects. Contracts are the concept of preconditions, postconditions, errors, and invariants. Digital Mars introduces the first C and C++ compiler to support contracts. Building contract support into the language makes for:

1. A consistent look and feel for the contracts
2. Tool support
3. It's possible the compiler can generate better code using information gathered from the contracts
4. Easier management and enforcement of contracts
5. Handling of contract inheritance

The idea of a contract is simple - it's just an expression that must evaluate to true. If it does not, the contract is broken, and by definition, the program has a bug in it. Contracts form part of the specification for a program, moving it from the documentation to the code itself. And as every programmer knows, documentation tends to be incomplete, out of date, wrong, or non-existent. Moving the contracts into the code makes them verifiable against the program.

Wishing for this yesterday (3, Interesting)

miyako (632510) | about 10 years ago | (#8903522)

Just yesterday I was thinking about how usefull a language like this would be. Java doesn't run too slowly anymore for most applications, but at times it is just impossible to justify it's slowness compared to a natively compiled language. GCJ seems like a good idea in theory, but doesn't seem to really be going anywhere.
Being able to use pointers if need be is also something really nice about this language that I have found that i really long for in Java at times (not so often to actually use, but oh how much easier it would be to explain the way some things work if pointer wasn't a dirty word in java).
I have not really looked at C# much, but it seems to be freed of many of the complaints about Java (lack of pointers for example), but still has the problem of being a bytecode compiled language running in a VM, and adds the problem of being owned by the company that everyone loves to hate (or at least not trust). AFAIK C# also is not C compatible.
I think these facts leave at least a niche for D, and if it's well done it could soon become one of the DeFacto languages of the future. It seems like development has been going on for quite a while on this, I'm honestly suprised that i've never run across it before, since I have been, mostly out of curiosity, looking for just this. I'm not sure how it will pan out, but I am definitly going to give this new language a shot.

All the C++ programmers are laughing at you... (3, Funny)

Chemisor (97276) | about 10 years ago | (#8903580)

Every once in a while people try to improve on C++. Usually it is those wet-behind-the-ears kids straight out of college who think that because C++ is too hard for them, it is a bad language. But real programmers just shrug and keep on coding in C++. Let the kids have their fun; they'll come around eventually when they want to write some real code. Maybe someday they'll discover that garbage collection is not necessary when you know who owns your memory and encapsulate allocation in logical places, like STL containers. They'll discover that C++ already has overridable operators, full (well, all that matters, anyhow) C compatibility, native compilation (VMs are for script kiddies), inline assembler, and in-built support for unit testing (called a debugger). And as for "Design by Contract", good luck getting any contracts in your new D.

Obsession with C-like syntax (5, Insightful)

Bander (2001) | about 10 years ago | (#8903586)

I don't understand why these people keep designing C-like languages that are nothing like C. By the time they are done, the resulting language has so many more features than C, the surface similarity is more of a boondogle than a benefit. While not perfect, C syntax is great for what C is, "human-readable assembly language". When you try to extend it to object oriented systems, the end result is a confusing mess.

There are far better syntax models for an object-oriented programming language than C. I wish people who feel a need to create new languages were willing to base their efforts on a framework more suited to their goals.

Bander (in curmudgeon mode)

Other language out there (1, Redundant)

Bluelive (608914) | about 10 years ago | (#8903595)

http://pluk.sf.net/ is also a programming language that has similair syntax, open source, BSD licensed, and still in development, so you can still insert your killer feature.

this is strikingly similiar to Pike (2, Funny)

Anonymous Coward | about 10 years ago | (#8903599)

from Pike [ida.liu.se] website:

Pike is a dynamic programming language with a syntax similar to Java and C. It is simple to learn, does not require long compilation passes and has powerful built-in data types allowing simple and really fast data manipulation.

Syntatically, D is almost identitical to Pike, like the foreach and the range operator "..". Pike is also loosely object oriented, and has a rich set of libraries just like Python, Perl or even Java.

I'm not sure if the Author has borrowed ideas from Pike, but it is is really a great language that has been around for 10+ years, tested in real world applications [roxen.com] .

Managed code is not all bad! (1)

gregduffy (766013) | about 10 years ago | (#8903642)

The article speaks of managed code as if it is a Bad Thing. Sure, systems level code is sometimes necessary, but for normal application code and especially trusted computing initiatives, a VM is a must.

D does not have dynamic classloader (5, Insightful)

Guardian of Terra (753181) | about 10 years ago | (#8903650)

This is a very very big problem. Plugin problems, binary compatibility problems, DSO problems, vtable format problems, and all other things we hate in C++ and that absent in java/c++

P, not D. (2, Interesting)

IGnatius T Foobar (4328) | about 10 years ago | (#8903651)

Wow. The "D" developers don't know their C history if they chose that name. There was a language called BCPL, which begat a subset called B (the first letter of the name), and then its successor, C. Therefore the next successor would be called P, not D.

Buncha wetbacks. :)
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account