HDLs are fine. I've found the tooling around them to be quite atrocious (slow, buggy, opaque, gui-based) though.
Be it for synthesis, simulation, or even just compiler errors it's pretty bad compared to software.
I have my hobby project in SpinalHDL up at https://craigjb.com
Edit: also, GTKWave is pretty good! It’s a simple and straightforward waveform viewer that works on all platforms.
[1] https://rwmj.wordpress.com/2018/03/17/playing-with-picorv32-...