www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - d from the outside

reply "john james" <jjames83 gmial.com> writes:
Hello all

I am fairly new to programming (i'm a sophomore cs student in 
college), and I wanted to talk about d in a place where I might 
be heard... so here i am.

let me preface this comment by saying that the following 
statements are merely the opinions of someone who doesn't have as 
firm a grasp of computer programming as many of the veteran 
programmers who frequent this forum.

I recently became interested in d after performing a search of 
modern programming languages. I cut my teeth on programming using 
c++. Consequently I became quickly aware of the problems with the 
language and began to look for alternatives.

In the end I wound up looking at d and go. After a great deal of 
trepidation I ultimately choose go. Why you may ask?  Because Go 
worked.

In the beginning I wanted to use D. And after trying 
unsuccessfully many times to get it working on my machine (i am 
using a mac). I gave up and looked at Go.

Lo and Behold, Go worked the first time. I went on the site 
followed the instructions and it ran. No fuss, no muss.

I checked the forums before making the switch, and others had the 
same problem. I am a noob, I didn't understand the fixes, and 
despite my efforts i had to abandon the language.

This shouldn't be a reason for someone to miss out on a 
potentially great language and this is in my opinion what keeps D 
from being more popular.

I say this will all respect and admiration for the community and 
creators of the language.

Please get some clarity around the language. Simplify the use 
(installation / implementation). Yes I am asking for hand 
holding. I think it would go a long way in exposing more people 
to the language and gaining a base of new blood that are looking 
for great languages like D.

my particular problem was file object.d was not found when trying 
to compile my hello.d program. i followed the directions exactly 
as described on the installation portion of the site.

that's enough ranting. I just wanted to come forth and say that I 
really want to use the language, but if it is too difficult to 
get up and running (or requires too much overhead), then D runs 
the risk of alienating potential converts.

FYI:

I have installed other languages such as Go, and Haskell, PHP, 
etc and had no problem.
Sep 01 2013
next sibling parent reply "Ramon" <spam thanks.no> writes:
john james

I'm afraid you hit a point there. Documentation is existing and 
being worked on but still leaves a lot to desire.

But then, to be fair, one came come along quite well with D and 
what can't be found right away, can be asked here, particularly 
in the D.learn Forum.

While I'm absolutely not sure that Go is a good language to learn 
for a programming newbie, I'm pretty sure that D isn't.
Don't get me wrong, D is a great language (why else would I be 
here?), but in my minds eye (some will strongly oppose that view) 
it's not for newbies and possibly not even for seasoned 
programmers unless one has a certain combination of mindset, 
needs and capabilities.

It might be helpful for you to ask some questions beyond the 
language itself. After all it's not about the language itself 
only but also about the environment, the available tools, etc.

One example is comfort (as in "find one click installation sets 
for Win/Apple/Linux/*BSD/Solaris in the Download section").

Another (somewhat sad for D) example is your needs for a 
development environment. There seems to be a rule of thumb that 
says that major and well established languages offer complete, 
even luxurious, IDE support for all major OSs while less well 
established and mature languages might offer not much more than 
"Emacs is supported and there is some half cooked Eclipse and 
Code:Blocks support" which might be a prohibitively large hurdle 
for a beginner.

Yet another issue is libraries. A newbie might be better served 
with, say, FreePascal or Python which both have a nice set of 
batteries included.

If I were to put D into one single sentence (beware! I'm a D 
newbie myself) it would be "C/C++ done right and with a major 
focus on systems programming".

For some people (like ourselves here) D's capabilities and 
potential are well worth to be patient, to contribute to it (and 
it's environment!) and D is or comes damn close to what we always 
wanted.

One point that might make D somewhat less attractive for CS 
students is the fact (well, according to my impression) that one 
doesn't care that much about concepts around here but rather 
about performance and somehow hacking it to work.

In any case it will be hard for you to decide - and for us to 
helpfully advise - without you considering/telling us somewhat 
more about your needs.

On a somewhat private sidenote: I value Pike highly and I had a 
closer look at Go but don't consider it highly in any regard. 
Frankly, my impression was "lots of exitement and hype and some 
nice gadgets but rather insignificant (no matter how many fans it 
attracts).

In case you decide to stay with D or to at least test it somewhat 
more extensively, you should definitely get the book "The D 
Programming Language" by Andrei Alexandrescu, one of the major D 
figures and a major contributor to D.

Have a look at the wiki and at the D.learn forum!
Sep 01 2013
parent reply "Joakim" <joakim airpost.net> writes:
On Sunday, 1 September 2013 at 18:43:05 UTC, Ramon wrote:
 While I'm absolutely not sure that Go is a good language to 
 learn for a programming newbie, I'm pretty sure that D isn't.
 Don't get me wrong, D is a great language (why else would I be 
 here?), but in my minds eye (some will strongly oppose that 
 view) it's not for newbies and possibly not even for seasoned 
 programmers unless one has a certain combination of mindset, 
 needs and capabilities.
I agree. D tries to be all things for all programmers, hence the recent thread about whether D is the language for both high-level and performance programming, but there's only a small group of people who would even know how to exercise all those capabilities. Newbies like john probably get overwhelmed by the complexity. For example, slices are always talked about as a great feature in D, but most programmers don't understand pointers: they're not going to get slices either. The hardcore users are just going to use whatever is the entrenched standard, that's C++. That leaves D in a never-never land for mass usage: too complex for newbies, too niche for those who want to get serious work done. I think D can break out of this trap to some extent and do very well, but it's a hard problem to solve. I will say that I've never had installation problems with D, but I've never tried to use it on a Mac either. The key is probably getting some popular apps built in D, where the developers rave about how D helped them get their work done better and faster. I am not aware of such design wins for D yet, but I hope and believe they will be there someday.
Sep 01 2013
parent reply "Chris" <wendlec tcd.ie> writes:
On Sunday, 1 September 2013 at 23:47:09 UTC, Joakim wrote:

 The key is probably getting some popular apps built in D, where 
 the developers rave about how D helped them get their work done 
 better and faster.  I am not aware of such design wins for D 
 yet, but I hope and believe they will be there someday.
Here is one app: http://shebang.at/boxen
Sep 02 2013
parent "Joakim" <joakim airpost.net> writes:
On Monday, 2 September 2013 at 13:40:25 UTC, Chris wrote:
 On Sunday, 1 September 2013 at 23:47:09 UTC, Joakim wrote:

 The key is probably getting some popular apps built in D, 
 where the developers rave about how D helped them get their 
 work done better and faster.  I am not aware of such design 
 wins for D yet, but I hope and believe they will be there 
 someday.
Here is one app: http://shebang.at/boxen
Cool project, but alpha software that likely hasn't been downloaded much isn't what I had in mind for "popular." I meant something like Azureus/Vuze or Limewire for Java, which, even though Java for consumer desktop apps has failed miserably, were downloaded in the millions. Of course, it didn't hurt that both were free and enabled piracy. ;) Perhaps that's a bad example, given the failure of Java on the consumer desktop. :) Take popular games, like Doom, for C++ or a web framework, like ruby on rails, for ruby that make people look into the respective programming languages, because of the popularity of those projects. D hasn't had a killer app yet, as good as the language is, that will be an inflection point for the language's adoption.
Sep 02 2013
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10941
Sep 01 2013
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-09-01 19:46, john james wrote:

 my particular problem was file object.d was not found when trying to
 compile my hello.d program. i followed the directions exactly as
 described on the installation portion of the site.
How exactly did you install the compiler. Which instructions did you follow? -- /Jacob Carlborg
Sep 02 2013
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/1/13 10:46 AM, john james wrote:
 my particular problem was file object.d was not found when trying to
 compile my hello.d program. i followed the directions exactly as
 described on the installation portion of the site.
Thanks for the account! Which pages did you use, and did you use the Windows installer or the source distribution? Andrei
Sep 02 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-09-02 18:32, Andrei Alexandrescu wrote:

 Thanks for the account! Which pages did you use, and did you use the
 Windows installer or the source distribution?
The Windows installer, on Mac OS X, that's why nothing worked :). No seriously, he said he uses Mac OS X. I'm suspecting it's this page: http://dlang.org/dmd-osx.html Which is missing the step of copying the source files of druntime and Phobos. -- /Jacob Carlborg
Sep 02 2013
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Mon, Sep 02, 2013 at 08:15:16PM +0200, Jacob Carlborg wrote:
 On 2013-09-02 18:32, Andrei Alexandrescu wrote:
 
Thanks for the account! Which pages did you use, and did you use the
Windows installer or the source distribution?
The Windows installer, on Mac OS X, that's why nothing worked :). No seriously, he said he uses Mac OS X. I'm suspecting it's this page: http://dlang.org/dmd-osx.html Which is missing the step of copying the source files of druntime and Phobos.
[...] Then it should be fixed. T -- Heads I win, tails you lose.
Sep 02 2013
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
What we really should do is encourage everyone to use it straight 
out of the zip, or use one of the platform-specific installers.

That just works. Trying to "install" it by manually copying files 
out of the zip into random locations is fraught with difficulty. 
Frankly, I'd rather just outright delete those instructions than 
try to fix them. They're way more trouble than they're worth.
Sep 02 2013
next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Mon, Sep 02, 2013 at 08:58:47PM +0200, Adam D. Ruppe wrote:
 What we really should do is encourage everyone to use it straight
 out of the zip, or use one of the platform-specific installers.
 
 That just works. Trying to "install" it by manually copying files
 out of the zip into random locations is fraught with difficulty.
 Frankly, I'd rather just outright delete those instructions than try
 to fix them. They're way more trouble than they're worth.
+1. T -- It is of the new things that men tire --- of fashions and proposals and improvements and change. It is the old things that startle and intoxicate. It is the old things that are young. -- G.K. Chesterton
Sep 02 2013
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
On Sep 2, 2013, at 11:58 AM, Adam D. Ruppe <destructionator gmail.com> =
wrote:

 What we really should do is encourage everyone to use it straight out =
of the zip, or use one of the platform-specific installers. I thought this is what everyone did. Looking at that page, I think the = problem is the "to install a global copy" bit, which should just be = deleted. Installing a global copy is the same as most other apps--you = generally want to symlink /usr/local/bin/dmd to where the file actually = is, or instead to add the install location to your path.=
Sep 04 2013