10 Free Tools For Productive Programming
Every programmer needs a set of tools -- and tools seem to be even better when they're free. Here are 10 you can use to be more productive in your next scrum.
![](https://eu-images.contentstack.com/v3/assets/blt69509c9116440be8/blt7be0704cdff2b848/64cb4ccdfdf5ba6544e5bc2e/Image-1.jpg?width=700&auto=webp&quality=80&disable=upscale)
When you go onto a construction site you notice that practitioners of the skilled trades bring their own tools. In an auto-repair shop, the company provides the heavy equipment, but every mechanic has a personal chest filled with Snap-On (or Matco, or SK, or...) tools.
So it goes with software developers in most organizations.
Yes, the enterprise is going to have an enterprise IDE (integrated development environment) that everyone uses, along with the tools that plug into the big IDE. But most programmers have a few tools that work the way they want a tool to work. I've seen many people cut and paste or pipe text into their "private" tool, get a block of code to the next step, then move it back to the enterprise IDE.
For freelance or consulting software developers, the need to have a great set of personal tools is even more pronounced, but it goes far beyond the requirement for a good programming editor or IDE. In many, cases an individual is going to work as part of a team, so the toolkit has to expand to allow for code and library sharing, communications, task lists, and more. There are a lot of really good products out there for helping with each of these tasks, but if you're like me there's something special about a really good product that's also free.
[What could possibly go wrong? Read 7 Data Center Disasters You'll Never See Coming.]
I don't mind paying for good software, but there is a lot of very solid software for which there is either no charge or a voluntary payment to a developer or cause. That's pretty cool. I've used some of these tools for years, and set out to find more tools that I could recommend to folks as helpful tools.
If you're a student or someone changing careers these might be all you need. If you're like many of the programmers I know, even if you have a good commercial tool for a particular task, you're always on the lookout for the tool that might go from "good" to "perfect."
Let me get three things out of the way before we move forward:
First, I didn't include any education or code school apps and services in this list. That's partially because I don't really consider them standard tools, and mostly because InformationWeek had a very good article on learning systems earlier this year.
Next, I didn't include any compilers in the list. There are, again, a couple of reasons for this. One is that I've been writing about compilers quite a bit in the last couple of months and I'll get back to the language wars soon. The other is that tools are enough of an emotional issue: I didn't need to blow up our comments section by adding compilers to the list.
Last, some of the products and services I chose have free and paid versions -- often on a "free for individual, pay for a group" model. I think that's fair, so I included them in the list. If you disagree, I'll look forward to the debate in the comments.
Let's get started. I'll let you know which of these are tools that I use (or have used in the past), and I look forward to hearing about the tools that you use -- or the tools that you've tried and found you couldn't work with. In either case, I look forward to the conversation to come!
If you're working solo, you probably want to put at least a copy of your code into the cloud. If you're working as part of a team, you absolutely must have a way to share code in order to make the project happen. There are several code repositories out there, but Bitbucket -- a Git service -- has several things that make it a strong challenger in the space.
First, you're able to have private repositories with a free account. That's significant because some of the major players limit you to public repositories until you start giving them money. Next, they don't put a limit on how many repositories you can have with a free account -- they only limit the number of collaborators to five before you have to hand over a credit card number. Finally, the Atlassian folks have written a free client that works with a variety of Git and Mercurial repositories. (More on that will follow.)
Github is the largest and most widely known Git repository service. Its wide variety of public repositories (accessible through free accounts) have made Github a popular cloud service for open source teams, writers, and creative teams that span a range from app developers to environmentalists.
If your projects can live in the open, then Github is free for you to use to your heart's content. If you need some privacy, though, you'll have to pay at least a little bit for the privilege. With pricing that starts at the equivalent of a couple of macho-mocha-frappa-whatzit beverages each month, the cost is not a huge burden. You can always drop back to the free version when your need for privacy ends.
SourceTree is that free client for Git and Mercurial repositories I mentioned earlier in this list. This is a nice GUI client that allows you to work with repositories at a variety of services. It lowers the macho quotient, since it removes the CLI requirement, but it more than makes up for that by allowing you to collaborate with people who haven't been programming since early Emacs days.
SourceTree isn't perfect. There isn't a Linux version. But if you're using either Windows or Mac OS X for your development platform, SourceTree is a tool that could make version control easier and much more visual.
When you're working with other developers (or with clients, or with business partners) you'll probably need to communicate. Since email is orders of magnitude too slow for today's business needs, an enterprise-class communication system designed with developers in mind is needed. Welcome to Slack.
Slack is a messaging system that can be thought of as a buttoned-down business ICQ. The concepts of channels and groups are similar to ICQ. Private messages are also available. It's easy to send files and other digital assets back and forth using Slack, but Slack's best quality for development teams may be that it saves discussions and creates a database of topics that have been discussed. That way, there's no worry about losing the genius of a late-night, Red Bull-fueled discussion when everyone turns off their system to head for breakfast.
Trello is all about lists. Most of them will be to-do lists, but there's no reason to limit the lists to one type. If you want to have lists of feature ideas, it's easy to create them in Trello, and then move the items to a to-do list when it's time to implement.
In many ways, Trello is the embodiment of a perfect cloud app. Your lists live in the cloud, where they can be accessed from any of your devices. You can invite other Trello users to share a Trello board (which is where lists are pinned) and it becomes a group list manager in a matter of moments. Trello is free, though you can pay a few dollars a month for "Trello Gold" if you need to attach files of up to 250 MB to your list items. Trello Gold also brings you different colors for your boards, and a whole fleet of emojis. If your programming team communicates through emojis, then Gold is definitely the way to go.
Do you every wonder whether someone has already solved the problem you're working on? And whether the person who solved that problem has included it in an open source library or application? You can find the answer at Black Duck Software's Open Hub Code Search. All it does is search -- through billions and billions of lines of open source code. The learning curve is rather steep, but the payoff can be huge if it saves you from reinventing the wheel. Again.
Cyberduck is one of the applications that I've used for years. It is, quite simply, a great FTP client that is richly featured, open source, and available on Linux (in CLI form), MacOS X, and Windows. Cyberduck is rock-solid at doing its very basic but vital job -- transferring files to and from servers, repositories, appliances, storage systems, and development workstations. It's donation-ware, but isn't obnoxious about it. It also has a cute rubber duck as an icon. It integrates into many other applications and, darn it, the application simply works.
Editors are as emotionally charged a topic as exists in programming. But the three listed here are exceptional for various reasons. You'll notice that I'm not including vi as an option. That's on purpose. I'm also not a fan of cars you have to start up by using a crank that sticks out of the front end. So, here we have the first of three modern editors to make our list.
NotePad++ is a Windows replacement for NotePad. It's written in C++ (hence the name). It's been one of the most popular text and programming editors on Windows for years. Many people feel that it strikes a great balance between features and simplicity, and I tend to agree. I used it heavily when I worked primarily on a Windows machine, and the price is certainly right.
The second of the three modern editors on our list, jEdit, is notable for two reasons. First, as an open source project it has been ported to a lot of platforms, from Windows to VMS. Next, it's extensible through plug-ins that bring functions like grammar checking and auto-completion to different languages and systems. Finally, it's a very solid programming editor that can be convinced to support almost any text and file creation tasks you need to perform. Are there areas to criticize? Of course. The most significant is in the display. If you have a new, very high-resolution display, jEdit can be a bit fuzzy. It's still extremely useful, though, and could be the perfect solution if you have to work on a variety of different platforms.
The third of the modern editors to make our list is one of the applications that I use all the time. Nearly every article I've written in the last five years has passed through Komodo Edit because it has tools that make most of the repetitious tasks of building HTML pages simple and painless. Komodo Edit is fast. It handles big files well, and it has never crashed in the middle of a writing or editing session. I count that as winning behavior. If you want to support an entire team through Komodo Edit, you can pay for Komodo IDE, but I haven't found a task, yet, that I couldn't accomplish with Komodo Edit.
There they are, 10 free tools. How many do you use? How many could you use? And which ones will you be trying out? Let me know in the comments section below -- and let me know which great tools I've missed. There's always room on the desktop for another great tool.
The third of the modern editors to make our list is one of the applications that I use all the time. Nearly every article I've written in the last five years has passed through Komodo Edit because it has tools that make most of the repetitious tasks of building HTML pages simple and painless. Komodo Edit is fast. It handles big files well, and it has never crashed in the middle of a writing or editing session. I count that as winning behavior. If you want to support an entire team through Komodo Edit, you can pay for Komodo IDE, but I haven't found a task, yet, that I couldn't accomplish with Komodo Edit.
There they are, 10 free tools. How many do you use? How many could you use? And which ones will you be trying out? Let me know in the comments section below -- and let me know which great tools I've missed. There's always room on the desktop for another great tool.
-
About the Author(s)
You May Also Like