Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por EsePibe (372) el Lunes, 01 Marzo de 2010, 13:11h (#1205926)
    ( Última bitácora: Domingo, 22 Octubre de 2017, 21:39h )
    En la universidad un profesor nos contó que el lenguaje C se inventó en una época en el que los ordenadores tenían poca memoria y los terminales eran teletipos electro-mecánicos de esos que gastaban papel. Es decir, C se creó pensando en ahorrar papel de teletipo y memoria de ordenador. Por eso en lugar del "begin / end" utilizan los corchetes "{}" y por eso esa sintaxis tan taquigráfica.

    Recuerdo que comparó el lenguaje "C" con el lenguaje "Modula II", afirmando que el Modula II fué creado teniendo en cuenta la mentalidad y la rigidez del sistema educativo soviético, (muy propio de Niklaus Wirth) mientras que C fué creado teniendo en cuenta la mentalidad liberal del sistema educativo de USA.

    Es decir, Modula II no te deja asignar un entero a un long, pero si realmente necesitas hacerlo, puedes si antes pides permiso (mediante un cast). C en cambio si te deja y no hace falta pedir permiso, como supongo que en una universidad de USA no hace falta pedir permiso al profe para ir al servicio a mear.

    El lenguaje Modula II es como el instructor de la chaqueta metálica, que siempre tienes que empezar y terminar cada frase con la palabra "señor". (estructuras de control cerradas).

    IF a = B THEN
    .......
    END IF
    Mientras que a C le puedes llamar de tu

    if (a == B)
    ...........;
    --
    --- 404 Firma no encontrada.
    [ Padre ]
  • Re:Estoy de acuerdo, pero...

    (Puntos:3, Inspirado)
    por pleyades (544) el Lunes, 01 Marzo de 2010, 18:08h (#1205999)
    ( http://barrapunto.com/ | Última bitácora: Viernes, 29 Diciembre de 2017, 18:26h )

    "Apesta" y "razones de peso", quizá sean palabras demasiado fuertes, pero he aquí mis razones.

    • Sin protección de memoria: Te pasas en un array y se va al cuerno... quizá dentro de 10 minutos. La aritmética de punteros debería ser asesinada, de una manera lenta y dolorosa.
    • No es hard typed, tipado fuerte, o como se traduzca
    • Asignaciones en línea if (a=b)
    • El switch con el break
    • Macros
    • Las llaves
    • Distinguir mayúsculas minúsculas

    Dejando a un lado las tres últimas, La mejor prueba de que son defectos del C es que la mayoría de los compiladores intentan subsanarlos con avisos.

    Un lenguaje de programación debe permitirte hacer cochinadas en la memoria, mover bytes etc, pero sólo si quieres y se lo dices explícitamente, no en un descuido. Y con el C puedes, en un descuido, fastidiarla. Y lo que es peor, una sobre escritura de memoria hace que el programa falle cada vez en un sitio, haciéndolo difícil de depurar.

    El C es un lenguaje demasiado próximo a la máquina. Sólo debería usarse para drivers y cosas de muy de bajo nivel del sistema operativo.

    [ Padre ]