Archivo de 1/07/08|Página de archivo diario

Día 7 “Instalación de Python”

Hoy nos ponemos manos a la obra y vamos a instalar Python
Existen varias implementaciones distintas de Python: CPython, Jython, IronPython, PyPy, etc.
CPython es la más utilizada, la más rápida y la más madura. Cuando la gente habla de Python normalmente se refiere a esta implementación. En este caso tanto el intérprete como los módulos están escritos en C.
Jython es la implementación en Java de Python, mientras que IronPython es su contrapartida en C# (.NET). Su interés estriba en que utilizando estas implementaciones se pueden utilizar todas las librerías disponibles para los programadores de Java y .NET.
PyPy, por último, como habrás adivinado por el nombre, se trata de una implementación en Python de Python.
CPython está instalado por defecto en la mayor parte de las distribuciones Linux y en las últimas versiones de Mac OS. Para comprobar si está instalado abre una terminal y escribe python. Si está instalado se iniciará la consola interactiva de Python y obtendremos parecido a lo siguiente:

Python 2.5.1 (r251:54863, May 2 2007, 16:56:35)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

La primera línea nos indica la versión de Python que tenemos instalada. Al final podemos ver el prompt (>>>) que nos indica que el intérprete está esperando código del usuario. Podemos salir escribiendo exit(), o pulsando Control + D.
Si no te muestra algo parecido no te preocupes, instalar Python es muy sencillo. Puedes descargar la versión correspondiente a tu sistema operativo desde la web de Python, en http://www.python.org/download . Existen instaladores para Windows y Mac OS. Si utilizas Linux es muy probable que puedas instalarlo usando la herramienta de gestión de paquetes de tu distribución, aunque también podemos descargar la aplicación compilada desde la web de Python.

Ahora si usas Windows anda al sitio oficial de Python, el cual ya lo mencione en post anteriores y además hace un rato (http://www.python.org/download )
1. Descargue el último instalador de Python para Windows yendo a la sección download del sito de Python y escogiendo el número de versión más alto que esté en la lista, para descargar el instalador .exe.
2. Haga doble clic en el instalador, Python-2.xxx.yyy.exe. El nombre dependerá de la versión de Python disponible cuando lea esto.
3. Siga los pasos que indique el instalador.
4. Si le falta espacio en el disco, puede eliminar el fichero HTMLHelp, los scripts de utilidades (Tools/), y la batería de pruebas (Lib/test/).
5. Si no dispone de derechos administrativos en su máquina, puede escoger Advanced Options, y elegir entonces Non-Admin Install. Esto sólo afecta al lugar donde se crean las entradas en el Registro y los atajos en el menú Inicio.
6. Tras completar la instalación, cierre el instalador y escoja Inicio->Programas->Python 2.3->IDLE (Python GUI). Verá algo como lo siguiente:
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32
Type “copyright”, “credits” or “license()” for more information.

****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer’s internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
****************************************************************

IDLE 1.2.2
>>

También tienes otra posibilidad, ActiveState fabrica un instalador de Windows para Python llamado ActivePython, que incluye una versión completa de Python, un IDE con editor de código preparado para Python, así como algunas extensiones para Python propias de Windows que le permiten un acceso completo a servicios específicos, APIs, y al registro de Windows.
ActivePython es de freeware, aunque no es open source, aquí el sitio http://www.activestate.com/Products/activepython/index.mhtml
Próximo post nuestro primer programa en Python, nos vemos!!!

Día 6 “Compiladores vs Intérpretes”

Hola a todos, ya estamos en la recta final sobre los post introductorios, hoy hablaremos sobre lenguajes de alto nivel, bajo nivel, diferencias entre compiladores e interpretes, pitón es un lenguaje interpretado, que significa eso?.
Hace varios años atrás existía el llamado lenguaje ensamblador, es decir los programas se introducían en el computador directamente en código maquina.
En la actualidad usamos lenguajes que se parecen más a nuestro lenguaje natural, eliminan parte de la complejidad propia de los lenguajes ensambladores, a este tipo de lenguaje lo llamamos lenguajes de alto nivel, en la otra vereda tenemos a los lenguajes de bajo nivel que son los lenguajes ensambladores ( código maquina ).
Ahora los lenguajes de alto nivel se pueden compilar o interpretar dependiendo del lenguaje de programación, por ejemplo C se compila, pero en cambio Pitón se interpreta.
Un compilador lee completamente un programa en un lenguaje de alto nivel y lo traduce en su integridad a un programa de código maquina equivalente. El programa de código de máquina resultante se puede ejecutar cuantas veces desees, sin necesidad de volver a traducir el programa original.
Un intérprete actúa de modo distinto, lee un programa escrito en lenguaje de alto nivel instrucción a instrucción y, para cada una de ellas, efectúa una traducción a las instrucciones de código maquina equivalente y las ejecuta inmediatamente. Cada vez que ejecutamos el programa con un interprete, se repite el proceso de traducción y ejecución, ya que ambos son simultáneos.

Día 5 “Intro Algoritmos”

Quizás tu que ya sabes programar, debe de ser muy latoso todo este tema introductorio, pero he pensado a cuantos les va a servir, deben de ser a muchos.
En este post hablaremos de los algoritmos.
Un algoritmo es, sencillamente, una secuencia de pasos orientada a la consecución de un objetivo.
Cuando diseñamos un algoritmo podemos expresarlo en uno de los numerosos lenguajes de programación, sin embargo ello resulta poco adecuado, ya que no todos los programadores conocen todos los lenguajes y no hay consenso acerca de cuál es el más adecuado para expresar las soluciones a los diferentes problemas y además los lenguajes de programación presentan particularidades que pueden interferir en una expresión clara y concisa de la solución del problema.
Podemos expresar los algoritmos en lenguaje natural, pues el objetivo es comunicar un procedimiento resolutivo a otras personas y, eventualmente, traducirlos a algún lenguaje de programación.
Por ejemplo si deseamos calcular la media de tres números leídos de teclado podemos seguir el siguiente algoritmo.
1. solicitar el valor del primer número
2. solicitar el valor del segundo número
3. solicitar el valor del tercer número
4. sumar los tres números y dividir el resultado por 3
5. mostrar el resultado
CUIDADO, no es cierto que cualquier procedimiento descrito paso a paso pueda considerarse un algoritmo, un algoritmo debe satisfacer ciertas condiciones.
Estas condiciones son :
· Debe de tener cero o más datos de entrada.
· Debe proporcionar uno o más datos de salida como resultado
· Cada paso del algoritmo, ha de estar definido con exactitud, sin la menor ambigüedad
· Ha de ser finito, es decir debe finalizar tras la ejecución de un número finito de pasos, cada uno de los cuales ha de ser ejecutable en tiempo finito
· Debe ser efectivo, es decir, cada uno de sus pasos ha de poder ejecutarse en tiempo finito con unos recursos determinados.
· Además los algoritmos deben de ser eficientes, esto es, que alcancen su objetivo lo más rápidamente posible y con menor consumo de recursos.
Este tema es bastante profundo, te recomiendo buscar en google referencia de algoritmos, además en este post subo 3 paper en formato pdf sobre algoritmos ( paper básico) de PUCV que esta bien bueno, ahí hay cosas que vamos a ver después.