Hay muchas similitudes entre C++ y Ruby, algunas de ellas son:
Al igual que C++, en Ruby…
Diferencia entre Ruby y C++.
Ruby | C++ |
---|---|
En Ruby, cada variable es solo un nombre desreferenciado automáticamente para algún objeto, lo que significa que no hay referencias explícitas en Ruby. | A diferencia de Ruby, hay referencias explícitas en C++. |
Los objetos se escriben fuerte pero dinámicamente en Ruby. | Los objetos no están fuertemente tipados como en Ruby. |
El «constructor» se llama inicializar en lugar del nombre de la clase. | Este no es el caso en C++. |
Array y Hash son solo dos tipos de contenedores. | Hay muchos tipos de contenedores en C++. |
No hay necesidad de plantillas de C++. Tampoco se requiere casting. | Las plantillas de C++ son necesarias aquí. El casting está ahí. |
Es uno mismo en lugar de esto. | Es esto en lugar de uno mismo. |
La iteración se hace un poco diferente. En Ruby, no usa un objeto iterador separado. En su lugar, utiliza un método iterador del objeto contenedor que toma un bloque de código al que pasa elementos sucesivos. | Los vectores son necesarios y se utilizan en C++, lo que facilita la codificación. |
lib, una unidad de prueba, viene de serie con Ruby. | Esto no está disponible con C++. |
No hay conversiones de tipo en Ruby. | La conversión de tipos es necesaria en C++. |
Hay algunas convenciones de caso forzadas. | No existen tales convenciones de casos en C++, lo que lo hace fácil. |
Puede volver a abrir una clase en cualquier momento y también puede agregar más métodos en Ruby. | No podemos hacer esto en C++. |
Algunos métodos terminan en ‘?’ o un ‘!’ en ruby. En realidad, es parte del nombre del método. | No se requieren tales símbolos al final de los métodos en C++. |
Todos los métodos son siempre virtuales en Ruby. | Los métodos no son virtuales en C++. |
Los subprocesos múltiples están integrados, pero a partir de Ruby 1.8 son «subprocesos verdes» en lugar de subprocesos nativos. | Multithreading no está integrado en el caso de C++. |
Los paréntesis utilizados para llamar al método suelen ser opcionales en Ruby. | Los paréntesis son obligatorios en C++ y son necesarios. |
No accede directamente a las variables de miembros: todo el acceso a las variables de miembros públicas se realiza a través de métodos. | Se puede acceder directamente a las variables miembro en C++. |