I'm a web developer, not a web designer. I use Ubuntu with Sublime Text 2 at both home and work. I use Linux for heaps of reasons:
Keyboard shortcuts. I have keyboard shortcuts for opening almost any software I use and I've changed the Alt + F4 shortcut to something easier to press. I can manipulate windows (maximise etc) using the keyboard. I can quickly move a window by holding Alt and dragging anywhere on the window. If I'm dragging a window, I can maximise it during the drag by moving it to the top of the screen. I can manage my environment so much faster in Linux than in Windows where I had to reach for the mouse frequently. Bash scripts. I have a single Bash script that checks out code from our repositories, adds vhost config for it, reloads Apache, creates the Sublime project file and adds it to my Sublime recent history. I have a Bash script that allows me to change my default vhost easily using a symlink. I have a Bash script that can convert a project's database to a dev-ready format, such as replacing other people's email addresses with my own. Speed of file access/better structured filesystem. If I want to edit my hosts file, I can open a Terminal, typesudo vi /etc/ho
and do it entirely using my keyboard in about 3-5 seconds. In Windows it's stored in some bizarre location in the Windows folder (including in a "drivers" directory!) and takes me longer. If I want to view or edit my FileZilla sitemanager.xml file I can do it in Linux by typingless .fi
. On Windows it's in my user folder, under either AppData or Application Data, and then in something like Local or Roaming. I'm confident any log I want to view or config file I want to edit can be done faster in Linux than in Windows. I can open large logs usingsi less
with minimal load time, whereas in Windows the IDE will likely become unresponsive. Compatibility with Linux servers. I can dump a production database and import it into my dev environment in just a few seconds using only my keyboard and a combination of SSH, mysqldump, gzip, SCP, gunzip and mysql. I don't have issues with filename capitalisation being different on local and production. I don't have issues with having functions that only exist on certain OSes - if it works locally, it works in production. I can list the files in a directory and copy the list into a text editor. I have yet to find a way to do this in Windows without writing a custom script or using third party software. I can run PHP in interactive mode (php -a). If I want to base64/url encode/decode something I can do it straight from CLI. On Windows I would create a PHP script and put it in a vhost. Package management. If I want to upgrade or something then I can do it through apt using one command. In Windows I have to mess around with new versions of WAMP. When I used to use Windows I had to install dbase for a client's project. I ended up having to install a second instance of Apache and PHP because WAMP didn't support dbase. I have powerful tools at my fingertips. If I want to find every .php file that contains a certain phrase and replace it across all files, I can do that in one command. If I want to create a static version of a site I can do so using wget -m. Process management. If I'm doing an intensive task and it's making my computer run slow, I can pause the process and resume it at a more convenient time such as when I go to lunch.I guess you need to be familiar with Linux to be able to reap the benefits. For someone who's never used it there's a very steep learning curve. I couldn't imagine going back to Windows.
A blog covering GNU Linux, open source, the "law of attraction," world order, and God
Monday, December 31, 2012
GNU Linux over Microsoft Windows, re: From the perspective of a developer
The following is a copy and paste of a comment made on reddit at this post here. This comment was authored by reddit user named, RyanDwyer. I decided to re-post it here on my blog because I wanted to share an advanced Linux developer's assessment of the advantages that GNU Linux has over Microsoft Windows. RyanDwyer writes:
Subscribe to:
Posts (Atom)