4 ms·
> I believe the first time I landed on the website it was not published under an open source licence, which at the time was a deal breaker for me For the recor
by mhh__ 6y ago
> I believe the first time I landed on the website it was not published under an open source licence, which at the time was a deal breaker for me
For the record, this was never really true. The backend of dmd (the "main" D compiler) was unfortunately not under the same licence as the rest of the compiler, but the code has always been available. The GNU and LLVM backends are both fully open source and are faster anyway.
- JNRowe 6y agoAs someone who has had this conversation when trying to sell people on D a few times¹ it seems like an odd way to respond to it. When the licence text contained "the Software is copyrighted and comes with a single user license, and may not be redistributed"² then it hardly meets the expectations people have of Open Source. This must end up in the weeds on source available vs Open Source more often than it shuts it down? [And yes, I realise this comment is a perfect example of those weeds.] ¹ Although, I appreciate far less than either you, or especially WalterBright, have. ² https://github.com/dlang/dmd/pull/6680 https://github.com/dlang/dmd/pull/6680
- bachmeier 6y ago> it seems like an odd way to respond to it A better way to clarify it would be: There are three D compilers available. Two of them have always been fully open source. Parts of one were originally source available rather than open source, but that one is now 100% open source as well. The website failed to communicate this information properly at the time the author first tried D. The D website had, shall we say, uneven quality of communication back in the old days.
- JNRowe 6y agoI've leaned on simply "yeah, but long since solved" when lunchtime chats were still a thing. It was the fastest way to shut down that branch in my experience. However, I do like your full and complete answer. It acknowledges the old situation and completely nullifies it. I'll steal your second paragraph for when coffee time returns to normal ;)
- vips7L 6y agoPicking a compiler backend is confusing as a new user. I remembering having questions like: is dmd going to produce a slower binary? Are gdc and ldc up to date with dmd?
- mhh__ 6y agoIs it confusing? Presumably most C++ programmers have an intuition at very least between gcc and clang? Given my role at the foundation I need more data on this so I'm not being facetious
- vips7L 6y agoMaybe I'm the wrong target audience then. I'm a Java developer and I only dabble in writing some C with GCC or MSVC depending on my OS. The compiler page has a lot more details than I remember [0]. It says: For beginners you should use dmd, but the next sentence says that LDC/GDC produce substantially faster binaries. So why would I ever choose dmd? What are the trade offs? Compile time? What is substantial? And then when you scroll down it doesn't say what version of the D language spec is supported by each compiler, imagine getting started with LDC and then it only supports D 2.02, when dmd is up to D 2.12 or something. I guess for me there were a lot of questions to getting started. [0] https://wiki.dlang.org/Compilers https://wiki.dlang.org/Compilers
- cxr 6y ago> this was never really true [...] the code has always been available The term the author used ("open source") has a specific meaning. Merely being able to see the source code is not sufficient.
- mhh__ 6y agoThat's is true, but as I said the fully open source compilers are good, so even if the code was not legally open source de jure - you could still audit it, is what I meant.
- deleted 6y ago[deleted]
- crazypython 6y agoIt is wholly open-source now.
- memsom 6y agoWhen I discovered D (pre 1.0) the compiler front end was open source, but the back end source was closed. I was surprised years later when I found it now more open. There was a compiler called DLI that even used the front end code and wrote a new backend that used nasm. I remember porting that to BeOS because none of the other opensource back ends were easily portable at the time.