On Friday, 28 July 2017 at 18:48:25 UTC, Ali Çehreli wrote:
On 07/28/2017 11:02 AM, Anton Fediushin wrote:
> not with Go/Rust. They're good programming languages
I really don't want to be in a position to diss other languages
but with some experience, I can tell you that I agree with blog
posts about Go being a disservice to programmers.[1] It is a
good language in the sense that you have to dial your
intellectual self down, accept limitations, and be deaf to
limitations sold as merits. I can understand "Go is limited
because it lacks this and that" but I can't agree with "Go is
great because it lacks this and that." Maybe with a little more
time I will forget powerful features of other languages and be
a content Go programmer. :)
"Go is great because it lacks things" is true when somebody comes
from language, which allows too much (Like JavaScript or PHP).
It is more about marketing. Maybe Go is not a perfect language,
maybe not even a good one, but it's sold so good because of a
good marketing
So, calling D a "better C++" is a bad advertisement. But if you
rename it to '<anything>Script', for example "DatScript" and sell
it as "better, statically typed JavaScript dialect which compiles
into fast native executables" it will became #1 language on
GitHub in no time.
A friend of mine who had left Weka a few months ago has joined
a startup in the microservices domain. The company uses Go (and
some Python). My friend looked at Go and then spent some time
to learn Rust and decided to push D instead for "competitive
edge." (Not my words! :) ) His argument was, why should we be
wasting time with other languages. So he is using D to write
the most critical piece of the product.
Nice!
> splitted like in C++.
I must have missed that one. Please tell me more about it or
give some links to read about it. All I know is there is always
disagreement on how some new C++ features should be designed.
I am talking about community, not language. C++ community is so
huge that they cannot work together on the language, which leads
to different compilers supporting different features and
different frameworks for same purposes not compatible with each
other. So, instead of making something useful, C++ community
rewrites same code over and over again in the way they think it
should be done.
It happens to new C++ specifications, when some feature got
rejected and one compiler implements it, but others doesn't.