Tools

The compilers, IDEs, and systems that programmers actually used.

326 entries, all primary-sourced
tool February 2007

Hacker News

Y Combinator's startup-and-programming news aggregator, launched by Paul Graham in 2007, known for its karma points, Show HN posts, and terse moderation guidelines.

tool June 2007

Valgrind

Valgrind is a dynamic binary instrumentation framework whose best-known tool, Memcheck, runs unmodified programs under a synthetic CPU to detect memory errors and leaks in C and C++ software.

tool September 2007

Sinatra

Blake Mizerany's 2007 Ruby microframework, a small domain-specific language for mapping HTTP routes to blocks of code, which inspired a generation of minimal frameworks like Flask and Express.

tool November 5, 2007

Android

Android is the Linux-based, open-source mobile operating system unveiled by Google and the Open Handset Alliance in 2007 and shipped on devices from 2008. It became the most widely used operating system in the world.

tool November 2007

Android SDK

The Android software development kit: the platform APIs, build tools, command-line utilities, and the device emulator used to compile, build, and test Android applications.

tool 2008

Apache HBase

Open-source wide-column NoSQL database modeled on Google's Bigtable, running on top of Hadoop and HDFS to give random, real-time read/write access to very large tables.

tool 2008

Apache ZooKeeper

An open-source coordination service for distributed systems, providing configuration, naming, leader election, and locks through a replicated hierarchical store.

tool 2008

Bitbucket

A code-hosting service that began as a Mercurial host, was acquired by Atlassian, added git, and competes with GitHub through deep Jira integration.

tool 2008

Gerrit

A web-based code-review system built on git, originating at Google, that enforces review before changes are allowed to land.

tool 2008

Gradle

A JVM build tool using a Groovy or Kotlin DSL instead of XML, with incremental builds; the standard for Android and many JVM projects.

tool January 2008

Sublime Text

A fast, proprietary cross-platform source-code editor first released by Jon Skinner in 2008. It popularized features such as the Command Palette, Goto Anything fuzzy navigation, and pervasive multiple-cursor editing that later editors adopted.

tool 2008

Cocoa Touch

The iOS application layer, an adaptation of the Mac's Cocoa environment for touch devices, made up principally of the UIKit and Foundation frameworks running atop the Objective-C runtime.

tool 2008

UIKit

Apple's imperative user-interface framework for iOS, providing UIView, view controllers, and event handling, and the foundation for native iPhone and iPad apps from 2008 onward.

tool March 6, 2008

iOS

Apple's mobile operating system, launched with the iPhone in 2007 as iPhone OS and renamed iOS in 2010; its software development kit, opened to third-party developers in March 2008, made native apps possible.

tool June 2008

Hyper-V

Microsoft's type-1 hypervisor, first shipped in 2008, built into Windows Server and Windows and used as a foundation for Azure.

tool June 2008

Jinja

A fast, expressive, and extensible templating engine for Python, created by Armin Ronacher and maintained by the Pallets project. Jinja (often called Jinja2) renders templates with Python-like syntax and provides autoescaping, sandboxed execution, and template inheritance. It is the default template engine of Flask.

tool July 2008

Apache Cassandra

A distributed wide-column store born at Facebook that combines Dynamo's availability and partitioning with BigTable's data model, built for huge write-heavy workloads with no single point of failure.

tool July 2008

Protocol Buffers

Protocol Buffers (protobuf) is Google's language-neutral, platform-neutral mechanism for serializing structured data, combining a compact binary wire format with an interface definition language and a code generator. It is the default payload format for gRPC.

tool July 10, 2008

The App Store

Apple's curated marketplace for iOS apps, opened on July 10, 2008 with more than 500 native applications and a 70/30 revenue split, which established the modern model for distributing mobile software.

tool August 2008

LXC (Linux Containers)

A userspace toolkit that uses Linux cgroups and namespaces to create and manage system containers; the first complete container runtime and the one Docker originally built on.

tool September 2, 2008

Google Chrome

Google's web browser, launched in 2008 on the WebKit rendering engine and the V8 JavaScript engine, which went on to become the most widely used browser.

tool September 2, 2008

V8

Google's high-performance open source JavaScript engine, released with Chrome in 2008, which compiles JavaScript to native machine code and powers both Chrome and Node.js.

tool September 15, 2008

Stack Overflow

The question-and-answer site for programmers, launched in 2008 by Jeff Atwood and Joel Spolsky, that became the default reference for working developers through voting, reputation, and aggressive deduplication.

tool 2008

Dalvik

Dalvik was Android's original virtual machine, a register-based VM that ran applications compiled to the compact DEX (Dalvik Executable) bytecode format. It was later superseded by ART.

tool October 22, 2008

Google Play

Google Play, launched as the Android Market in 2008 and rebranded in 2012, is Android's official app store and digital distribution channel. It introduced the 70/30 developer revenue split that became an industry norm.

tool November 2008

Jekyll

The Ruby static site generator Tom Preston-Werner released in 2008; as the engine behind GitHub Pages it popularized blog-aware, file-based site generation.

tool 2009

Chef

Adam Jacob's configuration-management tool, first released in 2009, in which infrastructure is described as code using a Ruby-based DSL of recipes and cookbooks built from declarative resources.

tool 2009

Homebrew

The package manager that became the standard way to install command-line software on macOS, later extending to Linux.

tool 2009

Node.js

The server-side JavaScript runtime built on V8, with an event loop and non-blocking I/O, which made JavaScript a full-stack language and created the npm package ecosystem.

tool 2009

perf (perf_events)

perf is the Linux kernel's built-in profiling and tracing tool, built on the perf_events subsystem, which exposes hardware performance counters, kernel tracepoints, and dynamic probes through a single command-line interface.

tool February 2009

MongoDB

The most popular document database, storing flexible JSON-like (BSON) documents instead of rigid tables, and a centerpiece of the NoSQL movement and the MEAN and MERN web stacks.

tool March 6, 2009

Redis

An in-memory key-value data store with rich data structures, used as a cache, message broker, and fast database.

tool August 2009

Bundler

The Ruby dependency manager that introduced the Gemfile and Gemfile.lock, giving projects reproducible dependency sets.

tool October 29, 2009

MariaDB

The community-developed, drop-in MySQL fork that Monty Widenius started in 2009 to keep the database free after Oracle acquired MySQL.

tool 2010

Apache Hive

Data warehouse system that puts a SQL interface on top of Hadoop, letting analysts query very large data sets with familiar SQL instead of writing MapReduce code.

tool 2010

Express

The minimal, unopinionated Node.js web framework whose middleware model and small core made it the de facto standard for building servers and APIs on Node.

tool 2010

LLDB, the LLVM Debugger

LLDB is the LLVM project's modern debugger, built from reusable LLVM and Clang components and fully scriptable through a Python API. It is the default debugger in Xcode on macOS.

tool 2010

npm

The package manager and public registry for Node.js, and the largest software registry in the world.

tool 2010

NuGet

Microsoft's package manager for .NET, with the nuget.org registry, defining how .NET developers create, share, and consume libraries.

tool 2010

ZeroMQ

ZeroMQ (0MQ) is an embeddable, brokerless messaging library that extends the socket interface with built-in messaging patterns such as publish/subscribe, request/reply, and push/pull. It behaves like sockets on steroids, with no central broker required.

tool February 2010

Elasticsearch

A distributed search and analytics engine built on Apache Lucene, and the heart of the ELK stack for logs and full-text search at scale.

tool March 2010

Vagrant

Mitchell Hashimoto's tool, first released in 2010, for creating reproducible, portable development environments on top of providers like VirtualBox and VMware - a practical answer to 'works on my machine.'

tool April 2010

Flask

A lightweight Python microframework created by Armin Ronacher and first released in 2010, built on the Werkzeug WSGI toolkit and the Jinja template engine. It provides a minimal core and leaves architectural choices to the developer, scaling from a single file to complex applications.

tool April 30, 2010

systemd: Linux Init System and Service Manager

The system and service manager Lennart Poettering announced in 2010 to replace SysV init on Linux, organizing the system into declarative units and becoming, controversially, the default init on most major distributions.

tool July 2010

OpenStack

An open-source cloud platform, started in 2010 by NASA and Rackspace, for building private and public IaaS clouds as a community-run alternative to proprietary hyperscalers.

tool September 28, 2010

LibreOffice

The free and open-source office suite forked from OpenOffice.org in 2010 by the community and stewarded by the independent Document Foundation; it became the most actively developed successor to OpenOffice.org.

tool October 2010

Backbone.js

Jeremy Ashkenas's minimal MVC library, released in 2010, which gave JavaScript applications structure through models, views, and collections and helped launch the single-page application era.

tool October 2010

AngularJS

Google's original Angular framework, released in 2010, which popularized two-way data binding, directives, and dependency injection and defined the single-page application era.