Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RobertoPerdomo
Python
SobrePython Caracteristicas LibreriaEstandard EnqueproyectosPuedoutilizarPython? PorqueutilizarPython? Quienesloutilizan? Casosdeestudio ComunidadesPython Queesunlenguajedeprogramacingil?
Queesunlenguajedeprogramacingil?
Interpretado
Requierenunentornoentiempodeejecucin(runtime)o unamquinavirtual.
Unlenguajedeprogramacingilincrementa increblementelaproductividad
Lacaractersticafundamentaldelos lenguajesdeScript...
Incrementoasombroso delaproductividad
Productividad=Elnumerodeinstruccionesmquinaque puedeescribirunprogramadorporlnea
NivelesenlenguajesyProductividad
1000 LenguajesdeScript
VB,ASP
Instrucciones/Declaraciones
100
10
C++ C
Ensamblador
Ninguno
De"Scripting:HigherLevelProgrammingforthe21stCentury"byJohnK.Ousterhout.
Eslavelocidaddeejecucindelprograma importante?
ProbablementePythonsea10vecesmslentoqueotros lenguajesdeprogramacin,pero...
Losprocesadoresmodernoshacenquelavelocidadde ejecucinseapocoimportante Muchasaplicacionesestnlimitadasporlavelocidaddelabase dedatosolaconexindered,noporellenguajede programacin. FcildeescribirinterfacesamdulosextensiblesdeCpara optimizaciones.
Algunoslenguajesde Programacingiles(Script)
Python
FucreadoporGuidovanRossum,enelao1991 EsunlenguajedeprogramacinsimilaraPerl,peroconunagran capacidaddeorientacinaobjetosyunaltonivelentiposdedatos. GeneralmenteparaproducircodigoHTMLensitiosWeb.Genial paraarchivosdetexto. Tiposdedatosincluidos(listas,diccionarios). Sintaxislimpia,Extensionespoderosas.
FilosofaBaterasincluidas
Distribucinestndarincluyelibrerademdulosextensibles. Muchosotrosmdulosestndisponibles
SobrePythonCaractersticas
Lenguajeorientadoaobjetosdinmicos
MssobrePython
Lenguajenatural,legible Simpleypoderoso Minimalista:todoaquelloinnecesarionohayqueescribirlo(;,{,},'\n') Muydenso:pococdigohacemucho. Soportaobjetosyestructurasdedatosdealtonivel:strings,listas, diccionarios,etc. Mltiplesnivelesdeorganizarcdigo:funciones,clases,mdulos,ypaquetes. Pythonstandardlibrary(http://www.python.org/doc/current/lib/lib.html) contieneunsinfndeclasesdeutilidades. SihayreasquesonlentassepuedenreemplazarporpluginsenCoC++, siguiendolaAPIparaextenderoempotrarPythonenunaaplicacin. Cdigointeroperable.
Paraque[No]esbuenoPython?
Pythonnoesellenguajeperfecto,noesbuenopara: Programacindebajonivel(systemprogramming),comoprogramacindedriversy kernels. Pythonesdedemasiadoaltonivel,nohaycontroldirectosobrememoriayotras tareasdebajonivel. Aplicacionesquerequierenaltacapacidaddecomputo. NohaynadamejorparaestetipodeaplicacionesqueelviejoC. Pythonesideal: Comolenguaje"pegamento"paracombinarvarioscomponentesjuntos. Parallevaracaboprototiposdesistema. Paralaelaboracindeaplicacionescliente. ParadesarrolloWebydesistemasdistribuidos(clienteservidor). Paraeldesarrollodetareascientficas,enlosquehayquesimularyprototipar rpidamente.
PorquutilizarPython
Loslenguajesgilessonmsproductivos ElcdigoPythonesmslegible ElcdigoPythonesmantenible Pythontienetiposdedatosdemuyaltonivel Eltiempodeldesarrolladoresmasimportantequeeltiempodel procesamientodelprograma.
ParaqusirvePython?
ProgramacindepginasWeb(.psp.pyCGI's)atravsdel modulomod_pythonparaApache InterfacesGrficas(Tkinter,WxPtython) Programacinmono.NET(IronPython) ProgramacinJava(Jython) Programacindejuegos(Pygame) Programacindedispositivosmviles(sistemasS60sobre Nokia)
QuienesusanPython?
Lanasa(proyectos) Google(gmail,googlegroups,motordebsqueda) Infoseek(motordebusqueda) Yahoo(mail,Yahoogroups) Disney(animaciones) IBM Philips RedHat(Instalacin,configuracinygestindepaquetesRPM)
ThePythonQuickReference
http://www.python.org/doc/current/tut/tut.html
Gracias...