Hace 3 años | Por ccguy a berthub.eu
Publicado hace 3 años por ccguy a berthub.eu

Un curso básico de C++ para programadores en C. ¿Rres de los que en su día leiste el Stroustrup y C++ te pareció un megatruño de lenguaje? ¿crees que Java tiene una orientación a objetos mucho más saludable para tu cerebro y te has mantenido al margen de C++ durante años? Esta breve introducción al C++ moderno, con templates, lambdas, implementaciones que utilizan múltiples procesadores de algoritmos clásicos como quicksort, te mostrará como al igual que otros lenguajes con fama de ser insufribles a final del siglo pasado, C++ ha mejorado.

Comentarios

ccguy

#3 los interfaces de java son una solución mucho más elegante que la herencia múltiple, llena de problemas y que fomenta mal diseño.

pip

#4 mi opinión es que C++ no es un lenguaje para principiantes y que hay un millón de maneras de hacer diseños de mierda y código horrible en C++ (lo mismo que en C).

Pero en manos de quien sabe diseñarlos la herencia múltiple no supone un poblema. Esa solución elegante de Java que tu dices, es equivalente a una herencia múltiple en el que todos los miembros de clase son virtuales.

Pero esa es UNA posibilidad de la herencia múltiple de C++, ser equivalente a los interfaces de Java. Y es desde luego una que se usa casi siempre.

Pero hay muchos otros patrones con herencias mútiples que en Java no son posibles.

D

#5 #4 Si vais a hablar de los problemas de la herencia múltiple es imprescindible hablar del diamante de la muerte.

Que son los problemas derivados de una clase que hereda de dos o más que tienen una superclase común.

https://es.m.wikipedia.org/wiki/Problema_del_diamante

ccguy

#6 Entre otros.

pip

#6 de los problemas que podríamos hablar son de los que se producen cuando necesitas herencia múltiple y no la tienes.

Que ese es el meollo raíz de la cuestión, primero conocer las herramientas que te da un lenguaje, y luego saber que problema estás intentando solucionar y que herramientas de las disponibles en el lenguaje son las más adecuadas.

alexwing

Si dices que Java tiene una orientación al objeto saludable, mejor dedicate a otra cosa en lugar de programar.

ccguy

#1 comparado con el c++ original, sin duda.

Nada de herencia múltiple, que es el diablo, y todo derivando de Object.

pip

#2 la herencia multiple diablo de C++ sustituye en la mayoría de las veces a los interfaces de Java.

Como todo, que un lenguaje tenga una capacidad no la convierte en maligna, lo que es maligno es usarla mal.