[opensuse-es] Rutina sencilla " for... in... do") :-)
Hola, Tengo una rutina sencilla que parte los archivos en varios trozos y después los envía por correo (es para cuando tengo que enviar algún mensaje con varios adjuntos a nuestro compañero listero Esteban, que tiene limitaciones en el tamaño de los mensajes). *** (...) # parte los archivos en trozos de 512 KB split -b 512k $ruta_p $ruta_m #envía el correo for file in $ruta_m*; do echo "Hola, blah, blah..." | mailx -r $remitente -a $file -s $file $destinatario; sleep $pausa; done exit; *** a) Si $ruta_m tiene un subdirectorio, me salta un error al terminar la ejecución, aunque el mensaje se envía: *** Es un directorio "/home/hpc02/dead.letter" 1/39 . . . message not sent. *** ¿Cómo podría evitar este mensaje? Vamos, que cómo se hace debidamente :-P b) El "asunto" del correo contiene la ruta al archivo que se envía, pero queda muy cutre O:-) ¿Alguna forma sencilla de obtener sólo el nombre del archivo? Saludos, -- Camaleón -- 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 2009-04-08 a las 22:18 +0200, Camaleón escribió:
*** (...)
# parte los archivos en trozos de 512 KB split -b 512k $ruta_p $ruta_m
#envía el correo for file in $ruta_m*; do echo "Hola, blah, blah..." | mailx -r $remitente -a $file -s $file $destinatario; sleep $pausa; done
exit; ***
a) Si $ruta_m tiene un subdirectorio, me salta un error al terminar la ejecución, aunque el mensaje se envía:
*** Es un directorio "/home/hpc02/dead.letter" 1/39 . . . message not sent. ***
for file in $ruta_m*; do if test -f "$file" ; then echo "Hola, blah, blah..." | mailx -r $remitente -a $file -s $file $destinatario; sleep $pausa; fi done Así sólo enviará los ficheros normales, también se saltará los enlaces simbólicos, devices, etc. man test: -f FILE FILE exists and is a regular file
b) El "asunto" del correo contiene la ruta al archivo que se envía, pero queda muy cutre O:-)
¿Alguna forma sencilla de obtener sólo el nombre del archivo?
basename, de las coreutils: FILENAME=`basename $file` Por ejemplo: TOTAL=0 for file in $ruta_m*; do if test -f "$file" ; then let "TOTAL = $TOTAL + 1" fi done COUNT=0 for file in $ruta_m*; do if test -f "$file" ; then let "COUNT = $COUNT + 1" FILENAME=`basename $file` SUBJECT="Te envio el fichero $FILENAME, $COUNT de $TOTAL" echo "Hola, blah, blah..." | \ mailx -r $remitente -a $file -s "$SUBJECT" $destinatario; sleep $pausa; fi done - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkndKjIACgkQtTMYHG2NR9UBQgCfRhDed5YkozYPqh9m7KIeMJtM H7YAoIX3SMw/MU/B0pqauwNrt3C2TbgA =oY3D -----END PGP SIGNATURE-----
El 2009-04-09 a las 00:50 +0200, Carlos E. R. escribió:
El 2009-04-08 a las 22:18 +0200, Camaleón escribió:
a) Si $ruta_m tiene un subdirectorio, me salta un error al terminar la ejecución, aunque el mensaje se envía:
*** Es un directorio "/home/hpc02/dead.letter" 1/39 . . . message not sent. ***
for file in $ruta_m*; do if test -f "$file" ; then echo "Hola, blah, blah..." | mailx -r $remitente -a $file -s $file $destinatario; sleep $pausa; fi done
Así sólo enviará los ficheros normales, también se saltará los enlaces simbólicos, devices, etc. man test:
-f FILE FILE exists and is a regular file
Gracias. Eso es. Funciona perfecto.
b) El "asunto" del correo contiene la ruta al archivo que se envía, pero queda muy cutre O:-)
¿Alguna forma sencilla de obtener sólo el nombre del archivo?
basename, de las coreutils:
FILENAME=`basename $file`
Por ejemplo:
TOTAL=0 for file in $ruta_m*; do if test -f "$file" ; then let "TOTAL = $TOTAL + 1" fi done
COUNT=0 for file in $ruta_m*; do if test -f "$file" ; then let "COUNT = $COUNT + 1" FILENAME=`basename $file` SUBJECT="Te envio el fichero $FILENAME, $COUNT de $TOTAL" echo "Hola, blah, blah..." | \ mailx -r $remitente -a $file -s "$SUBJECT" $destinatario; sleep $pausa; fi done
Una solución muy depurada. Gracias. ... Buscando información sobre "basename", he visto que también se podría utilizar un patrón, a modo de filtro, para obtener sólo el nombre del archivo: *** bash String Manipulations http://linuxgazette.net/issue18/bash.html (...) Given: foo=/tmp/my.dir/filename.tar.gz We can use these expressions: path = ${foo%/*} To get: /tmp/my.dir (like dirname) file = ${foo##*/} To get: filename.tar.gz (like basename) base = ${file%%.*} To get: filename ext = ${file#*.} To get: tar.gz Note that the last two depend on the assignment made in the second one. Here we notice two different "operators" being used inside the parameters (curly braces). Those are the # and the % operators. We also see them used as single characters and in pairs. This gives us four combinations for trimming patterns off the beginning or end of a string: ${variable%pattern} Trim the shortest match from the end ${variable##pattern} Trim the longest match from the beginning ${variable%%pattern} Trim the longest match from the end ${variable#pattern} Trim the shortest match from the beginning *** Lo cual, aplicado a la rutina, parece que también funciona: mailx -r $remitente -a $file -s ${file##*/} $destinatario; Saludos, -- Camaleón -- 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 2009-04-09 a las 16:26 +0200, Camaleón escribió:
Una solución muy depurada. Gracias.
De nada; pero no está depurada, tendrás que comprobarla, son trozos copiados y cambiados de guiones que uso.
Buscando información sobre "basename", he visto que también se podría utilizar un patrón, a modo de filtro, para obtener sólo el nombre del archivo:
*** bash String Manipulations http://linuxgazette.net/issue18/bash.html
(...) Given:
foo=/tmp/my.dir/filename.tar.gz
We can use these expressions:
path = ${foo%/*} To get: /tmp/my.dir (like dirname)
file = ${foo##*/} To get: filename.tar.gz (like basename)
base = ${file%%.*} To get: filename
ext = ${file#*.} To get: tar.gz
Esos patrones los he visto usados, pero nunca he sabido lo que eran. Lo vi ayer en zgrep. Tendré que mirarlo más despacio.
Lo cual, aplicado a la rutina, parece que también funciona:
mailx -r $remitente -a $file -s ${file##*/} $destinatario;
Interesante... varias maneras de pelar un gato, que dicen los usanianos. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkneGdkACgkQtTMYHG2NR9XxYwCgicoWpHyGaI05DGlTsKboB2jP U5oAnicwdDyZ/RGoldbxYCRPmO9+HTkM =8vsm -----END PGP SIGNATURE-----
Camaleón escribió:
Hola,
Tengo una rutina sencilla que parte los archivos en varios trozos y después los envía por correo (es para cuando tengo que enviar algún mensaje con varios adjuntos a nuestro compañero listero Esteban, que tiene limitaciones en el tamaño de los mensajes).
Lo que dice Carlos deberia funcionar perfectamente, par la proxima, te recomendaria programar el envio de correos en un lenguaje de mas alto nivel como Ruby, PHP o Python. -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
El 2009-04-09 a las 10:35 -0400, Cristian Rodríguez escribió:
Camaleón escribió:
Tengo una rutina sencilla que parte los archivos en varios trozos y después los envía por correo (es para cuando tengo que enviar algún mensaje con varios adjuntos a nuestro compañero listero Esteban, que tiene limitaciones en el tamaño de los mensajes).
Lo que dice Carlos deberia funcionar perfectamente, par la proxima, te recomendaria programar el envio de correos en un lenguaje de mas alto nivel como Ruby, PHP o Python.
Perl y PHP los conozco un poquitín, pero ¿cuál sería la ventaja de usarlos para una rutina tan sencilla? Saludos, -- Camaleón -- 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 2009-04-09 a las 10:35 -0400, Cristian Rodríguez escribió:
Lo que dice Carlos deberia funcionar perfectamente, par la proxima, te recomendaria programar el envio de correos en un lenguaje de mas alto nivel como Ruby, PHP o Python.
Pero eso es más complicado, ¿no? Salvo que ya sepas esos lenguajes, claro. Es como cuando yo digo que he hecho tal cosa en pascal, en vez de alguno de los lenguajes de moda que en teoría son mejores. Es lo que conozco... - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkneGkgACgkQtTMYHG2NR9VYwwCeIeVW6F4F63yKijSRC0t69Eja ijcAoJY9IqVVbHNddp983SISeeqrH8+j =cQJA -----END PGP SIGNATURE-----
Pero eso es más complicado, ¿no?
Puede ser un poco mas complicado de hacer, aunque es mucho mas barato de mantener. -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-09 a las 15:26 -0400, Cristian Rodríguez escribió:
Pero eso es más complicado, ¿no?
Puede ser un poco mas complicado de hacer, aunque es mucho mas barato de mantener.
Mmmm... no se, no se. Tengo ahora una guerra con amavis y no me parece precisamente "sencillo". - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknedxAACgkQtTMYHG2NR9WyrgCeM6ETG/+AGdYFGYF1TuVVh8fB HEgAn3YwIAhCRbqALkWNM7rQS6rjpyti =TKV4 -----END PGP SIGNATURE-----
Carlos E. R. escribió:
Mmmm... no se, no se. Tengo ahora una guerra con amavis y no me parece precisamente "sencillo".
A que crees que se debe por ejemplo que: a) buena parte de los sistemas "coorporativos" estan hechos en Java si no es "sencillo" ? b) Las distribuciones traigan cada dia menos scripts escritos en alguna shell, y gradualmente traigan mas y mas Python, Perl, Ruby ? c) Que exista gran demanda de "bindings" de bibliotecas comunes que puedan ser utilizados en lenguajes de alto nivel ? Eso es porque el costo de mantencion, al mediano/largo plazo es mas bajo, las horas de los programadores, especialmente cuando se trata de mantener cosas "viejas" son mucho mas caras que el hardware. -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 07:53 -0400, Cristian Rodríguez escribió:
Carlos E. R. escribió:
Mmmm... no se, no se. Tengo ahora una guerra con amavis y no me parece precisamente "sencillo".
Aclaro que sencillo no me refiero a sencillo de programar para el programador, sino sencillo de mantener para los usuarios. El amavis es horrible.
A que crees que se debe por ejemplo que:
a) buena parte de los sistemas "coorporativos" estan hechos en Java si no es "sencillo" ?
Porque el java es portable, la misma aplicación te la puedes llevar de un sistema a otro, en principio. Pero por contra son aplicaciones muy pesadas y lentas, salvo que tengas un maquinón.
b) Las distribuciones traigan cada dia menos scripts escritos en alguna shell, y gradualmente traigan mas y mas Python, Perl, Ruby ?
Porque las tareas que se busca hacer son cada vez más complejas; pero salvo que la tarea sea simple, la ejecución de esos scripts puede ser muy pesada - como lo es la del amavis o el spamassassin.
c) Que exista gran demanda de "bindings" de bibliotecas comunes que puedan ser utilizados en lenguajes de alto nivel ?
Eso es porque el costo de mantencion, al mediano/largo plazo es mas bajo, las horas de los programadores, especialmente cuando se trata de mantener cosas "viejas" son mucho mas caras que el hardware.
Pero a costa de desplazar el coste desde el programador hacia los usuarios. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfOEUACgkQtTMYHG2NR9UyAwCeNq6viNmh7NQmu6yLqFsRTqR5 x+cAnRdg6SMPHKLzdfr/zKSSYQbjOVLj =kciZ -----END PGP SIGNATURE-----
Carlos E. R. escribió:
Pero a costa de desplazar el coste desde el programador hacia los usuarios.
No es el usuario el que paga siempre ? :-D -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 08:22 -0400, Cristian Rodríguez escribió:
Carlos E. R. escribió:
Pero a costa de desplazar el coste desde el programador hacia los usuarios.
No es el usuario el que paga siempre ? :-D
Claro, y además sin elección >:-) - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfXIMACgkQtTMYHG2NR9VipgCdEbOGUkWll6zqcKc7s5LFsCJg hkYAnA8Y+YXohrJTpX4DvP9S9o4U0NP8 =EFu6 -----END PGP SIGNATURE-----
Carlos E. R. escribió:
Claro, y además sin elección >:-)
Sin eleccion de que ? hay muchas alternativas... -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 10:52 -0400, Cristian Rodríguez escribió:
Carlos E. R. escribió:
Claro, y además sin elección >:-)
Sin eleccion de que ? hay muchas alternativas...
A ver, tengo amavis, y... amavis. Sí, además tengo amavís. ¿Alguno más? Ah, se me olvidaba, el amavís.
:-P
- -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfYpcACgkQtTMYHG2NR9W/9QCcCkFYdqLBO0UVvA7E978jDydW c1gAnA7gezqiBFQHiv6kVeQCr64SznX/ =nxMb -----END PGP SIGNATURE-----
On Friday 10 April 2009 10:15:33 Carlos E. R. wrote:
El 2009-04-10 a las 10:52 -0400, Cristian Rodríguez escribió:
Carlos E. R. escribió:
Claro, y además sin elección >:-)
Sin eleccion de que ? hay muchas alternativas...
A ver, tengo amavis, y... amavis. Sí, además tengo amavís. ¿Alguno más? Ah, se me olvidaba, el amavís.
:-P
clamav? o eso es amavis? o.O? -- Carlos A. -- 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 2009-04-10 a las 12:37 -0500, Shinji Ikari escribió:
Sin eleccion de que ? hay muchas alternativas...
A ver, tengo amavis, y... amavis. Sí, además tengo amavís. ¿Alguno más? Ah, se me olvidaba, el amavís.
:-P
clamav? o eso es amavis? o.O?
Es llamado por. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfjsAACgkQtTMYHG2NR9UrbwCgkAh8Iicd7O96Vg5jpgvrclVL W0kAn34Ps9UANoWonRZ0j4U/FPQ49KaI =QWer -----END PGP SIGNATURE-----
El 2009-04-10 a las 12:37 -0500, Shinji Ikari escribió:
On Friday 10 April 2009 10:15:33 Carlos E. R. wrote:
A ver, tengo amavis, y... amavis. Sí, además tengo amavís. ¿Alguno más? Ah, se me olvidaba, el amavís.
:-P
clamav? o eso es amavis? o.O?
ClamAV es un antivirus. Amavisd-New es un... es un... es una especie de "conector" entre distintas soluciones de antivirus, antispam, mta y mda. Un sustituto del amavisd-new podría ser Mailscanner, pero te obliga a rehacer tu esquema de distribución de correo y además, no viene en suse, lo cual es un "handicap" :-) Saludos, -- Camaleón -- 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 2009-04-10 a las 07:53 -0400, Cristian Rodríguez escribió:
Carlos E. R. escribió:
Mmmm... no se, no se. Tengo ahora una guerra con amavis y no me parece precisamente "sencillo".
A que crees que se debe por ejemplo que:
a) buena parte de los sistemas "coorporativos" estan hechos en Java si no es "sencillo" ?
¿A que Java es multiplataforma?
b) Las distribuciones traigan cada dia menos scripts escritos en alguna shell, y gradualmente traigan mas y mas Python, Perl, Ruby ?
A que la gente se le olvida programar en bash porque sólo le enseñan Java y C++
c) Que exista gran demanda de "bindings" de bibliotecas comunes que puedan ser utilizados en lenguajes de alto nivel ?
Eso es debido a la demanda de b)
Eso es porque el costo de mantencion, al mediano/largo plazo es mas bajo, las horas de los programadores, especialmente cuando se trata de mantener cosas "viejas" son mucho mas caras que el hardware.
"Matar moscas a cañonazos" puede ser una estrategia "efectiva" pero nunca "eficiente" (el gasto que genera es mayor que el beneficio obtenido). Por cierto, te olvidas de los problemas que traen los nuevos lenguajes de programación: elevado consumo de recursos (java), incompatibilidad entre nuevas versiones (php y perl pueden ser un buen ejemplo) que obligan a rehacer el código de los programas con la consecuente pérdida de tiempo y recursos, así como un número elevado de bugs y fallos que no se dan en lenguajes más antiguos y por tanto, más probados. :-) Saludos, -- Camaleón -- 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
Camaleón escribió:
b) Las distribuciones traigan cada dia menos scripts escritos en alguna shell, y gradualmente traigan mas y mas Python, Perl, Ruby ?
A que la gente se le olvida programar en bash porque sólo le enseñan Java y C++
No, a que las empresas no tienen lo recursos humanos para mantener y depurar los programas al largo plazo.
Por cierto, te olvidas de los problemas que traen los nuevos lenguajes de programación: elevado consumo de recursos (java).
Eso es un mito, logicamente joe programmer no sabe como hacer codigo eficiente en java...
incompatibilidad entre nuevas versiones (php y perl pueden ser un buen ejemplo)
A ver, personalmente yo trabajo en el interprete de PHP y tengo codigo corriendo por ahi, que estaba escrito para PHP 3 , y aun funciona con PHP 5.2 con una linea modificacion para PHP 5.1.2.. es lo mismo que con java.. o cualquier otro lenguaje.. como dice un amigo mio "que tengas un tractor no significa que sepas sembrar maiz"..
así como un número elevado de bugs y fallos que no se dan en lenguajes más antiguos y por tanto, más probados.
Ufff. si hablamos de bugs, los lenguajes mas probados estan llenos de errores de diseño, ni hablar de los compiladores, como dato anecdotico, en SUSE hay un programador que no puede escribir codigo a su maximo nivel, porque el compilador C++ no lo deja, no lo comprende heheheh :) -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 08:33 -0400, Cristian Rodríguez escribió:
Por cierto, te olvidas de los problemas que traen los nuevos lenguajes de programación: elevado consumo de recursos (java).
Eso es un mito, logicamente joe programmer no sabe como hacer codigo eficiente en java...
No, porque precisamente la mayoría de los programadores se llaman "Joe", con lo cual la mayoría del software java cumple el mito >:-P Me acuerdo de una aplicación, o conjunto de, de esas que cuestan munchos millones, en una empresa multinacional de las gordas, que se les ocurrió migrarla a java en el cambio de versión. Además así distribuían la carga, pasándola del servidor a los clientes, en parte, y podían usar clientes con windows en vez de unix o windows con servidor X de pago. La realidad es que el aplicativo iba lentísimo, y obligó a ampliar la memoria de los equipos cliente al doble o el triple, porque era inaguantable. Para los de arriba estaría muy bien, pero para los que teníamos que usarla era horrible. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfRxgACgkQtTMYHG2NR9UrSgCfdyvPnWDsryA84Z0ZN9Cwu4aR HJ8AoIx8vRm8aAfwBdg3BifV9qJ6xtcu =S1Re -----END PGP SIGNATURE-----
Carlos E. R. escribió:
La realidad es que el aplicativo iba lentísimo, y obligó a ampliar la memoria de los equipos cliente al doble o el triple, porque era inaguantable.
mejorar el hardware era probablemente muchisimo mas barato que reescribir el programa ;) -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 10:56 -0400, Cristian Rodríguez escribió:
Carlos E. R. escribió:
La realidad es que el aplicativo iba lentísimo, y obligó a ampliar la memoria de los equipos cliente al doble o el triple, porque era inaguantable.
mejorar el hardware era probablemente muchisimo mas barato que reescribir el programa ;)
No lo pillas. Lo reescribieron entero, en java y javascript (creo), con lo que gastaron una pasta. Y además, obligaron (y no lo dijeron) a mejorar todos los terminales después de comprarlos, porque no tiraban. Doble gasto. Y no eran unos cualquiera, era una multinacional de las gordas, de los que inventaron el C y el Unix. ¿Tu has tenido que hacer un telnet, donde la aplicación telnet era "algo" que corría dentro del mozilla, con mezcla de java y javascript? Era preferible irte a otra maquina y usar un telnet de toda la vida - claro, si encontrabas un puerto libre. (el telnet en java era gnu o por ahí) Es sólo un ejemplo de lo que había, el aplicativo hacía mucho más. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfYhIACgkQtTMYHG2NR9WTBwCePmV/CsNATDoKuMufHES+6EwC hkIAnjYRtpCf7iIGWkGYOWhkawfq4plF =QoWQ -----END PGP SIGNATURE-----
El 2009-04-10 a las 08:33 -0400, Cristian Rodríguez escribió:
Camaleón escribió:
b) Las distribuciones traigan cada dia menos scripts escritos en alguna shell, y gradualmente traigan mas y mas Python, Perl, Ruby ?
A que la gente se le olvida programar en bash porque sólo le enseñan Java y C++
No, a que las empresas no tienen lo recursos humanos para mantener y depurar los programas al largo plazo.
Pues ahí tienes la ventaja de usar las herramientas de "toda la vida": que el mantenimiento es mínimo.
Por cierto, te olvidas de los problemas que traen los nuevos lenguajes de programación: elevado consumo de recursos (java).
Eso es un mito, logicamente joe programmer no sabe como hacer codigo eficiente en java...
¿Mito? Ja. Me gusta java porque estoy en un entorno windows-linux y los programitas me sirven para ambos, pero oye, traga que no veas. Si se trata de una aplicación grande, se nota y mucho. Hace poco nos acaba de llegar un diccionario (María Moliner) que lo han sacado en java (para windows, mac y linux pone en la caja). Lleva sqlite como motor de bdd. Y es lento. ¿Que no se depura como se debería? Puede ser, pero no he visto una sola aplicación hecha en java de cierta envergadura que sea liviana en un equipamiento medio :-)
incompatibilidad entre nuevas versiones (php y perl pueden ser un buen ejemplo)
A ver, personalmente yo trabajo en el interprete de PHP y tengo codigo corriendo por ahi, que estaba escrito para PHP 3 , y aun funciona con PHP 5.2 con una linea modificacion para PHP 5.1.2.. es lo mismo que con java.. o cualquier otro lenguaje.. como dice un amigo mio "que tengas un tractor no significa que sepas sembrar maiz"..
Quizá tu aplicación sea un caso aislado O:-)
así como un número elevado de bugs y fallos que no se dan en lenguajes más antiguos y por tanto, más probados.
Ufff. si hablamos de bugs, los lenguajes mas probados estan llenos de errores de diseño, ni hablar de los compiladores, como dato anecdotico, en SUSE hay un programador que no puede escribir codigo a su maximo nivel, porque el compilador C++ no lo deja, no lo comprende heheheh :)
¿Cuál ha sido la última actualización de seguridad de PHP y cuál ha sido la última de la shell que has hecho? Pues a eso me refiero >:-) Saludos, -- Camaleón -- 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
Camaleón escribió:
Pues ahí tienes la ventaja de usar las herramientas de "toda la vida": que el mantenimiento es mínimo.
heh, claramente se evidencia entonces que nunca has trabajado haciendo un producto de software grande, las "herramientas de toda la vida" son las que requiren mas mantenimiento.
¿Mito? Ja.
Si, es un mito, preguntale a alguien que de verdad sepa de java, el mas grande problema es el programador, despues vienen las _implementaciones_ de java.. que es otro cuento..
Hace poco nos acaba de llegar un diccionario (María Moliner) que lo han sacado en java (para windows, mac y linux pone en la caja). Lleva sqlite como motor de bdd. Y es lento.
Eso es un problema del programador.
Quizá tu aplicación sea un caso aislado O:-)
No, no es un caso aislado, es que estaba bien programada :-) -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 10:48 -0400, Cristian Rodríguez escribió:
Camaleón escribió:
¿Mito? Ja.
Si, es un mito, preguntale a alguien que de verdad sepa de java, el mas grande problema es el programador, despues vienen las _implementaciones_ de java.. que es otro cuento..
Hace poco nos acaba de llegar un diccionario (María Moliner) que lo han sacado en java (para windows, mac y linux pone en la caja). Lleva sqlite como motor de bdd. Y es lento.
Eso es un problema del programador.
Pero es lo que hay.
Quizá tu aplicación sea un caso aislado O:-)
No, no es un caso aislado, es que estaba bien programada :-)
Es la excepción. El 95% por ciento de las aplicaciones java son lentas y pesadas - y yo no me he encontrado con ese 5% de las buenas. ¿Puedes darme ejemplos de aplicaciones java buenas, rápidas, y esbeltas (es decir, poca memoria) que estén en la distribución? - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfYC8ACgkQtTMYHG2NR9UyMgCfVn+oGowUGX1+ieZhEGmLBuy0 OVgAniyb/1XbKb8EdRJYIiioKD2Osf+K =E1eP -----END PGP SIGNATURE-----
El Friday 10 April 2009 17:05:17 Carlos E. R. escribió:
Es la excepción. El 95% por ciento de las aplicaciones java son lentas y pesadas - y yo no me he encontrado con ese 5% de las buenas.
¿Puedes darme ejemplos de aplicaciones java buenas, rápidas, y esbeltas (es decir, poca memoria) que estén en la distribución?
LLevo programando Java 9 años (desde la V1.0). Te puedo decir con total certeza que en las primeras versiones si eran lentas. Pero desde la optimización del JIT y de algunas cosas mas en la versión 1.5 (años hace de esto) las cosas han cambiado mucho. Entre unos de nuestros productos esta un programa de restaurante. Este lo hacemos corren en un TPV tactil de 512Mb Ram y un pentium movile de 1.2Ghz. Como veras no es gran maquira y estos TPV se vende aun, aunque actualmente se esta imponiendo los TPV con atom. Si quieres te puedo buscar comparativas de C++ con recolector de basura y Java. -- ---------------------------------- GTSolutions Iberica Avd.Los Boliches 93 Fuengirola - 29640 Malaga - España Telf:+34 952 66 64 85 http://www.gtsiberica.com ----------------------------------- -- 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 2009-04-11 a las 09:06 +0200, Salvador Gomez Cabello escribió:
El Friday 10 April 2009 17:05:17 Carlos E. R. escribió:
Es la excepción. El 95% por ciento de las aplicaciones java son lentas y pesadas - y yo no me he encontrado con ese 5% de las buenas.
¿Puedes darme ejemplos de aplicaciones java buenas, rápidas, y esbeltas (es decir, poca memoria) que estén en la distribución?
LLevo programando Java 9 años (desde la V1.0). Te puedo decir con total certeza que en las primeras versiones si eran lentas. Pero desde la optimización del JIT y de algunas cosas mas en la versión 1.5 (años hace de esto) las cosas han cambiado mucho.
Para los usuarios, no ha cambiado tanto >:-) Seguimos viendo cómo la vm de java añade ciclos a la cpu y aumenta el uso de ram. Y sólo con lanzar un programita sencillo de un par de megas. No me imagino (aunque me encantaría ver) un 3D Max o un Maya en Java >:-P
Entre unos de nuestros productos esta un programa de restaurante. Este lo hacemos corren en un TPV tactil de 512Mb Ram y un pentium movile de 1.2Ghz. Como veras no es gran maquira y estos TPV se vende aun, aunque actualmente se esta imponiendo los TPV con atom.
Una aplicación para TPV debe estar muy pulida para ese hardware en concreto ¿no? Es decir, que no se trata de una aplicación de propósito general como pueda ser una aplicación para gestiona bdds o un programa de animación 3D >:-)
Si quieres te puedo buscar comparativas de C++ con recolector de basura y Java.
Hay de todo :-) Criticism of Java / Performance http://en.wikipedia.org/wiki/Criticism_of_Java#Performance Saludos, -- Camaleón -- 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 2009-04-11 a las 09:06 +0200, Salvador Gomez Cabello escribió:
Entre unos de nuestros productos esta un programa de restaurante. Este lo hacemos corren en un TPV tactil de 512Mb Ram y un pentium movile de 1.2Ghz. Como veras no es gran maquira y estos TPV se vende aun, aunque actualmente se esta imponiendo los TPV con atom.
Eso es un maquinón, para una cosa que podría funcionar con un pentium 1 y 32 megas >:-P Es casi lo que tengo yo en mi mesa ahora mismo, lo que uso normalmente...
Si quieres te puedo buscar comparativas de C++ con recolector de basura y Java.
El C++ también es pesadito. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkngb0AACgkQtTMYHG2NR9UqLACfSVhetoFEfkM0YqLgt7lkAqu/ 7l0An1E2gs3w0xWtx1cfjKFBjC1xP5nI =FjmU -----END PGP SIGNATURE-----
El Saturday 11 April 2009 12:21:43 Carlos E. R. escribió:
Eso es un maquinón, para una cosa que podría funcionar con un pentium 1 y 32 megas >:-P
Es casi lo que tengo yo en mi mesa ahora mismo, lo que uso normalmente...
Sera que en la octava potencia del mundo (España según zapatero) esa especificación es muy ajustada..... :-D -- ---------------------------------- GTSolutions Iberica Avd.Los Boliches 93 Fuengirola - 29640 Malaga - España Telf:+34 952 66 64 85 http://www.gtsiberica.com ----------------------------------- -- 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 2009-04-10 a las 10:48 -0400, Cristian Rodríguez escribió:
Camaleón escribió:
Pues ahí tienes la ventaja de usar las herramientas de "toda la vida": que el mantenimiento es mínimo.
heh, claramente se evidencia entonces que nunca has trabajado haciendo un producto de software grande, las "herramientas de toda la vida" son las que requiren mas mantenimiento.
¿Haciendo software? No, yo los uso :-) ¿Crees que la rutina usando bash funcionaría, vamos a decir, hace 5 años? ¿Crees que esa misma rutina funcionará dentro de 5 años? ¿Pasaría lo mismo con php, perl o python? >:-)
¿Mito? Ja.
Si, es un mito, preguntale a alguien que de verdad sepa de java, el mas grande problema es el programador, despues vienen las _implementaciones_ de java.. que es otro cuento..
Te cuento lo que veo y mi experiencia con java. Es lento y es pesado. Si no fuera así te diría lo contrario.
Hace poco nos acaba de llegar un diccionario (María Moliner) que lo han sacado en java (para windows, mac y linux pone en la caja). Lleva sqlite como motor de bdd. Y es lento.
Eso es un problema del programador.
Claro, por no elegir el lenguaje apropiado >:-P
Quizá tu aplicación sea un caso aislado O:-)
No, no es un caso aislado, es que estaba bien programada :-)
Hay funciones que desaparecen y tienes que usar otras, luego tienes que cambiar el código, por muy bien programada que esté :-) Saludos, -- Camaleón -- 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
Camaleón escribió:
El 2009-04-10 a las 10:48 -0400, Cristian Rodríguez escribió:
Camaleón escribió:
Pues ahí tienes la ventaja de usar las herramientas de "toda la vida": que el mantenimiento es mínimo. heh, claramente se evidencia entonces que nunca has trabajado haciendo un producto de software grande, las "herramientas de toda la vida" son las que requiren mas mantenimiento.
¿Haciendo software? No, yo los uso :-)
¿Crees que la rutina usando bash funcionaría, vamos a decir, hace 5 años? ¿Crees que esa misma rutina funcionará dentro de 5 años?
En cada release de openSUSE, hay que modificar varios scripts porque ya dejaron de funcionar .. responde eso tu pregunta ? :D El problema de las herramientas de "toda la vida" pued ser uno de estos. a) Como son añejos, utilizan tecnicas de programacion obsoletas, que el compilador ya no acepta, por ende se rompe y se debe gastar tiempo en corregir el codigo b) aquella tecnica de programacion obsoleta, puede crear un comportamiento indefinido, y hacer que el programa se caiga al ejecutarlo o que haga tonterias. c) Aveces ese "programa de toda la vida" no calza mas con todo el resto de la existencia, se vuelve innecesario, incompleto, porque todo el resto del sistema, que tiene miles de componentes cambío para siempre. d) La mas comun de todas, generalmente ese programa anejo es muy costoso de mantener, tiene fallos de diseño graves o no se puede marketear porque ya no es novedad, no vende, no genera dinero, por ende se hace uno nuevo :-) -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
El 2009-04-10 a las 12:39 -0400, Cristian Rodríguez escribió:
Camaleón escribió:
¿Crees que la rutina usando bash funcionaría, vamos a decir, hace 5 años? ¿Crees que esa misma rutina funcionará dentro de 5 años?
En cada release de openSUSE, hay que modificar varios scripts porque ya dejaron de funcionar .. responde eso tu pregunta ? :D
No :-) Si se cambian no es porque "dejen de funcionar" es porque se ha modificado algo. Nada que ver con la elección de un lenguaje de programación en detrimento de otro.
El problema de las herramientas de "toda la vida" pued ser uno de estos.
a) Como son añejos, utilizan tecnicas de programacion obsoletas, que el compilador ya no acepta, por ende se rompe y se debe gastar tiempo en corregir el codigo
b) aquella tecnica de programacion obsoleta, puede crear un comportamiento indefinido, y hacer que el programa se caiga al ejecutarlo o que haga tonterias.
c) Aveces ese "programa de toda la vida" no calza mas con todo el resto de la existencia, se vuelve innecesario, incompleto, porque todo el resto del sistema, que tiene miles de componentes cambío para siempre.
d) La mas comun de todas, generalmente ese programa anejo es muy costoso de mantener, tiene fallos de diseño graves o no se puede marketear porque ya no es novedad, no vende, no genera dinero, por ende se hace uno nuevo :-)
Cristian, tu argumento tendría validez para un proyecto de mayor envergadura. Pero estamos hablando de un simple lanzador para "mailx", no de una rutina para programar el despegue y aterrizaje de una nave :-) Cuando mailx no me proporcione lo que necesito, buscaré otro que lo haga. Mientras tanto, no voy a instalar php o perl sólo para automatizar el envío de correos. Ya tengo lo que necesito y lo hace bien, ¿debo cambiarlo sólo por una "moda" o una "tendencia" que me insta a usar "lo más moderno" sin tener en cuenta otros factores? Lo primero en lo que tiene que pensar un programador es qué quiere resolver, luego, cómo resolverlo y por último, las herramientas a utilizar. Saludos, -- Camaleón -- 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 2009-04-10 a las 19:20 +0200, Lluis Martínez escribió:
On Friday 10 April 2009 19:02:06 Camaleón wrote:
Lo primero en lo que tiene que pensar un programador es qué quiere resolver, luego, cómo resolverlo y por último, las herramientas a utilizar.
;-) Solo por animar el viernes. ¿ Y si lo haces en Mono? :-)
¡¡¡Grrr!!! }:-) :-) Saludos, -- Camaleón -- 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 2009-04-10 a las 20:13 +0200, Camaleón escribió:
Lo primero en lo que tiene que pensar un programador es qué quiere resolver, luego, cómo resolverlo y por último, las herramientas a utilizar.
;-) Solo por animar el viernes. ¿ Y si lo haces en Mono? :-)
¡¡¡Grrr!!! }:-)
:-)
Ya puestos, en java, para que funcione en los windozes igual que en los linuxes :-P - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfkFkACgkQtTMYHG2NR9W8qwCaA23HMLR2XnpG/cw8x1on0mxq ykUAn0QCgB8ssN2pW5mrW5lDBpaHFcGd =XeIS -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 19:20 +0200, lluis escribió:
On Friday 10 April 2009 19:02:06 Camaleón wrote:
Lo primero en lo que tiene que pensar un programador es qué quiere resolver, luego, cómo resolverlo y por último, las herramientas a utilizar.
;-) Solo por animar el viernes. ¿ Y si lo haces en Mono? :-)
¡JUASSSS! X'-) - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfj5sACgkQtTMYHG2NR9V4bgCgitF+iMD5YZzS1Vd5SeTK51yh B+4An2J+BtA+FeZBRtWid+s/9tko9cFC =QEf/ -----END PGP SIGNATURE-----
Camaleón escribió:
Cristian, tu argumento tendría validez para un proyecto de mayor envergadura. Pero estamos hablando de un simple lanzador para "mailx",
Bueno, cuando mailx cambie de una manera tricky vas a tener que modificar tu programa de todas maneras :-D
lo que tiene que pensar un programador es qué quiere resolver, luego, cómo resolverlo y por último, las herramientas a utilizar.
je,, ojala fuera asi de simple,, :-) -- "If this is the best God can do, I am not impressed" -George Carlin (1937-2008) Cristian Rodríguez R. Software Developer Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
El 2009-04-10 a las 13:56 -0400, Cristian Rodríguez escribió:
Camaleón escribió:
Cristian, tu argumento tendría validez para un proyecto de mayor envergadura. Pero estamos hablando de un simple lanzador para "mailx",
Bueno, cuando mailx cambie de una manera tricky vas a tener que modificar tu programa de todas maneras :-D
lo que tiene que pensar un programador es qué quiere resolver, luego, cómo resolverlo y por último, las herramientas a utilizar.
je,, ojala fuera asi de simple,, :-)
Entiendo lo que dices :-) Tocar "bash" me sirve como auto-aprendizaje, no sólo de la shell, sino para conocer el sistema, buscar documentación, leer FAQs... Supongo que quienes os pasáis el día programando pues lo enfocáis desde otra perspectiva, más global, con las vistas puestas en lo que viene. Yo me conformo con que la rutina me haga el trabajo lo antes posible y con los recursos que tengo :-P Saludos, -- Camaleón -- 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 2009-04-10 a las 12:39 -0400, Cristian Rodríguez escribió:
¿Crees que la rutina usando bash funcionaría, vamos a decir, hace 5 años? ¿Crees que esa misma rutina funcionará dentro de 5 años?
En cada release de openSUSE, hay que modificar varios scripts porque ya dejaron de funcionar .. responde eso tu pregunta ? :D
Yo la mayoría de los que noto que cambian es porque o añaden alguna nueva caracteristica, o ha cambiado algo en el exterior, o corrijen algún bug que siempre ha esado ahí o fue añadido por otra corrección. En cambio, hay muchos guiones que no cambian en años.
El problema de las herramientas de "toda la vida" pued ser uno de estos.
a) Como son añejos, utilizan tecnicas de programacion obsoletas, que el compilador ya no acepta, por ende se rompe y se debe gastar tiempo en corregir el codigo
Eso es un fallo del compilador. El compilador nunca debió haber aceptado esas técnicas de programación incorrectas, pero lo hacía porque el compilador mismo estaba incompleto, sin terminar de hacer (es el caso del GCC). Otros compiladores, cuando hacen eso, suelen añadir también switches de compatibilidad, para aceptar técnicas antiguas aún sabiendo que son incorrectas ahora. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknfmDQACgkQtTMYHG2NR9XJbgCeMC6xMNmgZ4681oI+Unb+JGB2 7ScAnioTI7IIkqQiRlERw8Oc7myrjcbt =smRN -----END PGP SIGNATURE-----
On Friday 10 April 2009 21:04:11 Carlos E. R. wrote:
a) Como son añejos, utilizan tecnicas de programacion obsoletas, que el compilador ya no acepta, por ende se rompe y se debe gastar tiempo en corregir el codigo
Eso es un fallo del compilador. El compilador nunca debió haber aceptado esas técnicas de programación incorrectas, pero lo hacía porque el compilador mismo estaba incompleto, sin terminar de hacer (es el caso del GCC). Otros compiladores, cuando hacen eso, suelen añadir también switches de compatibilidad, para aceptar técnicas antiguas aún sabiendo que son incorrectas ahora.
No entiendo la expresión "técnicas de programación obsoletas". Existe una definición formal de la mayoría de lenguajes, o al menos de los mas recientes. Cualquier expresión que no cumpla dicha definición debería estar considerada un error. Aunque a lo mejor programar aprovechando los bugs del compilador se hace mas divertido. Tampoco entiendo como alguien puede verse limitado en un lenguaje, porque el compilador es insuficiente. -- Saludos Lluis
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 21:46 +0200, lluis escribió:
On Friday 10 April 2009 21:04:11 Carlos E. R. wrote:
a) Como son añejos, utilizan tecnicas de programacion obsoletas, que el compilador ya no acepta, por ende se rompe y se debe gastar tiempo en corregir el codigo
Eso es un fallo del compilador. El compilador nunca debió haber aceptado esas técnicas de programación incorrectas, pero lo hacía porque el compilador mismo estaba incompleto, sin terminar de hacer (es el caso del GCC). Otros compiladores, cuando hacen eso, suelen añadir también switches de compatibilidad, para aceptar técnicas antiguas aún sabiendo que son incorrectas ahora.
No entiendo la expresión "técnicas de programación obsoletas".
Existe una definición formal de la mayoría de lenguajes, o al menos de los mas recientes.
Si, la hay, y algunos lenguajes tienen una organización que se encarga de consensuarlo y definirla. La definición original de C era una hoja.
Cualquier expresión que no cumpla dicha definición debería estar considerada un error.
Esa es la teoría, en efecto, pero el C da una gran libertad, y muchas veces los errores no los detecta el compilador. Hay muchas cosas que se sabe que son errores, o al menos, maneras incorrectas de hacer las cosas, pero el compilador no te lo advierte. En el caso de GCC pues han ido añadiendo comprobaciones con cada versión. Lo que ocurría muchas veces es que el compilador, si se encontraba con algo que no estaba claro, pues hacía una suposición, en vez de avisarte y parar. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknf0E4ACgkQtTMYHG2NR9UqPgCaAvcxhqLUOQBCEkTgU6CwJHs9 SIcAnREFSnAb0LOuCDURfEtjvLTg38xD =9vlr -----END PGP SIGNATURE-----
Varias cosas sobre el hilo: - Camaleón hizo una pregunta sobre la forma de obtener un resultado en un lenguaje específico y nos desviamos a recomendarle "casi" que vuelva a estudiar. - Bash es el interprete de ordenes por excelencia para cualquier administrador de sistemas que por respeto minimo a su condición, debería por lo menos conocerle aunque no lo utilice si no le gusta. - Ningún lenguaje de programación es lento o pesado, cada uno tiene sus características de funcionamiento y sus ventajas y desventajas. El que sabe programar en X o Y lenguaje sabe perfectamente las buenas prácticas para hacerlo eficiente que es lo que importa. El Wednesday 08 April 2009 15:48:52 Camaleón escribió:
Hola,
Tengo una rutina sencilla que parte los archivos en varios trozos y después los envía por correo (es para cuando tengo que enviar algún mensaje con varios adjuntos a nuestro compañero listero Esteban, que tiene limitaciones en el tamaño de los mensajes).
*** (...)
-- ***** Hugo Sandoval http://www.softwarelibre.com.ve http://www.solventar.com.ve -- 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
participants (7)
-
Camaleón
-
Carlos E. R.
-
Cristian Rodríguez
-
Hugo Sandoval
-
lluis
-
Salvador Gomez Cabello
-
Shinji Ikari