Rosetta Code
Available in | English |
---|---|
Owner | Michael Mol[1] |
URL | www |
Launched | January 1, 2007 |
Current status | Online |
Content license | GFDL |
Written in | PHP, MediaWiki |
Rosetta Code is a wiki-based programming chrestomathy website with implementations of common algorithms and solutions to various programming problems in many different programming languages.[2][3] 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.[1]
Website
[edit]Rosetta Code was created in 2007 by Michael Mol.[1] 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.[4]
The Rosetta Code web repository illustrates how desired functionality is implemented very differently in various programming paradigms,[5][6] and how "the same" task is accomplished in different programming languages.[7]
As of 22 February 2024[update], Rosetta Code has:[8]
- 1,266 computer programming tasks (or problems)
- 404 additional draft programming tasks
- 933 computer programming languages that are used to solve tasks
In August 2022, Rosetta Code migrated from independent hosting to Miraheze.
Presently, Rosetta Code is hosted by WikiTide.[9]
Data and structure
[edit]The Rosetta Code site is organized as a browsable cross-section of tasks (specific programming problems or considerations) and computer programming languages.[3] 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
[edit]Some of the computer programming languages found on Rosetta Code (which have Wikipedia descriptions) include: [10]
- 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
- Lua
- Maple
- Mathematica
- MATLAB
- Nim
- OCaml
- Octave
- ooRexx
- PARI/GP
- Pascal
- Perl
- PHP
- Picolisp
- PL/I
- PowerShell
- Prolog
- PureBasic
- Python
- R
- Racket
- Raku (Perl 6)
- Red
- REXX
- Ruby
- Rust
- Scala
- Scheme
- Seed7
- SequenceL
- Swift
- Tcl
- Unicon
- V (Vlang)
- XPL0
A complete list of the computer programming languages that have examples (entries/solutions to the Rosetta Code tasks) is available.[11]
Tasks
[edit]Some of the tasks found on Rosetta Code include:[12]
- "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
[edit]References
[edit]- ^ a b c "Rosetta Code:About - Rosetta Code". www.rosettacode.org. 8 August 2010.
- ^ Ralf Lämmel. "Software chrestomathies". doi:10.1016/j.scico.2013.11.014. 2013.
- ^ a b Nanz, Sebastian; Furia, Carlo A. (2015). A Comparative Study of Programming Languages in Rosetta Code. pp. 778–788. arXiv:1409.0252. doi:10.1109/ICSE.2015.90. ISBN 978-1-4799-1934-5. S2CID 2570311. Retrieved 2024-02-22.
{{cite book}}
:|website=
ignored (help) - ^ "Rosetta Code:Copyrights". 24 January 2010. 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.
- ^ "WikiTide". wikitide.org. Retrieved 2024-02-22.
- ^ "Most linked-to categories". Retrieved 2024-02-22.
- ^ "Rosetta Code/Languages/Full list". rosettacode.org. 4 March 2024.
- ^ "Pages with the most categories". Retrieved 2018-10-11.