DEVELOPER SANDBOX Academy of Mastery
WelcomeBuild · Explore · Create SD
ROSETTA STONE

Color Decision Engine

In Progress

ROSETTA 16 — Implementation Comparison
Compare ordered decision rules across languages.

ROSETTA 16

Rosetta Stone Color Decision Engine

Apply technology, application, classification, then fallback priority.

Apply technology, application, classification, then fallback priority.

01

Objective & Comparison Rule

Build each implementation without changing the shared behavior or visual target.
Rosetta Contract

Objective

Compare ordered decision rules across languages.

Comparison Rule

Apply technology, application, classification, then fallback priority.

Keep equivalent input, behavior, and visible output in every later language version.

Technologies

JavaScript / modern ECMAScript
Modern ECMAScript
TypeScript
TypeScript
Angular
Python
Python
Java
C#
PHP
02

Implementation Plan

Keep the comparison surface fixed while language syntax and runtime details change.
Structure
project/
├── input/
│   └── fixture.json
├── expected/
│   └── output.json
├── package.json
├── tsconfig.json
├── index.html
├── styles.css
└── src/
    └── app.ts
Initial Implementation
  • JavaScript / modern ECMAScript
  • HTML
  • CSS
  • JSON
Comparison Languages
  • JavaScript / modern ECMAScript
  • TypeScript
  • Angular
  • Python
  • Java
  • C#
  • PHP
Source Learning Project

Source Learning Project — TypeScript Project: Technology Color Decision Engine

src/generator/generate.ts → homeColorClass()

03

Build Instructions

Start with the first technology listed under Technologies, then reproduce the same behavior in each following implementation.
Freeze the Contract
Define the exact input, visible behavior, and expected output.
Build Initial Implementation
Implement the reference version with the same standalone visual layer.
Later Comparison
Rebuild without changing the contract.
04

TypeScript Implementation Reference

This implementation becomes the first concrete Rosetta comparison point.
Reference Code
Use the same input when building later language versions.
TypeScript Implementation Configuration
Keep the TypeScript implementation independently buildable; each implementation should keep its own required setup.
05

Comparison Dimensions

Record differences that teach language and runtime behavior rather than cosmetic syntax.
Compare
  • Syntax and data declarations
  • Typing and validation
  • Collections and standard-library operations
  • Modules and file organization
  • Runtime and build requirements
  • Database or HTTP APIs when applicable
  • Visible output and behavioral equivalence