www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - D at work

reply Pedro Lacerda <pslacerda gmail.com> writes:
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
Feb 08 2012
next sibling parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
The way I do it is to try updates at some
point when I have a little free time.

Get the new version, but keep the old version.

Compile. If it works, sweet, probably ok to keep
it.

If your app doesn't compile, and it isn't an
easy fix, just go back to the old release.


Every two or three releases though, I'll take
the pain and make sure I'm up to date anyway,
usually because the new dmd releases are good
stuff.
Feb 08 2012
parent reply Jacob Carlborg <doob me.com> writes:
On 2012-02-09 02:13, Adam D. Ruppe wrote:
 The way I do it is to try updates at some
 point when I have a little free time.

 Get the new version, but keep the old version.

 Compile. If it works, sweet, probably ok to keep
 it.

 If your app doesn't compile, and it isn't an
 easy fix, just go back to the old release.


 Every two or three releases though, I'll take
 the pain and make sure I'm up to date anyway,
 usually because the new dmd releases are good
 stuff.
DVM is great for this: https://bitbucket.org/doob/dvm -- /Jacob Carlborg
Feb 08 2012
parent Pedro Lacerda <pslacerda gmail.com> writes:
 DVM is great for this: https://bitbucket.org/doob/dvm
DVM sounds well, thanks! 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.
I'll keep it in mind. Why can't I make design around const/pure? ************************************************************************ Do you know any famous company or software publicly running on D? I searched at StackOverflow, Wiki4D and Wikipedia without meaningful results. 2012/2/9 Jacob Carlborg <doob me.com>
 On 2012-02-09 02:13, Adam D. Ruppe wrote:

 The way I do it is to try updates at some
 point when I have a little free time.

 Get the new version, but keep the old version.

 Compile. If it works, sweet, probably ok to keep
 it.

 If your app doesn't compile, and it isn't an
 easy fix, just go back to the old release.


 Every two or three releases though, I'll take
 the pain and make sure I'm up to date anyway,
 usually because the new dmd releases are good
 stuff.
DVM is great for this: https://bitbucket.org/doob/dvm -- /Jacob Carlborg
Feb 09 2012
prev sibling next sibling parent bearophile <bearophileHUGS lycos.com> writes:
Pedro Lacerda:

 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 am using "rolling" with D, but now I am doing it at a sub-release resolution. This means I keep my code updated about as DMD gets updated, almost daily. I do this because from my experience I've seen that for me it's not easy to fix in my code all those changes/improvements at once every DMD release, and to learn all those things at once :-) I think I am not wasting a significant amount of time doing this because 98% of the changes are progressive, and compiling DMD+Phobos requires a very short time, and I avoid some troubles I used to have. Probably few years from now the situation will slow down, and a more relaxed approach will be enough, like updating my code every release or two. Bye, bearophile
Feb 08 2012
prev sibling parent "Jesse Phillips" <jessekphillips+D gmail.com> writes:
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.
Feb 08 2012