October 11, 2021
On Friday, 8 October 2021 at 16:37:51 UTC, Ali Çehreli wrote:
> On 10/8/21 2:53 AM, Arjan wrote:
>
> >  From my experience:
> >
> > Use case: replacing 2 executables with one written in D in a
> system
> > consisting of multiple executables all written in C++ using
> various
> > libraries and a proprietary bus system originally designed
> and build in
> > 2004.
>
> Are you sure it worked? Because Bjarne thinks "it doesn't work". ;)
>
>   https://youtu.be/ae6nFZn3auQ?t=2228
>

Thanks for the links. Interesting but I do not concur with those statements of Bjarne.

Multiple times it has been proven already to be FUD. The chances of success has not so much to do with the languages from to, but much more on the approach, the availability of verification devices etc.
Also here in this forum multiple times has been reported great success with transitioning to D from other languages.

What make D interesting imo is that it is very broad in fit for purpose. This is were it hugely is distinct from any other language i'm aware of.
October 11, 2021
On 10/11/21 5:21 AM, Arjan wrote:

>> Are you sure it worked? Because Bjarne thinks "it doesn't work". ;)
>>
>>   https://youtu.be/ae6nFZn3auQ?t=2228

> Thanks for the links. Interesting but I do not concur with those
> statements of Bjarne.

Neither do I. My sarcastic winky was too subtle? :)

There is something fishy when a professor discourages new language design and especially one who acts as if D and other languages don't exist.

Ali

October 12, 2021
On Sun, Oct 10, 2021 at 09:54:11AM +0000, Ki Rill via Digitalmars-d wrote: [...]
> D is all about choice.
> 
> Many people feel frustrated with D: @safe, @live, @nogc, betterC, etc - what/when to use? They ultimately feel lost. But it's not a language thing.
> 
> D lets the programmer make the choices and helps him stay true to what he has chosen. D is like C - it trusts the programmer, but it also has the necessary mechanisms to ensure that the programmer does not stray from the path chosen.
> 
> Want to avoid the GC? Put @nogc at the top of your file. Do you want your code to be safe? @safe - is the way to go. Such mechanisms ensure you don't get lazy and start using the features you set to avoid.
> 
> Unlike Rust, D does not enforce anything upon the programmer. There is no path, schema, plan. You are your own boss. You decide.
> 
> D is all about choice. Every time we start a new project, we need to decide what D subset to use. I find D similar to Gentoo philosophy-wise. Systemd vs OpenRC? Etc.
> 
> I believe we need to somehow communicate this to the public to clarify all this confusion involved with D features.

+1, one of the things that drew me to D was the choices. It doesn't try to shove some idealogy down my throat, but gives me the tools to achieve what I want.  Unlike some people here, I find that having more than one way to do something is a *good* thing. (When the choices are meaningful, that is. When there are multiple ways of doing something but the choices are not meaningful, that's a different question.)


T

-- 
"I'm not childish; I'm just in touch with the child within!" - RL
October 16, 2021
On Tuesday, 12 October 2021 at 16:51:40 UTC, H. S. Teoh wrote:
> Unlike some people here, I find that having more than one way to do something is a *good* thing. (When the choices are meaningful, that is. When there are multiple ways of doing something but the choices are not meaningful, that's a different question.)

It is not good when you have to read code written by others. Especially if it rarely used. (We can easily deal with "i++" and "i=i+1" because they occur frequently.)

However, with meta-programming, people will write libraries that create N ways of doing the same thing. So not only do you need discipline when doing language design, but also when designing or choosing libraries, if you want to encourage people to write more readable code. Powerful meta-programming features like D/C++ provide also has some negative consequences.

For larger long-lived programs, readable code often is on of the most important characteristic (in term of costs). In that regard, it might be desirable to use a language that is restrictive, but is geared towards the domain.

I think the most well designed languages are designed for a specific use context, and  that context guides the "values". Languages like D and C++ (and JavaScript) has not been designed for a specific context and the end result is a bit messy as a result. I am not sure if one can separate values and intended use context...

October 30, 2021

On Monday, 4 October 2021 at 13:23:40 UTC, Paul Backus wrote:

>

In "Rust and Other Interesting Things", Bryan Cantrill talks about the importance of a programming language's values.

Values, he says, are the things a language prioritizes--the things it chooses when difficult tradeoffs have to be made. For example: everyone agrees that both "safety" and "performance" are valuable, but when forced to choose, some languages (Java, Python) are willing to trade away some performance for additional safety, whereas others (C, C++) would rather give up safety to gain performance.

When we're choosing a programming language, Cantrill tells us, choosing one with the right values is just as important as choosing one with the right features and ecosystem--because values are what determine how those features and ecosystem will develop over time.

One slide in his presentation contains a list of things that a programming language might value:

Approachability   Integrity        Robustness
Availability      Maintainability  Safety
Compatibility     Measurability    Security
Composability     Operability      Simplicity
Debuggability     Performance      Stability
Expressiveness    Portability      Thoroughness
Extensibility     Resiliency       Transparency
Interoperability  Rigor            Velocity

I thought it might be fun to ask the D community: which of the above values do you think are the most important to D? Choose no more than 5, and reply with your answer!

I've put my answer below, encoded using ROT13. Try to come up with your own answer before you read mine, to avoid biasing yourself.


V guvax Q'f svir zbfg vzcbegnag inyhrf ner

  • Nccebnpunovyvgl - obgu Q'f flagnk naq ynathntr srngherf ner qrfvtarq gb or snzvyvne gb hfref bs bgure cbchyne ynathntrf (r.t., P, Wnin, Clguba, Wninfpevcg). gbhe.qynat.bet zragvbaf n "tenqhny yrneavat pheir" nf na rkcyvpvg qrfvta tbny.

  • Rkcerffvirarff - jvgu srngherf yvxr grzcyngrf, zvkvaf, naq bcrengbe bireybnqvat (vapyhqvat bcQvfcngpu), Q vf bar bs gur zbfg rkcerffvir ynathntrf guvf fvqr bs Yvfc.

  • Fnsrgl - abg whfg @fnsr, ohg nyfb qrsnhyg vavgvnyvmngvba bs inevnoyrf, obhaqf-purpxvat sbe neenlf, rkprcgvbaf sbe reebe unaqyvat, naq ybgf bs bgure yvggyr qrpvfvbaf.

  • Cresbeznapr - angvir pbzcvyngvba, bs pbhefr, cyhf ybj-yriry srngherf yvxr enj cbvagref, vayvar nfz, naq ohvyg-va FVZQ bcrengvbaf.

  • Vagrebcrenovyvgl - abg bayl qbrf Q unir orfg-va-pynff P vagrebc, naq gur qvfgvapgvba bs orvat bar bs gur bayl ynathntrf gb rira nggrzcg P++ vagrebc, vg nyfb unf fhccbeg sbe Bowrpgvir-P pynffrf naq PBZ vagresnprf.

I'm not an expert so I'm a little hesitant to post, but I'd say:

Interoperability with C libraries - There are so many C libraries that do interesting things
Performance - I like that the performance is reasonable, although I think most mainstream languages are getting there.
Expressiveness - Any time I want to do something, from pointer based string functions to meta programming to multithreading via messaging, I find it in D. There is low mental friction. I also like that I can start with something not as strict and add strictness as I go.
Free Nature - I like that it's future is not owned by Oracle, Apple or anyone like that.
I also value the portability between windows and linux so I guess I'll make that number 5

November 03, 2021

On Tuesday, 12 October 2021 at 03:16:11 UTC, Ali Çehreli wrote:

>

There is something fishy when a professor discourages new language design and especially one who acts as if D and other languages don't exist.

Did we view the same clip? He seemed to argue that reimplementing 12 million lines of C code into a new language does not solve the issues effectively, but gradually transitioning into a language with better static checks does solve issues effectively. And that is probably true for code that is a natural fit for C.

Of course, these days, most problems are not a natural fit for C or C++…

1 2 3 4 5 6 7 8 9 10 11
Next ›   Last »