I share this sentiment, it's kind of a bummer. I ran into this non-stop in enterprise Java/C# development environments, more specifically in developers who are not "classically schooled" (i.e. bootcampers).
Fact of the matter was, they never needed to know about pointers to do their job. They only even knew the term from the "null pointer exception". I looked into the curriculum of various levels of IT studies and unless you get taught at university level there are little to no memory / hardware oriented classes.
It has started to get a bit better since the introduction of Java 8 (don't look up how long ago this was, ouch) and people got familiar with "lambda's".
There seem to be a lot of long running Rust job openings in the cryptocurrency space. Maybe those positions are always open because nobody wants to work there? You asked for speculation :)
Amazon did a nice write-up this year related to your comment : "Sustainability with Rust"[1]. The cost savings are there, both for a tiny startup, like you calculated, but also for giant companies with 1000+ instances.
This is great, it looks like it does a lot already and I really like the plugin system. I think you should definitely get the documentation written up.
One thing, the "Walkthrough" video in your README is unwatchable, because it displays very small. I had to download it to be able to watch it properly.
You're right that with regards to memory management, using Java over Rust doesn't make me any more nervous. The things I really miss are at the type level. Small things like the compiler forcing you to be explicit about mutability. Large things like Rust enums and pattern matching which make it easy to model complex workflows without worrying about missing any cases.
Let me also make clear that I like the direction Java is moving (even if is taking decades) For example, something I look forward to in Java is pattern matching on switch expressions, which just got added as a preview feature in the latest LTS.
I'm surprised to see multiple people mentioning pay cuts. In the Stackoverflow Annual Developer survey[1] I see Rust developers consistently being among the highest paid in the industry.
>(...) despite my experience and best intentions, I was in fact making mistakes with C. Subtle leaks, use-after-free,(...) Rust made it very clear that I was not the programmer I thought I was.
This really resonated with me. I feel a lot more confident writing code in Rust than say in C or Java. However, in my opinion, it also comes with a downside: These days, whenever I use a 'more forgiving' programming language I find myself being much more paranoid of the code that I write. Even after double checking everything I still miss the memory guarantees that Rust brings, and end up spending a lot of time making sure things are behaving the way they should.
Damian Conway's book Perl Best Practices. And here's the reason why I thought of it:
at a previous job where we were stuck with a million lines of less-than-optimal perl code, and the original developers who only knew perl, we had to make a decision. Rewrite it in a more gentle language that suited our new developers too, or try to write better perl. Initially we went with better perl, we used a linter called perl critic that would refer you to specific sections of Damian Conway's book Perl Best Practices. We managed to write very nice code that pleased all the new FP enthousiasts present, and were able to onboard non perl developers (incl. myself) fairly easily. It didn't work out though. The problem? Our original perl developers were unable to work with our "flashy" new perl code. It might as well have been an entirely different language to them. As it often is, this was not a coding problem but a people problem.
I saw Ceephax playing at one of the weekenders, there was a small shuttle bus ride to a beach, and everybody danced in the sand. Lot of surprised locals looking at this crowd of strange people raving in the middle of the day. A ton of fun and a really good time. Super skilled and humble guy.
A few months back I started a feature in an Elm project. I did a few hours of programming and then stopped and forgot about it for two months. When I came back to it I couldn't remember what I was building, and the git branch name wasn't clear either. I decided to just follow the errors and get it to compile again and after about two hours it worked and my frontend sprung back to life with the new feature working. For me Elm is perfect for projects with frequent and extended interruption.
Used to be the dogmatist: "mouse is bad!"
Now I'm a pragmatist, do 90% of my work on a Thinkpad using keyboard shortcuts, but use the little red trackpoint mouse whenever it's more convenient. As long as I don't have to move my arms.
Oh man I had no idea you could perform actions with avy! Also didn't know you could jump between different screens. All I did was jump to spots, do something, then jump back. The teleport thing is going to be fun: "get over here" yanks line
Fun note, almost all of it is written in Haskell. If I remember correctly they've also done a bunch of stuff that helps Godot, or at least something to do with the Haskell bindings. Very accessible guys, I once asked a question on the gitter, and got helpful replies almost immediately.
I came here to post this. Have it on copy. It's the first thing that came to mind when I saw "tracker" and to be honest I didn't even know it was done in renoise. I know a lot of chiptune music on gameboys is made with tracker software as well. This venetian snares video really is something else isn't it.
I concur, for me the journey was:
Java -> Clojure -> Haskell -> Rust.
Each language introduced concepts that made it easier to learn the next. So far I've had jobs in all of those languages except for Rust, but that time will come too. I still prefer Haskell for everything that doesn't involve GUI's.
Haven't read it but there's a book called "Real World Haskell", which I thought was funny considering your question. Right now I'm really enjoying "Functional Design and Architecture"[1] by Alexander Granin (it does assume you've already got some experience). In addition, make sure to revisit Stephen Diehls "What I Wish I Knew When Learning Haskell"[2].
I use Emacs with lsp-mode (Language Server Protocol) a lot (for haskell, rust, elm and even java) and there was a dramatic speedup from Emacs 27 onwards when it started using jansson JSON parsing.
I don't think it's the bottleneck at the moment, but it's good to know there are faster parsers out there. Had a small search but couldn't find any plans to incorporate simdjson, besides a thread from last year on Emacs China forums.
It's so nice for me to read this and be able to relate. I probably wouldn't be working as a software developer today if I hadn't spent those countless hours as a kid hacking the game, setting up (d2jsp) bots, fiddling to run multiple instances on the same computer, scripting together bot detection evasion patterns etc etc.
Recently installed it again during lockdown after not playing for a good 10 years. Still has some 20k+ people online at times. Really solid game.
Right? Here's another example I think is really cool:
"Free Look is a longstanding Dolphin feature that allows the user to reposition the camera in a game however they so please, with abilities far far beyond what game cameras can provide. This allows for exploring blocked off areas, advanced game photography, and more. "
Earlier this year I read "Stay a while and listen" by David Craddock and it made me reinstall diablo 2 after not touching it for 15 years. After disabling d3d11 in wine, it has been running with no issues on ubuntu 20.4
Amazing, you can buy a triple A title and have it just work out of the box. I'm so happy with Valve's support for linux. And of course the thousands of hours of work that have gone into Wine.
It's becoming a more reliable experience to play old windows games using wine than trying to run them on windows 10.
I don't really understand that either. My best guess is potential employers can contact them directly? Still I would put a layer in between, i.e. LinkedIn.
>since it's the only IDE which does this anywhere near reliably enough.
Have a look at the Language Server Protocol implementations for java (eclipse jdtls and to a lesser extent boot-ls). Not all the features from IDEA are there, but the gap is closing.