March 30, 2015
On Mon, 30 Mar 2015 00:29:46 -0700, Jonathan M Davis via Digitalmars-d-announce wrote:

> On Saturday, March 28, 2015 14:19:46 Walter Bright via Digitalmars-d-announce wrote:
>> Thank you. I need to learn std.algorithm better.
> 
> Don't we all. Part of the problem with std.algorithm is its power. It's frequently the case that you think that something isn't there when it's either there under a different name, or you just have to look at one of its functions from a different angle to use it for what you're trying to do. It wouldn't surprise me at all if folks who know it quite well get surprised by what it can do at least from time to time.

and those who doesn't (like me) keep finding various gems there. ;-)

March 30, 2015
On Monday, 30 March 2015 at 08:53:15 UTC, Ola Fosheim Grøstad wrote:
> On Sunday, 29 March 2015 at 19:03:06 UTC, Laeeth Isharc wrote:
>> On Sunday, 29 March 2015 at 15:34:35 UTC, Ola Fosheim Grøstad wrote:
>>> Actually, there is quite a large overlap if you look beyond the syntax. Dart is completely unexciting, but I also find it very productive when used with the IDE.
>>
>> Glad to hear this - I haven't yet got very far with Dart, but it seems like a toss-up between Dart and Livescript for a passable language to run on the client (for my little use case).
>
> I don't know the future of Dart, but if you have time to wait for it you might consider atscript/Angular 2.0.

Very dark as Angular team decided to look for Typescript instead[0].

http://blogs.msdn.com/b/typescript/archive/2015/03/05/angular-2-0-built-on-typescript.aspx

Now with Dart team giving up on their VM, Dart becomes just yet another language that transpiles to JavaScript.

http://news.dartlang.org/2015/03/dart-for-entire-web.html

So, it will just fade way in the sea of JavaScript wannabe replacements.

--
Paulo
March 30, 2015
On Monday, 30 March 2015 at 10:04:11 UTC, Paulo  Pinto wrote:
> Very dark as Angular team decided to look for Typescript instead[0].

It isn't very dark though, they cooperate with MS to build atscript features into Typescript instead. The two dialect were always meant to be merged at some point. So they decided to merge early. A good idea, actually.

> http://blogs.msdn.com/b/typescript/archive/2015/03/05/angular-2-0-built-on-typescript.aspx
>
> Now with Dart team giving up on their VM, Dart becomes just yet another language that transpiles to JavaScript.

Yes, although you can run the dartvm outside the browser, not sure how much love it will receive though.

> So, it will just fade way in the sea of JavaScript wannabe replacements.

Maybe, but Google is using it for Google Ads. Which is their primary business? Still, a bit early to say what happens next.
March 30, 2015
Ola Fosheim Grøstad:

>> So, it will just fade way in the sea of JavaScript wannabe replacements.
>
> Maybe, but Google is using it for Google Ads. Which is their primary business? Still, a bit early to say what happens next.

Perhaps next some kind of blend of Typescript and Dart will become part of a next JavaScript update :-)

Bye,
bearophile
March 30, 2015
On Monday, 30 March 2015 at 07:45:50 UTC, Paulo  Pinto wrote:
> On Monday, 30 March 2015 at 03:26:14 UTC, deadalnix wrote:
>> On Sunday, 29 March 2015 at 16:32:32 UTC, Idan Arye wrote:
>>> Computer science is all about tradeoffs. I used to love Ruby, but then a Rails project got out of hand... Nowadays I use it mainly as a bash replacement - Hundredfolds more expressive, only a tiny tiny bit syntax overhead, and for things that bash's safety would be enough Ruby's certainly suffices.
>>
>> This is pretty much the recurring story with ruby. The first 10 000 lines are a lot of fun, and then it gets out of hands.
>
> Just like any other language with dynamic typing.

This has more to do with the module system than with the typing. In Ruby, the `require` function reads a source file and interprets it in the global namespace. This means that from that point on, all symbols declared in that source file(and the source files it `require`s) are now part of the global namespace and accessible from anywhere(even from places that didn't `require` it), and that all monkey-patching done in that source file from now on applies *everywhere*.

Compare it to Python, that has a module system that handles namespacing and forces you to `import` a module in each scope you want to use it. This means that if foo.py uses stuff from bar.py it must `import` it directly and can't rely on some other baz.py that might dropt it's `import` to bar.py because it no longer needs it without knowing that foo.py was using it.

Note that Ruby does has `module`s that can be used for namespacing(or for mixins...) but using them is a hassle, because you either have to always use fully qualified names or to `mixin` them into the current namespace(which propagates to other scopes that want to use stuff from YOUR namespace...)

Also note that Python also has ways to mess with the gloabl context - but you have to actually dig in to do this, compared to Ruby where messing up the global context is the standard way of doing things.
March 30, 2015
On Monday, 30 March 2015 at 07:29:56 UTC, Jonathan M Davis wrote:
> On Saturday, March 28, 2015 14:19:46 Walter Bright via Digitalmars-d-announce wrote:
>> Thank you. I need to learn std.algorithm better.
>
> Don't we all. Part of the problem with std.algorithm is its power. It's
> frequently the case that you think that something isn't there when it's
> either there under a different name, or you just have to look at one of its
> functions from a different angle to use it for what you're trying to do. It
> wouldn't surprise me at all if folks who know it quite well get surprised by
> what it can do at least from time to time.
>
> - Jonathan M Davis

when this happens, it would be great if the person could post to the group a few lines about it so someone (possibly someone else) can collate into a future series on gems in phobos.  maybe give subject some consistent name so it is easy to find them later.

March 30, 2015
On Monday, 30 March 2015 at 08:53:15 UTC, Ola Fosheim Grøstad wrote:

> same theme. I pick them based on what they+ecosystem is good at, not the language by itself. So basically, you have to be best at one particular application area to do well. Go is aiming to have a good runtime for building smaller web-services, and they are getting there. Because they focus.

It is necessary to be appealing to Ola by Ola's standards for a language to appeal to other people?

I think how it actually works is that you have to find a small but focused group of people to love you lots.  Then they tell other people and over time you get better at appealing to those for whom you weren't ready before.  So that's similar to what you suggest in one sense, except that the chicken and egg problem is smaller.  Sociomantic didn't consider the ecosystem when selecting D (or at least were not put off by its immaturity).  But if in five years time their competitors realize the possibilities for doing things better, they will certainly benefit from the work Sociomantic has done on improving D (even purely as a demanding use case, but it's more than that).  [And Sociomantic won't lose, in my uninformed estimation, because edge is dynamic].

Similarly in the tiniest of ways, I didn't weight the library situation very heavily in picking D.  I have written a couple of bindings (painfully, before I got Dstep to work or knew the language very well!) and wrappers and if anyone like me arrives subsequently then it will be that little bit easier.  So that's one more reason why it can take a couple of decades for something to be an overnight success - it takes time for paths and habits to be formed, and there are threshold effects, beyond which there is a phase change.  So D's long-term prospects will be shaped by how it responds to the challenges of growth.  Looks good to me right now.


Laeeth.
March 30, 2015
On Monday, 30 March 2015 at 10:45:50 UTC, bearophile wrote:
> Ola Fosheim Grøstad:
>
>>> So, it will just fade way in the sea of JavaScript wannabe replacements.
>>
>> Maybe, but Google is using it for Google Ads. Which is their primary business? Still, a bit early to say what happens next.
>
> Perhaps next some kind of blend of Typescript and Dart will become part of a next JavaScript update :-)

Yeah, I think both Microsoft and Google see this as an effort to prototype what  Ecmascript6+ should be like.
March 30, 2015
On Monday, 30 March 2015 at 12:20:11 UTC, Laeeth Isharc wrote:
> It is necessary to be appealing to Ola by Ola's standards for a language to appeal to other people?

Not sure what point you are trying to make. Project managers pick tools that they think will solve the issues they have in the current project. When you make a plan you have to look at what is there, not what could be. You aim to reduce risk, not increase risk.

March 30, 2015
On 3/30/2015 12:29 AM, Jonathan M Davis via Digitalmars-d-announce wrote:
> On Saturday, March 28, 2015 14:19:46 Walter Bright via Digitalmars-d-announce wrote:
>> Thank you. I need to learn std.algorithm better.
>
> Don't we all. Part of the problem with std.algorithm is its power. It's
> frequently the case that you think that something isn't there when it's
> either there under a different name, or you just have to look at one of its
> functions from a different angle to use it for what you're trying to do. It
> wouldn't surprise me at all if folks who know it quite well get surprised by
> what it can do at least from time to time.

Well put.

My brain still thinks in terms of loops.