HTML means and stands for (HyperText Markup Language) and it's a basic web language and it's easy to understand easy to write. 1-Writing or editing HTML lines. Maybe a poor Text program will be enough like the notepad in windows. but if you need something more helpful you can use a real time HTML editor like Microsoft Expression Web Designer or just visiting this site http://htmledit.squarefree.com/ . 2-An internet browser or html viewer. If you have a real-time html editor you won't need this. To view your lines being translated to the graphical html page :) you will need a browser like internet explorer or chrome, firefox, edge and opera. 3-Learning resources? Yes you will need a good up to date learning resources like https://www.w3schools.com/html/default.asp they provide good and valuable tutorials.