My first experience as a D Newbie

Ecstatic Coder ecstatic.coder at gmail.com
Thu Oct 19 06:32:10 UTC 2017


On Thursday, 19 October 2017 at 01:32:14 UTC, codephantom wrote:
> On Wednesday, 18 October 2017 at 18:02:24 UTC, Ecstatic Coder 
> wrote:
>>
>> But make the installation and learning curve as smooth as 
>> possible for less-skilled developers, by allowing them to 
>> download an all-in-one bundled installer 
>> (compiler+ide+tutorials+examples), and they will be much more 
>> to join the D community !
>>
>> Because you may think it's already the case, but you should 
>> trust Rion and the others when they say it's not really the 
>> case, especially on windows.
>
> don't take my response too seriously...but...
>
> The open-source community is mostly driven by 
> 'volunteers'...who work on what they want to work on, when they 
> have some spare time to work on it. I think too many people do 
> not understand this, and so come in with bloated expectations.
>
> Unlike commerical developers, the open source community rarely 
> has the money or the resources for the 'all-in-one bundled' 
> mindset. That's just how it is. That is the starting point for 
> your expecations.
>
> I blame commerical developers, like Microsoft/Apple, and 
> universities especially!
>
> They go out of their way to make the 'installation and learning 
> curve as smooth as possible'..for beginners! And they are 
> responsible for setting those kind of expectations up in 
> peoples minds..at the 'beginning'! This is not the mindset you 
> want when you enter the open source community...
>
> I guess this is ok, if you're only every going to encounter 
> commercial solutions when you go out into the real world...but 
> the world has changed a lot..and you're actually more likely to 
> encounter non-commercial, open source software these days.
>
> So perhaps they should start teaching undergrad's how to setup 
> an open-source operating system (preferably FreeBSD...Linux if 
> you really have to..  ;-)
>
> They should teach undergrad's to program in C/C++ (since 
> open-source o/s's are written in these languages - though more 
> C than C++)
>
> They should teach undergrad's to program in a simple, plain 
> text editor.
>
> They should teach undergrad's to compile/debug from the command 
> line/shell.
>
> Instead, they teach C# on Windows, using VS.
>
> open source, and D too, did not come about as a result of 
> C#/Windows/VS users being disappointed with their language 
> and/or tooling ;-)
>
> So my recommendation for beginners, is [0..9]:
>
> [0] - dump windows! (or at least dual boot, or setup a vm or 
> something).
> [1] - install FreeBSD (linux if you really have to ;-)
> [2] - start writing some C/C++ code using Vi, and compiling 
> from the shell prompt.
> [3] - realise that there must be an easier way...
> [4] - install KDE (hey..we don't want things to be too hard..do 
> we).
> [5] - dump C/C++ and install LLVM's D compiler => pkg install 
> ldc
>       (or install DMD: just download from the website and 
> extract it)
> [6] - open a 'more user friendly' text editor (like Kate).
> [7] - start coding again, in D this time.
> [8] - open a shell.
> [9] - start compiling/debugging.
>
> Then you *will* notice how much easier things are, and you 
> won't be disappointed ;-)
>
> And...you'll be better prepared to join the D community (or any 
> other open source community for that matter).

OK actually my initial proposal was this one :

http://forum.dlang.org/post/mailman.6425.1503876081.31550.digitalmars-d-bugs@puremagic.com

´´´
My proposal is change the Dlang.org main page so that it just :

1. Say "Welcome to D"

2. Show how D is nice, ending with a link to the feature page

3. Show how simple D code looks like, using 4 well chosen 
examples, with the first on the right of the main page.

4. Show how easy it is to learn D.

5. Show how easy it is to install DMD and a simple editor like 
CoEdit on any win/mac/linux computer.

So in practice, I'd advice the landing page to become something 
like that :

"Welcome to D

What is D?

D 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)

... and many more {features}.

Take a tour

Want to try D online ? Simply click on the "run" button (or 
Ctrl-enter) below the example on the right to compile and run it. 
And the example can be freely edited if you want to experiment 
with D programming.

If you want to see other examples, click on the "next" button 
below to see the next example of the dlang-tour.

Further readings

* New to programming? Learn programming quickly and easily with 
the D language, using these freely downloadable books :

   * {http://ddili.org/ders/d.en/index.html}
   * {https://www.tutorialspoint.com/d_programming/}

* Already an experienced programmer? ...

   * etc etc ...

Installing D

...

* {https://dlang.org/download.html}

* {https://github.com/BBasile/Coedit}"

Moreover I advice there are at least the following code samples 
for the Dlang-Tour :

   1. How to declare, initialise and print simple variables (bool, 
int, float,
string, int[], int[string]).
   2. How to declare simple imperative functions (something like
v=GetFibonacci(n) and GetFibonacci(v,n) with a ref argument)
   3. How to declare classes with attributes and methods
   4. How to declare and use a function like a class method
   5. How to declare and use structs and pointers
   6. How to declare and use a template function
´´´

Now here I only suggest that D's website is more welcoming to 
Windows programmers and scripters by letting them easily and 
obvioulsy download the DMD compiler and the CoEdit editor 
directly from the top of the main page (separately, as two 
"setup.ex", or together in the same bundled "setup.exe"), so they 
don't have to figure out how to make D work by trials and errors.

That's a simple and easy way to make that D landing page more 
"beginner friendly" from a marketing point of view.

And the definitive answer about that is of course something like 
"Hey man, it's open source, it's all made by volunteers on their 
free time, so it must be complicated, what did you expect ?" and 
"Make all the changes by yourself if you don't like it the way it 
is.".

Seriously ?

OK, message received. If putting two download links per detected 
platform on the main page is too much work for the volunteers who 
maintains the landing page, so let's keep it the way it is. I 
have a lot of work and a family life too, no problem...


More information about the Digitalmars-d mailing list