Jump to page: 1 24  
Page
Thread overview
January 04
This last year I started a new project and (as people that reads this forum knows) I decided not to use D as primary language:  I really was not enough experienced and I required a fast way to launch my prototypes (some difficulties like debugging or inspecting variables or strange linux erros with hunt/vibe.d frameworks stopped me)...

I decided not to use either Go or Rust:

* Go is pure imperative/structured language and a hell in terms of modular structuring of your project.  It is not suitable for a "functional" orientation... and my pure imperative way of thinking was abandoned decades ago:  I want to write map/reduce expressions instead for/if loops when possible.

* Rust is a straitjacket with the ownership management:  may be it is great way of avoiding erros, but codding flexibility is very limited

I wanted to return to a strong typed/native compiled language, but Go/Rust were not comparable in terms of productivity (and expressiveness) with Scala+Play or Java+Spring Boot or Node+typescript...

Finally, I decided to use D as a day-by-day scripting/common tasks language (for acquire experience) and I only want to say one thing:

D rocks

* The modularity of my scripting tasks is simple: I can organize my code in folders/modules an run scripts directly: no paths, no projects... only code and run.
* The in/out/body (and scope) mechanism/syntax is awesome (I really love it)
* The function first parameter possibilities calling ways removes the need of "extension" methods and it is something I really appreciate.
* The standard library is really useful.
* The way memory is managed transparently is awesome:  I'm not afraid of pointers and manually managed memory ... but being able to forget about it in your project is a dream.
* The functional syntax is really flexible (I will love a more integrated functional way of working in all std library, but I understand that it is out of D scope... D is not a functional language but a language with good support for functional programming).
* Templates instead Generics power/flexibility is awesome (each time I write format!"..."(...) I feel a positive emotion difficult to describe).

May be, I will appreciate to work with "asynchronicity" naturally as part of the language itself,  but it is not mandatory for me and I will cover my needs using vibe.d in the next months.  May be I will appreciate not opening brackets on new line (I have some vision difficulties... and this "standard" forces me to scroll a lot in the code because I use a big font size)

In summary:  D is a productive great language and I'm sure I will increase it's use next months.

I just wanted to share a bit of the positive feelings that D has given me over the last few months and wish the team that continues to work day by day despite the difficulties my sincere thanks and best wishes.


January 04
On 1/4/21 4:51 AM, ddcovery wrote:

> * The in/out/body (and scope) mechanism/syntax is awesome (I really love
> it)

I totally agree. Just to make sure you are aware that 'body' is optional for a while:

int foo(int i)
in (i > 42, format!"invalid: %s"(i))
out (result; result > 100, "oops")
{
  // ...
}

> May be I will appreciate not opening brackets on new line

I agree with you. I use "Egyption brackets" throughout my own code except when it helps with separation like in the code above. Otherwise, in/out and template constraints look too close to the body of the function.

Ali

January 04
On Monday, 4 January 2021 at 12:51:57 UTC, ddcovery wrote:
> [...]

Funny enough, I just submitted an article on scripting in D :)


> [...]

January 05
On Monday, 4 January 2021 at 22:09:30 UTC, aberba wrote:
> On Monday, 4 January 2021 at 12:51:57 UTC, ddcovery wrote:
>> [...]
>
> Funny enough, I just submitted an article on scripting in D :)
>
>
>> [...]

Hi Lawrence.  Where can I find the article?

January 05
On Tuesday, 5 January 2021 at 00:50:34 UTC, ddcovery wrote:
> On Monday, 4 January 2021 at 22:09:30 UTC, aberba wrote:
>> On Monday, 4 January 2021 at 12:51:57 UTC, ddcovery wrote:
>>> [...]
>>
>> Funny enough, I just submitted an article on scripting in D :)
>>
>>
>>> [...]
>
> Hi Lawrence.  Where can I find the article?

It'll be published on OpenSource.com in about 2 weeks :(. Their publishing queue takes a while.

However, I'm going to write a different kind of scripting post for my blog sooner.
January 05
On Monday, 4 January 2021 at 12:51:57 UTC, ddcovery wrote:
> In summary:  D is a productive great language and I'm sure I will increase it's use next months.

That D is productive and fun to write while being suitable for low-level and high-perf applications to scripting tasks, is its main selling point to me as well.

But I think we're falling behind by trying to copy the success of languages instead of concentrating on our core strength.

Tuples, named arguments, string interpolation > @live



January 05
On Tuesday, 5 January 2021 at 11:46:06 UTC, Tobias Pankrath wrote:
> On Monday, 4 January 2021 at 12:51:57 UTC, ddcovery wrote:
>> In summary:  D is a productive great language and I'm sure I will increase it's use next months.
>
> That D is productive and fun to write while being suitable for low-level and high-perf applications to scripting tasks, is its main selling point to me as well.
>
> But I think we're falling behind by trying to copy the success of languages instead of concentrating on our core strength.
>
> Tuples, named arguments, string interpolation > @live

Yes for me also, unless you're lowe-level a system. Apparently they see things differently.

D for scripting and productivity is hugely unexploited.
January 05
On Tuesday, 5 January 2021 at 11:46:06 UTC, Tobias Pankrath wrote:
> On Monday, 4 January 2021 at 12:51:57 UTC, ddcovery wrote:
>> In summary:  D is a productive great language and I'm sure I will increase it's use next months.
>
> That D is productive and fun to write while being suitable for low-level and high-perf applications to scripting tasks, is its main selling point to me as well.
>
> But I think we're falling behind by trying to copy the success of languages instead of concentrating on our core strength.
>
> Tuples, named arguments, string interpolation > @live

Yes, tuples are a core strength of D, but the syntax is not great. My hope is with the tuple dip we will be able to have a python like syntax:

(Python numpy example)
arr = numpy.array([('a', 0), ('b', 1)])

My gut feeling is, we will be able to compete with numpy if we can provide tuple syntax as python can provide.

Also named arguments is really important here, fortunately there is already someone working on the implementation of the approved dip.

Kind regards
Andre
January 05
On Tuesday, 5 January 2021 at 13:05:30 UTC, Andre Pany wrote:
> On Tuesday, 5 January 2021 at 11:46:06 UTC, Tobias Pankrath wrote:
>> [...]
>
> Yes, tuples are a core strength of D, but the syntax is not great. My hope is with the tuple dip we will be able to have a python like syntax:
>
> (Python numpy example)
> arr = numpy.array([('a', 0), ('b', 1)])
>
> My gut feeling is, we will be able to compete with numpy if we can provide tuple syntax as python can provide.
>
> Also named arguments is really important here, fortunately there is already someone working on the implementation of the approved dip.
>
> Kind regards
> Andre

We should get Timon on sabbatical...
January 05
On Tuesday, 5 January 2021 at 12:58:58 UTC, aberba wrote:
> D for scripting and productivity is hugely unexploited.

I have the same feeling
« First   ‹ Prev
1 2 3 4