The issue with D...

Ecstatic Coder ecstatic.coder at gmail.com
Sat Feb 2 16:43:34 UTC 2019


On Saturday, 2 February 2019 at 15:43:56 UTC, Rubn wrote:
> On Saturday, 2 February 2019 at 14:36:00 UTC, Andre Pany wrote:
>> On Saturday, 2 February 2019 at 13:18:08 UTC, evilrat wrote:
>>> On Saturday, 2 February 2019 at 12:11:56 UTC, bauss wrote:
>>>>
>>>> Also look forward to the future when you don't need to 
>>>> install Visual Studio to get the linker as it will ship with 
>>>> DMD (If it doesn't already? It's been a while since I've 
>>>> checked.)
>>>
>>> It is. But there is another problem. D is a SYSTEM 
>>> programming language, not just some productivity language. It 
>>> means there is still dependency on the system libs! Heck, 
>>> even Rust given up with jemalloc in favor of system allocator 
>>> by default, if this says something...
>>> Of course the problem with packaging the libs with compiler 
>>> installation can be solved by using same approach MinGW did, 
>>> like people say, or even using the MinGW libs if it is 
>>> possible.
>>
>> Mingw libs and headers are also included in recent dmd. Except 
>> of rare cases you may not need anymore to install vs or build 
>> tools.
>>
>> Kind regards
>> Andre
>
> I don't get people complaining about and they are usually 
> misinformed as well. You can install VC++ for 1.5 GB using the 
> Build Tool install. Of that 1.5 GB 1 GB are library files and 
> most of that is for the static libraries for the runtime. The 
> last time this came up someone was developing on a cheap tablet 
> or something with 16 GB of space that isn't expandable.

I think that the reason why people complain is that not everybody 
thinks in the same way as you.

Seriously, the last time I had to install D on my freshly 
reinstalled Windows partition, I almost gave up before finishing 
the installation procedure, because it once seemed I was doomed 
to unavoidingly install the X GB of Visual Studio environment (or 
its build tools, same problem) just to install a small D compiler 
needed to build my tiny single-file tools (Basil, Pendown, etc) 
on Windows.

By luck, I tried the Mingw option, which worked and this saved my 
day, but I think you have no idea how unlikely people will click 
on this Mingw option, and how this little install menu design can 
turn off people from D if they were just trying to experiment it 
as a Python or Ruby alternative, because **not everyone** is 
willing to start that LONG and HUGE Visual Studio thing just to 
try the finally-not-so-swift D compiler which seems to need it.

IMO, the two most urgent things you should improve to avoid 
immediately pushing people away from their curiosity about D is :

1/ make D's web site landing page show D advantages from the user 
point of view : why D would be better than Python etc to make 
file processing scripts, GUI applications, web servers, etc
2/ make the installation process quick and easy : you download a 
<50MB installer executable, click install, and in less than 2 
minutes you are ready to go.

For 1, you should really consider putting this text on the 
landing page :

"D is a powerful and expressive language which compiles directly 
to efficient, native machine code.

It is the culmination of decades of experience implementing 
compilers for many diverse languages and has a unique set of 
features:

     high level constructs for great modeling power
     high performance, compiled language
     static typing
     direct interface to the operating system API's and hardware
     blazingly fast compile-times
     memory-safe subset (SafeD)
     maintainable, easy to understand code
     gradual learning curve (C-like syntax, similar to Java and 
others)
     compatible with C application binary interface
     limited compatibility with C++ application binary interface
     multi-paradigm (imperative, structured, object oriented, 
generic, functional programming purity, and even assembly)
     built-in error detection (contracts, unittests)"

Followed by THREE examples :

1. a very simple one which shows D basic syntax "a la 
JavaScript", by showing how to declare an string array, 
initialize it with [ "apple", "banana", "orange" ], how to 
iterate on them, print them, etc

2. a small "hello world" web server example (the one using vibe.d 
you see IF you select that example)

3. a small GUI example (opening a window with a menu, two radio 
buttons and a scroll view, using dlangui)

All directly visible, with a small text explaining how it is easy 
to :
1. make JavaScript/Python/Ruby like file scripting
2. easily develop web servers with vibe.d
3. easily develop multiplatform (Win/Mac/Linux) desktop with 
dlangui (which rocks btw)

And for the second point, about the installer, put the quick & 
easy installation option (Mingw) above and selected by default.

Or completely ignore those advices, and be happy what you think 
is already perfect for D's newcomers :)







More information about the Digitalmars-d mailing list