Rosetta Code
Rosetta Code is a wiki-based programming website with implementations of common algorithms and solutions to various programming problems in many different programming languages.[1] It is named for the Rosetta Stone, which has the same text inscribed on it in three languages, and thus allowed Egyptian hieroglyphs to be deciphered for the first time.[2]
Available in | English |
---|---|
Owner | Michael Mol |
URL | www |
Launched | January 1, 2007 |
Current status | Online |
Content license | GFDL |
Written in | PHP, MediaWiki |
Website
Rosetta Code was created in 2007 by Michael Mol. The site's content is licensed under the GNU Free Documentation License 1.2, though some components may be dual-licensed under more permissive terms.[3]
The Rosetta Code web repository illustrates how desired functionality is implemented very differently in various programming paradigms,[4][5] and how "the same" task is accomplished in different programming languages.[6]
As of 22 August 2021, Rosetta Code has:[7]
- 1,121 computer programming tasks (or problems)
- 303 additional draft programming tasks
- 810 computer programming languages that are used to solve tasks
- 83,043 computer programming language examples/entries
In August 2022, Rosetta Code migrated from independent hosting to Miraheze.
Data and structure
The Rosetta Code site is organized as a browsable cross-section of tasks (specific programming problems or considerations) and computer programming languages. A task's page displays visitor-contributed solutions in various computer languages, allowing a viewer to compare each language's approach to the task's stated problem.
Task pages are included in per-language listings based on the languages of provided solutions; a task with a solution in the C programming language will appear in the listing for C. If the same task has a solution in Ruby, the task will appear in the listing for Ruby as well.
Languages
Some of the computer programming languages found on Rosetta Code (which have Wikipedia descriptions) include: [8]
- Ada
- ALGOL 60
- ALGOL 68
- ALGOL W
- APL
- AWK
- AutoHotKey
- BASIC (58 variants)
- C
- C#
- C++
- Ceylon
- Clojure
- COBOL
- Common Lisp
- D
- Delphi
- Erlang
- F#
- Factor
- Forth
- Fortran
- Elixir
- Go
- Apache Groovy
- Haskell
- Icon
- J
- Java
- JavaScript
- Julia
- Kotlin
- Maple
- Mathematica
- MATLAB
- Nim
- OCaml
- Octave
- PARI/GP
- Pascal
- Perl
- PHP
- Picat
- Picolisp
- PL/I
- PowerShell
- Prolog
- PureBasic
- Python
- R
- Racket
- Raku (Perl 6)
- REXX
- Ruby
- Rust
- Scala
- Scheme
- Seed7
- SequenceL
- Swift
- Tcl
- Unicon
- XPL0
A complete list of the computer programming languages that have examples (entries/solutions to the Rosetta Code tasks) is available.[9]
Tasks
Some of the tasks found on Rosetta Code include:[10]
- "99 Bottles of Beer" (song)
- Abbreviations
- Ackermann function
- Amicable numbers
- Anagrams
- Bernoulli numbers
- Bitwise operations
- Cholesky decomposition
- Combinations
- Comments
- Continued fractions
- Cyclic redundancy check (CRC-32)
- de Bruijn sequence
- Death Star (draw)
- Dot product
- Dragon curve
- Egyptian fractions
- Eight queens puzzle
- Factorials
- Fibonacci sequence
- FizzBuzz
- Galton box (bean box) animation
- Gamma function
- Gaussian elimination
- Greatest common divisor (GCD)
- Hello world program Hello world/Text
- Hofstadter Q sequence
- Infinity
- Least common multiple (LCM)
- Leonardo numbers
- Levenshtein distance
- Look-and-say sequence
- Lucas numbers
- Lucas–Lehmer primality test
- Mandelbrot set (draw)
- Mersenne primes
- Miller–Rabin primality test
- Morse code
- Numerical integration
- Pascal's triangle (draw)
- Perfect numbers
- Permutations
- Prime numbers (102 tasks)
- Primorial numbers
- Quaternions
- Quine
- Random numbers
- Rock-paper-scissors (play)
- Roman numerals (encode/decode)
- Roots of unity
- roots of a function
- Rot13—a simple letter substitution cipher
- Runge–Kutta method
- SEDOLs
- Semiprimes
- Sierpinski triangle (draw)
- Sorting algorithms (41)
- Square-free integers
- Statistics
- Stem-and-leaf display
- Function definition
- Sudoku (solve)
- Taxicab numbers
- Thue–Morse sequence
- Tic-tac-toe (noughts and crosses)
- Tower of Hanoi (solve)
- Trigonometric functions
- Ulam spiral (draw)
- Vampire numbers
- Xiaolin Wu's line algorithm (draw)
- Zebra Puzzle or Einstein riddle
- Zeckendorf representation
See also
References
- Ralf Lämmel. "Software chrestomathies". doi:10.1016/j.scico.2013.11.014. 2013.
- "Rosetta Code:About - Rosetta Code". www.rosettacode.org.
- "Rosetta Code:Copyrights". Retrieved 2010-12-19.
- Neil Walkinshaw. Chapter One: "Reverse-Engineering Software Behavior". "Advances in Computers". 2013. p. 14.
- Geoff Cox. "Speaking Code: Coding as Aesthetic and Political Expression". MIT Press, 2013. p. 6.
- Nick Montfort "No Code: Null Programs". 2013. p. 10.
- "Welcome to Rosetta Code". Retrieved 2007-01-07.
- "Most linked-to categories". Retrieved 2020-01-01.
- "RC POP.OUT - Rosetta Code". rosettacode.org.
- "Pages with the most categories". Retrieved 2018-10-11.