2010-06-15 46 views
32

Soy un desarrollador web y generalmente uso php/JS/mysql.Dónde se usa Python Language

He oído mucho sobre python.

No tengo idea de dónde se usa el pitón y por qué se usa.

al igual que

php/asp/ColdFusion/.net/ se utilizan para construir sitios web

C, C++ , Java

se utilizan para construir aplicaciones de software de escritorio o

dónde viene gradas pitón de esos idiomas.

¿Qué es lo que se puede hacer por el pitón pero no con esos lenguajes comunes

Respuesta

20

Python comenzó como un lenguaje de script para Linux como Perl, pero menos críptica. Ahora se utiliza para aplicaciones web y de escritorio y también está disponible en Windows. Las API de GUI de escritorio como GTK tienen su Python implementations y los frameworks web basados ​​en Python como Django son los preferidos por muchos sobre PHP et al. para aplicaciones web.

Y, por cierto,

  • ¿Qué se puede hacer con PHP que no se puede hacer con ASP o JSP?
  • ¿Qué se puede hacer con Java que no se puede hacer con C++?
2

Su clasificación no es correcta:

PHP, ASP y ColdFusion se utilizan sobre todo para los sitios web, eso es correcto, pero .net es sin duda mucho más que ASP puede crear aplicaciones de escritorio, también (Paint.NET) . No sé sobre ColdFusion, pero PHP también se puede usar para escribir aplicaciones de escritorio.

Por otro lado, C, C++ no se usa con frecuencia para la programación web, pero se puede usar para programación web (cgit). Java es definitivamente un lenguaje para desarrollar aplicaciones web (spring y mucho más).

Python es un lenguaje de scripting como PHP, Perl, Ruby y mucho más. Se puede utilizar para programación web (django, Zope, Google App Engine, y mucho más). Pero también se puede usar para aplicaciones de escritorio (Blender 3D, o incluso para juegos pygame).

Python también se puede traducir a código binario como java.

15

Todos los idiomas que ha mencionado son Turing Complete, por lo que en teoría no hay nada que uno pueda hacer y otro no. En la práctica, por supuesto, existen diferencias, especialmente en productividad y eficiencia. En comparación con C, C++ y Java, que están tipados estáticos, Python es un lenguaje dinámico y puede ayudarte a escribir el mismo código en un número significativamente menor de líneas. Python tiene una moto "baterías incluidas", lo que significa que la biblioteca estándar ofrece todo lo necesario para crear una aplicación compleja. Otros idiomas necesitarían bibliotecas externas para esto.Además de esto, dado que Python es un lenguaje antiguo y maduro (más antiguo que Java), se han desarrollado muchas bibliotecas externas (para el desarrollo de juegos y cálculos científicos, por mencionar solo algunas). Por lo tanto, Python se puede utilizar para programar aplicaciones de escritorio y, de hecho, en algunos casos de manera más eficiente que otros lenguajes tradicionales.

Python es también un lenguaje de scripting. Esto significa que puede escribir fácilmente y rápidamente scripts y pruebas simples con él.

Más recientemente, python también se utiliza para marcos web. Dado que hay una gran base de código y muchos programadores de Python, esto fue lo lógico. Estos frameworks web siguen la práctica introducida principalmente por Ruby on Rails.

+0

He visto que Google también está utilizando Python para la aplicación compleja que implica cálculos de cifrado. Por ejemplo, tengo construir un sitio web en php. Quiero hacer algunos cálculos usando el programa python y la página de visualización. ¿Puedo usar php y python juntos? Quiero decir que en el sitio web donde las páginas están en PHP y hago algunas páginas como. mypage.py –

+0

No hay una manera directa de mezclar php y python para servir un sitio web. Puede iniciar un proceso de python desde php. pero eso no sería efectivo. – kgiannakakis

1

Python se utiliza para desarrollar sitios. Es más alto nivel que php. Python se utiliza para aplicaciones linux dekstop. Por ejemplo, la mayoría de las utilidades de configuraciones de Ubuntu son pitónicas.

+0

¿por qué python es más de alto nivel que php? – jigfox

2

Muchos sitios web utilizan el marco web Django o Zope/Plone, están escritos en Python.

Python se usa mucho para escribir software de administración de sistemas, generalmente cuando los scripts bash (script de shell) no están a la altura del trabajo, pero ir C/C++ es una exageración. Este es también el espectro donde se encuentran perl, awk, etc. El emerge/portage de Gentoo es un ejemplo. Mercurial/HG es un sistema de control de versiones distribuidas (DVCS) escrito en python.

Muchas aplicaciones de escritorio también están escritas en Python. El Bittorrent original fue escrito en python.

Python también se utiliza como lenguajes de scripting para GIMP, Inkscape, Blender, OpenOffice, etc. Python permite a los usuarios avanzados escribir complementos y acceder a funcionalidades avanzadas que normalmente no se pueden usar a través de una GUI.

11

Con unas pocas excepciones, Python se usa prácticamente donde un programador que conoce Python quiere enfocarse en resolver un problema en lugar de luchar con los detalles de implementación. Lo encontrará ingames, webapplications, network servers, scientific computing, media tools, application scripting, etc. (Hay una lista de algo pasado de algunas organizaciones que lo utilizan here.) Las personas que conocen bien tienden a love it, ya que logra un muy raro equilibrio de concisión y claridad, y (quizás en menor medida) porque tiene un amplio conjunto de bibliotecas útiles.

Algunos lugares donde Python no se utiliza tanto:

  • secuencias de comandos del navegador Web (ya que los navegadores implementan JavaScript, Python no, aunque hay ways around that)
  • aplicaciones GUI grandes (tal vez debido a los buenos enlaces de interfaz gráfica de usuario son relativamente nuevos)
  • Motores gráficos (por motivos de rendimiento, pero tenga en cuenta que Python a veces se utiliza para la lógica de control que hace uso de un motor de gráficos)
  • Pequeños dispositivos integrados (aunque algunas personas tienen tenido éxito con compact, stripped-down y special-purpose implementaciones de Python, y estamos empezando a ver las herramientas de Python para la creación de aplicaciones en smart phones and tablets.)
+0

Aunque estoy de acuerdo ampliamente y me gusta mucho Python, una característica a tener en cuenta es que python no es realmente multiproceso, en el sentido de que un proceso de python solo consume un núcleo de CPU. Esto es divertido, porque puedes declarar subprocesos de python, sin darte cuenta de que ejecutarán todo en un solo núcleo. La implicación es que, si su proyecto es intrínsecamente asíncrono, como es una aplicación web y un volumen alto, entonces tiene que usar E/S sin bloqueo (como lo hace node.js). Ver http://www.tornadoweb.org/en/stable/ – artejera

+0

@artejera Aunque aprecio su preocupación, su declaración es totalmente engañosa. Infórmese sobre el GIL, así como las situaciones en las que puede interferir con la ejecución de subprocesos múltiples, y aquellas en las que no lo hará. En resumen: hay varias implementaciones de python que no tienen un GIL, e incluso en CPython (que tiene uno), los programas a menudo pasan tiempo en el código de la biblioteca que no contiene el GIL y, por lo tanto, no bloquea los hilos. Infórmese también sobre paradigmas estándar de multiprocesamiento, como grupos de procesos, que han durado más tiempo que los hilos y funcionan bien en Python. –

+0

Por cierto, las E/S sin bloqueo no hacen nada para aprovechar los múltiples núcleos de CPU, así que no sé por qué lo mencionaste en ese comentario. –

1

Python también es ideal para programas científicos como los modelos estadísticos o Sims física. He hecho los programas de monte-carlo y, usando el módulo VISUAL, una simulación 3D de la misión Apollo.

Cuestiones relacionadas