Discover the best of the web!
Learn more about Digg by taking the tour.
The D Programming Language, Version 1.0
developers.slashdot.org — Soon, Walter Bright is scheduled to release version 1.0 of the D Programming Language. D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python.
- 730 diggs
- digg it
- SpookyET, on 10/12/2007, -7/+40It's about time. It's been almost 7 years in development. I wish parts of it were cleaner.
PS: The fact you linked to Slashdot is rather stupid.- HMTKSteve, on 10/12/2007, -3/+20http://www.digg.com/programming/Digital_Mars_The_D_Programming_Language is a better Digg for this as it links to the source!
- Fitzavig, on 10/12/2007, -4/+13Yea, linking to /. is a bit weird, but I guess there's no rules against it, eh?
Too bad this language doesn't have a decent IDE though. At least it'd make it easier to adopt for a lot of people. Yea, I could use command line stuff, but I'd much rather have a fancy GUI and such (don't lie, we all want it easy >.>) - HMTKSteve, on 10/12/2007, -0/+3I'm fairly certain that the Digital Mars IDE will work with D as they are both written by the same person?
- JacNet, on 10/12/2007, -2/+4Correction:
programmer productivity of modern languages like C# and Java.
Look it up on wikipedia.... - Fitzavig, on 10/12/2007, -0/+1@HMTKSteve
Yea, they do have a few it turns out. None are really that far along though in terms of development.
Poseidon:
http://www.dsource.org/projects/poseidon/
LEDS:
http://www.dsource.org/projects/leds/
At least it's something though, right? - bluephoenix, on 10/12/2007, -1/+2http://www.hermann-uwe.de/files/images/programmer_hierarchy.png
- aaronc542, on 10/11/2007, -0/+0I've recently started using D and I have to say that I'm fairly impressed.
In terms of IDE's, Poseiden is actually fairly functional as it is. It has some bugs, but I think you'll find it more than adequate to get started.
I still use C++ for most of my work, and I have to say that I love having the simplicity of C# or Ruby without losing the advanced features of C++ such as templates (not to mention D's mixins) and the performance of a compiled language. Library support is still in the works for a lot of things, but overall not that bad for a language still gaining momentum. DFL strikes me as a really nice wrapper for Win32 and a lot of the other libraries have promise. I'm looking forward to using D in my next project...
- mercurysquad, on 10/12/2007, -10/+10Meh. ***** is the best.
- Anpheus, on 10/12/2007, -10/+4Brainfork you fool! Multithreading!
- detachment2702, on 10/12/2007, -4/+4++++++++++[>+++++++>++++++++++>+++>+.
- mercurysquad, on 10/12/2007, -1/+4detachment, that won't compile..... no closing ]
- Onwlyix, on 10/12/2007, -2/+17Slashdot + Digg and the site is still up?
- nasium, on 10/12/2007, -0/+3Funny - Our site had the same thing over the weekend and we lived through it, plus we got hit on fark.com. What a day!
- Slipdisc, on 10/12/2007, -0/+4http://www.dsource.org/
- cdlavalle, on 10/12/2007, -10/+4I propose D++ or Dython. D with Python like syntax! Yay!
- widman, on 10/12/2007, -1/+2That's what Pyrex is for. http://en.wikipedia.org/wiki/Pyrex_%28programming_language%29
It's easier than what you might think. Check their site. - ilitirit, on 10/12/2007, -0/+1"Guys... I am sorry but you really have no Idea of what you are talking about. "
That post is now officially the most ironic comment I've ever read on Digg. I would love to explain why, but I think it would be insulting to people who actually have a clue about software development if were to spell it out. - kylefurlong, on 10/12/2007, -0/+0While D is more C-like than Python, and targets a different design space, the two are made extremely inter operable using PyD, which also happens to be an impressive showcase of the power and simplicity of the D templating system.
http://pyd.dsource.org/
- widman, on 10/12/2007, -1/+2That's what Pyrex is for. http://en.wikipedia.org/wiki/Pyrex_%28programming_language%29
- JohnnieWalker, on 10/12/2007, -40/+3Would you stop it with "new" programming languages... there is absolutely need for more programming languages.
- Onestone, on 10/12/2007, -4/+19Why? Has the perfect language been invented yet?
- Glum, on 10/12/2007, -2/+8This is great news and i really like the goal of this programming language (performance of C and C++ with the programmer productivity of modern languages like Ruby and Python). Its something that was missing (IMO) in the current programming language world where development runs towards "Higher level" programming languages.
JohnnieWalker: that was like the stupidest comment. ever. - JohnnieWalker, on 10/12/2007, -15/+6Guys... I am sorry but you really have no Idea of what you are talking about.
The reason why C and C++ CAN be very productive is because they are very low level, and as such you, the programmer can scrap unnecessary checks/loops/statements that slow down your code, you only create the variables you need, you only write exactly what you need an nothing else. This sounds great but by its very nature you are sacrificing productivity as you can't use "templates" (in its non OO meaning) as "templates" need to be generic to serve multiple similar problems and as such is no tailor made, this result in duplicate/unnecessary code/checks/variables/statements and the introduction of bugs.
Basically the more productive a language is the less efficient (speed/memory/size) it will be by its very nature.
So you all programmer wannabies that have never compiled anything further than a "hello world" application stop dreaming about a "perfect" programming language... it will never come.
Efforts should be made towards more efficient compilers (little room for improvements) if anything, the actual language should (mostly) be a matter of personal choice.
JohnnieWalker B(Eng) Software Engineer. - Jammer, on 10/12/2007, -4/+1@Onestone
No, but that's not the point. Is there really a need for yet another programming language? I believe the answer is no, since most of the other languages can be adapted to account for deficiencies here and there. Besides, the classis OOP/UML model is waning, as more people are looking to streamline the approach to software development and not build edifices of development process, complexity and/or self-serving "look-what-I-can-do" code modules. - Onestone, on 10/12/2007, -0/+7@Jammer:
IMO, better programming languages are still needed. I come from the C++ world, and there is currently no suitable language which can replace C++. But it has many deficiencies, most of them inherited from C. The people behind the language are well aware of its problems, but most of them are impossible to fix without breaking backward-compatibility. But at some point, breaking backward-compatibility will be necessary, it's wrong to tolerate the defects in the language forever.
Therefore, I like what I read about D so far. It has the potential to become a "better C++", but that will be impossible without lots of good libraries. - nixfu, on 10/12/2007, -9/+4>Why? Has the perfect language been invented yet?
Yes...its called Pascal. - patm1987, on 10/12/2007, -5/+1I'd have to say the best programming language is c. It's easy, simple, and to the point. Plus, if you need more, you can extend it yourself or use c++, objc, or d. (I'm assuming d is based on c, as it can use c headers, right?)
- WilliamTanksley, on 10/12/2007, -0/+5JohnnieWalker, I don't think you understand templates. The purpose of templates is to allow you to write generic code when that's easy, and then to be able to provide specializations when that's easier. Take a look at http://theory.stanford.edu/~amitp/rants/c++-vs-c/ for a concrete look at this.
C++ doesn't handle it very well -- its design was rather haphazard, and many of its most used features were discovered accidentally rather than designed. D was much more consciously designed.
-Billy - cdlavalle, on 10/12/2007, -0/+7LISP is pretty awesome if you have the patience. There is a need for new and improved programming languages. We have learned a lot about the development process and the way individual programmers work. New programming languages can take programmer time and effort into account, including the time to learn the syntax of the language (thus the beauty of Python and to a lesser extent Ruby on Rails). Unfortunately, these languages trade programmer convenience for performance. A good new language would have options to compile or remain interpreted, would have clean but flexible syntax, automate problem areas (e.g. memory management) but allow for high performance tweaking of so desired without resorting to native code. Of course there are tools for compiling Java or porting it to C but they are kludgy. D is a great first effort IMO. It has java like syntax which is good since so many know Java. It can also use C libraries so there is already a huge body of work that can be used with it. I think the developers did a good job of balancing out competing demands and hopefully, as D gains in popularity (already the 8th most popular language and rising), more eyes and hands will make for an even more polished and useful language. Way to go guys!
@JohnnieWalker any code monkey can call themselves a software engineer these days. There are more people calling themselves software engineers than all other engineers combined. That doesn't make you any kind of expert. I guess I just don't understand the idea of stating that all that can be done has been done, and been done so well that there is no room for improvement. If you are any kind of engineer I would say that is an embarassing stance to take. - ilitirit, on 10/12/2007, -1/+1"Guys... I am sorry but you really have no Idea of what you are talking about. "
That post is now officially the most ironic comment I've ever read on Digg. I would love to explain why, but I think it would be insulting to people who actually have a clue about software development if were to spell it out. - Novagenesis, on 10/12/2007, -1/+2Software Engineer = A businessman that programs. Software engineers have a flimsier grasp of business, a somewhat weaker grasp of traditional programming, and -zero- grasp of the "nerdish" art that is what programming will -always- be about.
Plain and Simple, Software Engineers photocopy the Mona Lisa that a programmer painted. - JohnnieWalker, on 10/12/2007, -2/+1Oh boy... where do I start, lets see:
@WilliamTanksley AKA:Billy, when I say "(in its non OO meaning)" I am actually explaining that I am NOT referring to C++ Templates, you see honey, OO actually stands for Object Oriented ;- ) Don't worry Billy boy I got you covered.
@cdlavalle, "any code monkey can call themselves a software engineer these days". Ok cdlavalle, sweetheart let me teach you something, B(Eng) Actually means "Bachelor of Engineering" which means that I am in fact a REAL software engineer.
@ilitirit "would love to explain why, but I think it would be insulting to people who actually have a clue" Obviously you are not one of them. Sweetypie go back your cage, my lovely gimp, I will give you what you've been craving a little later, I am just not in the mood for it now ( I know, I know you have been a very naughty boy)
@Novagenesis: "Software Engineer = A businessman that programs." Love, baby you are wrong (but it's good to try though, you will get there sometime) you see, in a few years when you grow up (and if you listen to mummy and daddy) you will actually get to go to university. You see it actually goes like this:
Business Computing (No real computing skills (Excel, VB) and basic business skills = SCUM of Computing department)
Computer Science: (Hardware/Architecture Oriented, basic software development skills (Java 1 module)
Software Engineering (Good software development skills (Java 3 modules, C++, Algorithms) and no business skills)
Finally, you all have managed to release the fury within me... YOU HAVE AWOKEN ME AND MY DIGG-BOT ARMY.... I AM UNSTOPPABLE I WILL ORDER MY DIGG-BOT ARMY TO DIGG YOU DOWN AND DIGG ME UP.... BEHOLD! COS' I WILL STRIKE DOWN UPON THEE WITH GREAT VENGEANCE AND FURIOUS ANGER! YOU WILL KNOW MY NAME IS THE LORD WHEN I LAY MY VENGEANCE UPON THEE.... BRING IT ON BEATCHES TRY TO DIGG ME DOWN! I DARE YOU I DOUBLE DARE YOU MO-FOs - Novagenesis, on 10/12/2007, -0/+2@JohnnyWalker
--
good to try though, you will get there sometime) you see, in a few years when you grow up (and if you listen to mummy and daddy) you will actually get to go to university...
--
Actually went to WPI (for financial savings over MIT and a competitive undergrad program) and I work in the business world. I also am the first person the execs come to, overpassing the entire senior programming staff, because I'm less of a "software engineer", as it were.
-
Computer Science: (Hardware/Architecture Oriented, basic software development skills (Java 1 module)
-
Computer Science = the degree I got. We did everything from AI to OS design. Barely touched business except in the Software Engineering course. Gotta tell those top tech colleges that they're misnaming their stuff. UML screams of business organization.
-
Software Engineering (Good software development skills (Java 3 modules, C++, Algorithms) and no business skills)
-
Where I come from, Johnny, Software Engineers are the people the serious programmers snicker at, but at least they have business skills, even if they are stuck in the dark ages of Java and C++ with simple "Algorithms" - cdlavalle, on 10/12/2007, -0/+1Ohhh JohnnieWalker:
In the United States, "Love", (*gag*) we do not get a Bachelors of Engineering. "Software Engineering (Good software development skills (Java 3 modules, C++, Algorithms) and no business skills)" In this country, that kind of course load is called a Community College. There is no professional accreditation for software engineers because no one can agree what a software engineer does or is. You can probably get a software engineering degree somewhere but without accreditation, I don't think it is appropriate to call yourself an engineer. I am a chemical engineer. That means, after I got my Bachelor's of Science in Engineering I had to take two extremely rigorous tests to become a Licensed Professional Chemical Engineer. That License also means that I have professional responsibility and can be sued for malpractice if I really screw up. When is the last time you heard of a software engineer being sued for malpractice? I work in the software industry these days so I have the utmost respect for talented developers and am not trying to disparage those individuals, it's just if people are going to call themselves engineers, there should at least be some similarity to the other professionals who use that title to mark their rigorous training, accreditation, and professionalism. - LordofShadows, on 10/12/2007, -0/+1Well, I'm pursuing a BSSE at my university and it's accredited by the Accreditation Board for Engineering and Technology (ABET) and the Computing Sciences Accreditation Board (CSAB), not to mention that if I desired I could get a professional engineering license in software engineering from the Texas Board of Professional Engineers much like any other engineer would. As far as classes go, the difference between SE and a CS/CSE degree is that software related courses that were normally electives for the other computer science degrees are required by my degree. (They are virtually identical otherwise.)
I'll leave the fight for the title engineer alone for another day...
- HMTKSteve, on 10/12/2007, -9/+1Buried as SPAM for not linking to the source.
- JPDota, on 10/12/2007, -14/+2This looks like crap to me, take a look at "Hello World"...Hello world at MOST should be 5 lines, but no, it's an entire page. I don't care enough to figure out what else it does, but yeah.
- HMTKSteve, on 10/12/2007, -4/+5Just because a program appears to need more lines of code does not mean it will be bloated once compiled.
- edzieba, on 10/12/2007, -1/+7Link? The only example I could find had a load of extra printfs (for things other than Hello World). Once you removed those to give a 'classic' Hello World at it's barest in d is:
import std.stdio ;
void main () {
writef("Hello, World!");
} - simeonb, on 10/12/2007, -2/+1compiled and tested:
import std.stdio; void main() { writefln("Hello World"); } - rynoon, on 10/12/2007, -2/+2void main()? SOMEBODY doesn't know how to create standard entry points compatible for hosted software. ;)
- kylefurlong, on 10/12/2007, -0/+0@rynoon
Actually, the entry point for D programs, main, is wrapped in the D runtime to always return an integer value.
From the runtime sources: (dmd/src/phobos/internal/dmain2.d)
/***********************************
* Substitutes for the C main() function.
* It's purpose is to wrap the call to the D main()
* function and catch any unhandled exceptions.
*/
extern (C) int main(int argc, char **argv)
{
// Cut for length
}
- Onestone, on 10/12/2007, -0/+4Actually, it doesn't "need" more lines of code. This particular "Hello World" obviously wasn't intended to be short, it was intended to showcase the features of the language.
- Onestone, on 10/12/2007, -0/+2...this had to be a reply to JPDota & HMTKSteve above...
- NanoStuff, on 10/12/2007, -0/+4http://www.tiobe.com/index.htm?tiobe_index
According to that, the D language is coming up and coming up fast. In fact that was all before the 1.0 release. Now that it's official, who knows how far it can go. - jxlynch, on 10/12/2007, -0/+4I've been waiting for D for months now. IMHO its a fine language that just needs a bigger user base to take off.
- Beaver6813, on 10/12/2007, -0/+4Once the beginner tutorials on how to make useful things are out im sure it will be popular.
- Novagenesis, on 10/12/2007, -4/+4I've tried D several times, and it carries along with it many of the downfalls of C++ and C#. The whole C-like languages thing is too large a majority thinking inside the box for too long.
I think I'll give D another try at 1.0, though. Why not. Procedural languages have their uses, and C's syntax is the cleanest procedural syntax.
But I think the future of programming is closer to Functional or Non-deterministic (I amb). Even classic OOP is reaching its extent, as more and more programmers (at least the ones I know) are moving away from that paradigm.- bmartin, on 10/12/2007, -1/+2"But I think the future of programming is closer to Functional or Non-deterministic (I amb)."
... because today's programmers are thinking in terms of math and determinism is inconvenient? - Novagenesis, on 10/12/2007, -0/+6"... because today's programmers are thinking in terms of math and determinism is inconvenient?"
Because today's programmers might not be the programmers 50 years from now?
Functional programming doesn't -need- to be in terms of math, as much as an avoidance of mutable data. It's a way of viewing things that may be the future. It may not, but the future may be different from the above. "Doing the right thing" has always had some serious debugging advantages, as well as design-time advantages, over procedural programming. I'm not going to get on a soapbox and say "Lisp is the one and only way", but there are aspects of the functional side of lisp that are rarely utilized in other languages that do wonders for coder efficiency.
And yes, determinism can be very, very inconvenient. In a near-future system, which at this rate will likely be up to 5x faster than current-day systems, there are cases where telling a program "I don't know, figure it out" is the best bet. Yes, overused it can bring a high-end system to its knees, but it allows complex problems to be solved in arenas where the programmers don't KNOW how to go about solving them.
To use an educational example. If you don't -know- the inner workings of an N-queens solver (which -can- be in constant time or close to it), you won't come out more efficient than using a properly implemented "amb". Further, the "amb"-using function will probably be more readable and faster to program, as well as debug.
Your reactions to my statement, with not a hint of logical argument, speak volumes about the knee-jerk responses often fired at anything that isn't procedural or object oriented - Novagenesis, on 10/12/2007, -3/+2weee.. digg fun.
Gettin dugg down for having a reasoned opinion, without a hint of serious debate.
If I were competing, I'd win by default on that.
- bmartin, on 10/12/2007, -1/+2"But I think the future of programming is closer to Functional or Non-deterministic (I amb)."
- Jammer, on 10/12/2007, -7/+1Just what the world needs ... another programming language. How about everyone getting a firm grip on the ones we already have? Hats off to the guy for developing the compiler and language, but really -- what's the point?
- Novagenesis, on 10/12/2007, -0/+1The day you -never- think of something you really want to be able to do in under 1000 lines of code is the day that either:
a) Every language in need of writing is written...or
b) You ran out of original ideas. - Fitzavig, on 10/12/2007, -2/+3@Jammer
You're one of those people who still program in assembly aren't you? - Jugalator, on 10/12/2007, -0/+7"Hats off to the guy for developing the compiler and language, but really -- what's the point?"
In this case?
Well, a well-formed object-oriented language that compiles to native code.
As opposed to...
- C (not object-oriented)
- C++ (not well-formed, and a cludge on C)
- C# (VM)
- VB .NET (VM)
- Java (VM)
- Python (scripting)
- etc...
IMHO, this is what C++ should've been. :-/ - Jammer, on 10/12/2007, -5/+0@Fitzavig
No, but the world already has C++, C# and Ruby, et al ...why not refine these languages to get the most out of them, rather than create yet another programming language?
@Jugalator
I'm sorry, did I miss something with existing C and C++ compilers that somehow they do not compile to native code? - Jugalator, on 10/12/2007, -0/+3"I'm sorry, did I miss something with existing C and C++ compilers that somehow they do not compile to native code?"
As I already wrote in my comment, C / C++ both compile to native code, but neither have a clean object-oriented approach.
C++ is a cludge on C, and C isn't even OO to start with. - mxcl, on 10/12/2007, -0/+2It is obvious to anyone who has ever built anything complex that you cannot refine something to improve it significantly. After something has a certain amount of momentum you can't change much of it at all without the existing users being punished.
Thus this guy made D, and it's a bloody good attempt. I don't get the nay-saying, I have to say!
- Novagenesis, on 10/12/2007, -0/+1The day you -never- think of something you really want to be able to do in under 1000 lines of code is the day that either:
- andre3000, on 10/12/2007, -4/+1"Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python"
There's C# for that- Novagenesis, on 10/12/2007, -0/+3I remember seeing and even coding in D before C# came out, when you could only find the page by links because "D" in google found everything on the net.
Besides, look at: http://www.digitalmars.com/d/comparison.html
D makes a point of keeping the performance boosts that C# drags away.
Further, there's still a lot of good arguments to stay away from .NET... and C# doesn't give any choice in that matter, which will always make it an iffy prospect for gamedev, if nothing else. - BullTaco, on 10/12/2007, -0/+3"D is a systems programming language"
I think that one of the the main intents of of D is to achieve the advantages of native compilation (instead of the run-time layer that Microsoft refuses to implement the significant majority of its own product line in).
Each has its own place.
I think the guy has something here in realizing that there have been major developments in language design since C++ was created.
So he has attempted to integrate these developments on top of C++ in the statically typed, native compilation space. - Jugalator, on 10/12/2007, -0/+2"There's C# for that"
C# lacks many language features of D, as well as it running in a VM, and not having a good cross-platform support.
Only Windows has a respectable implementation right now and Mono doesn't even support .NET 2.0 with Vista and 3.0 already out.
- Novagenesis, on 10/12/2007, -0/+3I remember seeing and even coding in D before C# came out, when you could only find the page by links because "D" in google found everything on the net.
- xqb4dpx, on 10/12/2007, -0/+4i love C#, but i hate having runtimes like .net installed on client computers. i dont know why. if this is anything like C# and runs natively, this would be awesome.
- Jugalator, on 10/12/2007, -0/+3"if this is anything like C# and runs natively, this would be awesome."
That's exactly something it seems to intend to be, and a bit more as for language features.
There are also Gtk wrappers etc for D so you can develop cross-platform UI's. - Novagenesis, on 10/12/2007, -0/+1I will agree with Jugalator here.
I played in D, a handful of years ago.
My only complaints were about the lack of libraries (probably improving now that D has hit digg), and the language organization. Sometimes, I want a language that lets me be sloppy as long as I'm careful and good enough not to blow myself up. I felt (and perhaps wrongly due to lack of heavy knowledge of the language) that D tried to restrict some of that.
I still prefer C to C++ 9 times out of 10 for that reason.
- Jugalator, on 10/12/2007, -0/+3"if this is anything like C# and runs natively, this would be awesome."
- Sivvy, on 10/12/2007, -0/+1D looks great. Not only is it OO, but the std lib also has built in sockets, threading and zlib and the syntax doesn't differ much from C/C++. [My#1]
- kylefurlong, on 10/12/2007, -0/+1If you like D with Phobos, you'll love it with Tango. Though not quite ready for production, 1.0 for Tango is imminent, just as with D.
http://dsource.org/projects/tango
- kylefurlong, on 10/12/2007, -0/+1If you like D with Phobos, you'll love it with Tango. Though not quite ready for production, 1.0 for Tango is imminent, just as with D.
- tralalaa, on 10/12/2007, -7/+2What kind of ***** moron links to slashdot?
I eagerly await the day when people grow brains. - BigSlacker, on 10/12/2007, -1/+0None of the features listed contain a compelling reason to switch to it. Native compilation at the application level will be completely obsolete inside ten years. You'll still need it at the OS and VM levels but I don't see anyone turning away from their massive C and C++ code base for some relatively minor syntax features.
- simeonb, on 10/12/2007, -0/+11. It isn't just minor syntax fixes. Integrated data structures and garbage collection come to mind.
2. D links with C code trivially, it is all still immediately usable, and can be garbage collected.
3. 10 Years is a long time even if that comes true. In 10 years, what about devices smaller than PC's? Phones, Ipods, and portable game systems? I still don't think native code will ever be obsolete though. Think about running a high end game on VM. - BullTaco, on 10/12/2007, -0/+0"Native compilation at the application level will be completely obsolete inside ten years."
I think this depends on the constraints involved.
Memory or performance constrained applications will generally fare better in natively constrained forms. It has not yet been established otherwise.
You can argue JIT or pre-JIT compares favorably but the comparisons are always utilizing relatively small code regions such that code locality issues are not a factor.
http://research.microsoft.com/~zorn/talks/perf-twc-2004.ppt - mxcl, on 10/12/2007, -1/+6This thread is split into two types of people. Those who use C++, have tried D, and realise it is vastly superior and will save them development time, and will help them make better programs. And then you have the usual morons who read a brief summary and want to try and look intelligent by spouting some half-baked opinion in an authoritative tone.
Fortunately for those of us who like writing code, D is good, D is available, and in a few years there will be good libraries for it. The naysayers here on Digg can enjoy their inferior languages if they want. I won't stop them, I don't care. - Novagenesis, on 10/12/2007, -0/+2"None of the features listed contain a compelling reason to switch to it. Native compilation at the application level will be completely obsolete inside ten years."
Production-level development is still usually done in C or C++. yes, VB.NET and C# are getting bigger, but they are constantly being slowed.
Native compilation at the app level hurts nobody but the compiler-designer. Once it's done, it's powerful.
-Everything- else done by the intermediate layer except inter-language support can be done by library linkage.
Even LISP can be compiled to native language, though it requires an in-compiled compiler for any apps that use "eval". There have -always- been problems with intermediate layers, and .NET is not the exception.
They're either hard to port, or cludgy... and 100 times out of 100, they suffer serious efficiency issues that -will- become visible to the average programmer if any heavy loops or recursion is needed.
if you have to do 5,000,000 things 5,000,000 times, which MOST programmers have to do quasi-regularly, that order of 50-100 times speed difference decides whether that process completes in 1 minute, or 1 hour. - diggdisc, on 10/12/2007, -0/+1>>Production-level development is still usually done in C or C++.
What?? Java has been ruling this area for a few years. The last Garner report had java at about 70% usage with the enterprise application area with C,C++,C# at around 60%. - Novagenesis, on 10/12/2007, -1/+3@diggdisc
So when's the last time you went to a store and bought a Java application?
How about the last time your company spent 500k+ on a Java solution?
I've never worked for a place that put serious money into Java, though I understand that -may- happen.
I know for a fact I've never seen a Java-developed app sitting on store shelves.
Face it, the -big- stuff that are closed black boxes with a bright red bow are almost always written in languages with the least nonstandard outside dependencies... Which brings us back to C,C++, -maybe- VB.
I've never opened a package and been told I need Java or VB runtimes. I've only once purchased a product where .NET was mandatory. - BigSlacker, on 10/12/2007, -2/+0Game programming is not a good reference. It is highly visible but purely a niche market. Almost everything done on computers is boring old word processing, spread sheets, database, email, web browsing, and email. Once systems get fast enough that all those can run in a VM good enough, the powerful advantage of platform independence will far outweigh the hardware and development cost. The OS will cease to be even noticeable to the user and it will all be about the quality of the application.
- Novagenesis, on 10/12/2007, -0/+2@Bigslacker
Agreed. While Gaming is perhaps the higher-end income market, it's not the only market.
The thing is...VMs are practically a buzzword, if you think about reality.
All you need is portable libraries, and a single source can cross-compile. Modern VMs that want to support partial native code compiles will still have issues with which platform the product is compiled on... And with compatibility layers getting stronger and stronger, and the fact that not -one- major VM except Java runs stably on multiple systems right now (and even that is filled with platform-dependent code), binary compilation is still important.
You can always release encrypted/name-mangled source of products if you're afraid of someone stealing it. Well-mangled source is exactly as hard to read as disassembled code... especially with an intermediate language.
As a developer, if I had a neutral intermediate language that quick-compiles onto any platform's native language, i'd be all about distributing in that intermediate... Unless I wanted to sell individually for each platform... then the VM goes out the window
- simeonb, on 10/12/2007, -0/+11. It isn't just minor syntax fixes. Integrated data structures and garbage collection come to mind.
- jiminoc, on 10/12/2007, -0/+4All the programmers who have to ask why the world needs more programming languages are the same lazy ***** I see everyday. Ohhh I'm too lazy or old to learn anything new. If we didn't keep moving things forward we'd all be stuck writing ***** perl and c for a living.
- sonofagunn, on 10/12/2007, -1/+1Well, I would disagree with you. I've programmed in almost all of the major languages and I love learning new ones, and I'd say we don't "need" another language. However, if it takes off and gets all the major libraries it needs and a really good IDE, I'd have no problem using D for a new project somewhere.
If the syntax makes it a little faster to use, then great, but it's really not a big deal. The time spent actually writing code is usually a small fraction of an actual project. Your project team, your design, and your development process will all end up being exponentially more significant than the language you decided to use. - Novagenesis, on 10/12/2007, -1/+1I'm all about learning new languages, but that doesn't make a new language "better" for being new.
Myself, I still use C for high-efficiency code, Perl for string parsing (and I get looks for that, but if speed don't matter, regular expressions are easy to use and can be easy to read), Lisp for experimenting and language development, and ruby for web apps.
The other languages I know, I rarely, if ever, touch. There's only so many paintbrushes that ONE artist needs... but then, a nice selection will improves coders overall.
What the programming world really needs is a universal standard intermediary FILE (sorry, but I don't think every language should be ported to an intermediary VM), that would allow someone to create a string-parsing library in perl, some non-deterministic programming in Lisp, etc... - Onestone, on 10/12/2007, -0/+4"The time spent actually writing code is usually a small fraction of an actual project"
Correct, but this is also the phase when 99% of the bugs are introduced.
- sonofagunn, on 10/12/2007, -1/+1Well, I would disagree with you. I've programmed in almost all of the major languages and I love learning new ones, and I'd say we don't "need" another language. However, if it takes off and gets all the major libraries it needs and a really good IDE, I'd have no problem using D for a new project somewhere.
- user98887, on 10/12/2007, -1/+3wow a link to slashdot, we should all save time and read slashdot
- boaman, on 10/12/2007, -2/+2What about the statement "Note: all D users agree that by downloading and using D, or reading the D specs, they will explicitly identify any claims to intellectual property rights with a copyright or patent notice in any posted or emailed feedback sent to Digital Mars." It doesn't look like this is OSS. How important is that to everyone?
- kylefurlong, on 10/12/2007, -0/+3Admittedly the DigitalMars licensing is a bit rough around the edges. However, for those who this is significant, there is GDC, the D front end to GCC.
http://dgcc.sourceforge.net/ - WalterBright, on 10/12/2007, -0/+4The purpose of that is to keep D free of submarine patents and retroactive copyright claims, making it more OSS.
- kylefurlong, on 10/12/2007, -0/+3Admittedly the DigitalMars licensing is a bit rough around the edges. However, for those who this is significant, there is GDC, the D front end to GCC.
- h3r3tic, on 10/12/2007, -0/+11.0 is out !
Here's the relevant announcement: http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.announce&artnum=6581
And info about a fast mirror: http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.announce&artnum=6601 - JohnnieWalker, on 10/12/2007, -6/+0Oh boy... where do I start, lets see:
@WilliamTanksley AKA:Billy, when I say "(in its non OO meaning)" I am actually explaining that I am NOT referring to C++ Templates, you see honey, OO actually stands for Object Oriented ;- ) Don't worry Billy boy I got you covered.
@cdlavalle, "any code monkey can call themselves a software engineer these days". Ok cdlavalle, sweetheart let me teach you something, B(Eng) Actually means "Bachelor of Engineering" which means that I am in fact a REAL software engineer.
@ilitirit "would love to explain why, but I think it would be insulting to people who actually have a clue" Obviously you are not one of them. Sweetypie go back your cage, my lovely gimp, I will give you what you've been craving a little later, I am just not in the mood for it now ( I know, I know you have been a very naughty boy)
@Novagenesis: "Software Engineer = A businessman that programs." Love, baby you are wrong (but it's good to try though, you will get there sometime) you see, in a few years when you grow up (and if you listen to mummy and daddy) you will actually get to go to university. You see it actually goes like this:
Business Computing (No real computing skills (Excel, VB) and basic business skills = SCUM of Computing department)
Computer Science: (Hardware/Architecture Oriented, basic software development skills (Java 1 module)
Software Engineering (Good software development skills (Java 3 modules, C++, Algorithms) and no business skills)
Finally, you all have managed to release the fury within me... YOU HAVE AWOKEN ME AND MY DIGG-BOT ARMY.... I AM UNSTOPPABLE I WILL ORDER MY DIGG-BOT ARMY TO DIGG YOU DOWN AND DIGG ME UP.... BEHOLD! COS' I WILL STRIKE DOWN UPON THEE WITH GREAT VENGEANCE AND FURIOUS ANGER! YOU WILL KNOW MY NAME IS THE LORD WHEN I LAY MY VENGEANCE UPON THEE.... BRING IT ON BEATCHES TRY TO DIGG ME DOWN! I DARE YOU I DOUBLE DARE YOU MO-FOs
Digg is coming to a city (and computer) near you! Check out all the details on our