¿Cual es mejor lenguaje de programación para aprender?


Hay muchas comunidades potenciales que podrían ser encuestadas para este análisis. aunque GitHub y Stack Overflow se utilizan en casi en casi todos los análisis que vamos  a ver  debido indudablemente a su voluntaria,   pero  también a su grandisma exposición pública de los datos necesarios para el análisis.

Asimismo, todas las clasificaciones numéricas deben tomarse con sumo cuidado, porque estas  pueden ser sustancialmente menos relevantes que la agrupación de  lenguajes de programación (en muchos casos, un lugar en la lista no es distinguible del siguiente).

De todos modos  la separación entre los niveles de lenguajes en la trama, sin embargo, es generalmente representativa de las diferencias sustanciales en la popularidad relativa.
Además, cuanto más abajo en los rankings un lenguaje  de programacion  va, menos datos hay disponibles para clasificar los lenguajes.

Más allá de los niveles superiores de lenguajes, dependiendo de la instantánea, la cantidad de datos a evaluar es mínima, y ​​la ubicación real de los lenguajes se vuelve menos confiable cuanto más adelante en la lista se avanza. De   todos modos  aunque  todos estas listas no puedan ser exactas al 100% ,estos rankings que vamos a ver son una buena referencia para entender como se están construyendo actualmente lo sistemas actuales ofreciéndonos una  idea  de cuales son las tecnologías preferidas

 

Ranking de PYPL

El índice de popularidad de PYPL se crea al analizar la frecuencia con la que se buscan los tutoriales de idiomas en Google.

Cuanto más se busca un tutorial de idioma, más popular se supone que es el lenguaje de   programacion , asi  que es un indicador adelantado dado que. ls datos brutos provienen de Google Trends.

Si cree en la sabiduría colectiva, el índice de Popularidad del Lenguaje de Programación de PYPL puede ayudarle a decidir qué lenguaje de programacion estudiar o cuál usar en un nuevo proyecto de software.

Lista mundial en  Abril de  2018 comparado   con datos un año  hacia atrás :

Rank Change Language Share Trend
1 Java 22.62 % -0.8 %
2 Python 22.05 % +5.2 %
3 Javascript 8.56 % +0.2 %
4 PHP 8.22 % -1.8 %
5 C# 7.95 % -0.7 %
6 C 6.38 % -1.1 %
7 R 4.26 % +0.4 %
8 Objective-C 3.7 % -1.0 %
9 Swift 2.92 % -0.6 %
10 Matlab 2.31 % -0.4 %
11 Ruby 1.7 % -0.4 %
12 TypeScript 1.58 % +0.5 %
13 VBA 1.39 % +0.0 %
14 Visual Basic 1.27 % -0.3 %

Ranking de GitHut

GitHut  asociado al famoso repositorio  de codigo  Github     también tiene su propio ranking

El ganador  sin duda  es   #1(26,5%)  Javascript  desarrollado  originalmente por Netscape en 2002.  A pesar de tener nombres similares, Javascript no está relacionado con Java como todos sabemo

JavaScript (abreviado como js) es un lenguaje de programación interpretado  orientado a objetos ​ basado en prototipos, imperativo, débilmente tipado y dinámico.

Se ha estado  usando  años a tras  principalmente en su forma del lado del cliente , implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas , pero  actualmente ha tomado mucha transcendencia , y de ahi  su posición en este ranking  debido a su facilidad de uso en el lado del servidor(Server-side JavaScript o SSJS)

A  partir de mediados de la década de los 2000, ha habido una proliferación de implementaciones de JavaScript para el lado servidor. Node.js es uno de los notables ejemplos de JavaScript en el lado del servidor, siendo usado en proyectos importantes

# Ranking

Programming Language

Percentage (Change)

Trend

1 JavaScript
22.947% (-2.606%)
2 Python
16.127% (+0.848%)
3 Java
9.960% (+0.001%)
4 Go
7.236% (+1.238%)
5 Ruby
6.732% (+0.237%)
6 C++
6.423% (+0.779%)
7 PHP
6.094% (-1.242%)
8 TypeScript
4.807% (+1.999%)
9 C#
3.375% (-0.647%)
10 C
2.890% (-0.442%)
11 Shell
2.327% (+0.146%)
12 Scala
1.406% (-0.011%)
13 Swift
1.168% (-0.025%)

githut.PNG

Ranking  de Stack Overflow

Stack Overflow es uno de los  sitios de preguntas y respuestas mas famosos   para programadores de todo el mundo .  Gracias a ello este  ranking  rastrea los lenguajes más populares en su encuesta anual para desarrolladores. Para el informe de 2018, Stack Overflow obtuvo respuestas de más de 100.000 desarrolladores, lo que lo convierte en un buen vistazo a las tecnologías más populares entre programadores.

Esto es lo que hay en la lista:

  • #1: Javascript: A pesar de tener nombres similares, Javascript no está relacionado con Java. Permite a los desarrolladores crear elementos interactivos en los sitios web, convirtiéndolo en uno de los lenguajes más omnipresentes de la web y el más popular del mundo.
  • #2: HTML: Aunque técnicamente no es un lenguaje de programación – es un “lenguaje de marcas” – HTML es la base para la estructura de cada sitio web.
  • #3: Cascading Style Sheets, o CSS: el lenguaje de programación más utilizado para diseñar sitios web y aplicaciones basadas en navegadores.
  • #4: SQL: Structured Query Language (Lenguaje de consulta estructurado). Permite tratar grandes cantidades de datos mediante el acceso y la gestión de bases de datos. La mayoría de las veces se usa en conjunción con otro lenguaje, como PHP.
  • #5: Java: Java fue inventado originalmente por Sun Microsystems en 1991 como lenguaje de programación para sistemas de televisión interactiva. Desde la compra de Sun, Oracle ha convertido a Java en una potencia. El lenguaje de programación es la forma más común de construir aplicaciones Android.
  • #6: Bash/Shell: Shell no es exactamente un lenguaje de programación. En su lugar, un script de shell instruye a un sistema operativo para que ejecute automáticamente una lista prediseñada de comandos. Por ejemplo, un script shell puede hacer que un sistema operativo convierta cada archivo “.bmp” en un “.jpg” siempre que se ejecute.
  • #7: Python: Python data de 1989 y es amado por sus fans por su código altamente legible. Muchos programadores creen que es el lenguaje más fácil de usar.
  • #8: C#: Este lenguaje, pronunciado “C-Sharp”, fue desarrollado por Microsoft. Es un rival al aún más popular Java y ampliamente utilizado por los desarrolladores de software empresarial.
  • #9: PHP se utiliza para sitios web y aplicaciones que son pesados en datos. Incluso alimenta WordPress y Facebook. Pero muchos programadores odian PHP con pasión. “PHP no es tanto un lenguaje como una colección aleatoria de cosas arbitrarias, una explosión virtual en la fábrica de palabras clave y funciones”, escribió Jeff Atwood, fundador de Stack Overflow.
  • #10: C++ es una rama del lenguaje de programación C. Fue creado originalmente en 1983, y se puede encontrar en todo, desde aplicaciones web de escritorio hasta infraestructura de servidores.
  • #11: C, uno de los lenguajes de programación más antiguos aún en uso común, fue creado a principios de la década de los 70. En 1978, el legendario manual del lenguaje, “The C Programming Language”, fue publicado por primera vez.
  • #12: Typescript es relativamente joven según los estándares de lenguajes de programación. Lo creó Microsoft en 2012. Está estrechamente relacionado con el mega-popular JavaScript y diseñado para ejecutar grandes aplicaciones.
  • #13: Ruby ha ganado muchos elogios por ser fácil de leer y escribir. También es popular Rails, un framework complementario para Ruby que facilita la creación de aplicaciones web. El lema oficial de la lengua es “El mejor amigo de un programador”.
  • #14: Swift fue lanzado por Apple 2014, promocionado como una mejor y más fácil manera de construir software. Swift se ha puesto de moda; Lyft, entre otros, lo utilizó para hacer su aplicación para iPhone.

Ranking de RedMonk

Redmonk   sigue un proceso básico similar  a los anteriores : extraen clasificaciones de idiomas de GitHub y Stack Overflow, y combinan  una clasificación que intente reflejar la tracción de código (GitHub) y discusión (desbordamiento de pila). La idea no es ofrecer una representación estadísticamente válida del uso actual, sino más bien correlacionar la discusión y el uso del lenguaje en un esfuerzo por extraer ideas sobre posibles tendencias futuras de adopción.

La fuente de datos utilizada para estas consultas es el archivo GitHub. Consultan lenguajes de  programación  por solicitud de extracción de una manera similar a la que usó GitHub para ensamblar el Estado del Octoverse 2016.

En el lado positivo, en este ranking  también eliminan  la queja más común con respecto a los rankings históricamente: que las mediciones por repositorio pueden sobreestimar la importancia de un lenguaje determinado(JavaScript, con mayor frecuencia).

Para ser incluido en este análisis, un lenguaje debe ser observable dentro de GitHub y Stack Overflow.

Con todas las consideraciones  aquí está la trama del primer trimestre para 2018.

http://sogrady-media.redmonk.com/sogrady/files/2018/03/lang.rank_.118.png

 

No se hacen afirmaciones aquí de que estos rankings sean representativos del uso general más amplia mente. No son nada más ni nada menos que un examen de la correlación entre dos poblaciones que creen que son predictivas del uso futuro, de ahí su valor.

 

Es difícil  dar un prevision a futuro del uso de cada lenguaje,pero desde luego lo que ya nadie duda es que Java va perdiendo cada vez mas protagonismo, protagonismo que va lentamente reemplazado por otros lenguajes como  Javascript  , Python  , Ruby  o C#

 

Anuncios

Desarrollo de aplicaciones para Android completamente en Python


En la conferencia EuroPython en Florencia, Italia, dio  una jornada de formación  de medio día sobre el desarrollo de aplicaciones Python en Android. En total fue de 240 minutos de duración y se llevó a cabo el martes 03 de julio 2012 a las 09:00.


Crédito de la foto: Stefan Kögl

El objetivo de estas jornadas   era mostrar cómo empezar a desarrollar aplicaciones Android completos utilizando sólo Python. Diferentes tecnologías fueron  mostrados, incluyendo a base de PySide QML interfaces gráficas de usuario utilizando el puerto Necessitas Qt y el enfoque basado en SL4A Py4A /, que se puede combinar con WebKit y reutilizar los marcos Python web de Android.

Mientras que Android ya tiene una buena SDK fuera de la caja, poder utilizar Python en lugar de Java es una gran ventaja para algunos desarrolladores – que permite tiempos de respuesta más rápidos, y la reutilización de las bibliotecas de Python. Python en Android usa una acumulación CPython nativo, por lo que su rendimiento y compatibilidad es muy bueno. Combinado con PySide (que utiliza una compilación nativa Qt) y el apoyo de Qt para la aceleración OpenGL ES, puede crear interfaces de usuario fluida incluso con Python.

Las aplicaciones basadas en PySide resultantes se ejecutan en Android, pero también, al menos en Mac OS X, Windows, Linux y Maemo y MeeGo – básicamente todas las plataformas en las que Qt está disponible. Los / las aplicaciones basadas en Py4A SL4A se ejecutan en Android solo, pero será capaz de utilizar las API de Android-específicos. Ambos enfoques pueden combinarse también.

Descargas Código

Prepárese

Para empezar, tienes que descargar algunos paquetes a su ordenador principal, para que pueda desarrollar y desplegar sus paquetes de Python para su dispositivo Android:

Video (segunda parte solamente)

Desafortunadamente, debido a problemas técnicos, la primera parte del vídeo no está disponible en línea. La segunda parte se puede encontrar aquí:

Las preguntas de la ruptura

Cómo instalar el emulador de Android

No se olvide de instalar las “Herramientas de la plataforma Android” a través de $SDK/tools/android !

  1. http://developer.android.com/tools/devices/
  2. $ SDK / herramientas / androide avd # “dispositivos virtuales android”
  3. crear emulador
  4. iniciar emulador
  5. “Adb devices” muestra emulador también

Dónde obtener SL4A para su dispositivo Android

A continuación, para instalar a través de adb:

  adb instalar Descargas / sl4a_r5.apk
 adb instalar Descargas / PythonForAndroid_r5.apk

Cómo instalar PySide en Mac OS X

Vea las instrucciones en el Proyecto Wiki Qt: Binarios PySide para Mac OS X

Otras instrucciones útiles

Ctypes de Construcción para el PGS4A

  hg clone https://code.google.com/p/android-python27/

Mira en README, copie el entorno configuración de la variable + arreglar caminos:

  environment.sh fuente
 bootstrap.sh fiesta
 build.sh fiesta
 / / lib.linux-i686-2.7 / _ctypes.so / ruta de compilación cp Python / a / pgs4a / private /
 cp -rpv Python / lib / ctypes ~ / src / pgs4a-0.9.4 / private / lib /
 cd / ruta / a / pgs4a /
 rm -rf / ctypes / test / lib privado

Ejecución de Python desde shell ADB

  /data/data/com.googlecode.pythonforandroid/files/python/bin cd
 export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /data/data/com.googlecode.pythonforandroid/files/python/lib

Notas PGS4A

  • Cambio “android-8” a “android-15” para instalar la plataforma adecuada
  • Enlace simbólico “android-15” de SDK de Android en pgs4a / android-sdk / plataformas
  • Para inicializar: python android.py configure mygame (escribirá un archivo .android.json )
  • Para construir y desplegar: python android.py build mygame release install

Notas Py4A

  http://code.google.com/p/python-for-android/wiki/BuildingPython
 exportación ANDROID_NDK = ~ / pkg / android-ndk-r8 /
 export PATH = $ PATH: $ ANDROID_NDK: $ ANDROID_NDK / toolchains / arm-linux-androideabi-4.4.3 / prebuilt / linux-x86 /

Enlaces

 

 

Fuente  aqui

Pequeña placa con Python integrado


Esta pequeña placa llamada Micro Python  basada en un ARM Cortex-M4 STM32F405RG de 32bits y corriendo a 168 MHz integra un interprete python  en tan solo unos pocos centímetros.

Comparado con otras alternativa como PyMite (capaz de ejecutar el interprete de Pyhton en micro controladores de 8bits), esta pequeña placa promete ser muy interesante     aunque lamentablemente no han integrado un interfaz ethernet ni WIFI   ,aunque  en tan diminuto espacio  tenemos 2 puertos SPI, 2 x CAN, 2x I2C, 5 puertos USART a la vez que 30 pines I/O y un pequeño zócalo para tarjetas de memoria Micro SD para almacenamiento.

Micro Python es  un proyecto financiado a través de una campaña de Kickstarter (visite la página de Kickstarter para más detalles).

Micro Python: Python for microcontrollers -- Kicktraq Mini

Micro Python es una implementación de la Python 3 lenguaje de programación que está optimizado para funcionar eficientemente en microcontroladores incluyendo un parser, compilador, máquina virtual completa y el sistema de tiempo de ejecución. Ademas el compilador puede compilar a código de bytes o código máquina nativo (más el uso de memoria, pero una ejecución más rápida), seleccionable por función. Asimismo también es compatible con ensamblador.

Micro Python actualmente soporta procesadores ARM de 32 bits con el conjunto de instrucciones v2 Pulgar, como la gama Cortex-M que se utilizan en los microcontroladores de bajo costo. Ha sido probado en un chip STM32F405.

Micro Python tiene las siguientes características:

  • La plena aplicación de la gramática Python 3.
  • Implementa un analizador léxico, el analizador, compilador, máquina virtual y en tiempo de ejecución.
  • Código Python se compila a un código de bytes comprimido que se ejecuta en la máquina virtual incorporada.
  • El uso de memoria se reduce al mínimo mediante el almacenamiento de objetos de formas eficientes. Los enteros que caben en 31-bits no asignan un objeto en el montón, y así lo requieren memoria sólo en la pila.
  • El uso de decoradores, las funciones pueden ser opcionalmente compilados a código máquina nativo, que tiene más memoria, pero se ejecuta alrededor de 2 veces más rápido que el código de bytes. Estas funciones siguen implementar el lenguaje Python completo.
  • Una función también puede ser opcionalmente compilado asumir que todos los objetos son enteros y así funcionar a velocidades cercanas a la de una función de C equivalente, pero con compatibilidad reducida para el lenguaje Python.
  • Una implementación de ensamblador en línea permite un acceso completo a la máquina subyacente.

La placa MicroPython  es una placa de desarrollo basado en el microcontrolador STM32F405 que correMicro Python. Mide 33 x 40 mm.

Cuenta con una interfaz USB integrado que se presenta como un dispositivo serie (puerto de comunicaciones virtuales) y un dispositivo de almacenamiento extraíble. Cuando se conecta a un ordenador, puede copiar los scripts de Python al sistema de archivos local de la placa , que luego se ejecuta. El dispositivo serie USB dirige stdin / stdout del script Python para su PC.

Alimentado por una batería, la tarjeta puede compilar y ejecutar scripts de Python y sin conexión a ninguna PC. Hay una ranura microSD para almacenar grandes cantidades de datos, 2 LEDs, un conmutador, un acelerómetro, y 30  E / S pins de uso general . Los pines de E / S son: 4 USART, 2 SPI, 2 buses I2C, 14 pines ADC, 2 pins del CAD, y 4 puertos de servo con el poder.

La placa  Micro Python es adecuada para todos, independientemente de los conocimientos en hardware o software. Con unas pocas líneas de código Python en un archivo de texto, cualquier persona puede comenzar a parpadear LEDs y responder a las acelerómetro de entrada sin necesidad de soldaduras o componentes de conexión.

Micro Python y la placa de de Micro Python están actualmente en desarrollo, y estarán disponibles pronto bajo una licencia de código abierto.

Fuente aqui