Tuesday, March 3, 2015

Alabanzas al Software

Cualquier cosa que suceda en el mundo, puedes saberlo por las redes sociales, navegando en la Web o leyendo en alguna aplicación. La información fluye en un mar creado por bits que van más rápido que un pestañeo.Piensa en tu madre  y la contactarás, menciona una palabra y te darás cuenta que su significado puede ser representado de muchas formas.

Hay Software para todo, para incrementar los ingresos un negocio hasta para reírse del último video de tú mascota. Las empresas pueden cooperar creciendo juntas mientras comunican e identifican automáticamente cuando una necesita de un servicio, mientras que la otra tiene todo preparado para entregar sus beneficios.

La gente está conectada para siempre con todo. Tus mejores amigos, a miles de kilómetros de distancia, están contigo sabiendo tus últimos pensamientos y contando sus historias locas que han experimentadp. Los compañeros de curso se encuentran allí, en alguna parte, esperando por saber de tus pensamientos, queriendo saber más sobre ti, el tiempo dejó de ser una barrera.

Es posible ser lo que quieras, un ingeniero, un doctor, un filósofo, profesor o desarrollador de Software. Con tan solo decir la palabra recibirás más documentos que en todas las universidades juntas. Compartiendo cursos, tutoriales, leyendo y escribiendo documentos, incluso puedes llegar a ser el profesor. Faltan años para ver toda la información sobre un tema.

El uso del Software da la posibilidad a los seres humanos de no trabajar en cosas que nadie quiere o son muy difíciles de hacer, tales como cálculos brutales o trabajos forzosos, habiendo robots con la suficiente inteligencia artificial para realizar tareas específicas, trabajos repetitivos o apoyando en otras que requieren demasiado tempo para un humano. Sé un buen tipo con estos amigos abstractos y físicos porque ellos fueron creados para ti por unos artesanos locos que aman a sus hijos.

No podemos dejar de lado los video juegos, ¿Cuánto tiempo de ocio has gastado jugando? Hay juegos para muchísimos estilos y diferentes gustos. Un lugar donde existe la posibilidad de ser un héroe, un espía, un guerrero o Mario Bros, esas experiencias no están lejos de ti, puedes experimentar esas sensaciones y hacer cosas fantásticas.

Incluso tus comprar son más fáciles, rápidas y baratas. Todos los productos pueden tener características adicionales usando Software. Puedes estar en tu departamento, cansado por un día difícil, buscar alguna comida gustosa y escogiendo un par de opciones (clics) tendrás allí el regalo del día. Ahorrar tiempo en un mundo rápido no tiene precio.

Esos fueron mis pensamientos sobre lo hermoso y beneficioso que puede ser el Software, algunas veces siendo irónico y exagerado. No olvides leer la contraparte sobre este tema según mi punto de vista.

Tuesday, February 24, 2015

Patrones de Diseño

Los patrones de diseño son recursos usados por desarrolladores y arquitectos con el propósito de resolver un problema común. Mas que poseer un patrón, ellos tienen un contexto común que es usado para compartir conocimientos. Ellos tienen una poderosa herramienta que provee soluciones que también reflejan un contexto sobre un problema de desarrollo.

Saber donde aplicar un patrón de diseño para obtener una solución acorde al problema es difícil, requiere desarrolladores experimentados y un amplio conocimiento para llegar a elegir la solución correcta. Los desarrolladores en el camino a tomar buenas decisiones de diseño se dedican a aprender la intención o motivo para cada patrón, ven ejemplos de implementaciones, leen libros o cualquier actividad para mejorar sus habilidades.

Tipos de Patrones


Sin embargo, hay muchos tipos de patrones de diseño tales como los patrones orientados a objetos (OOP), arquitecturales, patrones para desarrollar en Android, y otros recomendados por compañías como Microsoft para ser usadas en sus sistemas. Los desarrolladores pueden encontrar esas soluciones probadas en diferentes contextos, variando la forma de ser implementados  y comúnmente haciendo una combinación entre éstos.

El Otro Lado


Algunas veces, los patrones de diseño no son la solución necesitada porque se aplicó el patrón incorrecto o simplemente, porque el problema a resolver no requiere uno. Tales prácticas son también conocidas como anti-patrones.
Cuando se implementa un diseño, entonces se busca que el sistema sea más flexible para ciertos tipos de implementaciones. Los desarrolladores tienen que trabajar con las ventajas y desventajas de los patrones seleccionados y los beneficios deben ser mayores, en caso contrario, los desarrolladores podrían odiarte por tus malas decisiones que producen un desarrollo más lento, además de un sistema que aumenta su complejidad rápidamente.

¿Balas de Plata?


Las soluciones proveídas por los patrones son probadas y los buenos desarrolladores tienen una noción sobre lo que sucede en la parte del sistema donde es implementado uno. Ellos saben más rápido cuál es y dónde arreglar un problema, donde hacer un cambio o añadir una nueva funcionalidad. El conocimiento de los patrones es más allá de los sistemas implementados, equipos y compañías, por tanto, es necesario tomar esa ventaja y usarlos.