What you should be told on the first day of any CS course

I can’t count the number of times that I’ve been told that for developers the tools don’t matter, just give us a prompt, a basic text editor and away we go.

The idea that the tools you use is inconsequential is at least as I see it one of the worst misconceptions about development, especially since it’s spread by old developers and university teachers to fresh minds looking to write their first lines of code.

As an example current projects include a lot of back and forth between python, excel and mssql, as you can imagine this leads to good deal of semi manual string manipulation.

The work pattern of copying large amount of strings around while making minute changes to the order of characters is nothing specific to the projects I am currently working on, id say it’s one of the cornerstones of any development project.

At the very least you should refactor your code before finishing a project.

These situations doesn’t necessarily require a decent text editor but I think anyone that have tried refactoring a reasonably sized program in nano would agree that it’s not fun.

However this task done in a fully equipped advanced text editor like sublime, emacs, vi or atom is relatively joyous.

Finally even though I dislike the notion that advanced tools is unnecessary for developers I do believe that the choice of these tools is up to each of us.

I do for example use sublime for almost all of my development with the sole exception of C# which I write in the frankly excellent Visual Studio.

To sum up the advice I would have liked to have been told my first day at CS would be:

“Start this first day with trying out emacs,vi or sublime and use one of them for the next 3 years.”

I believe that the single best thing I’ve done for my development skills and workplace sanity is to use an advanced text editor.