Mostrando las entradas con la etiqueta profesionalizar. Mostrar todas las entradas
Mostrando las entradas con la etiqueta profesionalizar. Mostrar todas las entradas

Estándares o muerte... para PHP

Luego de una acalorada discusión sobre el tema estándares y buenas prácticas, paso en limpio y hago un resumen de todo lo hablado, ya que veo que es un tema que los "Desarrolladores PHP" nos cuesta -aún- tomar conciencia.

Nuestros referentes obligados

Zend -la empresa- nos guste o no, debe ser siempre el referente a todo lo relacionado con PHP, ya que no solo desarrollan en la actualidad lo que puede considerarse el "Framework Oficial de PHP" (sin desmedro de ningún otro framework), también es la responsable de desarrollar el propio lenguaje PHP.

La importancia de los estándares

Los estándares nos permiten disminuir muchos costos que surgen a la hora de desarrollar sistemas que van desde la incorporación de nuevos recursos hasta el entendimiento de los sistemas "legacy" ("sistemas heredados") que existen en cualquier organización. Si todos los desarrolladores programan como quieren, o cualquiera inventa su "propio estándar" o toma el de "cualquier estándar que use otro proyecto", indudablemente esto significará caos.

Qué sucede con la empresa Sun y su lenguaje Java

Creo que está de más decir que a nadie de los profesionales que desarrolla bajo Java se le ocurriría no seguir el estándar de Sun Microsystems, y esta empresa a su vez, que es muy metódica y ordenada, tiene predefinidas especificaciones muy claras que explican cómo codificar, cómo programar, cómo usar tal o cual tecnología, para que todos los que usen la arquitectura sigan el mismo criterio.

Empresa Sun == Empresa Zend

Por lo tanto, es de sentido común tomar entonces las sugerencias de Zend como "estándar oficial" y empezar a usar sus criterios (nos gusten o no), sin importar si antes programabas estructurado en PHP con una nomenclatura y ahora quieres seguir usándola, o si no usas Zend Framework y quieres seguir el criterio de otros lenguajes.

Nota: a mi tampoco me gustó la primera vez que vi las llaves de las clases y los métodos contra el margen izquierdo, similar a C o C++, pero a las pocas semanas me acostumbré.

La Historia de PHP

PHP es un lenguaje que desde sus orígenes estuvo pensado para programar de forma estructura o "procedural" (uso de funciones y pasaje de datos a través de parámetros), pero con la evolución de los lenguajes este empezó a ser cada vez más Orientado a Objetos, tomando como referencia el lenguaje Java (en la mayoría de los casos, ya que no hizo lo mismo con el término "namespaces" que en sí lo sacan de .Net).

Aquí surge un híbrido, un lenguaje con una lista interminable de "funciones estructuradas" que empieza a evolucionar hacia los Objetos, que permite crear clases como en Java, pero que por un lado usa la nomenclatura "smallcase" (en todas sus funciones) y por otro sugiere la nomenclatura "camelcase".

"Camelcase Versus Smallcase"

"Camelcase" es un estándar en la mayoría (por no decir todos) los lenguajes POO, por lo que Zend sugiere, al igual que Java y .Net, seguir esta nomenclatura.

1  <?php
2  
3  
require_once 'Usuario.php';
4  
5  
$admin = new UsuarioAdmin();
6  
7  echo 
$admin->getNombre();
8  
9  
?>


Aquí es donde surge el problema (o la confusión), muchos desarrolladores PHP siguen usando el estándar viejo "smallcase" porque así es como inició PHP con la práctica estructurada y todas sus funciones siguen usando esa nomenclatura (ver Anexo a continuación).

1  <?php
2  
3  
require_once 'usuario.php';
4  
5  
$admin = new UsuarioAdmin();
6  
7  echo 
$admin->get_nombre();
8  
9  
?>


Pasando en limpio, para PHP la regla sería:

"Cuando es POO se usa camelcase, cuando es programación estructurada se usa smallcase"


Anexo: hacia donde debería evolucionar PHP7


Mi solución a este problema, buscando una "migración de paradigmas", sería que en PHP7 (ya que para PHP6 no hay miras de hacerlo) se implementen "Clases Wrappers" (envoltura / cáscara) que ocupen el lugar de las "Clases Base" (String, Integer, Boolean, etc) que existen en cualquier lenguaje 100% POO, logrando que cada método "esconda" la función "estructurada" correspondiente y mejorando notablemente la organización del lenguaje.

Por ejemplo, en vez de:

1  <?php
2  
3  $nombre 
= 'Enrique Place';
4  
5  
$cadena_en_mayusculas = strtoupper( $nombre );
6  
7  
?>


Debería ser:

1  
2  <?php
3  
4  $nombre 
= new String('Enrique Place');
5  
6  
$cadena_en_mayusculas = $nombre->toUpper();
7  
8  
?>


Y también se debería poder hacer algo como:

1  <?php
2  
3  $cadena_en_mayusculas 
= String::toUpper( $nombre );
4  
5  
?>


Cuando tienes que buscar algo relacionado con "strings" solo deberías buscar los métodos dentro de la clase correspondiente.

Nota: hace algunos años había iniciado sobre este tema un proyecto experimental como parte de mi taller piloto de PHP.

En Resumen

Se sabe que Sun define todos los estándares de Java y a nadie se le ocurre no seguirlos, en nuestro caso están empezando a existir fuertes "sugerencias" de parte de Zend ("nuestra Sun") para seguir el criterio "camelcase", porque justamente, lo usan en la mayoría de los lenguajes 100% POO.

Aquí está el enlace hacia una presentación realizada por Zend sobre las Buenas Prácticas de Desarrollo en PHP y la documentación de Zend Framework donde explica el estándar de codificación del proyecto (indistintamente si usas o no este framework, la guía sirve para todo desarrollo POO bajo PHP).

Para cerrar, resumo la explicación del manual sobre el "objetivo" del estándar de codificación y una frase de la presentación de Buenas Prácticas:

"Buenas normas de codificación son importantes en cualquier proyecto de desarrollo, pero sobre todo cuando varios programadores están trabajando sobre el mismo proyecto. Usar normas de codificación ayuda a asegurar que el código es de alta calidad, tiene menos bugs, y es fácil de mantener."

"No eres tan especial como para necesitar inventar tu propio estándar"


Espero haber aportado un poco de luz sobre el tema.

Faltan 24 días - Curso "Desarrollo de Sistemas Web con PHP 5" (duración: 4 meses)


Existe abundante información en este blog de lo que trata el curso, los temas que abordaremos , la forma de darlo, mi filosofía con respecto al desarrollo de sistemas y en particular sobre el mundo "PHP Profesional". Todo lo que recorreremos durante 4 meses se puede desprender perfectamente desde el primero al último de los artículos que publico regularmente aquí.

¿Entonces, qué puedo decir de nuevo? ;-)

Bien, desde ya que no hay un curso igual, no solo porque siempre trato de adecuarme al público que tengo en frente y tratar de canalizar todas sus expectativas, sino porque yo también aprendo durante el proceso de cada dictado, obteniendo más experiencia, conocimientos, variando las herramientas... el mundo cambia rápidamente y nosotros no podemos estar ajenos a ello.

En la primera versión del curso de este año, que ya casi termina (20 de agosto entrega de obligatorios y defensas), la propuesta fue desarrollar un sistema similar a Twitter (aquí el mío), buscando con ello que no solo "programen"... que entiendan lo que involucra "desarrollar sistemas", conocer el mercado y casos de éxito, entender qué es "Web 2.0" y qué no, plantear un negocio, definir una estrategia, ser rentables, los riesgos que involucra, cómo dividir los problemas en pequeñas partes, o cómo trabajar en equipo apoyados con herramientas especializadas para ello, trabajo a distancia, conceptos de Ingeniería de Software, y un largo etcétera.

Para la segunda versión del curso -Setiembre 2007- estoy manejando varias actualizaciones, entre ellas agregar una introducción a Zend Framework que incluye abordar en la práctica el patrón MVC (para que se vayan con lo último que se está trabajando en el mercado mundial), y como obligatorio ya estoy evaluando solicitar la implementación de un sistema de "contactos personales" (del estilo Match.com o Yahoo.com) que involucra muchos puntos interesantes y desafiantes (además de los clásicos, mayor incorporación de Ajax para las interfaces, el desarrollo de chats entre usuarios, mayor trabajo en equipo tratando de emular un proyecto real con varios desarrolladores en paralelo, etc).

En los próximos días más novedades... pero ve reservando ya tu lugar en Universidad ORT ;-)

Curso en Universidad ORT: "Desarrollo de Sistemas Web con PHP 5" (4 meses)

Les comento que el día 16 de abril de 2007 (mes próximo) está iniciando mi curso (presencial ;-)) de "Desarrollo de Sistemas Orientados a Objetos con PHP5" en la Universidad ORT. Este curso se enmarca dentro del programa "Cursos de Actualización Profesional" dirigido a profesionales en el área de sistemas que deseen especializarse en el desarrollo de aplicaciones para Internet, a través de un enfoque más cercado a la Ingeniería de Software que al simple scripting y desarrollo estructurado que estamos acostumbrados a ver en PHP (bueno, ya creo que está casi de más decirlo si lees este blog ;-)).


Bajar el folleto (pdf)


Los horarios: Martes y Jueves de 19:30 a 22:30

Buscando en este blog por la etiqueta "ORT" podrán encontrar toda la información que desde el año pasado vengo compartiendo sobre el dictado del curso. Se desprende claramente de todo lo que he escrito sobre el tema:

[No es un curso tradicional de PHP]

Por lo pronto solo es para residentes en Uruguay, pero se escuchan ofertas para dar charlas especializadas sobre este tema, o dictados más extensos fuera de fronteras. ;-)

PD: curiosidad aparte, la semana que viene también estaré dictando la materia "Programación Web" (horario matutino) para las carreras Analista Programador y Analista en Tecnologías de la Información. En este caso más que Desarrollo de Sistemas y Orientación a Objetos vamos a concentrarnos en la Capa de Presentación y en RIA (Ajax, JSON, prototype y probablemente scriptaculous).

"¡Que fácil que caemos en las guerras entre lenguajes/plataformas!"

Cuando escribí el post sobre que los desarrolladores de PHP debíamos profesionalizarnos (inspirado en una respuesta que di en forosdelweb.com), un colega subió el mismo a Menéame (famoso sistema de promoción de noticias) y este generó un pico abrupto de nuevas visitas a este blog. Entre medio del proceso de votación que posibilita a que este artículo pasara de "la zona de revisión" a "la portada" de Menéame, se dieron algunas discusiones entre usuarios lo cual fácilmente derivo en la clásica lucha entre "lenguajes / tecnologías" (lo cual no aporta nada útil).

Esta es mi opinión sobre el tema, que aprovecho a rescatarla y dejarla "vigente" en el blog del autor (o sea, yo ;-) y terminar de reforzar la idea que intento transmitir en cada artículo que escribo, curso que dicto o charla en la que participo:

La idea de mi artículo (si, soy el atrevido que escribió esto ;)) es hacer reflexionar a los "programadores php" que con solo scripting no se hacen sistemas medios en adelante... y eso no es solo por un tema de "falta de plataforma" (porque al día de hoy PHP sigue siendo "solo un lenguaje" pero que se puede complementar con un conjunto de herramientas) es también un tema de "falta de mentalidad de desarrolladores", donde la gran mayoría de los programadores desconoce los conceptos básicos de la POO.

En mi muy humilde opinión, si tomamos en cuenta el avance en las plataformas más populares, como Java o .Net, los conocimientos de los programadores han quedado en el pasado bordeando en la actualidad el "analfabetismo" en todo lo que concierne OO, Diseño, Patrones, etc. **

PHP5 incorpora el manejo de "interfaces", pero al día de hoy es habitual hablar con desarrolladores que no entienden siquiera el concepto que hay detrás, ni la diferencia entre "programar orientado a la implementación" versus "programar orientado a la interfaz", donde la mayoría de los principios de diseño te sugieren que tus diseños dependan de "implementaciones abstractas" y no de "implementaciones concretas" (para obtener los beneficios tan publicitados del paradigma: flexibilidad, mantenibilidad y reusabilidad).

Y todo esto se hace con la ayuda de las "interfaces" (que no es, como he escuchado decir, para poder implementar "herencia múltiple"... estrategia desaconsejada que difícilmente verás implementada en un patrón de diseño).

Estas grandes carencias las percibo habiendo estado muy poco tiempo estudiando estos temas desde la óptica del mundo Java (muchos de los conceptos que quiero transmitirles a los programadores php, para que abran su cabeza, aquí son elementales). Cuando se liberó la versión 5 de PHP y al ver que implementaban la mayoría de las características que tiene cualquier lenguaje OO (interfaces, visibilidad de atributos y métodos, abstract, etc) me di cuenta que era perfectamente directo pasar los conocimientos y experiencias de un lado a otro.

Pero todo esto te das cuenta cuando vienes de una plataforma, de una arquitectura; si siempre estuviste "dentro" del ambiente PHP, ni te percatas de los grandes cambios que puedes hacer y del salto que pueden hacer tus sistemas.

No fue solo un agregado menor en la sintaxis.

Eso es lo que intento transmitir. ;)

Ayer concluimos el curso sobre desarrollo de sistemas con PHP5

Recién ayer terminamos el curso sobre "Desarrollo de Sistemas Web con PHP5" (Universidad ORT) con la defensa de los trabajos realizados por mis alumnos.

La tarea fue ardua; tuvieron que sortear mi extenso checklist de 61 ítems que comprendían la revisión del cumplimiento de los "requerimientos funcionales" y los "no funcionales" del desarrollo de un sistema web (en este caso concreto fue un sistema de Blogs).

Algunos de los 61 requerimientos para el obligatorio:
  • Programación Orientada a Objetos usando todas las características de PHP5
  • Uso y desarrollo de un Framework en colaboración con los demás alumnos.
  • Aprendizaje de herramientas como Eclipse integrado con un sistema de versionado (CVS).
  • Sistema diseñado en 3 capas con uso del patrón "Facade" para acceder a cada capa.
  • Código validado por validator.w3.org
  • Uso justificado de los Patrones de Diseño ("Singleton" obligatorio).
  • Documentación usando UML (diagramas de paquetes, clases, secuencia, casos de uso).
  • Storyboards con el diseño de las interfaces del sistema y el mapa de navegación.
  • Uso de Ajax en situaciones justificadas
  • Manejo de Excepciones con envió de mensajes a través de una interfaz propia
  • Implementación de "Zona Privada / Pública" (sesiones), manejo de distintos tipos de usuarios, persistencia, estilos (css), validación de formularios (javascripts), etc.

Estoy seguro que no fue fácil para ellos y que el curso presentó todo un desafío. Pero era mi idea, plantearles un conjunto importante de temas que considero fundamentales para cualquier desarrollo web "Orientado a Objetos" (Patrones de Diseño, Principios de Diseños OO, UML, etc) que generalmente se ven en una carrera en sistemas con una duración de 2 años (nuestro caso fue un curso intensivo de 4 meses).

Esta primera generación de 8 personas (como a mi me gusta llamarlos, "futuros colegas") tienen un "diferencial" en sus conocimientos que no es habitual encontrar en el mercado actual de programadores PHP (y no solo hablo del mercado local).


El campo está sembrado, ahora está en ellos seguir trabajando para poder cosechar sus frutos.

Veremos el año que viene como será la próxima generación ;-)

Los "Desarrolladores PHP" debemos profesionalizarnos o quedaremos descartados por obsoletos

Esta reflexión se la escribo a todos los "Programadores PHP":

Al día de hoy la mayoría de los institutos o universidades de muchos países siguen enseñando PHP4, o mejor dicho, programación "scripting" básica. Se mueven en el viejo concepto de la "programación estructurada", trabajando constantemente sobre código que mezcla html y sintaxis PHP, todo como si de una ensalada estuviéramos hablando.

Casi paralelamente, los jóvenes autodidactas siguen por el mismo camino, tal vez ayudados por la gran cantidad de material repetido y obsoleto que se encuentra tanto en la web como en las editoriales de turno, donde a pesar que un libro haya sido impreso recientemente, los autores siguen siendo los mismos y escribiendo -una y otra vez- sobre los mismos temas elementales.

Enfrentar la realidad con madurez

Solo nos damos cuenta que estamos en un grave problema cuando nos enfrentamos a la realidad: salimos al mercado laboral y con inocente sorpresa vemos que se habla mayoritariamente de Java o .Net, de UML, desarrollos en 3 capas, lógica de negocios, persistencia, polimorfismo, frameworks, patrones de diseño, refactoring... y tú solo tienes una vaga idea de algunos conceptos, pero nulo conocimiento de si es realmente posible hacerlo con PHP...


¿No crees que algo está pasando y que tú estás quedando fuera de la "conversación"?

Este es el gran problema de la mayoría de los "Programadores PHP": se quedan en el "lenguaje", en la programación lisa y llana, rechazando todo lo que sea objetos hasta que no les queda otra salida que aprender a usarlos mínimamente... pues todas las nuevas herramientas solo hablan "ese" idioma.

¿Hasta donde piensas que podemos llegar con tan poca preparación?

Mi experiencia personal

De lo que trato de hablar en este blog es de "profesionalizarnos", de copiar y mejorar, de aprender y evolucionar. La mayoría de los temas que expongo no son nuevos, trato de basarme en autores reconocidos y darle más prioridad a los conceptos que al lenguaje, y por sobre todas las cosas: ser simple y directo (pragmático antes que dogmático, pero sin olvidarme de lo último). Hay muchas cosas que desconozco de PHP y otras que directamente no uso, y nunca me baso en la memoria, siempre voy a buscar hasta lo más elemental al manual (doy prioridad al razonamiento por sobre la retención mecánica de conocimientos). Siguiendo esta metodología, mañana deberías poder cambiar de lenguaje y seguir trabajando sin problemas, pues los conceptos base los tendrías claros y estos se aplican sin importar la plataforma que estés usando.

Muchas veces comento que los temas sobre los que escribo son elementales para muchos desarrolladores Java de nivel medio y alto, pero en el ambiente PHP esto cambia (todavía no hemos madurado hacia el concepto de "arquitectura") donde "en el mundo de los ciegos puedo ser rey". Debemos cambiar la mentalidad ahora que existe PHP5 y que su nueva sintaxis nos permite hacer muchas cosas que son habituales en el mundo Java.


Por lo tanto, tenemos todas las herramientas para "evolucionar" y no quedarnos en las excusas.

Programador versus Desarrollador

Desarrollar Orientado a Objetos va más allá que crear objetos aislados que solo contienen datos, programar usando algunos objetos es distinto a desarrollar 100% Orientado a Objetos, ser programador es distinto a ser un desarrollador, un sitio web no es lo mismo que un sistema web. Existen, además de los objetos, "Principios de Diseño (OO)", "Patrones de Diseño (OO)", el lenguaje de diseño UML, frameworks, etc, y todo es perfectamente aplicable usando PHP.


Es más, muchos de estos conceptos e ideas son independientes al lenguaje si este cumple mínimamente con las características de la OO, cosa que sucede a partir de PHP5 en adelante y que PHP4 casi carece por completo.

Finalmente, es mi visión que un programador resuelve problemas aislados usando un lenguaje, pero un desarrollador diseña e implementa una solución global, une los componentes en un único sistema integrado y es lo suficientemente inteligente y estratega para poder reutilizar la experiencia y conocimientos adquiridos en favor de los próximos desarrollos.

Los sistemas que van quedando atrás nunca serán un lastre porque podrán ser mantenidos con el mínimo costo posible, permitiendo que el desarrollador pueda afrontar nuevos y enriquecedores desafíos.

Todos estos detalles los percibimos claramente cuando nuestros desarrollos dejan de ser un "programa menor" y necesitamos crecer, pero vemos que con los conocimientos que contamos hasta el momento todo se nos hace cuesta arriba.

La culpa es enteramente nuestra

No podemos quejarnos que a los programadores Java se les paga el doble que a nosotros y que a la mayoría de los proyectos PHP se los desvalorice, se los trate como "algo menor", "poco serio", todo porque es un "simple lenguaje web" limitado en sus posibilidades.

El "Simple Lenguaje" lo hacemos todos, al ser "Simples Programadores PHP" y nuestras son las limitaciones fundamentales. Perfectamente podemos tratar de trabajar "más seriamente" como lo hacen los "desarrolladores Java", y tratando con creatividad de suplir las carencias momentáneas (como el muy sonado caso de la falta de "namespaces").

PHP se está orientando a convertir en una "arquitectura", a parecerse a un J2EE pero mucho más simple y directo.

El proceso hace tiempo que inició.

Debemos pasar de los dichos a los hechos

De la misma forma, creo que nos hace falta tener más "sentimiento de comunidad", como sucede habitualmente -hasta de forma exagerada- en el mundo GNU/Linux. No es posible que nos sigamos quejando que los proveedores de hosting siguen usando PHP4. Deberíamos hacer campañas para promover la migración a las nuevas versiones de PHP, pero fundamentalmente, incorporar en nuestros desarrollos las características avanzadas del lenguaje, e invitar a usarlo como si fuera una arquitectura, actualizar a nuestro equipo de desarrolladores, visitar empresas, universidades, etc.


¿Tú, qué vas a hacer? ¿Te vas a quedar donde estás o te vas a subir al tren?

¿Eres parte del problema o parte de la solución?

Tenemos que especializarnos y profesionalizarnos, el mundo pide POO, arquitecturas, capas, etc, y habla en "UML"... tú, en que idioma hablas?

Artículo basado en una respuesta dada en Foros del Web

¡Hoy iniciamos el curso en Universidad ORT!

Confirmando: el curso finalmente se abrió y los días asignados son los lunes y miércoles, de 19:30 a 22:30... y hoy es oficialmente la primera clase. ;-)

En primera instancia eran los martes y jueves, pero me informó la administración de ORT que siempre es una locura esta semana, entre la apertura de las carreras y los cursos, se están moviendo de salón constantemente, y por una razón locativa (somos un grupo reducido) quedamos asignados en estos días.

Con respecto al "podcast", al momento no dispongo de los recursos técnicos para hacer una grabación digital de la clase (todavía no me doy por vencido, veremos que se puede solucionar).

Con respecto a los materiales, estoy viendo de dejarlos disponibles en la web (no será lo mismo sin acompañar con explicaciones, pero por lo menos es un registro de la ruta seguida).

Dentro de algunas horas, más novedades.

En los próximos días iniciamos el curso "Desarrollo de Sistemas Web con PHP5"

Quiero recordar a los posibles interesados en el tema de Desarrollo de Sistemas Web Orientados a Objetos basados en el lenguaje PHP5 y en conocer todas las herramientas disponibles para potenciarlo, que estaríamos abriendo el primer curso los próximos días de la semana que viene en la Universidad ORT.

A pesar de que ya he dictado con esta temática capacitaciones a medida para empresas, este es el primer curso de inscripción abierta que se dicta en la plaza.

Como hay que pagar el derecho de piso por ser un curso completamente nuevo y casi desconocido en el mercado, pero que ha generado muchas expectativas por su rico y extenso contenido, se ha decidido abrirlo a pesar de que el primer grupo pueda ser reducido.

También podrán conocer un breve resumen que describe mi visión personal del contenido del curso.

Veremos lo último de lo último del ambiente PHP, tratando de subir el perfil de los desarrolladores al nivel de plataformas como Java o .Net, y si no lo vemos en el curso, es porque no existe siquiera una beta para probarla ;-)

No dejes que mañana vengan a discriminarte en una entrevista de trabajo con el título de "Programador PHP" (alguien que conoce el lenguaje y que solo sabe hacer "scripts estructurados") o "Diseñador PHP" (que sabe algo de diseño web y muy poco de programación de sistemas). Tu puedes conocer y entender todas las disciplinas necesarias para ser un Desarrollador de Sistemas Web Orientados a Objetos.

¿Seremos conformistas con nuestros conocimientos o nos animaremos a evolucionar?

¿Vas a participar de la "Era Web" como usuario o como desarrollador?

Muchos de los temas que vamos a ver se dan a lo largo de una carrera de más de 2 años (UML, Diseño OO, Patrones de Diseño, Refactoring, Frameworks, Webservices, Ajax, etc).

Si te gustan los retos, te espero ;-)

Curso en Universidad ORT: "Desarrollo de Sistemas Web con PHP 5" (4 meses)


La Universidad ORT está nuevamente publicitando en estos días (mailing, web, prensa) el curso que estaré dictando con el nombre de "Desarrollo de Sistemas Web con PHP 5" (aunque pueden encontrar referencias con otros nombres, como "Programación PHP5", "Programación de Páginas Web con PHP", etc), parte del grupo considerado de "Actualización Profesional".

Aclaración: Digo "nuevamente" porque a pesar que este curso ya lo he dictado directamente en empresas, en ORT el primer período de inscripción (24 de abril) lamentablemente no llenó el cúpo mínimo de alumnos, por lo cual esta es la segunda vez que se publicita. Esperamos que en esta oportunidad llegue con más tiempo y a más gente.

La temática del mismo y la metodología del dictado será completamente diferente a los cursos tradicionales que se pueden encontrar en la plaza local, que se basan exclusivamente en PHP4 (donde la prioridad es conocer exclusivamente el lenguaje y no superar la programación a nivel de scripting).

Para este curso me fijaré como meta formar "Desarrolladores de Sistemas Web", tratando de no caer en los "lugares comunes" de los cursos tradicionales sobre la materia:
  • Evitando el estereotipo clásico de "Programador PHP", orientado explícitamente al lenguaje de programación, donde solo se abordan recetas elaboradas con la experiencia del docente de turno y se termina desconociendo todo el proceso formal de desarrollo de software y las metodologías existentes.
  • Evitando el perfil de "Diseñador PHP", orientado al diseño gráfico con algo de programación, donde el común denominador es la ausencia completa de conceptos claros sobre diseño de sistemas o directamente de programación.
  • Erradicando el uso del "paradigma estructurado" que impide aprovechar los beneficios del "nuevo paradigma" (que ya tiene muchos años) que mejora ostensiblemente los tiempos de mantenimientos de sistemas y el reaprovechamiento de componentes ya desarrollados.
  • Erradicando la "programación estructurada con uso de objetos", que no es lo mismo que decir "Desarrollo 100% Orientado a Objetos", con uso y entendimiento de herramientas de nivel superior, como UML, Patrones de Diseño, Principios de Diseño, Refactoring, etc.
  • y por sobre todas las cosas, a Desarrollar Sistemas Web, verdaderos desarrollos de software, no código-scripting embebido a código HTML alojado en páginas web, aisladas entre sí.
La idea es fusionar conocimientos desde otras plataformas, como Java y .Net, en conjunto con experiencias profesionales trabajando en proyectos del Estado, empresas privadas y emprendimientos personales.

Desarrollar software en PHP5 no tiene nada que envidiarle a otras plataformas de desarrollo, y los conocimientos que se adquirirán en el curso podrán ser aplicados en cualquier tecnología basada en POO.

Considero que este curso transfiere en 4 meses conocimientos que requieren años recolectar, evaluar, depurar, y por sobre todas las cosas, experiencia real extraída del mercado laboral actual, tanto local como extranjero.

Daremos una recorrida al tan nombrado fenómeno de la Web2.0 y de las últimas tendencias, como el nuevo Zend Framework que se está desarrollando, donde iremos incorporando las últimas novedades que vayan surgiendo en el transcurso del curso.

Quiero hacer un curso que a mi me gustaría participar: quiero "enseñarte a pescar, no a comer de mi mano".

Comienzo: 5 de setiembre de 2006.

Horario: Martes y Jueves de 19:30 a 22:30.


Detalles del curso en la Universidad ORT

El 24 de Abril inicia el curso: "Programación PHP5"

Luego de muchos preparativos se abre en la Universidad ORT el período de inscripción para el curso que dictaré sobre "Programación PHP5" en el marco del "Ciclo de Especialización dirigido a profesionales de Sistemas y Electrónica".

Por las características del temario del curso, este el primero y el único del mercado que contempla los últimos avances en la programación web con el lenguaje de programación PHP en su versión 5.

Cualquier duda o consulta, pueden enviarme un correo que ampliaré toda la información que soliciten.

El detalle completo se encuentra en el Blog de Enrique Place

Entradas populares