March 13, 2015
On Friday, 13 March 2015 at 00:20:40 UTC, Andrei Alexandrescu wrote:
> A friend of mine needed to complete a small project and thought of using a language he didn't know for it. He already knew I work on D so he considered it alongside Go. He ended up choosing the latter, and documented his decision making process in a few notes that he subsequently shared with me. I'll paste below a sort of transcript of his handwritten notes.

In my opinion it is better to focus on tempting users with D strong bits than oversell it by trying it compete in topics it has inherent disadvantage. There is not point in try to compete with Go on topic of simplicity - they have crippled the language tremendeously to get that simplicity. Simple D has no value - I would simply prefer Go instead of it as it has head start advantage in toolchain.

Instead it is better to focus on explaining users that they don't want what they think they want, akin to that Bjarne quote. And don't be afraid to admit to certain users that D is not a best choice for them. It doesn't mean that such valuable feedback should be ignore - there is indeed a lot that can be improved in the learning curve. But trying to fight for user who makes choice with "trendy" and "simplicity" in mind is a battle lost from the very beginning.
March 13, 2015
On Friday, 13 March 2015 at 07:00:12 UTC, Russel Winder wrote:
>
> On the other hand Go is gaining massive traction in the market

The power of marketing is truly frightening.

-Wyatt

March 13, 2015
On Friday, 13 March 2015 at 08:53:16 UTC, JN wrote:
>
> Never heard of LiteIDE, but Emacs and VIM aren't really IDEs,
> they are just glorified text editors. When people say IDE, they
> not only mean the text editing part, but the management of the
> build process and visual debugging, including watches,
> breakpoints, step-by-step debugging etc.

"Unix is my IDE" is a meme for a reason.  I have all that stuff in my shell and more.  But you're kind of missing the point to fixate on that anyway.

-Wyatt
March 13, 2015
On Fri, 2015-03-13 at 13:28 +0000, Wyatt via Digitalmars-d wrote:
> On Friday, 13 March 2015 at 07:00:12 UTC, Russel Winder wrote:
> >
> > On the other hand Go is gaining massive traction in the market
> 
> The power of marketing is truly frightening.

There is certainly an element of "Google invented and use this, I must as well" so nil effort marketing has caught many. On the other hand there are many, cf. CloudFlare, for example, that have created a real sane use of Go as fundamentally a strongly typed checked simplified C with a form of CSP.

The removal of shared memory multi-threading in favour of using processes and channels should never be underestimated as a Really Good Thing™ that other native code languages (*) have failed to do anything about. Thus Go wins, others lose.

(*) JVM languages have GPars.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

March 13, 2015
On Friday, 13 March 2015 at 13:42:31 UTC, Wyatt wrote:
> On Friday, 13 March 2015 at 08:53:16 UTC, JN wrote:
>>
>> Never heard of LiteIDE, but Emacs and VIM aren't really IDEs,
>> they are just glorified text editors. When people say IDE, they
>> not only mean the text editing part, but the management of the
>> build process and visual debugging, including watches,
>> breakpoints, step-by-step debugging etc.
>
> "Unix is my IDE" is a meme for a reason.  I have all that stuff in my shell and more.  But you're kind of missing the point to fixate on that anyway.
>
> -Wyatt

To be fair, he's sort of right on the debugging thing. I could never stand using GDB.
March 13, 2015
On Friday, 13 March 2015 at 13:42:31 UTC, Wyatt wrote:
> On Friday, 13 March 2015 at 08:53:16 UTC, JN wrote:
>>
>> Never heard of LiteIDE, but Emacs and VIM aren't really IDEs,
>> they are just glorified text editors. When people say IDE, they
>> not only mean the text editing part, but the management of the
>> build process and visual debugging, including watches,
>> breakpoints, step-by-step debugging etc.
>
> "Unix is my IDE" is a meme for a reason.  I have all that stuff in my shell and more.  But you're kind of missing the point to fixate on that anyway.
>
> -Wyatt

How do you do semantic refactoring in UNIX shell?

--
Paulo
March 13, 2015
On Friday, 13 March 2015 at 13:18:03 UTC, Dicebot wrote:
> On Friday, 13 March 2015 at 00:20:40 UTC, Andrei Alexandrescu wrote:
>> A friend of mine needed to complete a small project and thought of using a language he didn't know for it. He already knew I work on D so he considered it alongside Go. He ended up choosing the latter, and documented his decision making process in a few notes that he subsequently shared with me. I'll paste below a sort of transcript of his handwritten notes.
>
> In my opinion it is better to focus on tempting users with D strong bits than oversell it by trying it compete in topics it has inherent disadvantage.

In theory I agree, but I've learned that this is not the way things work. I've learned that the way to "sell" a language is to give (potential) users an immediate reward and the feeling that they can do useful things with the language. D can do all that, but we repeatedly fail to bring this point across.

> There is not point in try to compete with Go on topic of simplicity - they have crippled the language tremendeously to get that simplicity. Simple D has no value - I would simply prefer Go instead of it as it has head start advantage in toolchain.
>
> Instead it is better to focus on explaining users that they don't want what they think they want, akin to that Bjarne quote. And don't be afraid to admit to certain users that D is not a best choice for them. It doesn't mean that such valuable feedback should be ignore - there is indeed a lot that can be improved in the learning curve. But trying to fight for user who makes choice with "trendy" and "simplicity" in mind is a battle lost from the very beginning.

This is true. This battle is lost. But a lot of users, even people who are interested in D, shy away from D, because they don't have the feeling that "this is something really useful". We fail to communicate both its general usefulness and its strong points as opposed to other languages. What the big marketing machines behind Go etc. do is to make people feel good about a product (even if it's shit). We should do the same. Only because Google does it, doesn't mean it's a big taboo for us. The fact of the matter is that we have failed to win over:

1. the C/C++ expert nerdy-linuxy crowd
2. the average user

Crowd 1. we cannot win over easily, after all C/C++ are well-established and "high priests" and gurus are usually reluctant to learn something new. Crowd 2. we can win over, yet we have failed to communicate with them, to reach out to them. Most people I know have a look at D's homepage and say "Uh! Hm. Ah, I'll use Python." No, they are not hardcore programmers, they are engineers and scientists. But they are _users_, people who need to write software to analyze data, to create something. We should not ignore them, even if they are not (initially) interested in templates and metaprogramming. Neither was I, when I first learned D.
March 13, 2015
On Friday, 13 March 2015 at 13:47:28 UTC, weaselcat wrote:
>
> To be fair, he's sort of right on the debugging thing. I could never stand using GDB.

That's certainly true; debug situation has been playing catch up and it's not "there" yet.  The base GDB experience is straight up bad and, while CGDB already makes it worlds better (and has some exciting stuff coming), it's not as good as Visual Studio.  (Big shoutout to LLVM/Clang/LLDB for giving the GNU folk a kick in the pants to up their game.)

-Wyatt
March 13, 2015
On Fri, 2015-03-13 at 14:20 +0000, Chris via Digitalmars-d wrote: […]

> reluctant to learn something new. Crowd 2. we can win over, yet we have failed to communicate with them, to reach out to them. Most people I know have a look at D's homepage and say "Uh! Hm. Ah, I'll use Python." No, they are not hardcore programmers, they are engineers and scientists. But they are _users_, people who need to write software to analyze data, to create something. We should not ignore them, even if they are not (initially) interested in templates and metaprogramming. Neither was I, when I first learned D.

It is not Python or R or Julia the language that people choose, it is the superstructure built on top. So for Python, it is Pandas, Matplotlib, SciPy, NumPy. And the ability to use ready made C, C++ and Fortran libraries.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

March 13, 2015
On Friday, 13 March 2015 at 13:51:05 UTC, Paulo  Pinto wrote:
>
> How do you do semantic refactoring in UNIX shell?
>
With tools.  (Can you be less abstract?  "Semantic refactoring" could be all sorts of things-- it's not a well-defined term of art, so I have no idea what you're really trying to accomplish.)

-Wyatt