Rosetta Code es un sitio web de crestomatía 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 . [2] [3] Recibe su nombre por la Piedra Rosetta , que tiene el mismo texto inscrito en ella en tres idiomas, y por lo tanto permitió que los jeroglíficos egipcios se descifraran por primera vez. [1]
Sitio web
Rosetta Code fue creado en 2007 por Michael Mol. [1] El contenido del sitio está licenciado bajo la Licencia de Documentación Libre GNU 1.2, aunque algunos componentes pueden tener doble licencia bajo términos más permisivos. [4]
El repositorio web de Rosetta Code ilustra cómo la funcionalidad deseada se implementa de manera muy diferente en varios paradigmas de programación , [5] [6] y cómo "la misma" tarea se logra en diferentes lenguajes de programación. [7]
A partir del 22 de febrero de 2024 [actualizar], el Código Rosetta tiene: [8]
- 1.266 tareas (o problemas) de programación informática
- 404 tareas adicionales de programación del borrador
- 933 lenguajes de programación informática que se utilizan para resolver tareas
En agosto de 2022, Rosetta Code migró del alojamiento independiente a Miraheze.
Actualmente, Rosetta Code está alojado en WikiTide. [9]
Datos y estructura
El sitio de Rosetta Code está organizado como una sección transversal navegable de tareas (consideraciones o problemas de programación específicos) y lenguajes de programación informática. [3] La página de una tarea muestra soluciones aportadas por los visitantes en varios lenguajes informáticos, lo que permite al espectador comparar el enfoque de cada lenguaje con el problema planteado en la tarea.
Las páginas de tareas se incluyen en listados 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 el listado para C. Si la misma tarea tiene una solución en Ruby , la tarea también aparecerá en el listado para Ruby.
Idiomas
Algunos de los lenguajes de programación informática que se encuentran en el Código Rosetta (que tienen descripciones en Wikipedia) incluyen: [10]
- Ada
- ALGOL 60
- ALGOL 68
- ALGOL W
- APL
- AWK
- Tecla de acceso rápido automática
- BASIC (58 variantes)
- do
- DO#
- C++
- Ceilán
- Clojure
- COBOL
- Ceceo común
- D
- Delfos
- Erlang
- F#
- Factor
- Adelante
- Fortran
- Elixir
- Ir
- Apache Groovy
- Haskell
- Icono
- Yo
- Java
- JavaScript
- Julia
- Kotlin
- Lua
- Arce
- Matemática
- MATLAB
- Nim
- OCaml
- Octava
- PARI/GP
- Pascal
- Perl
- PHP
- picolispo
- PL/YO
- Potencia Shell
- Prólogo
- Puro Básico
- Pitón
- R
- Raqueta
- Raku (Perl 6)
- Rojo
- Rexxo
- Rubí
- Óxido
- Escala
- Esquema
- Semilla7
- SecuenciaL
- Rápido
- Tcl
- Unícono
- V (lenguaje)
- XPL0
Está disponible una lista completa de los lenguajes de programación informática que tienen ejemplos (entradas/soluciones a las tareas del Código Rosetta). [11]
Tareas
Algunas de las tareas que se encuentran en Rosetta Code incluyen: [12]
- " 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
- Comprobación de redundancia cíclica (CRC-32)
- secuencia de Bruijn
- Estrella de la muerte (dibujo)
- Producto escalar
- Curva del dragón
- Fracciones egipcias
- Rompecabezas de ocho reinas
- Factoriales
- Secuencia de Fibonacci
- Efervescencia
- 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
- Infinidad
- Mínimo común múltiplo (mcm)
- 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 (dibujo)
- Primos de Mersenne
- Prueba de primalidad de Miller-Rabin
- Código morse
- Integración numérica
- Triángulo de Pascal (dibujo)
- Números perfectos
- Permutaciones
- Números primos (102 tareas)
- Números primordiales
- Cuaterniones
- Quine
- Números aleatorios
- Piedra, papel o tijera (juego)
- Números romanos (codificar/decodificar)
- Raíces de la unidad
- raíces de una función
- Rot13 : un cifrado de sustitución de letras simple
- Método Runge-Kutta
- SEDOL
- Números semiprimos
- Triángulo de Sierpinski (dibujo)
- Algoritmos de ordenamiento (41)
- Números enteros sin cuadrados
- Estadística
- Exhibición de tallos y hojas
- Definición de función
- Sudoku (resolver)
- Números de taxis
- Secuencia Thue-Morse
- Tres en raya (tres en raya)
- Torre de Hanoi (resuelve)
- Funciones trigonométricas
- Espiral de Ulam (dibujo)
- Números de vampiros
- Algoritmo de línea de Xiaolin Wu (dibujo)
- Acertijo de la cebra o acertijo de Einstein
- Representación de Zeckendorf
Véase también
Referencias
- ^ abc "Código Rosetta:Acerca de - Código Rosetta". www.rosettacode.org . 8 de agosto de 2010.
- ^ Ralf Lämmel. "Crestomatías de software". doi :10.1016/j.scico.2013.11.014. 2013.
- ^ ab Nanz, Sebastian; Furia, Carlo A. (2015). Un estudio comparativo de lenguajes de programación en Rosetta Code. págs. 778–788. arXiv : 1409.0252 . doi :10.1109/ICSE.2015.90. ISBN 978-1-4799-1934-5. S2CID 2570311 . Consultado el 22 de febrero de 2024 .
{{cite book}}:|website=ignorado ( ayuda ) - ^ "Código Rosetta: Derechos de autor". 24 de enero de 2010. Consultado el 19 de diciembre de 2010 .
- ^ Neil Walkinshaw. Capítulo uno: "Ingeniería inversa del comportamiento del software". "Avances en informática". 2013. pág. 14.
- ^ Geoff Cox. "Hablar en código: la codificación como expresión estética y política". MIT Press, 2013. pág. 6.
- ^ Nick Montfort "Sin código: programas nulos". 2013. p. 10.
- ^ "Bienvenido a Rosetta Code" . Consultado el 7 de enero de 2007 .
- ^ "WikiTide". wikitide.org . Consultado el 22 de febrero de 2024 .
- ^ "Categorías más enlazadas" . Consultado el 22 de febrero de 2024 .
- ^ "Código Rosetta/Idiomas/Lista completa". rosettacode.org . 4 de marzo de 2024.
- ^ "Páginas con más categorías" . Consultado el 11 de octubre de 2018 .
Enlaces externos
- Sitio web oficial