September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | On 9/16/2011 3:34 PM, Peter Alexander wrote: > Remember: > > 1. You don't get the money until the job is done. Sure, but you'd be getting an advance and progress payments. You can hire developers without paying them in advance, too. > 2. It has to be done on time. D offers a lot of productivity improving abilities. That would offset time spent improving the tools. | |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jesse Phillips | On 9/16/2011 3:18 PM, Jesse Phillips wrote:
> Problem is, he won't give me the money until it is done and delivered on
> time.
If you're doing a $100,000,000 project that won't pay you a dime until it's delivered, you really need to renegotiate that contract :-)
Don't even do small projects that way. It's a great way to get stiffed. Even if you've got a slam-dunk case, it'll take you 3 years to get a judgment in court, and most of that will go to the lawyers. That's if they don't appeal, which can cost you another couple year delay. Then, you *still* aren't necessarily paid, you then have to go to court again to force payment.
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | On 9/16/2011 3:37 PM, Peter Alexander wrote:
> 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).
If you had $100,000,000 to throw around, I can guarantee you an ARM port.
And for a heckuva lot less than that, too.
| |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | On Sat, 17 Sep 2011 00:47:50 +0300, Peter Alexander <peter.alexander.au@gmail.com> wrote: > In summary, the author asks if you were offered $100,000,000 for some big software project, would you use your pet programming language? I think it's important to make the distinction between the language itself and its implementations. Implementation problems take a constant amount of resources to fix. You could make D AAA-ready for a small part of that price. However, the cost of using a clumsy programming language is directly proportional to the size of the project. -- Best regards, Vladimir mailto:vladimir@thecybershadow.net | |||
September 16, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | On 09/16/2011 11:47 PM, Peter Alexander wrote: > 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? Yes, of course. > > 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. You have $1000000000 to spend. Hacking together ARM support or even just a C backend cannot be that hard. > > 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. Just split the giant codebase into modules and use di files. Linker tools are the same for D as C++ (except DMD Windows). > > 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++. DirectX is COM based, which means it can interface with D without a C layer. But there are also C API bindings. > > 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. Work around it, or develop a faster garbage collector. Again, 1000000000$. > > 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. > Yah, DMDs error messages are cryptic sometimes. But const/immutable/shared are quite straightforward imho. > --- > > 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. I have never needed more D specific tools than the D compiler itself. Available libraries for D are a superset of available C libraries. | |||
September 17, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Timon Gehr | On 9/16/2011 7:51 PM, Timon Gehr wrote:
>> 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.
>
> Work around it, or develop a faster garbage collector. Again, 1000000000$.
BTW, the GC has massively improved in the past 7 months. It's no Java Hotspot GC but I did make some optimizations that, depending on use case, make it between 25% and 1,000 **times** faster in DMD 2.053 and up than in previous releases. Additionally, the 64-bit support (since 2.052) reduces false pointer problems by making the address space more sparse and the NO_INTERIOR flag (added in 2.055) and its internal use with associative arrays further mitigates false pointer problems.
| |||
September 17, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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. Exactly. Like Google is doing with Go. No need for "general purpose" (or "novelty") when you have a "special purpose" budget. > > 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 17, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | Peter Alexander wrote: > 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. Don't be silly. Half before project start and the rest according to agreed upon payment schedule. > 2. It has to be done on time. Project risk for the developer is high given the lack of scope definition and client wishful thinking, so this will only be offered as a Time and Materials project. > > If you want to hire extra people then it comes out of your own money Nice try at "getting something for nothing" ClientFromHell, Inc. > and you'll have to account for the time it would take to get all the tools working. My my, someone is sure living in fantasyland. Time and Materials, take it or leave it. Seriously, do people actually think that someone stupid enough to be sucked into shit like that are capable of developing something large and complex? (No they don't, they just want part of the work done to the point where they can sue the contractor and then move on to another victim without spending a dollar! Scumbags). | |||
September 17, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> On 9/16/2011 3:18 PM, Jesse Phillips wrote:
>> Problem is, he won't give me the money until it is done and delivered on time.
>
> If you're doing a $100,000,000 project that won't pay you a dime until it's delivered, you really need to renegotiate that contract :-)
>
> Don't even do small projects that way. It's a great way to get stiffed.
It's amazing that this has to be said to anyone, at any age, at any time, at any place. I think the public schools are "teaching" "how to be a sheeple". What other reason could there be? It's a conspiracy, I tell ya.
Small project: half up front and all materials prepaid before procurement. Take it or leave it. Always be ready to walk away from a project. Trust your gut feelings. But I digress. Don't EVEN get me started on "work for hire"!
| |||
September 17, 2011 Re: Would You Bet $100,000,000 on D? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | Peter Alexander wrote:
> 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,
While this is a "silly little hypothetical thread" (and it is Friday afterall so that probably explains the OP), I cannot fathom that amount being spent on just software on one project (though I've worked on one system, i.e., software + hardware, project worth 10's of millions). Maybe someone here can? Examples please, or give the largest one you can think of (it can be hypothetical). Remember, it's just software, not a system.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply