C está completa, así que sí, C puede hacer cualquier cosa que C ++ o Java puedan hacer.
La programación orientada a objetos es una mentalidad. Incluso podría hacer programación orientada a objetos (diablos, incluso programación estructurada) en ensamblador. Sin embargo, cuando lo haga, debe hacer todos los trámites de contabilidad necesarios (llame al despacho para OOP, etiquetas para bucles y ramas) por su cuenta.
Necesito agregar un par de pensamientos que olvidé. Primero, el kernel de Linux usa programación orientada a objetos de vez en cuando. Si recuerdo correctamente, el sistema para manejar diferentes sistemas está orientado a objetos, esto hace posible agregar nuevos tipos de sistemas de archivos sobre la marcha.
- ¿Cómo se compara la vida y el salario de un ingeniero de software con un banquero de inversión?
- ¿Qué compañía es buena para realizar una pasantía SDE?
- Cómo hablar con la gente del lado del cliente como ingeniero de software
- De Copenhague, Dinamarca; y Wellington y Auckland, Nueva Zelanda, ¿cuál es la mejor ciudad para un aspirante a ingeniero de software?
- ¿La velocidad de escritura rápida es una habilidad requerida para un ingeniero de software?
En segundo lugar, también es discutible si lo que C ++ y Java combinan realmente es programación orientada a objetos. De hecho, Alan Kay, la persona que acuñó el término “programación orientada a objetos”, dijo: “Cuando creé el término, C ++ no es lo que tenía en mente”. Después de haber aprendido varios sistemas OOP a lo largo de los años (que incluye Python, Common Lisp Object System, el sistema PHP y un smidgen de Smalltalk y un smidgen de los actores de Erlang), me inclino a estar de acuerdo con Alan Kay: C ++ y Java aren ‘ t todo eso orientado a objetos. Y considerando el poder que potencialmente puede provenir de un paradigma de transmisión de mensajes, considero una gran decepción que no hayamos usado este paradigma en la mayor medida posible.