On Sun, Jun 16, 2013 at 05:25:18AM +0200, digitalmars-d-boun...@puremagic.com wrote: > Hi, > > I've been following D development for quite a bit of years now and > it have always been the case that Linux was a second (or even third) > class citizen in D-Lang world.
Huh? I find this comment rather strange, to say the least. I'm a hardcore Linux user (I hardly ever use Windows), and I've never felt that Linux support was "second class". In fact, judging from the periodic comments from Windows users on this list, I have the impression that it's Windows support that's lacking. Granted, I do use DMD from git HEAD, so maybe my perceptions are biased. But quite frankly, I find DMD almost unbelievably easy to install and use, compared with other compiler toolchains (*ahem*cough*GCC*ahem*), most of which requires installing 25 additional library dependencies, 6 macro preprocessors and that horror known as autotools, and obscure environment variables set to specific values that cannot be found anywhere in the documentation. And that's just to get the thing to build. Then to install it, you have to rearrange your system directory trees, edit user profiles, add symlinks everywhere, etc.. DMD, in contrast, builds with just make -f posix.mak. So do druntime and phobos. Installation is just a matter of editing dmd.conf to point to the right places, and everything Just Works. You can even run DMD from the directory the Makefile builds it in -- something that will cause GCC to choke and keel over and die 'cos it's expecting this binary in that location and this hardcoded path doesn't match that hardcoded path and it just falls to pieces. > I've always wondered when D is going to mature and gain more > popularity and always attributed the problems with D catching up > mostly for two things: > > * that it's was essentially developed by one man only; I find this statement needlessly inflammatory. Have you looked at DMD's git commit log? I find it hard to take seriously anyone who looks at that and still says with a straight face that D is a one-man project. > * that it neglected Linux; In light of my own experience as a hardcore exclusive Linux user, I have to say this is patently false. > The first issue have changed some while ago, and I was very happy to > hear that finally Walter somewhat embraced more distributed and open > development model. "D on github? Hell must have frozen over." -- I > thought. And I think everyone could quickly see the results. Each of > the latest releases seem like a big leap forward, not just small set > improvements. > > But the later seems to be the same as it was. Yeah, DMD can generate > x86_64 nowadays which I remember was a long time pending issue some > while back and I can find `gdc` in the Ubuntu repository, which is > huge improvement, but overall the impression is the same: D is > Windows-centric. > > It seems to me that because historically D was Windows-centric, > because Walter is Windows user, for all this years Windows > developers had easier time when playing with D, than Linux devs. And > after all this years, D community is mostly Windows-centric. Have > anyone did any poll regarding this? I am guessing, I may be wrong. Your guesses are way out in left field, at least from my POV. I've been using D on Linux happily ever since I learned how to build it from git HEAD -- which is ridiculously easy as far as compiler toolchains are involved, as I described above. If you've ever had to build GCC from scratch, you'll know what I mean. > Each time I fell the urge to play with D in the free time and want to > test newest, coolest features and projects written in D, I am > constantly hitting some Linux-related issues. Library > incompatibilities, path incompatibilities. I toy with a lot of > languages and I never hit issues like this with eg. Rust or Go, which > fall into similar category of programming languages. Both of them seem > to be developed for Linux/Unix - first, Windows later. This is totally puzzling to me. I've never had a problem with library incompatibilities and path incompatibilities. In fact, if anything, it's the opposite: DMD actually doesn't depend on 101 other external libraries that something like GCC won't even _begin_ to compile without! And path incompatibilities? Are you serious? Have you ever had the misfortune of building GCC with the wrong --prefix setting, and had it crash into a brick wall and shatter into a thousand pieces when it then tries to invoke the wrong version of the backend which, if it even runs at all, then tries to link your program to the wrong version of the C runtime and chokes with an obscure error that only linker writers could understand? DMD is actually *pleasant* to install and use, by comparison! > So I'd really like to ask all Windows-users D-developers: please > install Virtual Box, latest Ubuntu guest inside, maybe Fedora too and > see for yourself is your project is easy to install and working each > time you release it. > > In my opinion in the last 15 years most of the noticeable, long > lasting programming software improvements came from Linux/Mac world > (Unix, generally speaking), but I am biased. But the fact is: Open > Source and Linux is where young, eager to learn and risk devs and cool > kids are. In great numbers. Embrace them, just like Open, > Collaborative development model and you'll quickly see a lot of new > cool projects, developers, bug fixes and buzz. :) > > PS. Kudos for whole D community, the language is even better and more > impressive then it used to be. I find these comments rather needlessly provocative. I followed some of the recent discussion on std.process, and I have to say that I'm quite impressed at the level of concern for interoperability between Windows and Linux -- something rather foreign to my experience of library development mailing lists: most are either Linux-only ("who cares about Windows it's your own problem if you use a broken system"), or Windows-only ("what's Linux I've never heard of such a thing get on with the program install Microsoft already"). And designing the API to be maximally compatible with both? That's almost unprecedented! So I feel compelled, as a dedicated (and exclusively) Linux user, to state that the sentiment expressed by the OP does *not* represent my experience of D at all. While certainly there are always ways to improve the D experience for both platforms, I can't say the way the OP worded it is a very constructive approach, IMO. T -- Meat: euphemism for dead animal. -- Flora