Similitudes entre Ruby y C
Hay muchas similitudes entre C y Ruby, y algunas de ellas son:
Como C, en Ruby también…
Diferencias entre Ruby y C
Ruby | C |
---|---|
En Ruby, no es necesario compilar el código, se puede ejecutar directamente. | En C, la compilación del código es necesaria porque no se puede ejecutar directamente. |
Requiere ‘foo’ en lugar de #include o #include «foo». | No se requiere nada de eso en C. |
No hay declaraciones de variables en Ruby. | La declaración de variables es necesaria en C. |
En Ruby, no hay macros ni preprocesador, ni conversiones, ni punteros, ni typedefs, sizeof, ni enumeraciones disponibles. | Mientras que están presentes en C. |
Los argumentos de los métodos (es decir, las funciones) se pasan por valor, donde los valores son siempre referencias a objetos. | En C, las funciones se pasan por valor y también por referencia. |
Los paréntesis para las llamadas a métodos (es decir, funciones) suelen ser opcionales. | Esto no es opcional en C. |
No hay carácter, son solo strings de 1 letra. | Char se usa en C para un carácter. |
Los literales de array van entre paréntesis en lugar de llaves en Ruby. | Los arreglos literales van entre llaves en C. |
No puede desplegarse para ensamblar. | En C no puede desplegarse para ensamblar. |
En Ruby, los objetos están fuertemente tipados. | En C, los objetos no están fuertemente tipados. |
Va sin paréntesis para las expresiones de condición if y while. | Se necesitan paréntesis en C con expresiones if y while. |
Las strings no terminan con un byte nulo en Ruby. | Mientras que las strings terminan con un byte nulo en C. |
Si agrega dos arrays, obtiene una array nueva y más grande (por supuesto, asignada en el montón) en lugar de hacer aritmética de punteros. | Hay una necesidad de aritmética de punteros en C. |
En Ruby, las arrays se hacen más grandes automáticamente cuando se introducen más elementos en ellas. | En C, la array automáticamente no puede crecer. |
Todas las variables viven en el montón. Además, no es necesario que los libere usted mismo: el recolector de basura se encarga de eso. | En C, necesitamos liberarlos nosotros mismos porque el recolector de basura no está presente en C. |
Por lo general, no usa llaves, solo finaliza las construcciones de varias líneas (como whileloops) con una palabra clave final. | Se requieren llaves porque ignorar las llaves causará un error de sintaxis. |
Todas las funciones y clases se definen en los principales archivos de código fuente ya que no hay archivos de encabezado presentes en Ruby. | Los archivos de encabezado están presentes en C. |
No hay líneas finales de punto y coma. | Hay líneas finales. |
No hay #define en ruby. Solo usa constantes. | #define está ahí en C. |
La palabra clave do es para los llamados «bloques». No hay una «declaración de hacer» como en C. | La declaración Do se usa en C con while para hacer un bucle como do-while. |