¿Por qué los programadores aman Python y odian Visual Basic?

Esto no es verdad. Los lenguajes de programación de computadoras son como herramientas en una caja de herramientas. Las diferentes herramientas están diseñadas para resolver diferentes problemas. Por ejemplo, suponga que desea clavar un clavo a través de un trozo de madera. La herramienta ideal para este propósito sería un martillo. Del mismo modo, tal vez desee apretar una tuerca a un perno. La herramienta más adecuada para este propósito sería una llave inglesa. Te dan la imagen…

Usando esta analogía, ¡imagina que alguien te dice que odian el martillo pero aman la llave inglesa!

Es imposible explicar por qué un lenguaje de programación sin algo de historia:

Los lenguajes de programación tienen una larga historia detrás de ellos, pero la esencia del asunto es que todos fueron diseñados para resolver un problema en particular.

La génesis de la revolución informática estaba en una máquina. Los primeros lenguajes de programación estaban orientados a la máquina. Así nació el lenguaje de máquina. Como se podría imaginar, el lenguaje de máquina consistía en ‘0s’ y ‘1s’ que representan los interruptores de la CPU.

Por lo tanto, ni siquiera podría comenzar a escribir programas para una computadora en particular a menos que haya entendido la estructura de la CPU en particular.

El lenguaje ensamblador que siguió posteriormente, tenía la intención de ser una pequeña abstracción de la máquina subyacente, y más fácil de entender y leer para los humanos. Casi nadie en estos días escribe programas en lenguaje máquina, pero el lenguaje ensamblador todavía se usa ampliamente.

Los sucesivos lenguajes de programación ‘imperativos’ como FORTRAN, BASIC, PASCAL, COBOL, SIMULA, Smalltalk y C fueron abstracciones del lenguaje ensamblador.

Estos lenguajes son grandes mejoras sobre el lenguaje ensamblador, pero su abstracción principal aún requiere que piense en términos de la estructura de la computadora en lugar de la estructura del problema que estaba tratando de resolver.

Como saben, C fue diseñado principalmente para el sistema operativo UNIX. UNIX mismo fue escrito en C.

Muchos lenguajes de programación que siguieron, como C ++, Java, C #, Visual Basic.NET, PHP, Perl, Python, Ruby, etc., fueron influenciados de una forma u otra por C, o los primeros lenguajes ‘imperativos’ mencionados anteriormente.

Para su información, de acuerdo con el índice TIOBE, la demanda de Visual Basic.NET ha estado creciendo constantemente a lo largo de los años y alcanzó su punto más alto en diciembre de 2016 (ver TIOBE).

Visual Basic.NET, un sucesor de Visual Basic, un lenguaje de programación muy popular para el sistema operativo Microsoft Windows en los años 90, es un lenguaje de programación completamente diferente. Escrito desde cero, VB.NET, (como se lo conoce comúnmente), es un lenguaje de programación orientado a objetos completamente desarrollado dirigido al marco .NET.

Más importante aún, los lenguajes de programación evolucionan para resolver problemas del mundo real. Por lo tanto, la evolución de los lenguajes de programación y el nacimiento de nuevos lenguajes dependen de las necesidades industriales, comerciales o académicas.

Como se podría imaginar, y erróneamente, los lenguajes de programación han provocado históricamente guerras religiosas casi amargas. El odio de un idioma sobre otro, es una realidad desafortunada.

Detrás del desarrollo de los lenguajes de programación, se encuentran compañías grandes y poderosas con varios intereses creados, junto con una amarga rivalidad. Desafortunadamente, esta rivalidad tiende a extenderse a las personas que trabajan en esas empresas y a la industria en general.

Al elegir un lenguaje de programación, no es prudente amar u odiar un lenguaje de programación sobre otro. Al hacerlo, no solo está socavando su éxito como programador, sino que también está minimizando su potencial de ganancias.

Bueno, esto no es del todo cierto.

Primero, como señala acertadamente Quora User, solo los programadores de mente estrecha, generalmente más jóvenes, descartan un lenguaje de programación. Está bien tener un favorito, siempre que sea preferencia y no un dogma universal.

La mayoría de los programadores con los que he trabajado no entienden el bombo de Python. Todos lo hemos usado. Es literalmente como cualquier otro lenguaje imperativo con objetos ignorables o grapados después del hecho. No tiene nada de malo, pero no hay nada que lo recomiende más que una docena de otros idiomas en el mismo nicho.

Hay, por supuesto, una predisposición a pensar en el idioma que aprendió con cariño. Mucha gente de mi edad siente nostalgia por el tipo de BASIC que se ejecutaba en computadoras de 8 bits cuando éramos niños, aunque sabemos que sería un desastre escribir cualquier software real que lo use. Pascal no recibe mucho amor, pero en general, los fanáticos de LISP / Scheme, C, Java y Python, en la mayoría de los casos, están identificando el lenguaje en el que aprendieron a programar, sin emitir un juicio de valor racional sobre cuánto tiempo se necesita para resolver tipos específicos de problemas.

Sin embargo, Visual Basic sufre de historia, además de esa falta, como muchos idiomas. VB.NET moderno es casi imposible de distinguir de C #, excepto por la sintaxis. Sin embargo, Visual Basic anterior era un desastre forzado, propiedad de Microsoft que no era consistente y no tenía una gran infraestructura. Básicamente, eran los BASIC de Microsoft de DOS con un modelo de objeto rápido y una interfaz para la API repleta, y se notaba.

El software es como cualquier sociedad. Si puedes enganchar a los niños lo suficientemente temprano, se quedarán con la marca a través de cualquier revelación horrible, pero si tienes mala prensa desde el principio, ese estigma se queda contigo para siempre. FORTRAN, C ++, Visual Basic y probablemente algunos otros han avanzado a pasos agigantados en las últimas décadas, pero tienen una reputación que ha alejado tanto a las personas que no mirarán hacia atrás.

Es en gran medida una cuestión de gustos. Los programadores son seres humanos (bueno, al menos, la mayoría lo son) y los humanos están sujetos a sentimientos y preferencias personales.

Ningún lenguaje de programación es perfecto. Todos tienen sus pros y sus contras. Entonces, ¿por qué preferir uno sobre el otro? Depende de cómo pienses y de tus experiencias pasadas con los lenguajes de programación.

Dicho esto, hay razones concretas para elegir ciertos idiomas (¡o no!). Por ejemplo, Smalltalk es casi el lenguaje perfecto. Si bien tiene algunas deficiencias, es un lenguaje de programación realmente hermoso en términos de simplicidad y elegancia. ¡Prácticamente no tiene sintaxis! Tiene la mejor implementación del paradigma OOP que existe. Se basa en un maravilloso IDE de programación en vivo y un concepto de imagen. ¡No es de extrañar que sea el lenguaje de programación más productivo del mundo!

Por otro lado, JavaScript es el lenguaje más execrable del mundo. Tiene muchísimas más “verrugas” que cualquier otro lenguaje (con la posible excepción de PHP). Merece ser el lenguaje más despreciado de todos.

Respuesta corta: diseño, funcionalidad, preferencia estética.

Respuesta larga: ¿por qué la gente ama los BMW y odia, digamos, Chryslers? Las mismas razones: una está mejor diseñada, es más confiable y simplemente “se siente” más agradable de manejar. ¿Eso lo convierte en una regla general? De ninguna manera. Algunas personas odian los BMW y * aman * Chryslers.

Las personas generalmente tienden a preferir Python porque la sintaxis es más elegante y menos detallada (pero no más críptica) que VB, y el hecho de que Python se ejecuta en muchos sistemas operativos diferentes, mientras que el código VB generalmente solo se ejecuta en Windows.

FWIW Odio Python y Visual Basic, y me han pagado por escribir código durante casi 14 años. ¿Eso significa que no soy programador? No lo creo.

Tengo un par de pensamientos sobre esto

  1. La tecnología puede estar tan impulsada por la moda del momento como la moda, la música o la filosofía prevaleciente del día. En este momento, es solo el tiempo de Python, todo es … lo que comenzó siendo pequeño y ha ido creciendo en popularidad y ahora tiene un zumbido. Cualquier programador que haya recurrido a Google para responder una pregunta le dirá que es mucho más fácil encontrar respuestas para cosas que todos usan, tienen experiencia y de las que están hablando.
  2. Es un idioma, y ​​los idiomas van y vienen y evolucionan. Si estamos en la antigua Roma y todas las personas leen y escriben en latín, entonces el latín es donde encontrarás más libros escritos. Quizás antes del latín, el griego era el idioma escrito más popular. Ambos idiomas pueden ser igual de expresivos y cada uno tiene sus propias peculiaridades, pero al final del día, puede ser difícil ser uno de los pocos que quedan que lee griego y no se ha subido al tren latino. O, lo que es más probable, las personas que solían leer / escribir en griego se han retirado, y cada vez más a los niños se les enseñó latín, que estaba de moda. Avance mil años y tal vez estén aprendiendo a leer y escribir inglés y el latín se está convirtiendo en un idioma muerto. O evolucionando al italiano. El punto es que la demanda de una habilidad puede ser relativa a la oferta, y estas habilidades cambian con el tiempo o por otras razones.
  3. Estoy cada vez más convencido de que, así como los diferentes lenguajes de programación tienen diferentes formas de hacer las cosas y “mirar el mundo”, también son adecuados para diferentes tipos de personas y su forma de pensar. Tal vez la “mentalidad” de Python se gela más naturalmente con más personas que programan. Por otra parte, tal vez su “mentalidad” está determinada tanto por su educación como por su personalidad. ¿Alguien ha realizado alguna vez un estudio de “naturaleza versus crianza”, o ha realizado una encuesta del tipo de personalidad contra el lenguaje de programación preferido? Los psicólogos han clasificado diferentes tipos de personas que utilizan sistemas como Myers-Briggs (MBTI) y han determinado que las personas de ciertos rasgos son más raras que otras. Por ejemplo, según este sitio (Tipo de personalidad), el 12% de la población son ESFJ, pero solo alrededor del 3% son INTP. Y dentro de un tipo dado, eventualmente identificaremos subtipos donde tendremos más de uno que del otro. Mi punto es que un lenguaje de programación o una forma de hacer las cosas podría ser mucho más “natural” y sin esfuerzo para las personas con ciertos rasgos, mientras que es ajeno y difícil para otro.

Para mí, que comencé a aprender programación en la escuela secundaria a principios de los años 80 y me enseñé BASIC y algo de ensamblaje en varias computadoras de 8 bits, luego aprendí Pascal en la escuela secundaria y la universidad, luego Visual Basic, PERL, JavaScript, VB.NET, C # , y así sucesivamente, ahora en mis 40 años encuentro que los nuevos lenguajes y métodos de programación son cada vez más extraños e innecesariamente complicados. Sé que los demás estarían en desacuerdo, pero esa es mi verdad subjetiva: soy tan capaz como el próximo tipo de escribir una aplicación de software que realiza la tarea x, y tal vez soy viejo y estoy en mi camino, pero para mí, Después de haber trabajado con varios lenguajes y paradigmas de programación a lo largo de los años, creo que VBA y Pascal son lenguajes capaces y fáciles de entender. Me gusta que VBA tenga algunos tipos fuertes, pero tienes la opción de usar una variante. Me gustan ciertas cosas sobre JavaScript, pero creo que podría ser un poco más fuerte en su escritura: declara variables sin un tipo, pero debajo del capó el lenguaje las almacena de forma mecanografiada. Eso parece un poco inconsistente. He hecho todo lo posible para escribir código para verificar y aplicar tipos en JavaScript, lo que me hizo más sano. Dicho esto, he intentado codificar en un lenguaje como Java, donde el tipeo se aplica de manera súper estricta y me resulta una molestia. Entonces, para mí, VBA encuentra un buen término medio. Me gusta la opción de hacer programación orientada a objetos en VBA, sin tener que meterme en locuras como las interfaces y el polimorfismo y lo que tienes que encuentras en .NET. Me gusta cómo puedes crear objetos simples en JavaScript pero también escribir código de procedimiento. Orientado a objetos, de procedimiento, mecanografiado, no mecanografiado, estos son solo paradigmas y mi cerebro tiene sus preferencias y ciertas cosas que puede manejar mejor. Luego tenemos programación funcional y diseño orientado a aspectos y Dios sabe qué más, y mi mente se apaga después de un tiempo … Memoria llena.

En algún momento alrededor de 2007, alguien me habló de Python … simplemente se entusiasmaron, cómo es el mejor. Cada vez escuchaba más sobre eso, y lo que la gente decía lo hacía parecer fácil e intuitivo, y una gran cosa para alguien como yo, proveniente de las secuencias de comandos VB, para aprender. Leí el zen de Python, los valores en los que supuestamente se basa el lenguaje, como “ Hermoso es mejor que feo . Explícito es mejor que implícito. Lo simple es mejor que lo complejo ”. ¡Y todo sonaba GENIAL! “¡Amén, inscríbeme!”, Dije.

Bueno, finalmente comencé a aprenderlo y descubro que no es tan bueno PARA MÍ. Encuentro lo que consideran bello, lo considero feo. Lo que ellos consideran explícito lo considero implícito. Por ejemplo, tratar con variables no tipadas simplemente apesta, es enloquecedor. He escuchado a la gente decir muchas veces que es más fácil, ni siquiera TRATE de imponer tipos, y simplemente detecte el error y maneje cualquier tipo de error que esté preparado para manejar, y eso me parece ridículo. No es cómo está conectado mi cerebro, supongo. Una vez más, tal vez soy viejo y establezco mis costumbres, o tal vez no soy tan rápido como la mayoría y necesito la red de seguridad de algunas variables fuertemente tipadas, o tal vez la forma en que mi cerebro ve y se relaciona con el mundo funciona mejor con un sistema diferente Además, cuanto más aprendo sobre Python, más me parece una religión organizada, llena de personas que saltan rápidamente sobre su código por no ser lo suficientemente “Pitón”, algo así como personas en ciertas religiones fundamentalistas que adoran algo por no ser “cristiano” (o inserte su religión de preferencia aquí).

De todos modos, para mí VBA no está roto, así que no lo arregles. En todo caso, me gustaría ver que el IDE esté más actualizado y tenga algunas de las mejores funciones que encontrará en Visual Studio.

Y prefiero construir sobre roca que sobre arena. Cada vez que sale un nuevo idioma, tienes que volver a aprender cómo hacer la misma basura que hiciste antes. Creo que es una locura y extremadamente imprudente. ¿Qué pasó con la compatibilidad con versiones anteriores, hermanos y hermanas? ¿Por qué reinventar la rueda una y otra vez? Prefiero usar un lenguaje antiguo y construir sobre todo lo que he hecho en él, para crear una nueva máquina, que aprender un nuevo idioma y tener que reconstruir todas las máquinas viejas antes de llegar a la nueva máquina. Usted no?

En la programación, parece que todos siempre defienden una nueva forma mejor y menosprecian la vieja forma, y ​​eso es solo la naturaleza. Los niños de Woodstock tenían su propia generación con sus propios estilos y valores diferentes a los de sus padres. Lo que me irrita cada vez más y hace que todo parezca tan inútil es que toda esta tecnología realmente hace la misma basura que siempre hizo: almacenar datos, compararlos y tomar decisiones al respecto. Sí, hay conjuntos de datos más grandes y nuevos tipos de problemas, pero al final todo se reduce a los mismos viejos y ceros, y a las personas que tienen que entenderlo. Así que creo firmemente que lo más importante es poner a disposición herramientas e idiomas que puedan * representar * el código y modelar el problema para que coincida con el panorama mental y la comprensión de las personas que trabajan en él. El tiempo de las personas es más importante que el tiempo de la máquina. También es más importante que el tiempo perdido por todas estas tecnologías compitiendo y compitiendo para ser el mejor perro, con nosotros como el roadkill y el daño colateral. Todos ustedes, gurús de Python y JavaScript, en 10 años cuando son los viejos y un nuevo lenguaje ha reemplazado lo que saben, pero ven que es solo un nuevo baile de meneo para hacer lo mismo de siempre, ¡lo descubrirán! (sacude el puño y saca la dentadura postiza)

Cínicamente tuyo, viejo informático 😛

Python a menudo se compara con otros lenguajes interpretados como Java, JavaScript, Perl, Tcl o Smalltalk. Las comparaciones con C ++, Common Lisp y Scheme también pueden ser esclarecedoras. En esta sección compararé brevemente Python con cada uno de estos lenguajes. Estas comparaciones se concentran solo en cuestiones de lenguaje. En la práctica, la elección de un lenguaje de programación a menudo está dictada por otras restricciones del mundo real, como el costo, la disponibilidad, la capacitación y la inversión previa, o incluso el apego emocional. Dado que estos aspectos son muy variables, parece una pérdida de tiempo considerarlos mucho para esta comparación.

Java

En general, se espera que los programas Python se ejecuten más lentamente que los programas Java, pero también requieren mucho menos tiempo para desarrollarse. Los programas Python son típicamente 3-5 veces más cortos que los programas Java equivalentes. Esta diferencia se puede atribuir a los tipos de datos de alto nivel integrados de Python y su tipificación dinámica. Por ejemplo, un programador de Python no pierde el tiempo declarando los tipos de argumentos o variables, y la poderosa lista polimórfica de Python y los tipos de diccionario, para los cuales se incorpora un rico soporte sintáctico directamente en el lenguaje, encuentran un uso en casi todos los programas de Python. Debido a la tipificación en tiempo de ejecución, el tiempo de ejecución de Python debe trabajar más duro que el de Java. Por ejemplo, al evaluar la expresión a + b, primero debe inspeccionar los objetos a y b para descubrir su tipo, que no se conoce en el momento de la compilación. Luego invoca la operación de adición apropiada, que puede ser un método sobrecargado definido por el usuario. Java, por otro lado, puede realizar una suma eficiente de números enteros o de coma flotante, pero requiere declaraciones variables para a y b, y no permite la sobrecarga del operador + para instancias de clases definidas por el usuario.

Por estas razones, Python es mucho más adecuado como lenguaje de “pegamento”, mientras que Java se caracteriza mejor como un lenguaje de implementación de bajo nivel. De hecho, los dos juntos hacen una excelente combinación. Los componentes se pueden desarrollar en Java y combinar para formar aplicaciones en Python; Python también se puede usar para prototipar componentes hasta que su diseño se pueda “endurecer” en una implementación de Java. Para admitir este tipo de desarrollo, se está desarrollando una implementación de Python escrita en Java, que permite llamar al código de Python desde Java y viceversa. En esta implementación, el código fuente de Python se traduce al código de bytes de Java (con la ayuda de una biblioteca en tiempo de ejecución para admitir la semántica dinámica de Python).

Javascript

El subconjunto “basado en objetos” de Python es aproximadamente equivalente a JavaScript. Al igual que JavaScript (y a diferencia de Java), Python admite un estilo de programación que utiliza funciones y variables simples sin involucrarse en las definiciones de clase. Sin embargo, para JavaScript, eso es todo lo que hay. Python, por otro lado, admite la escritura de programas mucho más grandes y una mejor reutilización del código a través de un verdadero estilo de programación orientado a objetos, donde las clases y la herencia juegan un papel importante.

Perl

Python y Perl provienen de un entorno similar (secuencias de comandos Unix, que han superado durante mucho tiempo), y tienen muchas características similares, pero tienen una filosofía diferente. Perl enfatiza el soporte para tareas comunes orientadas a aplicaciones, por ejemplo, al tener incorporadas expresiones regulares, escaneo de archivos y características de generación de informes. Python enfatiza el soporte para metodologías de programación comunes como el diseño de estructura de datos y la programación orientada a objetos, y alienta a los programadores a escribir código legible (y por lo tanto mantenible) al proporcionar una notación elegante pero no demasiado críptica. Como consecuencia, Python se acerca a Perl pero rara vez lo supera en su dominio de aplicación original; Sin embargo, Python tiene una aplicabilidad mucho más allá del nicho de Perl.

Tcl

Al igual que Python, Tcl se puede usar como un lenguaje de extensión de aplicación, así como un lenguaje de programación independiente. Sin embargo, Tcl, que tradicionalmente almacena todos los datos como cadenas, es débil en las estructuras de datos y ejecuta código típico mucho más lento que Python. Tcl también carece de las características necesarias para escribir programas grandes, como espacios de nombres modulares. Por lo tanto, mientras que una aplicación grande “típica” que usa Tcl generalmente contiene extensiones Tcl escritas en C o C ++ que son específicas de esa aplicación, una aplicación Python equivalente a menudo se puede escribir en “Python puro”. Por supuesto, el desarrollo puro de Python es mucho más rápido que tener que escribir y depurar un componente C o C ++. Se ha dicho que la única cualidad redentora de Tcl es el kit de herramientas Tk. Python ha adoptado una interfaz para Tk como su biblioteca de componentes GUI estándar.

Tcl 8.0 aborda la velocidad de emisión al proporcionar un compilador de código de bytes con soporte de tipo de datos limitado y agrega espacios de nombres. Sin embargo, sigue siendo un lenguaje de programación mucho más engorroso.

Charla

Quizás la mayor diferencia entre Python y Smalltalk es la sintaxis más “convencional” de Python, lo que le da una ventaja en la capacitación de programadores. Al igual que Smalltalk, Python tiene tipeo y enlace dinámicos, y todo en Python es un objeto. Sin embargo, Python distingue los tipos de objetos integrados de las clases definidas por el usuario, y actualmente no permite la herencia de los tipos integrados. La biblioteca estándar de tipos de datos de recolección de Smalltalk es más refinada, mientras que la biblioteca de Python tiene más facilidades para lidiar con realidades de Internet y WWW como correo electrónico, HTML y FTP.

Python tiene una filosofía diferente con respecto al entorno de desarrollo y distribución de código. Donde Smalltalk tradicionalmente tiene una “imagen del sistema” monolítica que comprende tanto el entorno como el programa del usuario, Python almacena los módulos estándar y los módulos de usuario en archivos individuales que se pueden reorganizar o distribuir fácilmente fuera del sistema. Una consecuencia es que hay más de una opción para adjuntar una interfaz gráfica de usuario (GUI) a un programa Python, ya que la GUI no está integrada en el sistema.

C ++

Casi todo lo dicho para Java también se aplica a C ++, solo que más: donde el código de Python es generalmente 3-5 veces más corto que el código equivalente de Java, ¡a menudo es 5-10 veces más corto que el código equivalente de C ++! La evidencia anecdótica sugiere que un programador de Python puede terminar en dos meses lo que dos programadores de C ++ no pueden completar en un año. Python brilla como un lenguaje de pegamento, usado para combinar componentes escritos en C ++.

Lisp común y esquema

Estos lenguajes están cerca de Python en su semántica dinámica, pero son tan diferentes en su enfoque de la sintaxis que una comparación se convierte casi en un argumento religioso: ¿la falta de sintaxis de Lisp es una ventaja o una desventaja? Cabe señalar que Python tiene capacidades introspectivas similares a las de Lisp, y los programas de Python pueden construir y ejecutar fragmentos de programas sobre la marcha. Por lo general, las propiedades del mundo real son decisivas: Common Lisp es grande (en todos los sentidos), y el mundo Scheme está fragmentado entre muchas versiones incompatibles, donde Python tiene una implementación única, gratuita y compacta.

Yo no.

Quiero decir, me encanta Python, y no me suscribo a la suposición de que “todos los idiomas son iguales”.

Pero creo que VB es (o más bien solía ser) un lenguaje bastante bueno para el nicho que estaba destinado a llenar:

– escriba programas simples de Windows rápidamente (en un momento en que Windows era nuevo y complicado y la única alternativa era C / C ++)

– Diseñe la GUI gráficamente (una rareza en ese momento, pero algo que todos amamos de HyperCard)

– use BASIC, el lenguaje que casi todos conocían, porque lo aprendieron en la escuela en la década de 1980 en las computadoras hogareñas de 8 bits de Apple, Commodore, Acorn / BBC, Sinclair, etc.

Hoy BASIC no es familiar porque los lenguajes tipo C, y luego Python / Ruby se hicieron populares. Especialmente Python para la enseñanza. Así que “lucir como BÁSICO” ahora se ve completamente anticuado, torpe y detallado. Pero fue un azúcar sintáctico perfectamente sensible para los años 90. Y fue mucho más fácil para la programación informal que los lenguajes derivados de C o Pascal.

Otro pensamiento que escribí aquí hace unos 10 años.

(En mi humilde opinión) Los programadores reales no tienen preferencias de idioma. Son independientes del lenguaje y fanáticos de los algoritmos / mejores prácticas / arquitecturas / modelos / marcos. Cada idioma tiene sus propios casos de uso y ecosistema, la preferencia es irrelevante cuando programa profesionalmente.

Java y C # son mi preferencia. Pero, escribo un código para pagar las facturas, no porque prefiera Java a C # …

Supongo que está comparando Python con VBScript. Estas son las ventajas que ofrece Python sobre VBScript.

  • Python es de código abierto y portátil con implementaciones sólidas en Mac OS, Linux y Windows
  • Python tiene un rico conjunto de bibliotecas de terceros que le permiten integrarse con todo, desde los almacenes de datos de Amazon S3 hasta Google Maps. Este es un código bien soportado que tendrías que escribir tú mismo
  • Python está orientado a objetos
  • Python tiene muchos marcos web para elegir (por ejemplo, Django, Falcon, etc.)
  • El lenguaje es menos detallado de VBScript
  • Existen compiladores nativos para Python

En todos los sentidos, puedo pensar que Python es una opción superior a VBScript.


Python probó que un lenguaje puede ser a la vez, fácil y poderoso.
VB fue creado como una manera fácil de escribir programas simples, pero no era poderoso y se parecía mucho a un lenguaje de juguete para los no programadores.
Python es tan fácil como VB o más, y también es extremadamente flexible, lo que permite al programador acercarse a sus scripts en cualquier paradigma que les parezca conveniente: de procedimiento, orientado a objetos, funcional o cualquiera de esos mixtos.

En Python:

  • las cosas fáciles son fáciles
  • las cosas difíciles son difíciles
  • cosas atípicas son posibles con la aplicación adecuada de la magia

En VB:

  • cosas fáciles son extremadamente fáciles
  • Las cosas difíciles o atípicas son imposibles.

Varias veces intenté hacer cosas en VB que eran típicas en otros idiomas, mientras que en VB intentar que funcionara me dio una frustración infinita.

Después de varias experiencias como esta, comencé a rechazar trabajar con VB.

Hoy en día, cuando alguien menciona vb, supongo que se refieren a VB.NET que se compila en el mismo MSIL que C #.

Como un tipo .NET, todavía tengo que ver cómo Python resuelve un problema que no podría atacar con algún código .NET.

El ‘viejo’ vb6 y vba se considera obsoleto y ya no se debe usar.

No me gusta VB (pero creo que los otros lenguajes de Microsoft, como C # son casi perfectos), y creo que Python es * OK *. Prefiero Python a VB, pero eso es todo.

Python es un lenguaje decente, pero el concepto de espacio en blanco es importante para mí. La última vez que revisé el subprocesamiento múltiple es un no-no, lo cual está bien para cosas del servidor, ya que puede hacer pasar mensajes y cosas, pero para cosas de escritorio receptivas, está lejos de ser excelente, el costo de instanciación de un proceso de Python podría ser demasiado Excelente.

Python es un lenguaje de script rápido y agradable, pero no está lo suficientemente tipeado para mí para grandes proyectos.

VB, para mí, no tiene ningún propósito real, excepto para las personas que ya lo saben y se sienten cómodas con él. Si recién comienza a desarrollar Windows, C # es una apuesta mucho mejor.

Debido a que Python es un lenguaje de programación muy fácil de aprender y usar, también tiene bibliotecas sólidas, no siempre uso Python para mis proyectos por una razón, porque tienes que descargar e instalar diferentes módulos y bibliotecas cuando los necesitas, y establecer RUTA y realizar algunas tareas de limpieza de línea de comandos antes de poder usar sus nuevos módulos.

Gee, ¿me estás tomando el pelo? Python es multiplataforma, sexy y potente. Visual Basic ni siquiera está calificado como lenguaje de programación en mi humilde opinión. He usado los dos y corrí a Python porque puedo lograr mucho en pequeñas líneas. 🙂

Esa afirmación no es del todo cierto. Pero seguro que Python es sexy, multiplataforma con gran apoyo académico. ¿Quieres invertir una cuerda? reversedString = string [:: – 1]