A few notes on choosing between Go and D for a quick project

rumbu via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 14 09:24:17 PDT 2015


On Saturday, 14 March 2015 at 15:13:44 UTC, weaselcat wrote:

>
> Regular desktop usage statistics don't apply to developer 
> communities. The few times an OS survey was done here, it was 
> overwhelmingly Linux IIRC. You can't expect people who don't 
> use(or have access to) Windows/OSX to cater to those platforms.

This is the keyword: here. Don't expect to attract other kind of 
developers if you have nothing to offer them. I am using D for 4 
years now and I didn't even respond to these polls because I fill 
as an outsider here. I don't find any use of levenshteinDistance 
in my LOB applications, i'm keeping to use D for personal 
experimental projects.

>
> D does not have a big corporation like Microsoft or Google 
> backing it, it has people donating their own time.
>
> D focuses on portability because it's a systems programming 
> language, not .NET in native form.

Portability limited to an OS with 3% usage? std.c.windows is 
older than my grandma and contains ANSI Windows bindings. But 
nothing about WinRT. Even the Windows API model has changed in 
the meantime: 
https://msdn.microsoft.com/en-us/library/windows/desktop/hh802935%28v=vs.85%29.aspx

"D is a language with C-like syntax and static typing. It 
pragmatically combines efficiency, control, and modeling power, 
with safety and programmer productivity." - this is on the 
landing page.

I see nothing about "system programming language". But I saw 
something about productivity.

> I can't really think of any language that doesn't implement 
> strings as an array of characters.

I understand very well the meaning of "immutable(char)[]" but I 
try to walk in the first time user's shoes. The problem is that 
using a string you must understand before concepts like 
immutability. To sort them, well, you must buy a book.

> complex numbers are much easier to implement than a good 
> currency system.

Again, just a some calls to WinAPI - 
https://msdn.microsoft.com/en-us/library/windows/desktop/ms221612(v=vs.85).aspx

Oops, I forgot, we need portability and probably a very versatile 
kind of currency supporting n bits instead a simple 128 bit 
standard one and we must write some efficient code, not like the 
one written by these illiterate programmers from MS. And these 
functions are not pure and @safe. Let's rewrite them.

>> So, IMHO, if you want to attract users, here is my list:
>> - concentrate on most used OSes - Windows/OSX and Android/iOS.
>> - don't write scary documentation;
>> - offer standard functionality instead of the obscure one. 
>> It's nice to have it, but the use case scenarios are rare.
>> - a GUI will be nice. You know, that thing allowing the 
>> developer to put a button and writing events... instead of the 
>> sad black console used by nobody I know.
>
> Followed by renaming it to D#?

So having built-in Windows/OSX/Andoroid/iOS support, nice 
documentation, real world functionality and a GUI system makes D 
some kind of C#? Did I understand it correctly, or it's just a 
pun?



More information about the Digitalmars-d mailing list