Purpose

Learn the problem once. Compare the languages directly.

I created Rosetta Stone for my personal learning as a comparative programming-learning system modeled on the idea of using the same recognizable source to understand multiple languages. A shared programming problem is rebuilt in different languages, frameworks, and runtime environments so the problem itself stays familiar while syntax, typing, libraries, architecture, data handling, and conventions change.

Rosetta Stone Projects

Project Index

Browse Rosetta Stone projects by the type of programming problem being compared.

Method

Shared problem, separate implementations

01

Choose one clear problem

Define a behavior, application, or data problem that remains recognizable in every implementation.

02

Preserve the shared rules

Keep the important inputs, outputs, data relationships, and expected behavior consistent.

03

Rebuild it in another environment

Use the language or framework's own syntax, standard patterns, tools, and architecture rather than forcing one implementation style onto every version.

04

Compare what changed

Use the finished versions to see how the same problem is expressed through different type systems, modules, functions, objects, data access patterns, rendering systems, and conventions.

Project Catalog

Rosetta Stone projects

This catalog is limited to Rosetta Stone records currently represented in the Developer Sandbox database. Labs and general projects are not included. A project title opens its GitHub Pages site when a dedicated site exists; projects that have not been published yet remain local documentation links.

Muted / grey links are projects that have not been started.

Applications

Complete application comparisons

Applications

Modern Agenda

Rebuilds the same conference agenda application across multiple languages and frameworks while preserving the same content, structure, and user-facing behavior.

Data Modeling

Structures and collections

Data

Object Record Builder

Builds a structured record object with predictable fields and values so the same data shape can be recreated in different implementations.

Data

Status Validation

Restricts a status value to an approved set of options and handles values that fall outside that allowed set.

Data

Arrays and Collections

Builds and works with collections of values or records so list handling can be compared across implementations.

Data

Nested Data

Builds and reads nested data structures where records contain other objects, collections, or related values.

Data Transformation

Changing and organizing data

Transform

Data Transformation

Takes data in one shape and converts it into another shape required by an application or interface.

Transform

Filter Map Sort

Filters a collection, transforms its items, and sorts the result into a useful display or processing order.

Transform

Group By Category

Takes a collection of records and organizes them into groups based on a shared category value.

Transform

Slug Generator

Converts a human-readable title or phrase into a consistent URL-safe slug.

Data Access & SQL

Reading, searching, and persisting records

Database

Get All Records

Retrieves a complete set of records from a data source and returns them in a usable application structure.

Database

Get Record By ID

Retrieves one specific record by its identifier and handles the case where that record cannot be found.

Database

SQL Parameter

Sends values into a database query through parameters rather than inserting raw values directly into the SQL.

Database

SQL JOIN

Combines related data from multiple database tables into one useful result set.

Database

CRUD

Builds the four core persistent-data operations: create, read, update, and delete.

Decision Logic

Classification and ordering rules

Logic

Classification Machine

Evaluates data against a set of rules and assigns the matching classification or category.

Logic

Color Decision Engine

Chooses a display color from a defined set of rules based on the value, state, or classification being evaluated.

Logic

Sort Order

Stores and applies an explicit order value so records can be displayed or processed in a controlled sequence.

Tree Structures

Hierarchy and movement

Tree

Parent Child Tree

Models hierarchical records so each child can belong to a parent and the full relationship can be traversed.

Tree

Reorder

Changes the position of records within an ordered collection while preserving a consistent sequence.

Tree

Reparent

Moves a record from one parent to another while preserving the surrounding hierarchy.

Validation & Safety

Checking and protecting data

Validate

Validation

Checks incoming values or records against defined rules before they are accepted or processed.

Validate

Deduplication

Detects repeated values or records and removes or rejects duplicates so a collection remains unique.

HTTP & APIs

Requests, responses, and methods

HTTP

JSON Request

Builds an HTTP request whose data is sent as JSON in a predictable structure.

HTTP

JSON Response

Builds an HTTP response that returns structured JSON data to a client.

HTTP

GET

Builds a GET request and response flow for retrieving data without changing the stored resource.

HTTP

POST

Builds a POST request and response flow for sending data that creates or submits a new resource.

HTTP

PUT

Builds a PUT request and response flow for replacing or updating an existing resource.

HTTP

DELETE

Builds a DELETE request and response flow for removing an existing resource.

HTTP

HTTP Status Handling

Reads and returns HTTP status codes so success, client errors, and server errors can be handled clearly.

Rendering & Generation

Turning data into interface output

Render

Template Replacement

Takes a reusable text or HTML template and replaces placeholders with application data.

Render

Data to HTML Card

Turns one structured data record into a reusable HTML card or display component.

Render

Collection Renderer

Takes a collection of records and renders a repeated interface for the full set.

Render

Static Page Generator

Reads structured data and templates to generate complete static HTML pages.