D future ...
Ola Fosheim Grøstad via Digitalmars-d
digitalmars-d at puremagic.com
Wed Feb 15 08:07:18 PST 2017
On Wednesday, 15 February 2017 at 10:38:04 UTC, Russel Winder
wrote:
> It is also "re-tribalising" around the Rust, Go, Swift, C++17
> for native code; Java 8/9, Kotlin, Scala, Groovy, Clojure on
> the JVM; ECMAScript, TypeScript, Elm in the browser, and Python
> in data science and such like. OK not orthogonal dimensions.
Yeah, it isn't orthogonal dimensions. Not quite sure what you
mean by "re-tribalising". Do you mean that developers have broken
up from older languages like C++98 and Objective-C and regrouped
over Rust, Go, Swift and C++17? I guess that is a reasonable
interpretation.
I am still not sure exactly what Rust's demographic is, but I
guess it may be catering for those that want a high-level C with
a preference for functional programming over templated
programming?
> An interesting perspective is who is putting money into IDEs
> and JetBrains are a good measuring device for this. C/C++ with
> CMake got CLion which is now getting a lot of Swift and Rust
> love. Go got a whole new IDE in Goglang. C#, Ruby, JavaScript
> get a lot of push, as do the gamut of JVM languages in IDEA –
> where the Rust plugin gets a lot of push. Python has PyCharm.
I haven't seen Gogland before, too bad I turned down the full
suite IDE offering from JetBrains recently... VSCode with plugins
is ok for Go and TypeScript though.
But it is a clear trend that newer languages are more tuned for
IDE support, i.e. the language design is made with
text-completion support in mind. This is one primary advantage
with TypeScript over JavaScript for instance and alone worth the
switch. Writing Python code with PyCharm is also quite different
from using emacs, it is almost a "different language".
This trend will continue. Programming for iOS without XCode is
unthinkable at this point, and similar situations exists for
other platforms.
> Emacs, VIM, SublimeText, Atom, etc. get some love but few
> people really care about them compared to the Eclipse and
> JetBrains IDEs.
The cognitive load is just too high these days to use a regular
editor if you want to be productive. The APIs are too big, there
are too many of them, and they change too much and frequently to
deal with "non-standard" editor issues. Just the automated
hinting that something is deprecated and suggestions for
replacements are invaluable time savers when upgrading codebases.
> So if we measure traction by IDE and editor effort D is losing,
> along with Fantom, Crystal, Pony, Nim, and all the other
> languages that focus on the language to the expense of the way
> people use the language.
I think IDE support should be part of the core project these
days. My impression is that Dart had a lot more enthusiastic
following when they provided a Dart-editor (eclipse fork).
JetBrains supports Dart, but it isn't really the same thing when
it isn't free and directly supported by the language provider.
I noticed that the Whiley website says that they are maintaining
an eclipse plugin as part of the project.
> Kingsley started work on the IDEA plugin and Bruno on the
> Eclipse plugin. Some people are working on the IDEA plugin (I
> am supposed to be as well, but I am failing). To get D out
> there with traction, these, not the compiler, should be the
> core focus of attention – the place where lots of resource is
> going in.
One cannot expect volunteers to keep at it for years. And being
left in the dark at some point in the future is not a very
enticing prospect when adopting a language. There are currently
more open source projects on github than (capable) developers...
so one cannot expect others to take over either. It was different
back in the day when emacs was the only real alternative.
Community driven development seems to no longer work reliably for
projects that have high maintenance costs (with notable
exceptions).
I guess this having something to do with the basic needs being
met by the Linux ecosystem (the basic Unix toolset being
available). Maslow's hierarchy of needs?
> Ceylon, Kotlin, Rust, Go have some core resource that attracts
> more resource, and there is a snowball effect.
I think Go has benefitted some from having limited and stable
language semantics and continuously improving on the
implementation. IMO that should make it attractive in the server
space, i.e. you get low tooling-related maintenance cost and
still get real benefits from recompiling with new versions of the
compiler.
I don't much about Rust and snowball effects? I thought Rust had
stagnated, but maybe I am wrong?
> No matter how good D and the compilers are, without high
> quality IDE support, it will be a peripheral language for the
> core adherents.
>
> But we have been round this time and again, with
> extraordinarily little progress.
The most important factor is the overall composition of the eco
system and a good IDE makes it all come together. Kinda like a
carpenter's workbench. You can make small scale stuff without,
but you wouldn't do professional work on a tight schedule without
a good stable workbench if can get one at another shop (language).
But a good IDE won't make significant change until the semantics
for resource handling has been dealt with in a competitive
manner... so there are several bits missing. Both Go, Swift and
Rust provide "state of the art" memory management. D currently
does not.
More information about the Digitalmars-d
mailing list