Rosetta Code es un sitio web de programación basado en wiki con implementaciones de algoritmos comunes y soluciones a varios problemas de programación en muchos lenguajes de programación diferentes . [1] Lleva el nombre de la Piedra Rosetta , que tiene el mismo texto inscrito en tres idiomas y, por lo tanto, permitió descifrar los jeroglíficos egipcios por primera vez. [2]
Disponible en | inglés |
---|---|
Dueño | Michael Mol |
URL | rosettacode |
Lanzado | 1 de enero de 2007 |
Estado actual | En línea |
Licencia de contenido | GFDL |
Escrito en | PHP , MediaWiki |
Sitio web
Rosetta Code fue creado en 2007 por Michael Mol. El contenido del sitio tiene la licencia GNU Free Documentation License 1.2, aunque algunos componentes pueden tener una licencia doble en términos más permisivos. [3]
El repositorio web de Rosetta Code ilustra cómo la funcionalidad deseada se implementa de manera muy diferente en varios paradigmas de programación, [4] [5] y cómo se logra "la misma" tarea en diferentes lenguajes de programación. [6]
A 20 de mayo de 2021[actualizar], El código Rosetta tiene: [7]
- 1.102 tareas (o problemas) de programación de computadoras
- 274 proyectos de tareas de programación adicionales
- 801 lenguajes de programación de computadoras que se utilizan para resolver tareas
- 79,410 ejemplos / entradas de lenguaje de programación de computadoras
Datos y estructura
El sitio de Rosetta Code está organizado como una sección transversal navegable de tareas (problemas o consideraciones de programación específicos) y lenguajes de programación de computadoras. La página de una tarea muestra las soluciones aportadas por los visitantes en varios lenguajes informáticos, lo que permite al espectador comparar el enfoque de cada idioma con el problema planteado de la tarea.
Las páginas de tareas se incluyen en listas por idioma según los idiomas de las soluciones proporcionadas; una tarea con una solución en el lenguaje de programación C aparecerá en la lista de C. Si la misma tarea tiene una solución en Ruby , la tarea también aparecerá en la lista de Ruby.
Idiomas
Algunos de los lenguajes de programación de computadoras que se encuentran en Rosetta Code (que tienen descripciones de Wikipedia) incluyen: [8]
- Ada
- ALGOL 60
- ALGOL 68
- ALGOL W
- APL
- AWK
- AutoHotKey
- BÁSICO (58 variantes)
- C
- C#
- C ++
- Clojure
- COBOL
- Lisp común
- D
- Delphi
- Erlang
- F#
- Factor
- Adelante
- Fortran
- Elixir
- Ir
- Apache Groovy
- Haskell
- Icono
- J
- Java
- JavaScript
- Julia
- Kotlin
- Arce
- Mathematica
- MATLAB
- Nim
- OCaml
- Octava
- PARI / GP
- Pascal
- Perl
- PHP
- Picolisp
- PL / I
- Potencia Shell
- PureBasic
- Pitón
- R
- Raqueta
- Raku (Perl 6)
- REXX
- Rubí
- Oxido
- Scala
- Esquema
- Semilla7
- SecuenciaL
- Rápido
- Tcl
- Unicon
- XPL0
Se encuentra disponible una lista completa de los lenguajes de programación de computadoras que tienen ejemplos (entradas / soluciones para las tareas del Código Rosetta). [9]
Tareas
Algunas de las tareas que se encuentran en Rosetta Code incluyen: [10]
- " 99 botellas de cerveza " (canción)
- Abreviaturas
- Función de Ackermann
- Números amigables
- Anagramas
- Números de Bernoulli
- Operaciones bit a bit
- Descomposición de Cholesky
- Combinaciones
- Comentarios
- Fracciones continuas
- Verificación de redundancia cíclica (CRC-32)
- secuencia de Bruijn
- Estrella de la Muerte (dibujar)
- Producto escalar
- Curva de dragón
- Fracciones egipcias
- Rompecabezas de las ocho reinas
- Factoriales
- secuencia Fibonacci
- FizzBuzz
- Animación de la caja de Galton (caja de frijoles)
- Función gamma
- eliminación gaussiana
- Máximo común divisor (MCD)
- Programa Hola mundo Hola mundo / Texto
- Secuencia Q de Hofstadter
- infinito
- Mínimo común múltiplo (LCM)
- Números de Leonardo
- Distancia de Levenshtein
- Secuencia de mirar y decir
- Números de Lucas
- Prueba de primalidad de Lucas-Lehmer
- Conjunto de Mandelbrot (dibujar)
- Primos de Mersenne
- Prueba de primalidad de Miller-Rabin
- código Morse
- Integracion numerica
- Triángulo de Pascal (dibujar)
- Números perfectos
- Permutaciones
- números primos
- Números primarios
- Cuaterniones
- Quine
- Números al azar
- Piedra-papel-tijeras (jugar)
- Números romanos (codificar / decodificar)
- Raíces de unidad
- raíces de una función
- Rot13: un cifrado de sustitución de letras simple
- Método de Runge-Kutta
- SEDOL
- Semiprimes
- Triángulo de Sierpinski (dibujar)
- Ordenar algoritmos
- Enteros sin cuadrados
- Estadísticas
- Pantalla de tallo y hoja
- Definición de función
- Sudoku (resolver)
- Números de taxis
- Secuencia de Thue-Morse
- Tic-tac-toe (ceros y cruces)
- Torre de Hanoi (resolver)
- Funciones trigonométricas
- Espiral de Ulam (dibujar)
- Números de vampiros
- Algoritmo de línea de Xiaolin Wu (dibujar)
- Zebra Puzzle o acertijo de Einstein
- Representación Zeckendorf
Ver también
- Programación centrada en ejemplos
Referencias
- ^ Ralf Lämmel. "Crestomatías de software". doi : 10.1016 / j.scico.2013.11.014 . 2013.
- ^ "Código de Rosetta: Acerca de - Código de Rosetta" . www.rosettacode.org .
- ^ "Código Rosetta: derechos de autor" . Consultado el 19 de diciembre de 2010 .
- ^ Neil Walkinshaw. Capítulo uno: "Comportamiento del software de ingeniería inversa". "Avances en Computación" . 2013. p. 14.
- ^ Geoff Cox. "Código hablante: la codificación como expresión estética y política" . MIT Press, 2013. p. 6.
- ^ Nick Montfort "Sin código: programas nulos" . 2013. p. 10.
- ^ "Bienvenido a Rosetta Code" . Consultado el 7 de enero de 2007 .
- ^ "Categorías más vinculadas" . Consultado el 1 de enero de 2020 .
- ^ "RC POP.OUT - Código Rosetta" . rosettacode.org .
- ^ "Páginas con más categorías" . Consultado el 11 de octubre de 2018 .
enlaces externos
- Página web oficial