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