November 21, 2013
On Thursday, 21 November 2013 at 12:14:09 UTC, Paulo Pinto wrote:
> On Thursday, 21 November 2013 at 11:07:15 UTC, Chris wrote:
>> On Thursday, 21 November 2013 at 09:57:35 UTC, Bienlein wrote:
>>> On Thursday, 21 November 2013 at 09:33:04 UTC, Bienlein wrote:
>>>> What puzzles me is the enormous activity in the Go forum. Only
>>>> the Python forum has that much traffic. It seems to me that
>>>> people are all that happy if they have a language with which they
>>>> can just start hacking around on something.
>>>>
>>>> That is because Go doesn't force anyone to think about design.
>>>> The only design-level construct it has is the class an that's it.
>>>> Embedding is truly only to save coding effort not having to type
>>>> in dereferenciation chains as in C. There is nothing except
>>>> classes, but no inheritance, traits, mixins, overriding, etc. So
>>>> there is nothing that forces you to think about your design in
>>>> Go. And you don't have to know about manual memory management as
>>>> in Rust.
>>>>
>>>> -- Bienlein
>>>
>>> I forgot to say that I really don't know what this will end up in
>>> ...
>>
>> I'm wary of languages that are hyped by big companies or the web programming community. First there was Java which is still getting face lifts and plastic surgery. Then there was Ruby, "the way to go", but it hasn't convinced me yet. If all these languages are "soooo good", why do people still feel the need to come up with new solutions (cf. all the new languages for the JVM)? The answer is probably "tunnel vision" design and development. The language designers offer one ideology and users don't have to think when designing their programs. Simple as that. If you have a big company to back this up, people will think "it's THE ultimate best ever" language. Personally, I enjoy the freedom of D programming, even though with this freedom come tough questions as to the design of the program.
>
>
> You mean like C and C++ were by AT&T? Or FORTRAN and PL/I/M by IBM?
>
> Java was not the first one.
>
> Languages need a corporate sponsor or a killer framework to gain market share.

D's advantage is that there is no committee, laboratory or marketing department that decides which features to implement. It's as close to a grassroots thing as you can get, I think.

> Luckily we can now point to Facebook as possible corporate sponsor.

But that's post-factum. The language already happily exists outside the corporate sphere, unlike Java that was a product from the very beginning.

> --
> Paulo

November 21, 2013
On 11/21/13 7:31 AM, Chris wrote:
>> Luckily we can now point to Facebook as possible corporate sponsor.
>
> But that's post-factum. The language already happily exists outside the
> corporate sphere, unlike Java that was a product from the very beginning.

Each language has its story, but it's undeniable that corporate sponsorship offers a lot of liftoff. Back in 2010 (I think) a highly influential manager at Facebook said "I'd much more support use of Go than D at Facebook because Go has Google behind it." That was an assessment based exclusively on social proof, before (and instead of) any technical argument. Fortunately a lot has changed since :o).


Andrei

November 21, 2013
On Thursday, 21 November 2013 at 16:23:07 UTC, Andrei Alexandrescu wrote:
> Fortunately a lot has changed since :o).

Please, do tell. ;)
November 21, 2013
On 11/21/13 1:16 PM, Gary Willoughby wrote:
> On Thursday, 21 November 2013 at 16:23:07 UTC, Andrei Alexandrescu wrote:
>> Fortunately a lot has changed since :o).
>
> Please, do tell. ;)

Not much that people don't know already. We have one solid D project installed and a couple of heavy-hitting engineers have started using D for scripts and tools (e.g. replacing Python for a 2x speedup for the same source code size/complexity). Walter and I are working on a second large project, which is quite likely to be a hit. The bug bounty is an obvious nod of interest. Things are happening. At this point focusing on making D solid and reliable is the best thing to do.

Andrei

November 21, 2013
Andrei Alexandrescu:

> At this point focusing on making D solid and reliable is the best thing to do.

At this point what's important is to perform the small breaking changes that are left to do (and deprecate what needs to be deprecated), because doing that even later will be a problem.

Bye,
bearophile
November 21, 2013
On Thursday, 21 November 2013 at 21:36:28 UTC, Andrei Alexandrescu wrote:
> On 11/21/13 1:16 PM, Gary Willoughby wrote:
>> On Thursday, 21 November 2013 at 16:23:07 UTC, Andrei Alexandrescu wrote:
>>> Fortunately a lot has changed since :o).
>>
>> Please, do tell. ;)
>
> Not much that people don't know already. We have one solid D project installed and a couple of heavy-hitting engineers have started using D for scripts and tools (e.g. replacing Python for a 2x speedup for the same source code size/complexity). Walter and I are working on a second large project, which is quite likely to be a hit. The bug bounty is an obvious nod of interest. Things are happening. At this point focusing on making D solid and reliable is the best thing to do.
>
> Andrei

Any plans for rvalue references before D gets stable?
November 22, 2013
On 2013-11-21 22:17:05 +0000, bearophile said:

> Andrei Alexandrescu:
> 
>> At this point focusing on making D solid and reliable is the best thing to do.
> 
> At this point what's important is to perform the small breaking changes that are left to do (and deprecate what needs to be deprecated), because doing that even later will be a problem.
> 
> Bye,
> bearophile

+1

November 22, 2013
On Thursday, 21 November 2013 at 09:33:04 UTC, Bienlein wrote:
> What puzzles me is the enormous activity in the Go forum. Only
> the Python forum has that much traffic. It seems to me that
> people are all that happy if they have a language with which they
> can just start hacking around on something.
>
> That is because Go doesn't force anyone to think about design.
> The only design-level construct it has is the class an that's it.
> Embedding is truly only to save coding effort not having to type
> in dereferenciation chains as in C. There is nothing except
> classes, but no inheritance, traits, mixins, overriding, etc. So
> there is nothing that forces you to think about your design in
> Go. And you don't have to know about manual memory management as
> in Rust.
>
> -- Bienlein

That actually makes it a good first language to learn programming (and also bad programming). Simplicity is appealing. A language that can be learnt in a couple of afternoons is always pleasant and will draw masses. OTOH, if it doesn't force you to think about design, I guess the absence of design bites you in the long term. Then, the simplicity of the language added to the fact that it's statically typed might allow for fairly sophisticated refactoring using tooling.
These are just suppositions, I don't have any experience with Go.
November 22, 2013
On Friday, 22 November 2013 at 02:25:22 UTC, SomeDude wrote:
>> That is because Go doesn't force anyone to think about design.
>> The only design-level construct it has is the class an that's it.
>
> That actually makes it a good first language to learn programming (and also bad programming). Simplicity is appealing.

Or a second language. Simple to learn makes it easy for one of any skill to pick it up.

I don't think any language forces one to think about design. Go just removes design options. D allows for the same quick fix, but it makes it 100x easier to work that quick fix into a design.

I'm not a fan of object oriented programming. Its strength is its weakness. It provides structure, structure is resistant to change. Change is what we do, problems come from change.
November 22, 2013
On Thursday, 21 November 2013 at 21:36:28 UTC, Andrei Alexandrescu wrote:
> On 11/21/13 1:16 PM, Gary Willoughby wrote:
>> On Thursday, 21 November 2013 at 16:23:07 UTC, Andrei Alexandrescu wrote:
>>> Fortunately a lot has changed since :o).
>>
>> Please, do tell. ;)
>
> Not much that people don't know already. We have one solid D project installed and a couple of heavy-hitting engineers have started using D for scripts and tools (e.g. replacing Python for a 2x speedup for the same source code size/complexity). Walter and I are working on a second large project, which is quite likely to be a hit. The bug bounty is an obvious nod of interest. Things are happening. At this point focusing on making D solid and reliable is the best thing to do.
>
> Andrei

Just reiterating a common point:

We have a smattering of things that need fixing that involve breakage. Surely we should make said changes now, not later?
Or is it implicit in what you're saying that things like rvalue ref, property etc. are now won't-fix until D3 or whatever comes next?