Saludos: Este hilo se ha tornado un poco desacreditante por parte de Ricardo y lñaki. Realmente cada quien ejerce un punto de vista bastante válido, pero creo que ultimamente han caído en el tira y dame, cosa que degenera el hilo. Particularmente, a mi parecer, creo que ambos tienen razón hasta cierto punto.
Los lenguajes nos permiten comunicarnos con el ordenador y asignarle determinadas acciones, algunos hacen este procedimiento un poco tedioso pero más optimo y otros lo hacen mas sencillo pero poco optimo, otros los hacen dificil y poco optimo y uno que otro no hacen nada de lo que uno intenta decirle que hagan. Siendo por supuesto, generalmente, el caso mas común, que no sabemos decirle lo que realmente queremos que haga porque sencillamente no sabemos utilizar las herramientas que nos brinda el lenguaje. Creo que la abstracción es buena, pero también depende que tanto código basura se está generando por detrás. Recuerdo una vez, saliendo un poco del tópico, en mis años de estudiante Universitario, cuando no se hablaba mucho de Software Libre, mis profesores nos exigian proyectos en Lenguajes como C ANSI/ISO, C++ Builder, Delphi e inclusive Visual Basic; por esos años los disketts no eran muy económicos y yo hacía hasta el mas grande esfuerzo para no comprar tantos; en ese tiempo encontre entonces una herramienta llamada UPX que comprimía los ejecutables a su minima exprección entendible por el procesador a código máquina, entonces pues, como muchacho con juguete nuevo me puse a comprimir todos estos Ejecutables .EXE que habia realizado para entregarlos en la menor cantidad de discketts posibles y me di cuenta de un asunto interesante; Al parecer los proyectos realizados con C ANSI/ISO no se comprimian tanto como los de C ++ Builder y los de C++ Builder no se comprimian tanto como los de Delphi y ni hablar de los hechos con Visual Basic que casi se reducian a un 10 % del tamaño original, es decir si el proyecto pesaba 100 MB (Exagerando) luego al comprimirlo con UPX llegaba solamente a 10 MB, esto me parecía fantastico y al seguir indagando y al comunicarme con los creadores de este compresor descubri un conocimiento especial que espero no olvidar jamás.. A mayor abstracción en la programación, mayor generación de código basura Esto es una verdad absoluta, así pues resumiendo debes encontrar un equilibrio en el lenguaje que te proporcione terminar proyectos en un tiempo no tan largo pero realmente optimos, Dell motor de interpretación o compilación dependerá el tiempo que lleve ejecutar este código. Así pues, tu eliges tu própio lenguaje, algunos poseen motores de compilación realmente malos y dependencias absurdas como Visual Basic, pero son realmente sencillos para personas que necesitan realizar programas por salir del paso, rápidamente para soluciones oportunas y poco profesionales. Así pues existen otros lenguajes que solamente se emplean para ciertas funciones específicas como el desarrollo de programas de IA(Inteligencia Artificial) como lisp y prolog, o para desarrollar programas con operaciones matemáticas como Foltran. En definitiva el asunto empieza a cambiar cuando empiezas a utilizar estos lenguajes para cosas que no fueron hechos pero el nivel de exigencia aumenta y estos suelen cambiar pero arrastrando los apegos a una programación enfocada a otra cosa del pasado. De allí surgen otros lenguajes que se enfocan en lo que intentaba enfocarse el otro, o en un paradigma nuevo, en un enfoque nuevo, en una idea nueva o sencillamente que complementa el anterior. El mejor lenguaje es el que mejor creas que se ajusta a sus necesidades, pero debes estudiar otro factor que a veces pasa desapersivido como la licencia del lenguaje, el sistema operativo en donde corre y que tipo de lenguaje se ajusta mejor a determinada acción, siendo todos estos aspectos factores sumamente importante, en especial la licencia que de no ser libre, tendras que arriesgar tu desarrollo amarrado a una licencia de un lenguaje.. Concluyendo, pienso que no debemos ser tan duro con PHP o Ruby, cada uno hace bien las cosas dentro del rango para lo cual fue creado: Ruby es un lenguaje nuevo, con un paradigma nuevo y con nuevas funciones bastante interesantes, ademas puedes crear aplicaciones de escritorio con GTK, aplicaciones para moviles o aplicaciones webs. Cosas que a veces con PHP no se pueden hacer, porque sencillamente no fue creado para este propósito; recordemos que php comenzo tan solo como un contador de visitas. Bueno, espero que este artículo los haga reaccionar y reflexionar un poco respecto al asunto.. P.D. Perdonen si se torno algo extenso On 3/31/06, Ricardo Frydman Eureka! <[EMAIL PROTECTED]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > > Resumo un poco todas mis respuestas. > > Contesto por ultima vez en relacion a este hilo. > > > > > 1) No voy a justificar las maravillosísimas ventajas que aportan los > > procesos > > ingenieriles al desarrollo de software. > > Diseñar una base de datos? Proceso ingenieril?! > > > Los diagramas (aunque sean en papel) > > representan mejor las ideas que los lenguajes. Y existen automatismos que > > los > > convierten a lenguajes: MEJOR QUE MEJOR!!! > > Me nombras 2 que lo hagan /bien/ para SQL y PHP disponibles en Linux? > > > > 2) Es irrisorio que sólo Iñaki haya encuentrado la ventaja de que una > > aplicación sea independiente de la plataforma de BD, > > No, son mucha gente alrededor del mundo. > > > así como si lo fuera del > > SO o de la arquitectura. > > No inventes cosas: yo al menos solo hable de abstraer la capa de base de > datos. > > > No programes en PHP, Ricardo, porque abstrae de la > > máquina y según tu sentido: > > No digas idioteces, ni personalices la discusion, lee lo que escribo > para arriba. > > > > > "Elige una arquitectura buena, y luego programa en ensamblador. Ganarás > > tiempo" Esta frase no tiene sentido => las abstracciones son buenas, de > > verdad... > > No te contesto, porque es muy temprano para enojarse...Esto que pones > arriba es la tipica contestacion de alguien que no tiene argumentos y > pretende distraer el eje de la discusion para /sentir/ que la gana... > > > > 3) Cuando hablaba de trasladar un E/R a SQL no me refería a las consultas > > que > > mencionaba Ricardo, sino a los "CREATE"... que tan pesado se puede hacer > > escribir, sobre todo cuando ya conoces una herramienta que lo hace por ti. > > Insisto, no aclares que oscurece.... > > > 4) Desconozco la cantidad de cosas que se pueden /programar/ en PHP, aunque > > lo > > he tratado y exprimido por un buen tiempo. No obstante, conozco las cosas > > que > > php te fuerza a hacer (léase $sql="SELECT * from...") y que otras > > «abstracciones» (léase RoR,...) hacen más fácil: scaffold. > > Evidentemente, lo tuyo no es programar. > > > > 5) Sobre las páginas con AJAX que usan XmlHttpRequest... pienso que viven de > > una ilusión, ese componente no es estándar y está implementado en cada > > browser de su manera. > > > > > > > >>>>¿Cuando diseñas bases de datos, lo haces en SQL o con un E/R (UML en el > >>>>mejor de los casos)? (Umbrello, por ejemplo) > >>> > >>>/Diseño/ es una cosa, /codificar/ consultas en un lenguaje es otra. Por > >>>cierto, si quieres saberlo en gral. diseño mis bbdd en papel y lápiz. > >>>Luego los escribo en psql y los genero a grafico con postgresql_autodoc > >>>y dot. > >> > >>jeje, y yo pensaba que era el unico nabo que dibujaba las tablas en un > >>cuaderno. Ahora me siento menos Dinosaurio > >>jua > >> > > > > > > man umbrello > > Te deseo muchos exitos en todo lo que emprendas! > > > > > > > > > > > > - -- > Ricardo A.Frydman > Consultor en Tecnología Open Source - Administrador de Sistemas > jabber: [EMAIL PROTECTED] - http://www.eureka-linux.com.ar > SIP # 1-747-667-9534 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.1 (GNU/Linux) > > iD8DBQFELSa0kw12RhFuGy4RAsWwAJ0WGxq2rAgwIV6UBc56Ovcb5eglywCcD3DV > lSCwH3l2DdbNWkvide2zoB8= > =dM0q > -----END PGP SIGNATURE----- > > -- /* Att. WRRH Debian User [EMAIL PROTECTED] cv = http://curriculum.asoajedrene.net blog = http://libertad.asoajedrene.net ``Software Libre'' es un asunto de libertad, no de precio. Para entender el concepto, debes pensar en ``libre'' como en ``libertad de expresión'', no como en ``cerveza gratis''. ``Software Libre'' se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. */

