Cuál es el mejor lenguaje para aprender a programar

Cuál es el mejor lenguaje para aprender a programar

Reflexiones
Una pregunta que veo repetirse mucho entre gente que quiere aprender a programar es qué lenguaje es más conveniente para empezar. Lo que suelo contestar es que no es de suma importancia el lenguaje que se elija. Lo más importante a la hora de comenzar es aprender los rudimentos básicos de la programación (Qué son las variables, los ciclos, las expresiones, etc...). Todos los lenguajes, de alguna u otra manera, implementan los mismo conceptos básicos. En cierto modo es como preguntar qué instrumento es mejor para aprender música. Ciertamente hay algunos lenguajes que son más amigables con los novatos (Al igual que es más fácil aprender a tocar la guitarra que el arpa... o eso me han dicho :p). En qué se diferencian los lenguajes de programación La diferencia principal que tiene…
Leer más
Cómo generar facturas electrónicas usando PHP

Cómo generar facturas electrónicas usando PHP

Cómo hacer para...
En los países de Latinoamérica se está produciendo una migración hacia la facturación electrónica (dejando de lado las viejas facturas de papel). Más allá de aspectos políticos, es una muy buena noticia por, al menos, los siguientes motivos: Las operaciones comerciales se realizarán mucho más eficientemente Se limitará muchísimo la economía informal y todos los problemas que de ella se derivan Dará mucho trabajo a muchos programadores :) Sobre este último punto, veo que a muchos colegas se les complica un poco el tema de integrar sus sistemas con aquellos de la autoridad central de su país, así que decidí hacer este pequeño compendio de las librerías que hay disponibles como para acortar un poco el camino. Cómo generar facturas electrónicas para Argentina En el caso de Argentina, la autoridad…
Leer más
Cómo recorrer un archivo XML usando PHP

Cómo recorrer un archivo XML usando PHP

Cómo hacer para...
Como de costumbre, comencemos por ponernos de acuerdo en las definiciones. Qué es XML Las siglas XML remiten a eXtensible Markup Language (Lenguaje de etiquetas extendible). Se trata de texto estructurado mediante etiquetas (Palabras encerradas entre < y >): <utensilios>   <tenedor/>   <cuchillo/> </utensilios> Para qué sirve XML XML se inventó como un medio de intercambio de información entre sistemas a través de Internet. Al ser un formato basado en texto, era fácil aprovechar la infraestructura existente para comunicarse a través de HTTP. Hoy en día, XML es utilizado en muchas implementaciones de WebServices (Por ejemplo, las facturas electrónicas) y también para almacenar configuraciones (En el caso del lenguaje Java es muy común encontrar este tipo de archivos, en PHP no tanto). Cómo se procesa XML usando PHP Al tratarse…
Leer más
Cuál es la diferencia entre SQL y MySQL

Cuál es la diferencia entre SQL y MySQL

Misceláneos
Vi esta pregunta en un grupo de Facebook: Y me llamó mucho la atención... claramente este amigo está bastante confundido y, como imagino que debe haber otros preguntándose lo mismo (o algo similar), me parece que vale la pena aclarar un poco los tantos :) Qué es SQL SQL es un lenguaje de programación diseñado especialmente para trabajar con bases de datos relacionales. Las siglas SQL significan Structured Query Language (Lenguaje estructurado de consultas). Una aclaración importante: la palabra "consulta" en español es sinónimo de pregunta o cuestionamiento... en el caso de las bases de datos (las relacionales al menos), cualquier operación (alta, baja, modificación o lectura) se denomina consulta. El lenguaje SQL fue inventado alrededor de la década de 1970 (algo que, en informática, es prácticamente la pre-historia) para trabajar…
Leer más
¿Es PHP un lenguaje sólo para principiantes?

¿Es PHP un lenguaje sólo para principiantes?

Reflexiones
Algo que vengo oyendo y leyendo mucho es esta creencia de que PHP es un lenguaje sólo para principiantes o para desarrollos "poco serios" y una cantidad de otras formas de significar que PHP es un lenguaje de segunda. Me recuerda a esta simpática imagen: Obviamente, mi opinión es la contraria y no puedo perder la oportunidad de expresar mi punto de vista (y esperablemente esclarecer un poco :)). ¿De dónde viene esta creencia? PHP es un lenguaje que no ha sido pensado con un plan de largo plazo. Ha crecido orgánicamente mucho más allá de su objetivo original (una simple herramienta para ayudar a generar scripts CGI) y ese crecimiento ha sido ciertamente desordenado (hasta hace un tiempo al menos). La consecuencia directa de este objetivo es que PHP fue…
Leer más
¿Es posible hostear una aplicación PHP en Windows?

¿Es posible hostear una aplicación PHP en Windows?

Misceláneos
Un amigo me contactó por un problema que estaba enfrentando su equipo técnico: están desarrollando una aplicación PHP que necesitan hostear sí o sí en un servidor Windows. Actualmente tienen un IIS montado en su servidor y la duda era, primero si era posible servir PHP desde IIS o si era necesario usar un servidor Apache y, en tal caso, si era necesario compilarlo desde 0 (Algo que estaba fuera del alcance de dicho equipo). Mi primera impresión ante esta situación fue de sorpresa. Ciertamente, Windows no sería mi elección en cuanto a servidor (En general prefiero mantenerme alejado de Windows, pero especialmente para el caso de servidores soy bastante estricto). Yo optaría por alguna distribución de linux (Probablemente basada en Debian como para hacer las cosas sencillas, pero en DistroWatch siempre…
Leer más
¿Debo aprender php desde cero o ir directo con un framework?

¿Debo aprender php desde cero o ir directo con un framework?

Reflexiones
Una pregunta que se hace mucha gente que está queriendo empezar con PHP es, habiendo tantos frameworks y habiendo escuchado cosas tan buenas de los frameworks, ¿vale la pena aprender PHP "a secas"? Qué es un framework Empecemos por la definición para entender de qué estamos hablando: un framework es, ante todo, un conjunto de código que ya está escrito y que resuelve una cantidad de problemas genéricos (problemas que muchas aplicaciones diferentes deben resolver). En definitiva, un framework es un punto de partida muy bueno para una aplicación de cierta complejidad, podrías pensarlo como un atajo. Cómo está hecho un framework Salvo casos muy excepcionales (como Phalcon), los frameworks están escritos usando el mismo lenguaje que los programas "finales". En el caso de aplicaciones PHP, los frameworks son, técnicamente, código…
Leer más
¿Todo el mundo debe aprender a programar?

¿Todo el mundo debe aprender a programar?

Reflexiones
Recientemente me crucé con un twit donde un abogado decía algo así como que no todo el mundo debería aprender a programar. Nunca antes había escuchado de un abogado interesado en el tema, pero unas semanas más tarde, una amiga (que casualmente también es abogada) me consultó respecto de cómo podía incursionar en el mundo de la programación, y unos días más tarde otro amigo licenciado en historia me hizo una pregunta similar. Viendo que esta parece ser una pregunta que está dando vueltas en la cabeza de personas de muy variados ámbitos, decidí intentar una respuesta. Personalmente, considero que a cualquier persona le puede venir bien saber programar, aún si nunca en su vida va a dedicarse a esto profesionalmente. Qué beneficios tiene saber programar La programación, más allá…
Leer más
Cómo automatizar las búsquedas en Google

Cómo automatizar las búsquedas en Google

Cómo hacer para...
Un cliente de Leeway está buscando aumentar el tamaño de su base de datos para realizar mailings y me pidió que le diseñe un robotito para extraer las direcciones de correo que estén presentes en las páginas resultantes de ciertas búsquedas de Google. Si bien personalmente no lo considero algo muy productivo (Discusión aparte sobre la efectividad/ética de enviar correo no deseado o si realmente se trata de correo no deseado cuando se ofrece una solución que realmente va a ayudar a quien lo reciba), me pareció interesante el desafío técnico (y también, hay que reconocerlo, a veces simplemente hay que darle al cliente lo que quiere :)). Lo primero que se me ocurrió fue que, así como hay APIs para entrar a Gmail, a GoogleDocs y demás, debía haber alguna para usar…
Leer más