Handy Programming Tools

Ever wondered what a programmer’s tool kit looked like?

Like any craft, programming involves the use of a range of different tools that make work easier for you in some way.

There are text editors, online services, design frameworks, file formats and other miscellaneous software.

Using handy tools when you can, and knowing which tool to use when, is a skill that every new programmer should master. If you simply write your code but don’t use any tools, things will take a lot longer and you won’t get very far.

Here’s a set of handy programming tools that you should think about using. It’s not an exhaustive set, but it’ll get you off to a good start.

tool box

Jump to a handy tool:

Text Editors

Your text editor is the program you use to write your code, and it will be your primary tool as a coder. You’ll spend more time in your text editor than in any other place, so you want to make sure you’ve got one you like and know how to use.

Popular text editors include Notepad, TextEdit, Sublime Text, Notepad++ and Vim. Learn more about programming text editors…

GitHub

GitHub is a website where you can host your projects for free. Any kind of file can be uploaded to GitHub, but it’s designed especially for code files and hugely popular.

GitHub logo

To upload your code to GitHub, it needs to be inside a Git repository. Git is a system that tracks changes in your code through revision control. Git does have a learning curve, but GitHub provides free training to get you started.

There are many reasons why you might want to host your code on GitHub. It’s one of the best, if not the best, way to easily share your project with others so that they can collaborate with you if they wish. Plus, Git is useful for tracking changes in your code.

Heroku

If you have built a web application with a technology like Ruby on Rails or PHP, you will need a server to host it online so that the public can use it. GitHub will host your code, but it won’t let people actually use your software.

You could set up and manage your own server, but this involves a lot of work on your part. It’s especially hard with Rails, since you need special hosting. Enter Heroku.

Heroku is a cloud application platform, also called a Platform as a Service or PaaS. You can choose to host your app on Heroku instead of managing your own server.

The benefit of hosting your web app on Heroku is that it takes care of all the server maintenance so that you don’t have to. Plus, you can start small for free and only start paying when your traffic grows and you need more resources.

Twitter Bootstrap

If you’re working on a website or web application, you might want to consider using Twitter Bootstrap. Bootstrap is a front-end framework that gets its name because it ‘bootstraps’ your website by giving it a ready-made design similar to Twitter’s.

All the HTML structure, CSS styling and JavaScript functionality are done for you. You can tweak them as much as you like or leave them as they are. It’s a great tool if, like most programmers, you’re not much of a designer. Best of all, it’s free.

Although I recommend Twitter Bootstrap, it’s only one of many front-end frameworks. You have the choice of many others too, such as Zurb Foundation.

Stack Overflow

Stack Overflow is a popular programming Q&A forum, established by Jeff Atwood of the Coding Horror blog. Many programmers rely on this forum when they get stuck and need help, and you can too.

Using Stack Overflow is simple. Post any kind of question about your code, wait a while, and with any luck, an experienced programmer or two will soon jump onto your thread and help you out.

Again, Stack Overflow isn’t the only tool of its kind. However, it’s the best known and most highly-trafficked coding discussion forum, and therefore you’ll have the best chance of getting the help you need from this forum.

Markdown

Markdown is a text format that comes in handy from time to time. It has similar formatting techniques to HTML, but many programmers like to write in Markdown because it’s much easier to write and read.

Here are some examples. To indicate a heading, you prepend a hash symbol.

# This is a heading.

To indicate a subheading, you prepend two hash symbols.

## This is a subheading.

To indicate italic text, you surround the text with asterisks. To indicate bold text, you surround the text with pairs of asterisks.

The following word is in *italics*.
The following word is in **bold**.
***And this sentence is both bold and italic.***

Markdown is found everywhere in the programming world. You’ll use it to write your README file on GitHub, you’ll use it to write your posts on Stack Overflow and other discussion forums, and you’ll undoubtedly find it in other places as well.

Don’t worry about learning yet another code. Markdown’s even easier to learn than HTML. The official Markdown website has a quick tutorial to get you started.

HTML and CSS Validation

If you’re working with HTML and CSS, it’s good practice to validate your code to check whether it meets the W3C standards. If it doesn’t, nothing bad will happen – but there’s no harm in doing it. Plus, valid code is a good credibility booster.

The W3C provides free validation tools that you can run your HTML and CSS code through to detect any errors. Here are the links:

Recommended Training – Treehouse

Treehouse

Although this site incorporates a number of different training recommendations, our top recommendation is Treehouse.

Treehouse is an online training service that teaches web design, web development and mobile development through videos, quizzes and interactive coding exercises.

Treehouse’s mission is to bring programming education to those who can’t get it, and is committed to helping its students find jobs. If you’re looking to turn programming into your career, you should consider Treehouse.

Read Code Conquest’s full Treehouse review »