Nim programming language finally hit 1.0
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Fri Sep 27 18:16:27 UTC 2019
On Friday, 27 September 2019 at 17:37:14 UTC, Russel Winder wrote:
> It isn't that Python/C++ is the best choice per se, it is that
> libraries got developed using the Python/C++ combination, and
> that people working in the fields are introduced to these
> libraries as the de facto standard for their subject. I cannot
> see Nim, D, Chapel, etc. even denting this traction of Python
> and C++, though at least Nim looks derivative of Python.
Right, it is very difficult to make this move as more and more
simulation models or libraries are implemented in a specific
language. Although it does happen, Fortran is not as important as
it used to be, at least that is my impression. But it clearly
takes decades, not years, to make this move.
> Something similar is happening in data science, machine
> learning, and artificial intelligence: Python has become the de
> facto standard because someone chose to write all the libraries
> people needed in Python, NumPy, or C++.
> The use of Matlab was set because universities were given free
> licences, I suspect as a loss leader to ensure people knew
> Matlab and expected to use it when they moved to the world of
> work. However, over the 2007 to 2015 period it was clear Matlab
> were charging too much and that Python was the obvious place to
> move to. I ran many workshops over 2010 to 2015 retraining
> Matlab programmers as Python programmers. Actually they were
> electrical engineers not programmers who just wanted to solve
> problems. Matlab had the tools, but was too expensive, they
> discovered Python also had the tools, and so they switched.
Interesting that electrical engineers found that switch
worthwhile, but I still think that if you primarily do
experiments with linear algebra or signal processing then Matlab
is more convenient to use interactively than Python.
Yet, if you already know Python then maybe that isn't enough to
also learn Matlab. So I think that over time, as Python becomes
the primary language in education, you also get that effect. Not
because Python is better than the alternative, but that learning
the alternative is less attractive than solving the problem right
away (so they prefer writing more code in Python than learning
Matlab and write more terse code).
> I suspect there is beginning to be back pressure from the world
> of work to universities against Matlab and for Python, but this
> is speculation on my part.
I don't know, but I suspect as people that grew up with Python
enter leadership position then the question becomes "Is there a
good reason for not using Python for this?".
> university curriculum made for much better programmers. So
> Python for everything in universities is a very bad idea as
> well, at least for CS students – electrical engineering,
Yeah, but if you always start out with Python then students can
switch field after the first two years with less resistance. Then
you probably learn Arduino or C in a low level programming
course, Scheme in a functional programming course, Prolog in a
logic course, and Java .
That's not too bad, but the real problem is that some students
only do mandatory programming exercises and do not program on
their own, and that institutions do not want too many students to
fail. If you then add into the mix that the CS department want
many students (as the money follow the student) they end up
accepting low quality submissions and thus the students don't get
the training through effort that they need.
The desire to write your own programs and try out other languages
is probably necessary to become a decent programmer. Not sure
what can be done with that. In the 80s low level programming was
a hobby, maybe 1 out of 10 males experimented with this on their
8-bit computers... We don't have these numbers today, I think?
More information about the Digitalmars-d