29 Jun 2026·9 min read·Software Engineering

The Evolution of Code: How Our Standard File Formats Were Invented

File extensions aren't arbitrary conventions. Every format we use today - from .cs to .md - was built to solve a specific runtime barrier, an isolation problem, or a tooling limitation. Here is how they evolved.

We work inside files every day. We compile them, store configuration trees in them, deploy them to cloud providers, and use them to document systems. But every standard extension in a modern project repository has a clear historical baseline. They were built out of concrete practical needs: moving away from low-level hardware limitations into readable, reusable, and maintainable structures.

A new file extension usually marks a clear shift in engineering history, arriving right when the old way of structuring text or data could no longer scale.

1. .c (C Source Code) - 1972

Inventor: Dennis Ritchie at Bell Labs

2. .sql (Structured Query Language) - 1974

Inventors: Donald D. Chamberlin and Raymond F. Boyce at IBM

3. .py (Python Source Code) - 1991

Inventor: Guido van Rossum

4. .html (HyperText Markup Language) - 1993

Inventor: Tim Berners-Lee at CERN

5. .java (Java Source Code) - 1995

Inventor: James Gosling at Sun Microsystems

6. .js (JavaScript Source Code) - 1995

Inventor: Brendan Eich at Netscape

7. .css (Cascading Style Sheets) - 1996

Inventors: Håkon Wium Lie and Bert Bos

8. .xml (Extensible Markup Language) - 1998

Inventor: W3C Working Group (Tim Bray, Jean Paoli, C. M. Sperberg-McQueen)

9. .cs (C# Source Code) - 2000

Inventor: Anders Hejlsberg at Microsoft

10. .json (JavaScript Object Notation) - 2001

Inventor: Douglas Crockford

11. .yaml / .yml (YAML Ain't Markup Language) - 2001

Inventors: Clark Evans, Ingy döt Net, and Oren Ben-Kiki

12. .md (Markdown File) - 2004

Inventors: John Gruber and Aaron Swartz

13. .ts (TypeScript Source Code) - 2012

Inventor: Anders Hejlsberg at Microsoft

14. .jsx / .tsx (JavaScript/TypeScript XML) - 2013

Inventor: Meta (Facebook Engineering)

15. .tf (Terraform Configuration) - 2014

Inventors: Mitchell Hashimoto and HashiCorp

Chronological Evolution Matrix

Extension Year Creator Core Focus & Purpose
.c 1972 Dennis Ritchie High-level hardware portability and OS design.
.sql 1974 IBM Engineers Declarative data management and relational queries.
.py 1991 Guido van Rossum High readability scripting using clean code layouts.
.html 1993 Tim Berners-Lee Decoupled hyperlinked document sharing across networks.
.java 1995 James Gosling Bytecode virtualization to achieve target machine independence.
.js 1995 Brendan Eich Executing functional interactivity directly within client engines.
.css 1996 Lie & Bos Isolating presentation systems away from core structural records.
.xml 1998 W3C Working Group Validatable, strict data exchange payloads across platforms.
.cs 2000 Anders Hejlsberg Type-safe, component-driven backend software design over .NET.
.json 2001 Douglas Crockford Lean, object-native payload packaging optimized for REST APIs.
.yaml 2001 Clark Evans & team Human-optimized configuration sheets for automated operations.
.md 2004 Gruber & Swartz Frictionless character formatting built for documentation runs.
.ts 2012 Anders Hejlsberg Static validation compilation engines protecting frontend files.
.jsx 2013 Meta / Facebook Integrating interface component templates straight into logic blocks.
.tf 2014 HashiCorp Declarative multi-cloud blueprint design using managed text code.

Building Distributed Platforms or Agentic AI Systems?

I focus on constructing resilient system architectures, clean internal frameworks, and well-validated cloud infrastructure loops.

Let's connect