My first experience as a D Newbie

Laeeth Isharc laeeth at laeeth.com
Thu Oct 19 02:28:27 UTC 2017


On Thursday, 19 October 2017 at 01:32:14 UTC, codephantom wrote:
> 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.
>
...
> 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.
...
> 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 ;-)

+1

Although these days, it's not like the contribution of 
enterprises to open-source is nil.  In 2013 (I didn't bother to 
find latest stats), 80% of contributions to the kernel were from 
developers employed to work on it.

https://www.extremetech.com/computing/175919-who-actually-develops-linux-the-answer-might-surprise-you

And of course commercial open-source software is a thing.

When I started my career after university at SBC Warburg, banks 
outsourcing technology services was just beginning.  And I read a 
study from a couple years back about the consequences of 
outsourcing - and it said that very often there was a one-shot 
reduction in cost, followed by an enduring loss in productivity 
growth.  Why?  Because it's very hard to improve things when you 
don't control the whole process and when you don't receive 
information from the environment by getting your hands dirty.

And outsourcing and using tools that do everything for you 
automagically are somewhat similar in that respect.  Of course 
it's worth automating what no human should be doing.  But if one 
completely loses touch with the layer beneath, that comes at a 
high price.  And when you've automated everything, you may also 
find that the remaining problems are beyond the ken of any living 
human to solve, particularly when that human no longer has the 
experience of solving the simpler problems that are now automated.

http://queue.acm.org/detail.cfm?id=2841313

Developments in society move in cycles and waves.  From the 1990s 
until recently, yes, it made sense to think about making things 
easy that should be easy.  Today, we've lost a bit touch with the 
underlying reality, and as far as I can see the pendulum is 
swinging back a bit.

I just hired someone to work on devops who liked the old ThinkPad 
keyboards and didn't like the new ones.  But the old machines are 
now a bit dated, and yet there is no way to buy the new machines 
with a classic keyboard.  So he tried plugging an old keyboard in 
and it didn't work, so he did what anyone normal would do.  He 
reverse engineered the firmware and patched it - only to patch it 
he also had to reverse engineering the patching tool because it 
was signed.  Some might say that this demonstrates nothing more 
than a lack of pragmatism and commercial orientation.  But I 
don't think that's the case at all.  It's an unreasonable stance 
to take, but one that's very sane indeed.  GK Chesterton said 
that 'all progress comes from the unreasonable man'.  And if you 
have this kind of attitude then you recognise that you can change 
things in your environment - one no longer has this feeling of 
learned helplessness the moment that it is necessary to do 
something that can't be easily accomplished from within Visual 
Studio.  It's just code, after all.

And we're in an age where some of the most significant commercial 
problems come from the dynamic business environment - where you 
end up having to do something you didn't plan for - and from the 
complexity created by layers of abstractions.  So if you're 
adaptable and not afraid of understanding the things you depend 
on, and if they are themselves designed for you to take apart and 
understand, there's just a chance it may be one source of 
enduring commercial advantage...


More information about the Digitalmars-d mailing list