Ultimamente estoy bloggeando mas en CodeForge que aqui, de modo que he decidido mudarme completamente hacia los dominios de http://www.codeforge.com.ar
Por cierto, los ultimos posts que realize alli son:
Algo esta mal con el modelo Open Source
Como reconocer a los buenos desarrolladores
Java, no apto para la universidad
Python, lenguaje del año 2007
7 propiedades del software que deberias conocer
Java, el nuevo cobol
Comparacion de lenguajes (performance)
Los espero en CodeForge.
Saludos
miércoles 16 de enero de 2008
viernes 21 de diciembre de 2007
lunes 17 de diciembre de 2007
Compilado vs Interpretado
Creo que todos sabemos que es un lenguaje compilado (C, C++, Pascal, Fortran) y que es un lenguaje interpretado (Ruby, Python, Perl, PHP). Resulta que me encuentro en el medio de un pequeño dilema. Generalmente los programadores, a la hora de desarrollar un software aplican el axioma de "Utilizar el lenguaje mas conocido por el desarrollador" para la eleccion del lenguaje de programacion. Resulta, que en mi caso, dejando de lado la modestia, ese axioma es como una maldición.
Luego de varias discusiones con mi voz interna, (a pesar de la creencia urbana los programadores si tenemos alma), he logrado reducir mi lista a dos lenguajes, C# y Python. El primero un lenguaje semi-compilado, ya que el compiler traduce el codigo fuente a un lenguaje intermedio que luego es interpretado por la maquina virtual de .Net (o Mono). Y el segundo es un lenguaje de tipado dinamico e interpretado.
Cual de ellos elegir a la hora de desarrollar este software que me han asignado? Es C# mas rapido que Python, o deberia reformular la pregunta, es .Net (c#) mas rapido que python?
Como testear esto? Fibonacci? Esta funcion en python calcula los N (limite) primeros numeros en la secuencia Fibonacci.
time:
real 0m0.023s
user 0m0.012s
sys 0m0.008s
ahora, la misma funcion en C#, compilada en Mono (linux my friends, deberian usarlo, te cambia la vida)
time:
real 0m0.114s
user 0m0.032s
sys 0m0.016s
C#(0.162) vs Python(0.043)
Obviamente este pequeño test es absolutamente trivial, pero no me impide elegir a Python :)
Saludos!
Luego de varias discusiones con mi voz interna, (a pesar de la creencia urbana los programadores si tenemos alma), he logrado reducir mi lista a dos lenguajes, C# y Python. El primero un lenguaje semi-compilado, ya que el compiler traduce el codigo fuente a un lenguaje intermedio que luego es interpretado por la maquina virtual de .Net (o Mono). Y el segundo es un lenguaje de tipado dinamico e interpretado.
Cual de ellos elegir a la hora de desarrollar este software que me han asignado? Es C# mas rapido que Python, o deberia reformular la pregunta, es .Net (c#) mas rapido que python?
Como testear esto? Fibonacci? Esta funcion en python calcula los N (limite) primeros numeros en la secuencia Fibonacci.
#!/usr/bin/python
def fibonacci(limite):
valores = []
a, b = 0,1
while valores.__len__() < limite:
valores.append(b)
a, b = b, a+b
return valores
if __name__ == "__main__":
print fibonacci(100)
time:
real 0m0.023s
user 0m0.012s
sys 0m0.008s
ahora, la misma funcion en C#, compilada en Mono (linux my friends, deberian usarlo, te cambia la vida)
using System;
using System.Collections;
namespace Fibonacci
{
class MainClass
{
public static void Main(string[] args)
{
int limite = 50;
ulong[] valores = new ulong[limite];
ulong a = 0;
ulong b = 1;
int index = 0;
while ( index < limite)
{
valores[index] = b;
a = b;
b = a + b;
index = index + 1;
}
for(int i=0;i < limite;i++)
{
Console.Write(valores[i] + " ");
}
}
}
}
time:
real 0m0.114s
user 0m0.032s
sys 0m0.016s
C#(0.162) vs Python(0.043)
Obviamente este pequeño test es absolutamente trivial, pero no me impide elegir a Python :)
Saludos!
sábado 15 de diciembre de 2007
De vuelta.
Hey! Tanto tiempo. No pude postear antes porque {poner aca excusas de siempre}. :)
Bueno, vamos a lo que importa. :)
1- Como pueden leer en VivaLinux, Canonical Ltd. acaba de liberar un software de control de versiones distribuido, Bazaar, este tipo de control de versiones es el mismo que implementara y diseñara Linus para el desarrollo del kernel y tiene como caracteristica principal que no necesita de un servidor centralizado. Bazaar esta hecho en python, que como ya habiamos mencionado en este blog, es el lenguaje de preferencia para los desarrollos de Canonical Ltd.
2- El hacker FreedomCoder me ha propuesto migrar alguna aplicacion de seguridad a python para el Nokia N800, challenge que he aceptado con gusto, me pasó este link para ir viendo el tema, si alguno de uds se anima, son bienvenidas las ideas, comentarios, aportes, etc.
3- El portal para programadores Open source CodeForge tuvo un pequeño update, lamentablemente no he podido imprimirle el tiempo que hubiera deseado, pero de apoco lo estoy armando, la lista esta funcionando y cuenta con gente muy copada con la cual intercambiar ideas.
Bueno, espero postear mas seguido este mes! :)
Saludos
Bueno, vamos a lo que importa. :)
1- Como pueden leer en VivaLinux, Canonical Ltd. acaba de liberar un software de control de versiones distribuido, Bazaar, este tipo de control de versiones es el mismo que implementara y diseñara Linus para el desarrollo del kernel y tiene como caracteristica principal que no necesita de un servidor centralizado. Bazaar esta hecho en python, que como ya habiamos mencionado en este blog, es el lenguaje de preferencia para los desarrollos de Canonical Ltd.
2- El hacker FreedomCoder me ha propuesto migrar alguna aplicacion de seguridad a python para el Nokia N800, challenge que he aceptado con gusto, me pasó este link para ir viendo el tema, si alguno de uds se anima, son bienvenidas las ideas, comentarios, aportes, etc.
3- El portal para programadores Open source CodeForge tuvo un pequeño update, lamentablemente no he podido imprimirle el tiempo que hubiera deseado, pero de apoco lo estoy armando, la lista esta funcionando y cuenta con gente muy copada con la cual intercambiar ideas.
Bueno, espero postear mas seguido este mes! :)
Saludos
jueves 22 de noviembre de 2007
sábado 17 de noviembre de 2007
wow... como pasa el tiempo
No es facil tener dos empleos, y conseguir tiempo libre para escribir un blog, desarrollar un sitio web (codeforge) y programar para algunos clientes. Como siempre, las prioridades deben establecerse y esta vez le toco al blog, 17 dias pasaron de Noviembre y hoy hago mi primer post en este mes tan complicado. Aunque los que se avecinan son, por tradicion, siempre los mas atareados, se termina el año, hay que terminar los proyectos, cumplir con planificaciones, proyectar para el año que viene, planificar, etc. Bueno, si a esto le agregamos la facultad, entenderan el porque de mi ausencia las dos ultimas semanas. :)
Bueno, les dejo saludos. Pronto volvere con mas noticias, pronto, bueno, antes de que lleguemos a diciembre. :P
Bueno, les dejo saludos. Pronto volvere con mas noticias, pronto, bueno, antes de que lleguemos a diciembre. :P
viernes 26 de octubre de 2007
Persiste y no dormiras.
3.5 dias de batalla, 10 horas dormidas, 86 horas trabajadas.
Demasiados Servers, solamente un YO. En ingles suena mejor: too many servers, only one me.
El desgaste fue atroz, lo aprendido invaluable, la experiencia unica. La voluntad lo es todo.
I'm done.
Regards.
Demasiados Servers, solamente un YO. En ingles suena mejor: too many servers, only one me.
El desgaste fue atroz, lo aprendido invaluable, la experiencia unica. La voluntad lo es todo.
I'm done.
Regards.
Suscribirse a:
Entradas (Atom)
