I've so far been quite happy with the iCE40UP5k[1] based dev kit I got, though there are a lot of options out there[2].
The iCE40 FPGAs are a bit whimpy compared to Altera and Xilinx offerings from what I understand, but I really liked the idea of an open-source toolchain[3][4] being available.
To get a taste without committing cash you could just use a simulator[5], which I imagine you'd be using a fair bit anyway as it allows you easier access to the internal state.
As to actually programming, I've found the following resources useful. I started with Verilog mainly because code-gen tools like nMigen[6] generate Verilog, but for writing by hand it seems VHDL is preferred.
Anyway, links, first off some exercises to get going[7]. Introduction to Verilog[8], also has a nice general overview of HDL. Details of how non-blocking vs blocking statements in Verilog works[9], quite specific but was very informative for me.
There's also quite a lot of activity over at Reddit[10], and good experiences over at the EEVBlog forums[11].
As I said I just got started so no expert yet :)
[1]: https://www.digikey.com/product-detail/en/lattice-semiconduc...
[2]: https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
[3]: https://symbiflow.github.io/
[4]: https://github.com/cliffordwolf/icestorm
[5]: http://iverilog.icarus.com/
[6]: https://nmigen.org
[7]: https://www.fpga4fun.com/
[8]: https://www.chipverify.com/verilog/verilog-tutorial
[9]: http://sunburst-design.com/papers/CummingsSNUG2002Boston_NBA...
[10]: https://www.reddit.com/r/FPGA/
[11]: https://www.eevblog.com/forum/fpga/