| Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
September 16, 2011 Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
I recently stumbled across this (old) blog post: http://prog21.dadgum.com/13.html In summary, the author asks if you were offered $100,000,000 for some big software project, would you use your pet programming language? This is interesting, because if we answer "no" then it forces us to think about the reasons why we would *not* use D, and perhaps those concerns are what we should be focusing on? --- To get the ball rolling, here are the reasons I would not use D for a big project with high stakes: 1. If I had to port to ARM, or PowerPC, or some other architecture then I would very likely have trouble finding a compiler and other tools up to the task. I wouldn't have that problem with (say) Java or C. 2. I'm not convinced that any of the available compilers would cope with a very large code base. I don't know what the largest D2 project is, but I think I would be right in saying that it has less than 1 MLOC. 3. Depending on what the project was, I would probably be worried about available libraries. If, for example, the project required the use of DirectX, I'd just use C++. 4. I'd be worried about garbage collector performance, although this is less of a concern than the others because it's not too difficult to work around if you know you need performance up ahead. 5. If I did use D, I would (and do) force myself to use only simple features. I would be too scared of the type system blowing up, or obscure template errors causing pain. One error I always seem to get when using Phobos is that it can't find a match for a function because the types somehow didn't pass the template constraints for some obscure reason. When there are multiple constraints, you don't know which is failing. Often it is due to the complicated const/immutable/shared parts of the type system. --- Essentially, I agree with his conclusion in the post. Tools and libraries would be my biggest concerns (in that order). The fact that D (usually) makes things easier for me barely registered when thinking about this. | ||||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | On 9/16/2011 2:47 PM, Peter Alexander wrote:
> Essentially, I agree with his conclusion in the post. Tools and libraries would
> be my biggest concerns (in that order). The fact that D (usually) makes things
> easier for me barely registered when thinking about this.
If you had $100,000,000 none of these are an issue, as you can easily afford to hire top developers to address any and all of them.
There's a reason why huge companies like Microsoft, Google, Intel and Apple bring compiler dev in house. It's because they are so heavily reliant on compiler technology, they cannot afford not to.
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander Attachments:
| assuming I would ever be offered such a big project I would likely having to work in a team. As there aren't that many other d programmers I've met it would likely be in jave or c# (maybe c++). I would bring d up though but it will only be taken seriously if availability of other librarys aren't an issue. I wouldn't be afraid of the more complex functions as long as it's self-explanatory assuming another programmer is going to read it later and as there is a high chance he can't program in D. I do think dmd is a capable compiler as walter bright has a lot of experience with writing compilers. Right now the eclipse plugin for d is working very good and keeps getting better. | |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On 16/09/11 10:51 PM, Walter Bright wrote:
> On 9/16/2011 2:47 PM, Peter Alexander wrote:
>> Essentially, I agree with his conclusion in the post. Tools and
>> libraries would
>> be my biggest concerns (in that order). The fact that D (usually)
>> makes things
>> easier for me barely registered when thinking about this.
>
> If you had $100,000,000 none of these are an issue, as you can easily
> afford to hire top developers to address any and all of them.
>
> There's a reason why huge companies like Microsoft, Google, Intel and
> Apple bring compiler dev in house. It's because they are so heavily
> reliant on compiler technology, they cannot afford not to.
It's not just a question of "Can D do this?" but also "Is D the best choice for this?"
For example, if the job was to produce a AAA video game that ran on PC, PS3 and XBox 360, I'm sure you could *do it* with D if you paid people to develop the compiler tech and tools to produce PowerPC code and interface with all MS's and Sony's libraries and tools. But would you?
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | == Quote from Walter Bright (newshound2@digitalmars.com)'s article
> On 9/16/2011 2:47 PM, Peter Alexander wrote:
> > Essentially, I agree with his conclusion in the post. Tools and libraries would be my biggest concerns (in that order). The fact that D (usually) makes things easier for me barely registered when thinking about this.
> If you had $100,000,000 none of these are an issue, as you can easily afford to
> hire top developers to address any and all of them.
> There's a reason why huge companies like Microsoft, Google, Intel and Apple
> bring compiler dev in house. It's because they are so heavily reliant on
> compiler technology, they cannot afford not to.
This is exactly what I was thinking, and it's even more true now that D has two fully open-source compilers. GDC is almost usable on x86 already. ("Almost" here means there's one showstopper bug that keeps me from using it for real work.) I'm sure you could hire a dev or two to get it working well on ARM and/or PowerPC. Think of all the money you'd save by not having to hire a bunch of extra people to write and maintain mountains of boilerplate.
If I were in charge of a company, the major place where I wouldn't use D would be in small but mission-critical projects. If it's a big project, I could hire someone to improve D tool support and probably make up the difference with enhanced productivity. If it's not that mission-critical then I don't need to be that risk-averse.
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | On Fri, 16 Sep 2011 22:47:50 +0100, Peter Alexander wrote:
> I recently stumbled across this (old) blog post:
> http://prog21.dadgum.com/13.html
>
> To get the ball rolling, here are the reasons I would not use D for a big project with high stakes:
>
> 1. If I had to port to ARM, or PowerPC, or some other architecture then I would very likely have trouble finding a compiler and other tools up to the task. I wouldn't have that problem with (say) Java or C.
>
> 5. If I did use D, I would (and do) force myself to use only simple features. I would be too scared of the type system blowing up, or obscure template errors causing pain. One error I always seem to get when using Phobos is that it can't find a match for a function because the types somehow didn't pass the template constraints for some obscure reason. When there are multiple constraints, you don't know which is failing. Often it is due to the complicated const/immutable/shared parts of the type system.
I agree with 1 and 5. If 1 isn't required then yes. For most everything else there is a work around. Libraries, you're no worse off than C, I'd much rather take the time to translate 100 headers or my own C wrapper than write the bulk of the program in C.
For such a project I'd probably develop more like C as D does still have issues with the newer features, but it is still 100x more pleasant.
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Fri, 16 Sep 2011 14:51:27 -0700, Walter Bright wrote:
> On 9/16/2011 2:47 PM, Peter Alexander wrote:
>> Essentially, I agree with his conclusion in the post. Tools and libraries would be my biggest concerns (in that order). The fact that D (usually) makes things easier for me barely registered when thinking about this.
>
> If you had $100,000,000 none of these are an issue, as you can easily afford to hire top developers to address any and all of them.
>
> There's a reason why huge companies like Microsoft, Google, Intel and Apple bring compiler dev in house. It's because they are so heavily reliant on compiler technology, they cannot afford not to.
Problem is, he won't give me the money until it is done and delivered on time. Sadly I don't know a language to use to achieve that so D is my best choice. :D
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | "Peter Alexander" <peter.alexander.au@gmail.com> wrote in message news:j50frj$m2k$1@digitalmars.com... >I recently stumbled across this (old) blog post: http://prog21.dadgum.com/13.html > > In summary, the author asks if you were offered $100,000,000 for some big software project, would you use your pet programming language? > > This is interesting, because if we answer "no" then it forces us to think about the reasons why we would *not* use D, and perhaps those concerns are what we should be focusing on? > As long as D *could* be used (ie, I had my choice of language, and there was no requirement of ARM, JVM, in-browser scripting/applet, or shared hosting without native-compiled custom CGI support, etc), then the more critical the project was, and the more money involved, the more I would *insist* on using D. | |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to dsimcha | On 16/09/11 11:05 PM, dsimcha wrote:
> == Quote from Walter Bright (newshound2@digitalmars.com)'s article
>> On 9/16/2011 2:47 PM, Peter Alexander wrote:
>>> Essentially, I agree with his conclusion in the post. Tools and libraries would
>>> be my biggest concerns (in that order). The fact that D (usually) makes things
>>> easier for me barely registered when thinking about this.
>> If you had $100,000,000 none of these are an issue, as you can easily afford to
>> hire top developers to address any and all of them.
>> There's a reason why huge companies like Microsoft, Google, Intel and Apple
>> bring compiler dev in house. It's because they are so heavily reliant on
>> compiler technology, they cannot afford not to.
>
> This is exactly what I was thinking, and it's even more true now that D has two
> fully open-source compilers. GDC is almost usable on x86 already. ("Almost" here
> means there's one showstopper bug that keeps me from using it for real work.) I'm
> sure you could hire a dev or two to get it working well on ARM and/or PowerPC.
> Think of all the money you'd save by not having to hire a bunch of extra people to
> write and maintain mountains of boilerplate.
Remember:
1. You don't get the money until the job is done.
2. It has to be done on time.
If you want to hire extra people then it comes out of your own money and you'll have to account for the time it would take to get all the tools working.
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 16/09/11 11:23 PM, Nick Sabalausky wrote:
> "Peter Alexander"<peter.alexander.au@gmail.com> wrote in message
> news:j50frj$m2k$1@digitalmars.com...
>> I recently stumbled across this (old) blog post:
>> http://prog21.dadgum.com/13.html
>>
>> In summary, the author asks if you were offered $100,000,000 for some big
>> software project, would you use your pet programming language?
>>
>> This is interesting, because if we answer "no" then it forces us to think
>> about the reasons why we would *not* use D, and perhaps those concerns are
>> what we should be focusing on?
>>
>
> As long as D *could* be used (ie, I had my choice of language, and there was
> no requirement of ARM, JVM, in-browser scripting/applet, or shared hosting
> without native-compiled custom CGI support, etc), then the more critical the
> project was, and the more money involved, the more I would *insist* on using
> D.
You don't know up front whether or not an ARM port will be required. The requirements are subject to change like any real project, although not excessively so (as he says in the post).
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply