macdonald wrote:It is said that Ubuntu is a 'Programmers OS', but what is the advantage of using Ubuntu over Windows ?
Ubuntu is very different from windows like its file system, file extensions etc. and this takes a little time and effort to be comfortable with Ubuntu.
Another question that is pondering me is that what is the advantage of learning bash ? Can the commands that I learn for bash be used somewhere else other than Ubuntu ?
I want to be a programmer, so please answer from the point of view of a programmer.
Bash is just a shell created by the GNU people. It can be found on many non Linux systems like Solaris or the BSDs. The syntax on Bash is similar to that of Korn and the Bourne Shell, so you should be able to use other shells as well, but slight differences might occur, especially with shell scripting.
From a programmers point of view, I prefer Linux over Windows (Although I actually use BSD myself). Linux comes with compilers, assemblers, debuggers, profilers etc. Debuggers and profilers aren't on some Linuxes, but they are on most by default. I also like Vim, which Linux comes with, although there is a Windows version.
I usually program in whatever the program's target platform is. If I'm making a Windows app, I'll code it in Windows, so I can test it straight away. But as I said, I mostly code in *nix OSes.
Learning the CLI (Command Line Interface) is useful for a few reasons. For starters, there are a few things that still aren't consistent in the GUI, but are in the CLI. Secondly, you can become very fast when you use command history (Up and down cursor keys) and auto complete (Tab). Thirdly, nearly all *nix servers use CLIs, not GUIs, unless they are being administered by a CLI newbie.
Remember that Ubuntu isn't the only Linux. I wouldn't call Ubuntu the 'Programmers OS'. In fact Ubuntu is designed to be easy to use, not for programmers, although it can be used for such things. Slackware and Debian are more 'Programmer's' Linux OSes.