D at work

Jesse Phillips jessekphillips+D at gmail.com
Wed Feb 8 20:54:33 PST 2012


On Thursday, 9 February 2012 at 01:08:39 UTC, Pedro Lacerda wrote:
> Hi all,
>
> I'm intern at a Java and Python company despite I spent most of 
> my free
> time in there programming in D. Now I have a chance to use D on 
> a low
> priority project. I want to know relevant use cases of D, 
> because those at
> wiki aren't suited for my job. Good to know that Thrift is 
> ready for use,
> this will encourage my managers.
>
> Since still are many compiler bugs and phobos is changing 
> quickly, is
> better I stuck at some version (eg. 2.057),  or "rolling 
> release" is the
> way to go?
>
> I feel that I'm a lucky man.
>
> Pedro Lacerda

Basically the same here. I'll grab the latest DMD, and see how it 
goes, I'll also try and grab the beta when it is released in 
hopes to prevent any blockers for my use getting through. New 
releases tend to be fairly enticing, for example I won't need CSV 
as library anymore and it sounds like 2.059 could be a candidate 
for the new std.process.

It can also be a pain when your project starts taking on 
libraries. Right now I'm using LuaD but I can't use the latest 
due to a bug, when DMD creates more changes it becomes hard to 
make the changes to provide back to upstream. And if you are 
adding new libraries then those libraries may not be buildable 
with the version you use, I don't consider this much of an issue 
when using the latest dmd as the effort to make it work isn't a 
waste, but if behind then I will wait until I can use the latest 
DMD.

I don't have to coordinate with any team members for the project 
though. These things would probably be a little more of a problem 
in such a situation. But overall it has been a good experience.

As for use cases, command line is a good bet. I suggest starting 
with something that has a clear scope and isn't chosen based on a 
marketing feature. For example if you're going to build a server 
of some sort be sure the project won't grow and require database 
access (or verify that the bindings you'll need are up-to-date 
beforehand), and while making use of const/pure would good to use 
don't make your design choices around it. Do expand/explore and 
contribute, real world testing needs to be done, but be genital 
with it as things are still coming together and you want to show 
a productivity gain and quality.


More information about the Digitalmars-d-learn mailing list