PHP o JAVA?
Guillermo O. Burastero
linux.gb en gmail.com
Mar Oct 25 10:18:48 CLST 2005
claudio en ing-mat.udec.cl escribió:
>es que tu lo vees de otro punto de vista, yo me refiero a la genesis de un
>paradigma, no estoy diciendo que los que la crean no sean informados ...
>
>Lo que digo y no has deducido, es que no hay una solucion universal para todo,
>
gracias por tu análisis sobre mi capacidad de entendimiento... :-( pero
nunca dije ni creo haber dado a entender eso.
>no existe una receta aplicable para todo problema,
>
cuando en alguna ciencia se hecha mano, a falta de métodos formales, a
métodos no rigurosos para la solución de algún tipo de problemas, como
por tanteo o *reglas empíricas*, es lo que se llama *"heurística" *no
paradigma.
>los paradigmas se forman por desconocimiento,
>
ya contesté eso antes, y como no veo nuevos argumentos al respecto no
voy a repetirme aquí.
Voy a tratar de ser más claro. Paradigmas, en las ciencias informáticas,
pueden ser por ejemplo "la programación estructurada" o "la programación
orientada a objetos" o "el modelo relacional en bases de datos" o
"método de Jackson para el diseño de reportes" o la "programación por
contratos" o "la programación funcional" o "la programación lógica por
cálculo de predicados", etc. etc. Ni Java ni PHP, son en este sentido,
paradigmas informáticas, son "lenguajes de programación." ninguno fue el
primero en programación orientada a objetos o ambientes interpretados
(ahora está de moda decirle "máquina virtual"), o programación
procedural, etc.
>en el sentido que es mas facil aceptar lo que un grupo de personas acepta
>
eso habitualmente se llama *moda*
>como unica solucion sin analizar el porque es la unica o mejor solucion.
>
Lamentablemente como dice el dicho, si la única herramienta a mano es un
martillo, se tiende a ver muchas cosas como clavos y arreglar todo a
martillazos.
Frecuentemente no existe, una única o mejor solución en términos
absolutos. A veces un mismo problema se puede resolver empleando
diferentes paradigmas, sus dominios de solucion no son disjuntos (se
solapan) y está en el buen criterio del analista responsable de la
selección primero: ponderar cuales atributos de cada paradigma son
importantes *para ese caso concreto*, como ser adecuación del paradigma
a ese tipo de problemas, experiencia de los desarrolladores con ese
paradigma, mantenibilidad, robustez, eficiencia, velocidad de
desarrollo, compactación del código, portabilidad, escalabilidad, etc.
Un método para decidir entre soluciones alternativas aplicables es el
siguiente:
1. Volcar en una matriz una cifra de mérito para cada paradigma
(filas) con cada atributo relevante seleccionado (columnas)
2. Calcular la cifra de mérito para cada paradigma Qp = Sumatoria
(Vpi * Pi), donde Vpi es el valor que en el paradigma p tiene
el atributo i y Pi es la importancia relativa (Peso o Ponderación)
del atributo i en la resolución de ese problema (0<= Pi <=1).
3. Finalmente seleccionar el paradigma con mayor cifra de mérito Qp.
Dejo al lector como resolver la indeterminación en caso de que la
cifra optimal sea compartida por más de un paradigma. En ese caso
hay "una superficie de soluciones optimales" en el lenguaje propio
de la "Investigación Operativa".
También está el interesante concepto de *"programación
multi-paradigmática"* que es aplicable a sistemas complejos que tienen
sub-problemas que caen claramente en dominios de aplicación de
paradigmas diferentes. Por ejemplo un sistema experto que requiera algo
de inteligencia artificial, naturalmente implementado dentro del
paradigma de la programación funcional (Lisp) o lógica (Prolog) y que a
su vez deba resolver distintos problemas numéricos importantes con un
alto grado de velocidad de cómputo, lo que caería dentro de la órbita de
un buen lenguaje procedural compilado (C u otro. -me autoreprimo de
mencionar Fortran aquí para no recibir una catarata de críticas...)
>Un paradigma se crea porque necesariamente debe existir un grupo de personas que se ponga de acuerdo,
>
¿De acuerdo para qué? Es independiente la creación de un paradigma por
uno (ej. Codd con el modelo relacional de bases de datos) o varios
autores con su popularidad de seguimeinto o sea que lo sigan ninguna,
una, varias o muchas personas.
>es una opinion subjetiva,
>
Toda opinión es subjetiva, ¿no?
>no es necesariamente que alguien demuestre formalmente que es
>la mejor solucion o la unica, es decir, se forma por desconocimiento :P y
>necesarimente tiene su genesis por razones empiricas u otro tipo de
>evidencia que hacen que un grupo de personas lleguen a un concenso...
>Cuesta entenderlo, lo mismo que cuesta entender que a veces el caos induce
>al orden :P
>
>
Cuesta entender cuando hay confusión. Si te interesa tener una visión
más ordenada y general acerca de los problemas del conocimiento y su
generación o descubrimiento, te sugiero algunas lecturas de gnoseología
(rama de la filosofía que se ocupa de la teoría del conocimiento) o
epistemología que es la doctrina de los fundamentos y métodos del
conocimiento científico (RAE). Ver un poco de empirismo, racionalismo, etc.
>En el caso se java, en un tiempo se apuntaba a que era lo mejor,
>
>
Lo mejor para qué ? para quiénes ? en cuáles contextos ? Java es un
lenguaje orientado a objetos de propósito general. Como habitualmente
corre interpretado sobre una "máquina virtual" (aunque hay compiladores
del mismo que generan código de máquina ejecutable) por lo que en ese
sentido es multiplataforma o sea corre en cualquier ambiente que, como
es obvio, tenga la "máquina virtual" Java instalada. Java soporta
grandes desarrollos, modularidad, etc.
>independiente de la plataforma, 100% compatible, orientado a objetos...
>Despues, para paginas dinamicas php comenzo a suceder los mismo.
>
>
PHP (viene de Personal Home Page) es un lenguage de guiones de propósito
general (general-purpose scripting language) habitualmente empleado para
escribir guiones embebidos en páginas HTML y ejecutado -interpretado- en
el lado del servidor (Hipertext Preprocessor). Posee soporte para
conectarse con muchos DBMS, etc.
Por lo expuesto tienen características "muy distintas" Java y PHP.
>Lo que yo digo, es que hay que estudiar el problema que se quiere resolver
>y buscar la mejor forma de solucionarlo, tomando en cuenta las ventajas y
>desventajas de cada herramienta y no aceptar de antemano de que JAVA, PHP
>o algun paradigma como la _unica_ solucion...
>
>
Por fin, estoy absolutamente de acuerdo contigo en esto que es lo
principal, al fin y al cabo.
Saludos,
--
Guillermo O. Burastero - Linux Counter User 84879, http://counter.li.org
Córdoba 171 - B8000IFC - Bahía Blanca - Buenos Aires - Rep. Argentina
Tel +54 (291) 454-6132 - ICQ 97148268 - email: linux.gb en gmail.com
Más información sobre la lista de distribución Linux