Cita:
Cita:
Cita:
Ahora, veamos lo de la mezcla de PHP y HTML. ¿Se pueden mezclar? Sí. ¿Se deben mezclar? Depende. Una cosa es que en un mismo script pongas todo el código de conexión al servidor, consulta de datos, implementación de la lógica y, para colmo, generación de HTML. Eso, en mi opinión, es incorrecto. Pero nadie te obliga a una mezcla así tan libertina. Incluso sin recurrir a cosas como SMARTY puedes tener plantillas muy limpias donde el único código PHP que ves es básicamente para "rellenar huecos" e iterar una lista de objetos. A eso me refiero. // Saludos |
Cita:
Lo que pasa es que comparas el sistema de plantilla se Django con un archivo único de php. ¿Está esto balanceado? Pongamos las cosas por igual, con Python a Django Template Language y con PHP a Dwoo, el escenario es el siguiente: El usuario hace una petición a la página precio_actualizado.html con la intención de que se le muestre el precio alctual del producto X. Django: app_name/views.py Código:
def precio_actualizado(request, page): template/precio_actualizado.html Código:
<html> precio_actualizado.php Código PHP:
Código:
<html> Saludos. |
Cita:
Saludos |
Pero, incluso puede ser así:
Código PHP:
Código PHP:
Repito, lo malo es la mezcla de código de presentación y código de la lógica. // Saludos |
Cita:
|
La solución propuesta por roman es perfectamente aceptable. Yo he citado los motores de plantillas para poner a PHP en la misma posición que Django.
Saludos. |
Estimados compañeros, mejor dejemos la discusión que no llegamos a nada. No se trata que porque en A no se pueda, entonces le perdonamos a B que tampoco se pueda. Además el tema tiende a preferencias, lo que hará que nunca estemos de acuerdo. Hay quienes prefieran tener la posibilidad de colocar código PHP en las plantillas. Es una gran posibilidad para crear plantillas más "potentes" y además tener mejor control. Aunque esto último es relativo. Pero hay otro que prefiramos las cosas más limpias desde nuestros puntos de vista.
Al G. pidió opiniones, y la mía es en síntesis que, al ser PHP un lenguaje especializado para la Web, ya debió o debería de proporcionar herramientas o métodos que de forma fácil permitan a los desarrolladores no mezclar código HTML y PHP si lo prefieren. Talvez integrar dentro del lenguaje a Dwoo, por dar un ejemplo, a cómo una vez lo hicieron con el Plugin de MySql. Y por último, cómo un niño necio que le encanta "jincar" :D :D :D, no me gusta la sintaxis de C++Script, digo PHP :p |
Cita:
Cita:
Saludos |
Cita:
Hay una razón de peso por la cual desestime a PHP... Originalmente (ver historia), php fue una almalgama de funciones hechas ad-hoc, sin mucho diseño acerca del lenguaje. Definitivamente, estaba totalmente orientado a el codigo espaguetti (una herencia del perl), y fue solo de forma *muy* reciente que empezo a tener orientacion a objetos y por ende, mecanismos para organizar el codigo. El modelo de MVC fue algo que se agrego, pero solo después de que Ruby on rails probara (o popularizara) que es un mucho mejor método de desarrollo. Esto tiene una implicación. Una gigantesca cantidad de código PHP que anda por ahí es del tipo spaguetti (y si le dedique mas de media hora: Examine proyectos enteros - lo que significa, que lei cantidades considerables de codigo -: vtiger, oscommerce, y un erp que no me acuerdo cual, aparte de que los primero sitios en PHP). Puede que a algunos que escriben la totalidad del programa los afecto poco, pero igual tiene su impacto. Entre otras cosas, implica que en ves de reutilizar, hay que escribir desde cero. En cambio, antes de django con python no habia nada fuerte... y cuando se popularizo, paso algo particular: desde las bases hay un mejor diseño, es solo ver por ejemplo, lo elegante del ORM, o el ruteo de URLs... y ese estilo se rego a todo los demas: web.py, turbogears, sqlalchemy, etc... Y entre los programadores de python, no hay nada de eso de escribir espaguetii. En serio. He leido y usado proyectos de todo tipo (tanto por hobby, como por trabajo) y como les digo, siempre parece que el codigo lo hizo un mismo programador. Esa es una cualidad tremenda. Es parecido al codigo pascal, pero mucho mas permeable. No me crean. Miren el codigo de Panda3d, y luego el de django. Les aseguro que sin experiencia, captan una cantidad muy alta d elo que sucede por ahi. De hecho, cuando apenitas sabia django, aporte un cambio al proyecto: Soporte a sql server:http://code.djangoproject.com/ticket/5062 (lo que es una tarea de dificultad media) Asi que con toda certeza, puedo asegurar que nadie en python trabaja a la manera salvaje oeste de PHP. No es que no se pueda, es que hace parte del mismo estilo, diseño, filosofia del lenguaje. Todo lenguaje tiene eso. Y aunque es posible escribir codigo claro en casi cualquier lenguaje (APL excluido!!) unos lo promueven mas que otros. En perl, php, hay mas tendencia a que no sea asi. En python a que si lo sea. |
Cita:
Esto es el estilo estandar de trabajar con cadenas: Código:
print "Una cadena que muestra %(variable)s" % {'variable':123} http://docs.python.org/release/2.5.2/lib/node40.html Por eso, en python es la forma natural de casi todos los frameworks de sitios web, el usar plantillas. De hecho, hay muchas: http://www.webwareforpython.org/Papers/Templates/ (Hay un par que permite codigo espaguetti, pero en la comunidad de python no es popular. Eso es para la gente que viene de otros lenguajes) |
Cita:
Cita:
Cita:
Si eso fuera una razón válida para desestimar un lenguaje, tendríamos que desestimar a Delphi igualmente. Cita:
Cosa muy distinta de decir que PHP es para hacer paginitas sólo porqué a ti en lo personal no te gusta. // Saludos |
Cita:
Además, lo que ha dicho mamcx acerca de la historia de PHP es algo que no se puede Ignorar. PHP nació sin diseño y ha venido desarrollándose sobre la marcha. PHP nació sin filosofía y sin visión propia. Es por eso que hay tantos cambios versión tras versión. Además de sus varios problemas de seguridad (corregidos en versiones anteriores). Desde mi punto de vista, creo que PHP hizo un buen trabajo en la transición de la Web 1.0 a la 2.0. Ofreció un lenguaje libre para que los desarrolladores ofrecieran contenido más rico en un momento donde no había muchas opciones. Hoy la situación es distinta, hay lenguajes más modernos y maduros sobre los cuáles puedes respaldarte. |
Cita:
Cita:
En la época, habia perl, lisp... o c++. Tener un lenguaje para hacer la paginita personal... eso fue revolucionario. Ese fue su inicio, su proposito. Sigue siendolo! Es como el visual basic de la generacion web. Se presta para la broma ocacional, si. Pero cuando un lenguaje logra iniciar a muchos a la programacion es porque en primer lugar, es menos "serio" y menos "hardcore" que lo que estaba antes... |
Cita:
Cuando se habla de desarrollo con PHP es siempre para web. Es estéril cualquier comparación aplicaciones de escritorio. Cita:
// Saludos |
Cita:
Cita:
Cita:
|
Cita:
Cita:
|
Cita:
Hasta ahora no he visto un sólo argumento contra PHP que no esté basado en el prejuicio, el desconocimiento o la simple aversión personal, supongo porque da caché, hablar mal de lo que es popular. Para criticar algo se tiene que conocer. Se juzga mucho al PHP actual por lo que fue en sus inicios. Recalcan lo del origen del nombre como si eso fuera una prueba de lo malo que es el lenguaje. Hablan de la mezcla del código HTML y PHP sin realmente haberse detenido a examinar si eso es inherentemente malo. // Saludos |
Cita:
No se si hay aquí muchos que sufrieron la época de ASP, PHP (antes de los frameworks nuevos), ASP.NET con html inline, etc... Con la excepción de hacer una única pagina (o un conjunto muy bajo) donde hacer todo un proyecto seria pesado, no veo un argumento solido en hacer un proyecto de un sitio web donde se mezcle rutinariamente el html/js/css/lenguaje servidor... asi que roman, cual es el caso de uso que me he perdido en estos 10 años??? |
Cita:
¿Cuándo es bueno? Cuando el código PHP que mezclas con HTML es únicamente código para rellenar huecos, iterar registros, etc. Código únicamente para controlar la presentación (¿Cuántas veces habré escrito esto en este hilo?). Ejemplos de su uso ya se han dado aquí. ¿Desde cuándo puede hacerse esto? Desde siempre. No se requieren frameworks nuevos. Es algo que se puede hacer desde PHP 3. Claro que ya depende de cada quien qué tan feo quiera programar. Además, nadie te obliga a mezclar html y php. Puedes usar smarty u otro sistema de plantillas. Cosa que a mi en lo personal no me gusta porque requiere un "parseo" extra. ¿Que PHP es susceptible de "caer" en manos de programadores que escriban caóticamente? Sí. Y Delphi también ¿Y? Se puede criticar una herramienta. Nadie debe asustarse ni ofenderse por ello. Y examinar otras opciones, como Python, puede ser muy enriquecedor. Lo que me parece inapropiado es criticar con base en malas técnicas de programación, creencias infundadas y desconocimiento del estátus actual de dicha herramienta. // Saludos |
Cita:
Lo cual degenera en que los desarrollos salgan de forma caótica. Entonces es malo. Se que el punto que estas anotando es que un buen programador le dará un uso apropiado... en lo cual concuerdo. Pero cuanto de eso existe por ahi? Entonces, si una herramienta X permite un manejo mejor, mas sencillo, loquesea por defecto y hace que el caso menos ideal sea una rareza, por ende es mejor. Es como discutir entre transmision automatica y manual. En manos expertas, la manual es mejor. Pero es claro que la automatica es superior en terminos generales. Y no se si estoy escribiendo de forma muy combativa o que, pero lo que he tratado de decir es que a la hora de elegir la herramienta, el ecosistema pesa mucho. Y si una mayoria de ese ecosistema no esta sobre un fundamento mas solido, tocara tarde o temprano pelearse con el. Para algunos que son desarrolladores disciplinados ni le veran el lio... porque son disciplinados. Pero a la vez, si eres disciplinado y tienes por default un framework mejor diseñado, tambien te beneficia. Es como con la VCL. Si se compara con el API raso de windows (o peor, la MCF) es muy notable su superioridad... no tecnica, sino en estilo. Tonces, si alguien va a empezar con PHP, deberia seriamente ignorar los ejemplos mas comunes, y usar una separacion tipo MVC. Y tener la disciplina de no mezclar presentación con lógica (un esfuerzo que ha probado su inutilidad a larga escala en todos los años que existen las herramientas de programación que lo promueven o permiten... pues delphi ahi lo tienes) o mejor usar un sistema de plantillas... (hay casos muy concretos donde es bueno la mezcla de todo eso... y el caso #1 solo te afecta si tienes un sitio de altisima demanda....) |
Cita:
Lo que dices, del ecosistema, la facilidad con la que se pueden hacer malos códigos, etc. aplica también a Delphi, y, sin embargo, no veo que a éste lo cortes con la misma tijera que a PHP en ese aspecto. Porque, entonces, siguiendo tu línea de argumentación, tendrías que concluir que Delphi es el Visual Basic del escritorio :eek: Y en mi opinión, confundes el lenguaje en sí con técnicas de programación. Tener una buena metodología, como lo podría ser MVC, no es inherente al lenguaje. Como ya te han mencionado aquí, MVC no es parte de Python. Django, un framework para Python, trabaja con la metodología MVC, así como muchos framework para PHP lo hacen. Pero vayamos con tus ejemplos automovilísticos. Estarás de acuerdo que un Jaguar lo puede manejar cualquier mequetrefe con resultados caóticos. Pero, un Jaguar es un Jaguar... ¿Lo descartamos porque puede ser mal manejado? // Saludos |
Cita:
|
A raiz de una conversación en otro foro me he acordao de mis pruebas con python y django. Puse algunos mensajes por aquí relatando mis experiencias desde cero, y no es que me haya cansado. Es que llegué a un punto en el que me dí cuenta de que estaba mas tiempo buscando soluciones a problemas, pero ojo, a "problemas inesperados", que escribiendo código que funcionase.
Aún recuerdo las primeras versiones de delphi, en las cuales los límites estaban en mis conocimientos, y no en "problemas inesperados" del propio Delphi. Me refiero a cuando haces algo y no funciona y piensas "¡Cojones, pero si he seguido las instrucciones, si esto se supone que DEBERÍA funcionar, y sin embargo, no funciona" y cuando te vas dar cuenta estás buscando y rebuscando por foros de internet una solución, una solución que sueles tardar un buén rato en encontrar, si la encuentras. Es el tipo de errores que empezaron a abundar con el Delphi 6.0. Errores de la herramienta, del entorno, de yo que sé. El caso es que con Python y django me paso lo mismo: en un momento dado me encontré buscando soluciones a problemas de ese tipo. A lo mejor mas adelante, si alguien se anima con este foro y completa estos hilos que hemos empezado a modo de cursos o tutoriales, pues cambia la cosa. Yo al menos de momento, para lo que necesito, o sea, aplicaciones web, php lo veo mucho mejor que python, y django solo me parece un framework como cualquier otro. Bueno, y en el futuro a corto o medio plazo, ni python ni php ni apache ni django creo que tengan nada que hacer frente a node.js. Eso si que es el futuro de la programción web. Pues eso, a ver si alguién hace que me coma mis palabras, pero con código, no con teoría. :D :D |
Resp
Descartaron Perl simplemente por que no lo conocen o le tienen pavor. Pero lespuedo asegurar que estan raspados. Perl es un lenguaje super potente. Posse codigo compilado y preconpilado. Asi que lean un poquito y despues lo descartan.
Es como descartar C o C++ por no ser nada facil pero resulta ue es lo mejor que existe. |
Yo también tengo poderes, les puedo mostrar. ;)
Este hilo es para recabar información sobre los tres lenguajes y ayudarnos a tomar decisiones de por qué deberíamos optar por uno y no por otro. El espacio sigue y seguirá abierto a la exposición de argumentos y no creo que haya quedado descartado rotundamente ningún lenguaje, si bien yo ya me inclino por aprender Python antes que los otros dos. C o C++ no es lo mejor que hay (y menos con esa horrible sintaxis :D). El mejor lenguaje de programación es aquel que se adapta de mejor forma a las circunstancias de un caso y lo lleva a buen puerto. Es decir, cualquier lenguaje tiene todo el derecho de ser declarado, subjetivamente, «lo mejor que existe». Pero hace falta añadir unos cuantos "para..." y otros tantos "porque..." para pasar de lo subjetivo a lo objetivo. Un abrazo entre buenas personas. Al González. |
Cita:
No obstante, como dice Al, este hilo se abrió para recabar opiniones, y hasta el momento nadie, ni siquiera tú, han hablado de los beneficios de Perl. ¿Por qué no nos das una opinión más formada de la que evidentemente tenemos quienes hasta ahora hemos participado? // Saludos |
Yo me inclino por python.
Aunque use poco, python y php (nada de perl, la verdad que me asustaron la fama que tuvo siempre perl, nunca me olvido de una tira cómica de python http://www.tiraecol.net/modules/comi...?content_id=15)
Hace como 4 años use python durante 3 a 5 meses y hice lo siguiente 1 - Probe hacer programas de escritorios y no me fue muy bien 2 - Logre compilar código que tenia la librería panda y vi al panda girar y estuvo chulo pero lo deje ahí nada más. 3 - Hice una animación simple en blender (creo que esto lo hice otro año) estuvo fenomenal. 4 - Trate de hacer web (en ese momento no existia django o yo no lo conocia) y tampoco me fue muy bien, pero vi código asombroso correr en el browser (con la condición que la maquina de destino tenga instalado el interprete de python) y era increíblemente simple de hacer y poderoso. 5 - A lo anterior hice programas usando la libreria VPython (visual python o algo así), y estuvo chulo las animaciones en el browser. 6 - Y lo que hice en serio y le tome como un mes (en esa epoca de vacaciones haciendo eso nada más), fue tratar de simular el comportamiento interno de un Micro procesaror MIPS (uno simple, uniciclo de 6 instruccion). Esto no lo hubiere ni si quiera podido encarar con delphi (que es el que mejor manejo) me quede sorprendido en ese epoca de la sencilles de programar con python, esto creo que me hizo fan de python, porque python es multiproposito, no solo es orientado a objetos, también es orientado a lista, el tipo de datos diccionario es sorprendente. Entonces si fracase en más del 50% de las cosas que encare en python, porque elijo python, porque en meses podes aprender un montón de cosas con python, además las cosas que encare, veía que funcionaba y listo pasaba a otra cosa. Ahora sumado que : 1 - Google apoya python (subvenciono al creador de python) 2 - Existen framework para web django. 3 - Escribir software para escritorio, no es mi problema ya que lo encaro con Lazarus (creo que es la mejor opción). (A mí parecer no es muy lindo python para escritorio, no digo que no se pueda pero no es ...... rentable por asi decirlo) 4 - Ahora python se integra con postgres de una manera que da miedo http://python.org.ar/pyar/PlPython Es el equivalente de usar funciones escritas por el usuario (en delphi a c++) para firebird, pero con la facilidad que no tienes que grabar en una dll o so, y que corre tanto en win como en linux. 5 - JPython da la facilidad de programar en python y correrlo en una maquina java. http://www.jython.org/ 6 - Puedes hacer juegos con mayor simplicidad que con c++ ahí tienes una pagina para hacer juegos tanto en c++ como en python http://www.losersjuegos.com.ar/ A pesar de todo esto, no me doy tiempo ahora para dedicarle, pero lo veo sorprenderte a este lenguaje, sobre todo su curva de aprendizaje. |
Ruby +1
Hola a todos los del foro, he acá mi comentario he usado Delphi durante 4 años he echo cosas importantes me ha dado de comer pero como dicen los colegas es hora de cambiar de rumbo, en cuanto a Python, Ruby y Perl, he tenido contacto con Python y Ruby de los cuales me eh inclinado definitivamente pro Ruby más ahora con al recién salida de su Framework Rails 3.1 que trae muchas cosas importantes para desarrollo web, aunque el Framework Django para Python esta super genial, pero realmente me ha convencido aún más Rails para desarrollar aplicaciones potentes y a gran escala., Recientemente acabo de comprarme el libro de Desarrollo web con rails de al editorial anaya multimedia aunque viene unas dos versiones atrasada con respecto al framework es muy buena referencia para aquellos que no se nos da bien el ingles, bueno creo es todo con mi opinión.
|
¡MUERTE A PHP! :D ;)
|
Cita:
|
Cita:
Django es una libreria anomala, en el sentido que siempre he estado con la ultima version de esta, la actualizo en cualquier momento y nunca me he topado con un problema serio (tengo la costumbre de subir version a todas las librerías que uso tan pronto como me es posible, le tengo pavor a la obsolescencia). Me intriga saber que encontraste que te freno... |
Cita:
Pues hace ya tiempo y no me acuerdo concretamente, tendría que rebobinar mucho, pero lo que pasó fue muy sencillo: estuve siguiendo tutoriales de la web, creo que de la misma web de pyhton, copiandolos y viendo lo bien que funcionaban en el navegador, y me estaba gustando bastante, pero llegué a un punto en el cual, una vez las pruebas que hacia ya eran un poquito mas complejas, aunque no mucho, y me encontré con que habiendo seguia las instrucciones correctamente, y no me funcionaban. Y no encontraba solución buscando en internet. Si saco algún rato intentaré encontrar en donde me atranqué. Un saludo! |
La franja horaria es GMT +2. Ahora son las 20:24:07. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi