[opensuse-es] OT: De donde no hay no sepuede sacar... Fwd: comp.lang.functional - 3 new messages in 2 topics - digest
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2010-01-31 a las 12:25 +0100, Angel escribió:
Experimientos con C para hacerlo más funcional...
pobrecitos..!!
A mi no me tienes que convencer de que el C es un "mal" lenguaje. Hasta mi profesor de C lo decía, incansablemente, mientras nos lo enseñaba... Lo único que he dicho es que es de alto nivel. Que hay otros lenguajes de "mayor" nivel, indudable. Pero eso es otra definición. Y no obstante sus inconvenientes, es muy ampliamente usado en linux. El más usado. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAktlhNcACgkQtTMYHG2NR9VOHwCgksB1wFMzSCncK+KKgMJH4NvU qMYAniF3pBfQdmnpS9DTob7y4tBIAQV2 =3yIp -----END PGP SIGNATURE-----
On Domingo, 31 de Enero de 2010 14:25:41 Carlos E. R. escribió:
El 2010-01-31 a las 12:25 +0100, Angel escribió:
Experimientos con C para hacerlo más funcional...
pobrecitos..!!
A mi no me tienes que convencer de que el C es un "mal" lenguaje. Hasta mi profesor de C lo decía, incansablemente, mientras nos lo enseñaba... Lo único que he dicho es que es de alto nivel. Que hay otros lenguajes de "mayor" nivel, indudable. Pero eso es otra definición.
Y no obstante sus inconvenientes, es muy ampliamente usado en linux. El más usado.
El C es cojonudo para lo que és, pero el problema es que mucha gente no se entera. No puedes pretender prototipar en C y muchos proyectos GNU (y otros lo hacen) lo hacen... porque mucho software FOSS sale a la calle en plan protipo.. parace que si no está en C la gente no se va a molestar en bajarselo y probarlo (compilarlo y demás), en ese aspecto Java, ruby, python y otros están mjorando la cosa, pero todo depende de que 'habla' el desarrollador de turno... Espero que la HLVM avance tanto como la LLVM, Les va a hacer un gran favor a unos cuantos... En cuanto al alto y al bajo nivel, te entiendo desde un punto de vista hortodoxo pero está claro que "simplificando" este tema no ayudamos a nadie. Aun recuerdo las batallitas en el kernel por usar C++ cuando la gente "confundia" la OOP con usar C++ y al mismo tiempo he visto gente en los archivos de erlang diciendo ¿quien necesita un OS? "con un poco de hardware y quizas un poco de firmware tenemos todos lo que necesitamos de un OS" (Proteccion de memoria y conmutacion de tareas) y la proteccion casi te la puedes ahorrar con el modelo de erlang... y es el kernel ¡ahi es nada! pero ya ves hay gente que lo ve "alto nivel" (hace muchas abstracciones) y otros "muy bajo" (no tiene que hacer casi ninguna)... algo como Tannebaum vs Torvalds Salu2++ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El dom, 31-01-2010 a las 14:25 +0100, Carlos E. R. escribió:
A mi no me tienes que convencer de que el C es un "mal" lenguaje. Hasta mi profesor de C lo decía, incansablemente, mientras nos lo enseñaba... Lo único que he dicho es que es de alto nivel. Que hay otros lenguajes de "mayor" nivel, indudable. Pero eso es otra definición.
Y no obstante sus inconvenientes, es muy ampliamente usado en linux. El más usado.
¿A qué se refieren con que C es «malo»? lo que yo sé es que C es un lenguaje de nivel medio cuyo compilador (gcc) produce código de máquina de muy buena calidad... según lo que recuerdo... ¿se dice acaso porque no tiene tantas estructuras propias como los lenguajes de alto nivel? ¿qué es lo malo de C?... -- Saludos, Mauricio J. Adonis C. ------------------------------------------ Usuario Linux # 482032 Usuario Ubuntu # 25554 ------------------------------------------
El Lunes, 1 de Febrero de 2010 04:27:25 Mauricio J. Adonis C. escribió:
El dom, 31-01-2010 a las 14:25 +0100, Carlos E. R. escribió:
A mi no me tienes que convencer de que el C es un "mal" lenguaje. Hasta mi profesor de C lo decía, incansablemente, mientras nos lo enseñaba... Lo único que he dicho es que es de alto nivel. Que hay otros lenguajes de "mayor" nivel, indudable. Pero eso es otra definición.
Y no obstante sus inconvenientes, es muy ampliamente usado en linux. El más usado.
¿A qué se refieren con que C es «malo»? lo que yo sé es que C es un lenguaje de nivel medio cuyo compilador (gcc) produce código de máquina de muy buena calidad... según lo que recuerdo... ¿se dice acaso porque no tiene tantas estructuras propias como los lenguajes de alto nivel? ¿qué es lo malo de C?...
"nivel medio" Vaya!! ya tengo uno mas para mi atajo de revisionistas :-) Para mi C tiene tantas estrcuturas como el que más pero no tienen el nivel de abstracción de otros. Es decir, si un hashmap por ejemplo no es un tipo nativo no es lo mismo que decir que con un par de structs y dos punteros me hago un hashmap, ya que seguramente ambos lenguajes son turing completos pero no están al mismo nivel. Salu2 -- Este correo no tiene dibujos. Las formas extrañas en la pantalla son letras. __________________________________________ Clist UAH a.k.a Angel __________________________________________ MySQL5: Vale, corromper los datos de forma silente no era una buena idea despues de todo. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2010-02-01 a las 00:27 -0300, Mauricio J. Adonis C. escribió:
¿A qué se refieren con que C es «malo»? lo que yo sé es que C es un lenguaje de nivel medio cuyo compilador (gcc) produce código de máquina de muy buena calidad... según lo que recuerdo... ¿se dice acaso porque no tiene tantas estructuras propias como los lenguajes de alto nivel? ¿qué es lo malo de C?...
¿Por donde empiezo? A ver, porque, por ejemplo, puedes escribir en a[20] en un array de tamaño 19, sobrescribiendo la variable de al lado. Eso es el origen de la gran mayoría de fallos de seguridad en programas de linux, el "buffer overflow". Es un lenguaje que te permite hacer todo tipo de barbaridades capaces de, desde no funcionar, hasta tirar el sistema. Y es a propósito, se supone que el programador sabe lo que hace. El lenguaje obedece. Puede ser muy eficiente. Está bien para sistemas, kernel y todo eso, pero es una exageración usarlo para todo. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAktnZG0ACgkQtTMYHG2NR9VzuwCeI+Eaw7gwVicXLLp9ALGfDyXx G1AAnj4oukdil3y6PdxBfW5G1GMGBz15 =8++a -----END PGP SIGNATURE-----
On Martes, 2 de Febrero de 2010 00:31:56 Carlos E. R. escribió:
El 2010-02-01 a las 00:27 -0300, Mauricio J. Adonis C. escribió:
¿A qué se refieren con que C es «malo»? lo que yo sé es que C es un lenguaje de nivel medio cuyo compilador (gcc) produce código de máquina de muy buena calidad... según lo que recuerdo... ¿se dice acaso porque no tiene tantas estructuras propias como los lenguajes de alto nivel? ¿qué es lo malo de C?...
¿Por donde empiezo? A ver, porque, por ejemplo, puedes escribir en a[20] en un array de tamaño 19, sobrescribiendo la variable de al lado. Eso es el origen de la gran mayoría de fallos de seguridad en programas de linux, el "buffer overflow".
Es un lenguaje que te permite hacer todo tipo de barbaridades capaces de, desde no funcionar, hasta tirar el sistema. Y es a propósito, se supone que el programador sabe lo que hace. El lenguaje obedece. Puede ser muy eficiente. Está bien para sistemas, kernel y todo eso, pero es una exageración usarlo para todo.
Quizas no haya un lenguaje maravilloso para todo. Cada uno de ellos, tiene sus ventajas en unos contextos determinados. Y tambien sus inconvenientes en otros. C tuvo y tiene una ventaja, es muy proximo a la maquina. Y alguien experimentado, casi puede saber que generara el compilador. Si ademas el compilador optimiza de una forma decente.. ya es maravilloso para muchas aplicaciones.( las que tienen problemas de memoria, de tiempo de ejecución, de tamaño... etc). Los OOP son otra historia, no estan enfocados al rendimiento, sino a que el programador no tenga que pelear contra la maquina, sino contra el problema de su aplicación. Los que usan un framework, son un paso mas, hacen la vida facil al programador en los aspectos rutinarios del sistema,( Haz una lista, pinta una ventana) dejandole preocuparse mas de su programa, que de su aspecto o de sus detalles. Evidentemente todo tiene un precio, los frameworks, ocupan memoria y tiempo de ejecucion. La mayoria de veces se usa algo que implementa el lenguaje( al fin y al cabo, lo implemente quien lo implemente son instrucciones maquina) que permite cazar elfantes, para matar mosquitos. Java y C# adolecen de esto. Eso, si es muy comodo, al menos hasta que aparecen los problemas de verdad. -- Saludos Lluis
participants (5)
-
Angel
-
Angel Alvarez
-
Carlos E. R.
-
Lluis
-
Mauricio J. Adonis C.