Sponsored by Dragon Age: Origins
Can't get enough Dragon Age: Origins? Check out new footage. view!
DragonAge.BioWare.com - EA presents BioWare's new dark fantasy epic Dragon Age: Origins. '9/10' from Game Informer.
87 Comments
- 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!
- Onwlyix, on 10/12/2007, -2/+17Slashdot + Digg and the site is still up?
- Onestone, on 10/12/2007, -4/+19Why? Has the perfect language been invented yet?
- 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 >.>) - 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. :-/ - 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. - 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. - 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. - 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 - 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!");
} - 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. - 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 - inactive, on 10/12/2007, -0/+4http://www.dsource.org/
- 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.
- 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.
- 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.
- 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.
- 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. - Beaver6813, on 10/12/2007, -0/+4Once the beginner tutorials on how to make useful things are out im sure it will be popular.
- 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.
- 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?
- 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/ - mercurysquad, on 10/12/2007, -1/+4detachment, that won't compile..... no closing ]
- 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. - 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/+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. - 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!
- 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. - 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. - user98887, on 10/12/2007, -1/+3wow a link to slashdot, we should all save time and read slashdot
- 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! - JacNet, on 10/12/2007, -2/+4Correction:
programmer productivity of modern languages like C# and Java.
Look it up on wikipedia.... - 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 - 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/+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" - Onestone, on 10/12/2007, -0/+2...this had to be a reply to JPDota & HMTKSteve above...
- 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. - 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, -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? - 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 - 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? - 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... - 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 - 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. - 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. -
Show 51 - 87 of 87 discussions



What is Digg?