September 25, 2019
On Wednesday, 25 September 2019 at 12:43:01 UTC, a11e99z wrote:
> On Wednesday, 25 September 2019 at 11:02:57 UTC, IGotD- wrote:
>> On Wednesday, 25 September 2019 at 10:01:40 UTC, Rel wrote:
>>> https://nim-lang.org/blog/2019/09/23/version-100-released.html
>>>
>> The reason I found D better for my purposes was that it was easier to port C like algorithms to D and also D has better libraries.
>>
>> In my opinion Nim is one of the closest competitors of D because they are both runner up languages and they try to focus on productivity. Right now Rust seems to be influencing D a lot but I think if you want to look other languages, you should definitely also look at Nim.
>
> and at Zig https://ziglang.org/documentation/master/

I fail to see an appealing reason to use Zig. Can u point me something?
(and i´m loving playing with Nim and macros :) )
September 25, 2019
On Wednesday, 25 September 2019 at 13:51:52 UTC, SrMordred wrote:
> On Wednesday, 25 September 2019 at 12:43:01 UTC, a11e99z wrote:
>> On Wednesday, 25 September 2019 at 11:02:57 UTC, IGotD- wrote:
>>> On Wednesday, 25 September 2019 at 10:01:40 UTC, Rel wrote:
>>>> https://nim-lang.org/blog/2019/09/23/version-100-released.html
>>>>
>>> The reason I found D better for my purposes was that it was easier to port C like algorithms to D and also D has better libraries.
>>>
>>> In my opinion Nim is one of the closest competitors of D because they are both runner up languages and they try to focus on productivity. Right now Rust seems to be influencing D a lot but I think if you want to look other languages, you should definitely also look at Nim.
>>
>> and at Zig https://ziglang.org/documentation/master/
>
> I fail to see an appealing reason to use Zig. Can u point me something?
> (and i´m loving playing with Nim and macros :) )

There are few things I can think of. Like a special error types that enforces error checking. Automatic C-bindings is awesome. Having cross compilation as a first class citizen is nice too. Coroutines are in the WIP right now, don't know how well it will be implemented, we'll see.

September 25, 2019
On Wednesday, 25 September 2019 at 10:59:55 UTC, Chris wrote:
> On Wednesday, 25 September 2019 at 10:01:40 UTC, Rel wrote:
>> https://nim-lang.org/blog/2019/09/23/version-100-released.html
>>
>> Well, finally Nim team released 1.0. Now future releases shouldn't break people's code and this fact should increase language adoption. Still few things seems to be unfinished (like their NewRuntime thing), but I'd like to congratulate Nim's team with this big release. What do you think about it?
>
> The link above reads almost like a summary of "Don't do what D did!". Congratulations! I've been looking at Nim on and off (like most people, I suppose). One thing that really turns me off is that indentation is an integral part of the syntax [1]. Nim designers seem to forget that Python introduced forced indentation, because Python was meant to be used by non-programmers (chemists, biologists etc.), and thus this feature was there to "help" non-programmers to keep their code clean and tidy (cf. Perl!). However, Nim is targeting (experienced) programmers who really don't need a patronizing feature like that. This is a real bummer, in my opinion, like selling a bottle of whiskey with a child safety lock to a publican.
>
>
> [1] https://nim-lang.org/docs/manual.html#lexical-analysis-indentation

Forced indentation goes back to 70's languages. Python did nothing new there.
September 25, 2019
On Wednesday, 25 September 2019 at 11:02:57 UTC, IGotD- wrote:
>
> In my opinion Nim is one of the closest competitors of D because they are both runner up languages and they try to focus on productivity. Right now Rust seems to be influencing D a lot but I think if you want to look other languages, you should definitely also look at Nim.

The problem of D has always been that it constantly follows the fashion of the day. First it was trying to "beat" C++, then it was competing with Go, now it's Rust. What's next? I find it refreshing to see languages like Nim and Zig that try to base their decisions on what works and what doesn't, what makes sense and what doesn't, not on Reddit threads about the latest CS fashion. Given that D has introduced a nice set of promising features of its own, I don't understand why D is constantly trying to emulate other languages, before it's even clear whether feature X will work or not. I think languages like Nim and Zig do have a chance, if they avoid D's mistakes and focus on their strengths. Usefulness and consistency are of utmost importance.
September 25, 2019
On Wednesday, 25 September 2019 at 14:24:39 UTC, Paulo Pinto wrote:
> On Wednesday, 25 September 2019 at 10:59:55 UTC, Chris wrote:
>> On Wednesday, 25 September 2019 at 10:01:40 UTC, Rel wrote:
>>> https://nim-lang.org/blog/2019/09/23/version-100-released.html
>>>
>>> Well, finally Nim team released 1.0. Now future releases shouldn't break people's code and this fact should increase language adoption. Still few things seems to be unfinished (like their NewRuntime thing), but I'd like to congratulate Nim's team with this big release. What do you think about it?
>>
>> The link above reads almost like a summary of "Don't do what D did!". Congratulations! I've been looking at Nim on and off (like most people, I suppose). One thing that really turns me off is that indentation is an integral part of the syntax [1]. Nim designers seem to forget that Python introduced forced indentation, because Python was meant to be used by non-programmers (chemists, biologists etc.), and thus this feature was there to "help" non-programmers to keep their code clean and tidy (cf. Perl!). However, Nim is targeting (experienced) programmers who really don't need a patronizing feature like that. This is a real bummer, in my opinion, like selling a bottle of whiskey with a child safety lock to a publican.
>>
>>
>> [1] https://nim-lang.org/docs/manual.html#lexical-analysis-indentation
>
> Forced indentation goes back to 70's languages. Python did nothing new there.

Let me guess, the reasoning behind it was the same in the 70ies. Force "clean code"? I.e. patronizing. Please enlighten me.

Anyway, Python made forced indentation popular. Python became a mainstream language "by accident", and because of its popularity people thought that forced indentation was great, although it has its merits only in contexts where most users are not programmers (e.g. natural sciences at universities).
September 25, 2019
On Wednesday, 25 September 2019 at 10:01:40 UTC, Rel wrote:
> What do you think about it?

I like how they are going to maintain a stable 1.0 branch and continue developing on a 1.1 branch. I wonder if something like that could work for D.


September 25, 2019
On Wednesday, 25 September 2019 at 14:58:43 UTC, Dennis wrote:
> On Wednesday, 25 September 2019 at 10:01:40 UTC, Rel wrote:
>> What do you think about it?
>
> I like how they are going to maintain a stable 1.0 branch and continue developing on a 1.1 branch. I wonder if something like that could work for D.

I'd say this should be the standard procedure.
September 25, 2019
On Wednesday, 25 September 2019 at 14:36:44 UTC, Chris wrote:
> Let me guess, the reasoning behind it was the same in the 70ies. Force "clean code"? I.e. patronizing. Please enlighten me.

I believe it was introduced in the seminal paper "The next 700 programming languages" by Peter J. Landin, in the ISWIM abstract language of that paper, and later picked up by implemented languages later. ABC was the one that most influenced Python.

My guess is that it had nothing to do with being patronizing, and that it was just a more readable notation, but that's just like, my opinion man.



September 25, 2019
On Wednesday, 25 September 2019 at 15:05:59 UTC, bpr wrote:
> On Wednesday, 25 September 2019 at 14:36:44 UTC, Chris wrote:
>> Let me guess, the reasoning behind it was the same in the 70ies. Force "clean code"? I.e. patronizing. Please enlighten me.
>
> I believe it was introduced in the seminal paper "The next 700 programming languages" by Peter J. Landin, in the ISWIM abstract language of that paper, and later picked up by implemented languages later. ABC was the one that most influenced Python.
>
> My guess is that it had nothing to do with being patronizing, and that it was just a more readable notation, but that's just like, my opinion man.

Thanks. Yeah, I guessed its goal was to get a more readable notation, but you can get that with any language that doesn't force you to indent. It's common sense that you structure your code visually, but I call it patronizing or nanny syntax, if you are forced to use whitespace, there are many ways to visually structure your code but this should be up to the programmer / team / company.
September 25, 2019
On Wednesday, 25 September 2019 at 15:11:57 UTC, Chris wrote:
> Thanks. Yeah, I guessed its goal was to get a more readable notation, but you can get that with any language that doesn't force you to indent. It's common sense that you structure your code visually, but I call it patronizing or nanny syntax, if you are forced to use whitespace, there are many ways to visually structure your code but this should be up to the programmer / team / company.

I guess it's just a matter of preference. Personally, "forced indentation" is one of my favourite features of Python. I indent all my code blocks in C/C++/D/Java/C# anyway, so braces are mostly unnecessary noise to me. Also, I think you underestimate how hard it is to find a missing brace in code sometimes. For example if you forget a closing brace on a method, and then the compiler thinks next methods are inner methods and it breaks on a "class Foo" declaration 200 lines of code later.