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