By Wendy Gittleson
For Hack Reactor
If you’ve enrolled in Hack Reactor’s coding bootcamp, you already know that our coding school offers one of the highest returns on investment possible, especially when compared to a four year computer science degree.
And even though you’re likely on your way to a high paying career, there’s no reason to spend unnecessary money on tools of the trades. Aside from hardware, nearly every tool a coder needs is available online and for free. Below are some of the best free coding tools, favored by coders for their flexibility and practicality:
There’s nothing fancy about text editors. You won’t find a selection of formatting or fonts. They’re designed to offer a distraction free environment for writing the code that will eventually translate to impressive websites, apps, and other types of software.
A text editor’s simplicity is one of its most useful features. If you aren’t sure of a file’s format, opening it with a text editor will let you see the source code. Text editors can also strip a file of formatting, hyperlinks, and font styles. While they aren’t designed to help you code, their simplicity makes them great tools for anyone just starting out.
For those who use Microsoft Windows,, Notepad++ is a classic text editor. It was developed in C++ and has great execution speed to keep up with newer machines.
Its key features include:
- Auto-completion: Word completion, function completion
- User-defined syntax highlighting and folding
- Multi-view and multi-language support
- Macro recording and playback
- Entirely customizable GUI
- Guided indentation
- Split-screen editing and synchronized scrolling
If you’re a MacOS user (or Linux or Windows), Atom is one of the top free text editors, largely because of its flexibility and customizability. Since Atom is open source, there’s a huge library of tweaks and makeovers to dig into. Feel free to make your own changes in the backend CSS.
Atom’s features include:
- Smart autocompletion
- Supports command palette
- Multiple panes – compare and edit across files
- File system browser
- Find, preview and replace text
- Thousands of open source add-on packages
- Pre-installed themes
While often referred to interchangeably with text editors, code editors go a step beyond text editors because they actually edit code. With code editors, you can look for mistakes and make edits where needed. The best code editors are easily customizable and of course, free.
Visual Studio Codes
Visual Studio Codes was developed by Microsoft, but it can run across multiple platforms including MacOS, Windows and Linux. Visual Studio Codes is highly robust, which is one of its benefits, but its slow startup speed is a disadvantage.
VSC’s features include:
- Multiple platforms
- Fast source code editor
- Support for hundreds of languages
- Syntax highlighting
- Intuitive keyboard shortcuts
- Easy customization
- Interactive debugger
Old-school coders and keyboard enthusiasts love VIM for its speed and efficiency. However, VIM is not the most intuitive code editor out there. It takes some training to master the keyboard navigation, but once you have it down, it’s hard to beat. VIM is a native command line software for Linux systems and MacOS and is downloadable for free for Windows.
VIM’s features include:
- Persistent, multi-level undo tree
- Extensive plugin system
- Support for hundreds of programming languages and file formats
- Powerful search and replace
- Integrates with many tools
One of the most frustrating aspects to coding is – after spending hours, weeks, or even months writing code – finding a bug that renders all your work virtually useless. That’s why coding debuggers, while not the most glamorous of coding tools, are among the most important.
Released by the GNU Project in 1986, GDB is older than many of the coders who use it, but that doesn’t make it any less relevant. Unlike many of the newer debuggers, GDB allows for remote debugging. It supports 12 languages including: Ada, Assembly, C, C++, D, Fortran, Go, Objective-C, OpenCL, Modula-2, Pascal, and Rust. It also works across multiple platforms.
GDB offers four main features, including:
- Starting program and specifying problems that might affect behavior
- Making your program stop upon specified conditions
- Examining the problem after the program has stopped
- Giving you the opportunity to fix the bugs
When a debugging tool is created by the NSA’s cybersecurity division, it’s definitely worth checking out. Ghidra’s real strength is finding and analyzing malicious code and malware. Unlike many other debugging tools, Ghidra allows users to reverse engineer the coding back to its source code.
Ghidra’s features include:
- Multi-platform use: MacOS, Windows and Linux
- Disassembly, assembly, decompilation, graphing and scripting, and hundreds of other features
- Supports a wide variety of processor instruction sets and executable formats and can be run in both user-interactive and automated modes
- Users may develop their own Ghidra plug-in components and/or scripts
A compiler translates high-level source code, such as C++, into a machine language that can be understood by a computer’s CPU. The term was coined by computer pioneer Grace Hopper, who also designed one of the first compilers.
Ideone is both a compiler and a debugger, and it’s free. With Ideone, you can compile any programming language and hide your codes from other users or share with specific team members.
Ideone features include:
- Easy to load
- Supports more than 60 programming languages
- Debugging tool
- Make your code public, private, or secret
JDOODLE is a compiler and code editor all in one package. All you need to save, run, and share code is an active internet connection and any web browser. Its flexibility, along with the fact that it’s free, makes it a favorite among coders.
JDOODLE’s features include:
- Works in more than 70 programming languages
- Easy to embed a blog or website
- MySQL and MongoDB online interactive terminal
- Debugging tool
- Highly collaborative
- Execution history
For coders looking for something more comprehensive than an editor, debugger, or compiler, there’s Integrated Development Environment software (IDE), which is essentially a coder’s one-stop shop for code writing, testing, debugging, compiling, and interpreting. Modern IDEs offer a class browser, object browser, and build automation tools. Since an IDE is so much more robust than a simple text editor, it’s best for more seasoned programmers.
Apache Netbeans is a multi-platform IDE designed to handle most coding requirements. It’s open source and available for Windows, Linux, and MacOS.
Apache Netbeans’ features include:
- Auto-completion of code
- Customizable themes
- Code optimization
- Code replacement
- Can import project source codes
- Syntactically and semantically highlights source code
- Easy to refactor codes
- SQL Editor
Eclipse is a multi-language, multi-platform IDE with impressive ability to customize and add extensions through plug-ins. Eclipse was written in Java and is generally used for Java, but it can be used with other languages. Like every other tool on this list, Eclipse is free and open source.
Eclipse’s features include:
- Available for Windows, Linux, and MacOS
- Easy navigation
- Auto-completion of code
- Framework integrations
- Project management
- Can access multiple databases
- Syntax customizations and formatting
- Coding shortcuts
- XML editing
Computer programming is a lot like building a house. The coding is the foundation, the walls and roof of a site or app, while graphics are the decor and everything that makes the house livable (or in this case, usable for people who don’t know how to read code). While in many companies, graphic designers and coders hold entirely different positions, small companies and entrepreneurs often combine the skills into one role. That’s where graphics programs come in handy.
The Adobe suite is hands down the most ubiquitous graphics software, with Photoshop for photo editing, Illustrator for vector graphics, and Lightroom for post-production. Adobe has a hefty price tag, though, especially for those just starting out on their new career. Fortunately, there are free and open source options that are almost as good.
The GNU Image Manipulation Program (GIMP) is consistently listed as one of the best, if not the best, alternatives to Adobe’s Photoshop. GIMP offers nearly everything you’d want from Photoshop, including photo editing,drawing, and coloring tools. Unlike Photoshop, GIMP is entirely free.
GIMP’s features include:
- High quality photo manipulation
- Original artwork creation
- Graphic design elements
- Scripted Image manipulation
- Multi-language support
- Color Management features
- Extensibility and flexibility
- Available across platforms, including Windows, Linux, and MacOS
Inkscape is a free, open source vector graphics editor for Windows, Linux, and MacOS. It can be used for clip art, cartoons, typography, diagramming, and flow charting. Inkscape uses the standardized Scalable Vector Graphics (SVG) format and is supported by Windows, Linux, and MacOS. Other formats can be imported, such as GIF, PNG, JPEG, AI, and EPS).
Inkscape’s features include:
- Object creation
- Object manipulation
- Fill and stroke
- Operations on paths
- Text support
This list is far from comprehensive and brand new coding tools pop up on a fairly regular basis, but these tools are favorites among professional coders for their versatility, practicality, and of course, the fact that they are completely free.
Want to learn new skills or how to become a Software Engineer? Join one of our upcoming learning workshops or info sessions!
Ready to get started? Create an account and take a crack at our short non-technical skills assessment!