Jump to page: 1 24  
Page
Thread overview
November 26
Whether a programming language can be popular depends on what?

I think there are two important points, that is, killing skills and availability. At the same time pay attention to shortcomings.

I'll talk about my opinion today.


## Go
Must kill skill: Goroutine
Availability: the standard library is powerful. IDE powerful. High GC efficiency. friendly debugging tracking tool. It is convenient to realize various functions based on standard library. Have practical pprof and other tools. But language features are too few.


## Rust
Must kill skill: Memory Security
Availability: The standard library is very general. IDE powerful. friendly debugging tracking tool. A variety of language features, and will be based on popularity of new features, such as await. Have practical pprof and other tools. Development efficiency of using rust is relatively low.


## D
Must kill skill: It looks good?
Availability: standard library is poor. Bad IDE. GC efficiency is low. Lack of friendly debugging tracking tools. Lack of pprof and other practical tools. Although the language features many but can not add popular practical features, such as await.


## Summary
D language must improve usability if it is to become popular!
November 26
On Thu, Nov 26, 2020 at 6:50 AM zoujiaqing via Digitalmars-d < digitalmars-d@puremagic.com> wrote:

> ...
> ## Go
> Must kill skill: Goroutine
> Availability: the standard library is powerful. IDE powerful.
> High GC efficiency. friendly debugging tracking tool. It is
> convenient to realize various functions based on standard
> library. Have practical pprof and other tools. But language
> features are too few.
>
>
I agree. Google uses golang quite a lot, so it makes sense google helped
with tooling for it.
What IDE do you mean? (GoLand?)

## D
> Must kill skill: It looks good?
>

Maybe metaprograming?


> Availability: standard library is poor. Bad IDE. GC efficiency is low. Lack of friendly debugging tracking tools. Lack of pprof and other practical tools. Although the language features many but can not add popular practical features, such as await.
>

Standard library is very general and good enought. Bad IDE (thats true). GC
efficiency is
OK in almost all cases so I woud not say low here because it is not true.

Lack of friendly debugging tracking tools. Lack of pprof and other practical tools.

I do not use these much so can say if thats true or not, but I would think they are similar with rust

Although the language features many but  can not add popular practical features, such as await.

There is not need for await as a language feature maybe have it as a library





>
> ## Summary
> D language must improve usability if it is to become popular!
>


November 26
On Thursday, 26 November 2020 at 05:46:59 UTC, zoujiaqing wrote:
> Whether a programming language can be popular depends on what?
>

I think many factors:

1. Timing and luck.
2. Highly innovative new feature - C was portable assembler, Java was safe and Java programs could run on multiple platforms, Go had goroutines, Rust has static memory analysis, D has easy to use templates and CTFE.
3. Backing by commercial organizations that are able to pump money and resources at it - JavaScript is an example, but Go without Google backing would not have succeeded, C++ has had enormous resources put on its development, Python has had enormous investment, C# and Rust ditto.
4. Support that programmers need in the real world - such as IDEs, debuggers, libraries etc.


D and Lua are perhaps two successful languages (i.e. sizeable users) that do not have proper financial support and resources. So development is dependent on few individuals spending unpaid time on it.

In my humble opinion, D had got it right as language before Rust and Go came along.
Go did GC better. And Rust does systems programming better.




November 26
On Thursday, 26 November 2020 at 05:46:59 UTC, zoujiaqing wrote:
> Whether a programming language can be popular depends on what?
>
> I think there are two important points, that is, killing skills and availability. At the same time pay attention to shortcomings.
>
> I'll talk about my opinion today.
>
>
> ## Go
> Must kill skill: Goroutine
> Availability: the standard library is powerful. IDE powerful. High GC efficiency. friendly debugging tracking tool. It is convenient to realize various functions based on standard library. Have practical pprof and other tools. But language features are too few.
>
>
> ## Rust
> Must kill skill: Memory Security
> Availability: The standard library is very general. IDE powerful. friendly debugging tracking tool. A variety of language features, and will be based on popularity of new features, such as await. Have practical pprof and other tools. Development efficiency of using rust is relatively low.
>
>
> ## D
> Must kill skill: It looks good?
> Availability: standard library is poor. Bad IDE. GC efficiency is low. Lack of friendly debugging tracking tools. Lack of pprof and other practical tools. Although the language features many but can not add popular practical features, such as await.
>
>
> ## Summary
> D language must improve usability if it is to become popular!

I assume every developer has another opinion what is the most import thing missing in D.
(I never ever faced any performance issues with GC and I am super satisfied with Visual Studio Code. As I also not used async/await in other languages a lot, I also do not miss it in D). But I see and understand from your view these points are high import.


From my point of view the most important thing is to get the community (all of us) to speak more loud about D. Advertise D, create more blogs, try to get D in the company's they are working...

(And if I have a wish free, RSA digital signature verification natively implemented in phobos would be really great :) ).

Kind regards
Andre

November 26
On Thursday, 26 November 2020 at 05:46:59 UTC, zoujiaqing wrote:
> ## D
> Must kill skill: It looks good?
> Availability: standard library is poor. Bad IDE. GC efficiency is low. Lack of friendly debugging tracking tools. Lack of pprof and other practical tools. Although the language features many but can not add popular practical features, such as await.

Isnt await just syntactic sugar for a promise/future?

If you can provide an example of what await should expand into then I might be able to add it to my experimental D compiler and you could then write a DIP.
November 26
On Thursday, 26 November 2020 at 05:46:59 UTC, zoujiaqing wrote:
> Whether a programming language can be popular depends on what?
>
> I think there are two important points, that is, killing skills and availability. At the same time pay attention to shortcomings.


The _one_ factor that made C++ win against its competition - despite its shortcomings - is by far that it could already compile your C code. So it's an easier sell if you can just change the compiler.

You can't convince to change language someone who has already an existing codebase, it would just make life worse in most of cases.


November 26
On 26 Nov 2020 at 06:46:59 CET, "zoujiaqing" <zoujiaqing@gmail.com> wrote:

> Whether a programming language can be popular depends on what?

Mostly non-technical aspects...

> ## Go
> Must kill skill: Goroutine

* Stability with minimum breaking changes over a long time * Development in the large and long-term maintainability

> Availability: the standard library is powerful. IDE powerful. High GC efficiency. friendly debugging tracking tool. It is convenient to realize various functions based on standard library.

* Big eco-system
* Super simple setup and out-of-the-box experience
* Cross-compilation

>  But language  features are too few.

That's a big plus, if not the biggest. There are not X ways to do thing, but mostly one way. Go code is totally boring and that's good.

We considered D for our next big project but will not use it, even I like many the technical aspects. We will use Go, because you just get a lot of stuff done right and straight forward.

> ## Rust
> Must kill skill: Memory Security

* Super pedantic compiler
* Super pedantic standard library
* Big eco-system
* Super simple setup and out-of-the-box experience

> Availability: The standard library is very general. IDE powerful. friendly debugging tracking tool. A variety of language features, and will be based on popularity of new features, such as await. Have practical pprof and other tools. Development efficiency of using rust is relatively low.

I wouldn't second that. If you want to go for systems programming, IMO Rust is the way to go.

> ## D
> Must kill skill: It looks good?
> Availability: standard library is poor. Bad IDE. GC efficiency is
> low. Lack of friendly debugging tracking tools. Lack of pprof and
> other practical tools. Although the language features many but
> can not add popular practical features, such as await.

With limited resources focus becomes key. Focusing a volunteer group on some goal is very hard and requires good community management.

D is too fragmented and unpredictable, which is a No-Go if you want to use it for anything serious. It was a hard way to come to this conclusion, because I really like many aspects of it.

And, D is a huge language, it's far from simple.

-- 
Robert M. Münch
http://www.saphirion.com
smarter | better | faster


November 26
On Thursday, 26 November 2020 at 11:16:09 UTC, Robert M. Münch
>> ## Rust
>> Must kill skill: Memory Security
>
> * Super pedantic compiler
> * Super pedantic standard library
> * Big eco-system

Really? My take is that it is too small and makes C++ frameworks ou of reach.

> With limited resources focus becomes key. Focusing a volunteer group on some goal is very hard and requires good community management.

It is important to attract developers with a shared focus, then you need less management and can build on consensus.

All this talk of attracting more random developers is worrisome, more is worse if it prevents formation of consensus...

> And, D is a huge language, it's far from simple.

It is large because it has many overlapping features, the core functionality is not so big.


November 26
On Thursday, 26 November 2020 at 11:16:09 UTC, Robert M. Münch wrote:
>
> With limited resources focus becomes key. Focusing a volunteer group on some goal is very hard and requires good community management.
>
> D is too fragmented and unpredictable, which is a No-Go if you want to use it for anything serious. It was a hard way to come to this conclusion, because I really like many aspects of it.
>
> And, D is a huge language, it's far from simple.

If I would be a manager and to decide which language and tools to use in a project, I would look at D and think it is nice but what would scared me off is how the project is managed and many uncertainties for the future. The D project is in particular bad at communicating to the audience what to expect from the language in the near future. This makes D look more like a research language than a language that is ready for being used in real products.

Without enough feedback from actual commercial applications, the D project doesn't really know what programmers are looking for and instead it becomes some kind of pseudo scientific project which is obvious reading this forum. A lot of talk about compilers in general and different technology but little "how do I do X in D".
November 26
On Thursday, 26 November 2020 at 11:56:15 UTC, IGotD- wrote:
> Without enough feedback from actual commercial applications, the D project doesn't really know what programmers are looking for and instead it becomes some kind of pseudo scientific project which is obvious reading this forum. A lot of talk about compilers in general and different technology but little "how do I do X in D".

I dont think this is the case. You are just reading the general forum and not the learn forum :).




« First   ‹ Prev
1 2 3 4