In terms of softwares/applications, what are essential in designing or coding your own website.
I can think of notepad ++, FTP application, online validator . What else are available to make it comfortable/easier in working at this area?
Notepad++ for simple file editing.
An IDE like Eclipse/Netbeans/PHPed/PHPstorm/dreamweaver (Whichever you like)
Photoshop for minor image editing.
Safari, Opera, Firefox, Internet Explorer and Chrome, to test your site in different browsers
Any ftp program you like.
Not what you asked, still, imma put it here
A second monitor would come in handy. Edit code on one screen, test on second screen.
At the minute, I tend to just use cPanel or Notepad++ when it comes to the coding but that does get a bit annoying when it comes to testing – so I would recommend any IDE that allows you to test you code at the press of a button. Possibly also something like EasyPHP so that you can execute your webpages without uploading them to a web server, etc.
I use FileZilla for my FTP client, and I also use a program called Artisteer because I do a lot of work with WordPress and Drupal and I’m not that good at graphics. But the rest really depends on what kind of website development you will be doing. If you mainly coding, I’d say that would be enough. Otherwise, maybe something like Dreamweaver, WYSIWYG Web Builder or Website X5. If you’re good at graphics, you may want to look at a package Adobe Photoshop. That said, I’ve seen truly amazing graphics being created on MS Paint!
I quit using Dreamweaver 2 years ago. To be honest, Notepad++ is far enough for almost everything. It has plugins which can extend the functionality of Notepad++.
For working with PHP you should look into NuSphere PHP IDE. It is in the class of its own.
Working with dual or even quad screen will almost always increase your productivity.
But since you are talking about learning and what tools to use – I would also recommend, that one of the best and most important thing when it comes to learning is discipline. Schedule x number of hours on daily basis at fixed time – that will work better than random schedule.
A good text editor (Sublime Text 2, Notepad++, vim, emacs), and a good browser.
To do slightly more advanced stuff, you should set up a webserver, and use that.
Install multiple web browsers to make sure that it looks the same across all, so FF (Gecko), IE (Trident), and Chrome (Webkit).
If you’re feeling ultra-brave, lynx too, because some people like living in the command line.
CSS: Twitter’s Bootstrap is all you need. Use this, as well as your own. It will save you time.
* Sizzle for if you don’t want the full power of jQuery
* jQuery for loads of features (AJAX, DOM manipulation, effects)
* jQueryUI for more jQuery effects, and a few extra things like re-orderable lists.
I hope this helps, sorry for the late add.