Development tools on linux continue to be great. A visual studio quality ide would be nice, but realistically I'd continue to use vim and the terminal.
What really irks me is the desktop environment situation. I haven't had a linux install in a couple of years and it seems that all of the desktops have gotten worse in the last few years. Unity continues to add on terrible features and follows the similar ui antipatterns and gnome 3 has. KDE4/5 are decent but very heavy. Xfce and lxde are great but you occasionally run into some weirdly missing features (no font manager -- why?) that make you pull in gnome/kde and question why you picked a lightweight desktop in the first place. I'm not sold on the tiling window managers, ya the tiling is nice, but they look terrible, require way too much config, and sometimes I just want to use the mouse damn it.
Having ported a lot of old fortran to modern fortran and C I wish that were the case. More often than not, that's the assumption but its rarely true. There are some great lower level libraries like that *packs. But for the most part the performance and bug-freeness of these codes is more dogma than reality. For instance, in MCNP (a large monte-carlo neutronics package) a coworker of mine replaced the 70s era handrolled FFT function (which looked like someone was trying to write assembly in fortran) with a modern libary for 500%+ performance gain.
> Every human endeavour until incredibly recently in our timeline was a self-cost, whether it be in health, time or wealth. Only in the last blink of an eye have we expected a Govt or Govt funded entity to do it for us. And it's clear they can't.
Absolutely not. Governments have been funding innovation since the dawn of time, nearly every royal court hired scientists in some capacity. Many developments in navigation and transportation were funded by governments looking to improve their armies. Its not like a the average scientist could have afforded to make their own train engine, or a large sailing vessel to test their new technologies.
For what? Most of openmp is useful because you can slap a pre-processor directive on a for loop and make it parallel. Rust has the ability to provide ergonomic fork-join parallelism at the library level. Right now collections that can iterate provide a .iter() method that can provide an iterator. I see no reason that equivalent functionality couldn't be provided by something like a .par_iter() or similar.
>Rust has the ability to provide ergonomic fork-join parallelism at the library level
I'm just guessing because I have only vague familiarity with this topic - but implementing that and the rest of OpenMP constructs efficiently does not sound trivial.
pragmas are just a way to consume OpenMP in C++, that part could be done trough library - but leveraging OpenMP implementation, stuff like schedulers, etc. could be useful.
> Go was attempting to use only very-well-understood ideas to make a very-well-understood, simple language.
Many of the ideas in go were not well understood and had only been demonstrated in research languages prior to go. Its concurrency model and associated primitives, and the automatic interface system were in roughly the same state then as Rust's new ideas are now.
That said the ideas in Rust were not as well understood 5 years ago and I doubt that the go creators could have incorporated them well at the time. It took Rust 5 years of experimentation to come to what it is now (and its still got a number of additions to go!).
> Many of the ideas in go were not well understood and had only been demonstrated in research languages prior to go. Its concurrency model and associated primitives, and the automatic interface system were in roughly the same state then as Rust's new ideas are now.
to Go's authors the CSP model was very well understood through three different implementations: Alef, Limbo, and Plan 9's libthread.
And the /bin symlinking... systemd and GRUB legacy were bigger. But about annually there's something arch land that will break even the most minimal installations if you aren't careful.
What really irks me is the desktop environment situation. I haven't had a linux install in a couple of years and it seems that all of the desktops have gotten worse in the last few years. Unity continues to add on terrible features and follows the similar ui antipatterns and gnome 3 has. KDE4/5 are decent but very heavy. Xfce and lxde are great but you occasionally run into some weirdly missing features (no font manager -- why?) that make you pull in gnome/kde and question why you picked a lightweight desktop in the first place. I'm not sold on the tiling window managers, ya the tiling is nice, but they look terrible, require way too much config, and sometimes I just want to use the mouse damn it.