Ilya Dudkin at Skywell Software has a story
Top 7 Dying Programming Languages to Avoid Studying in 2019 –2020.
Each language gets a paragraph's treatment as to why he thinks these languages are dead or dying. Those languages are:
Do you agree with his assessment? Are there any other language(s) you would add to the list?
(Score: 2) by DannyB on Thursday March 12 2020, @05:39PM (1 child)
Languages are not a popularity contest. However popularity of languages is a factor in career planning.
I would have loved for Lisp to have a much bigger prominence in languages. Being purely functional is not strictly a requirement to do parallel programming well. I would argue that immutability is at least as important. I enjoyed Clojure for hobby playing for a few years. The purely functional and immutability did take some getting used to. I still could fall back on an iterative non functional style with recur. Only recently have I started playing with Racket. (and also wxMaxima) I find I miss some things from Clojure. I haven't tried Erlang, yet. I might.
Clojure does have mutable versions of, at least, arrays. In my playing, I wrote a prime sieve function that took two arguments describing a range of integers to sieve over. Say from 1 trillion to 1 trilliion + 1 million. That would find all the primes in a 1 million long space starting at 1 trillion. Return them as an immutable list. The local array was mutable to make the sieve easy to implement. That was when I realized that some local mutability can be useful as long as mutability never extends outside of a single threaded function.
In the opposite style of Java with it's "final" modifier, I would prefer all local variables to be final (eg unchangeable) by default, with the programmer having to specify changeability for variables that should have it. My Java IDE automatically changes all possible variables to final automatically (a customizable setting) and I am astonished in the last decade just how few variables actually need to be variable.
I haven't tried Go channels nor Clojure's core.async.
I've built GUIs in a number of different ways over the decades. Back in the day, classic Mac OS was difficult compared to today. I find Java Swing to be remarkably good overall, but not without it's warts. It's just that that the positive experiences outweigh drawbacks. And being pure Java it's all GC. The UI has plugable look and feel. It's cross platform portable. There are extensions to use desktop specific features of various platforms. If I do another GUI project I think I'll try Java FX.
If I ever were to try a portable GUI in any of Golang, Python, D or something else, should I use Qt or wxWidgets or Gtk? I think I lean towards either wxWidgets or Gtk. But in my day job, I build web apps.
If you think a fertilized egg is a child but an immigrant child is not, please don't pretend your concerns are religious
(Score: 2) by HiThere on Thursday March 12 2020, @05:51PM
With C++ pick WxWidgets or Qt. Qt has better appearance in my opinion, but WxWidgets is easier to use. In C I'd grit my teeth and pick gtk. From Go gtk is the only reasonable choice.
And note that it depends a LOT on what you're doing. Some things are easy in one toolkit and hard in another, like selecting a line of text from a displayed block of text (none of them make that easy, unless you identify a line as "something that ends with a carriage return" rather than "the stuff displayed on one line of this variably sized text control". Gtk uses markers to say when you're highlighting a word, WxWidgets allows you to use HTML markup, and Qt assumes you're going to be using HTML markup.
Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer.