Hola,
Cita:
Iniciado por HighCore
properties (de verdad)
delegados (de verdad)
eventos (de verdad)
LinQ (de verdad)
generics (de verdad)
value types (de verdad)
type inference (de verdad)
y todo lo que tiene C# (que es un lenguaje de verdad)
Y de verdad significa "Verdadero", no un workaround HORRIBLE lleno de boilerplate basado en interfaces, causado por las falencias de un lenguaje arcaico que nunca se actualizó desde hace 20 años.
No voy a criticar tu punto de vista porque llevo 10+ años programando en Java y C#, y siempre hay alguien que se aposta en un uno u el otro al punto del fanatismo, y a mi los dos lenguajes me han dado de comer en su momento.
Pero no entiendo muy bien lo del boilerplate; por que te estas contradiciendo, dices que Java tiene workarounds basados en interfaces lleno de boilerplate. Simplificando ... los delegados son clases que reciben eventos que se cumplen con una interface, como ves en Java hay delegados, pero no existe el boilerplate de C#; usando una palabra clave adicional para lo mismo que ya sabemos que es una clase que cumple con una interface.
Los eventos son eventos, que en C# y VB exista la palabra Event solo genera una boilerplate innecesario que un programador experto implementa hasta en C sin la palabra Event, ni java.awt.Event.
Pero en fin, si conoces bien a profundidad la programación, cualquier lenguaje tiene todo lo del otro, solamente hay que saber implementarlo correctamente.
Saludos,