My biggest challenge was installation. I couldn't install Linux, I had a Windows laptop that I had bought (b/c I was failing horribly and needed something I could run at home) but I didn't know enough to understand that my programs didn't work b/c of linux (school) vs Windows (home) line endings. So I almost dropped out. A sysadmin at school installed Linux. Ruby had an amazing Windows installation that I was able to get running and I ran the code through their editor for about a year. For the next several years, my ability to succeed was severely limited by my ability to install. My first "real" job programming, I could barely get PostgreSQL to install. I've still never written anything that compiles to LLVM because I've had so much difficulty getting LLVM to install, ImageMagick has sometimes worked and sometimes not, so I would only run some subet of it. With my own Ruby gem that I've maintained for like... IDK, 8 years or so, trying to figure out how to get users to be able to install it and configure it has been the biggest hurdle. It's just super unfortunate that the biggest hurdle to playing with things is very often the first hurdle,.
But, if I wasn't concerned with "what's wrong that needs to be fixed", and instead was concerned with "what would be compelling", the thing I'd change is that programs are represented with text.
Installing stuff sprang to mind when I read Ali's question. I've been thinking I should dive into Nix/NixOS, it's trying to solve the problems of package management and installation once and for all.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.