TODOPIC
Misceláneas - Interés General => Off Topic => Mensaje iniciado por: planeta9999 en 22 de Marzo de 2015, 23:44:07
-
Según Quartz esta es la lista de lenguajes de programación mejor pagados en USA (menudo pedazo salarios tienen los americanos).
Me llama la atención el primero de la lista porque es la primera vez en mi vida que se de su existencia, parece que se usa para programar páginas web, pues yo me quedo con mi PHP y mi Joomla.
El segundo (Objetive-C), buscando en Wikipedia resulta interesante porque en 1992 fue liberado bajo licencia GPL para el compilador GCC, vamos bien, yo estoy tocándolo tanto para Raspberry y Beaglebone, como para los ARM STM32.
Me sorprende también el tercero, Python, siendo un lenguaje intérprete, parece que vamos para atrás como los cangrejos, a la época del BASIC intérprete que daban con MS-DOS. El resto me parece bien, sobre todo el posicionamiento del C++, aunque debería estar por delante de JAVA.
1. Ruby on Rails – 109.460 dólares ( 95.267,55 euros)
2. Objective C – 108.225 dólares ( 94.1925 euros)
3. Python – 100.717 dólares ( 87.6740 euros)
4. JAVA – 94.908 dólares ( 82.6172 euros)
5. C++ – 93.502 dólares ( 81.3530 euros)
6. JavaScript – 91.461 (79.5772 euros)
7. C – 90.134 dólares ( 78.4009 euros)
8. R- 90.055 dólares (78.3322 euros)
9. C# – 89.074 dólares ( 77.4660 euros)
10. Visual Basic – 85.962 dólares (74.7595 euros)
11. SQL – 85.511 dólares ( 74.4069 euros)
12. PERL – 82.513 dólares (71.7982 euros)
Sin embargo, en España, uno de los lenguajes con más demanda profesional sería ABAP, según ESADE.
-
Ruby on rails esta de hace mucho.. tiene una programacion parecida al perl a mi parecer. Quise adentrarme en un tiempo, pero por esos momentos pesaba mas PHP / python / perl , y es como que fui a PHP.
Con respecto a PHP he leido en conversaciones de chat de gente que se dedica a la seguridad informatica como que tenian muchos problemas. Por eso se decantan por otros pero aun asi es lo mas difundido, y yo tambien lo eh usado para una pagina que se manejaba con PHPBB, hice unos modulos para foro PHPBB y alguna que otra cosa para jugar en mi PC pero todo hobbista.
Objective C realmente lo escuche y mucho pero nunca lo vi
Y python es muy utilizado, especilamente en todos los exploits (aunque tambien estan perl y ruby), es muy versatil y tambien hasta me sorprendio como hacer algunas cosas que lo hacian mas simple una ves que te manejabas con el mismo (hace tanto que no lo toco que no recuerdo mucho). solo hice un bot IRC con sockets y SQL, nada del otro mundo.
Javascript, toque algo con AJAX, y tmb supe hacer una pagina para un juego, en el que tenian que distribuir alimentos y armas, entonces utilizaba de DB una tabla de excel de Google Docs, y proporcionaba una interfaz a las personas que lo repartian, anotaba todos los movimientos en comentarios y permitia la edicion del mismo. Era casi una pagina aparte que manejaba esas hojas de datos
Google Docs permite el uso de scripts para un llenado automatico de celdas programado con javascript, incluse provee una "pagina" en el que diseñas la interfaz grafica y podes asignar funciones a cada elemento.
el que no tengo ni la menor idea es :
8. R- 90.055 dólares (78.3322 euros)
Y ABAP ni se que es
-
R es para análisis de datos. Yo lo descubrí hace unos meses y recientemente estuve tentado de apuntarme a un curso de edX que lo utiliza, pero finalmente lo he desestimado por falta de tiempo
http://es.wikipedia.org/wiki/R_%28lenguaje_de_programaci%C3%B3n%29
https://www.edx.org/course/analytics-edge-mitx-15-071x-0#.VQ-whPmG-Fk
-
Yo si los conocia todos, y alguno mas que no esta, supongo que es por que se han especializado en PLCs.
Me sorprende también el tercero, Python, siendo un lenguaje intérprete, parece que vamos para atrás como los cangrejos, a la época del BASIC intérprete que daban con MS-DOS. El resto me parece bien, sobre todo el posicionamiento del C++, aunque debería estar por delante de JAVA.
No es que vayamos para atras, los lenguajes interpretados como Phyton y JAVA, a pesar de ser menos potentes y rapidos, cumplen que son totalmente portables de una maquina a otra, toda maquina que tenga el interprete puede leer el codigo, a diferencia de los lenguajes compilados, el cual hay que compilarlo para el dispositivo en el que vaya a funcionar.
Un ejemplo claro es Minecraft, que esta escrito en JAVA ( no es el mejor lenguaje para un juego) pero ha sido portado a casi todas las plataformas gracias a eso.
Por cierto Phyton esta ganando gran popularidad, sobre todo para sistemas operativos opensource, que es donde hay mas software. se utiliza muchisimo y da muy buenos resultados. Muchas herramientas ofrecen crear scrip en lenguaje phyton para añadir funcionalidad. Un ejemplo Claro es blender, y algun editor de diseños en 3D
-
Huy lo que has dicho planeta :shock: ...
Vaya por delante que Python es casi mi Santo Patrón. Ese al que le pido ayuda cuando las cosas van mal y en el que tengo una fe ciega.
Luego te comento sus ventajas.
Los lenguajes interpretados de hoy se parecen al basic como una ameba a un mamífero.
Aquí otras estadísticas sobre popularidad de los lenguajes, que dan otra visión del asunto:
http://langpop.com
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Un lenguaje puede estar bien pagado y, sin embargo, ser poco utilizado. De manera que la popularidad me parece un dato más interesante.
Los lenguajes interpretados más utilizados hoy en día creo que son Perl, PHP, Python, Ruby, Lua y Forth.
De todos ellos Ruby y Python son los más elegantes y potentes. Son muy semejantes, pero Python tiene un enfoque que le permite encarar mejor grandes proyectos en los que el mantenimiento es importante. Python intenta hacer las cosas de una sóla manera, Ruby intenta que la programación se pueda hacer de muchas maneras.
Como resultado Ruby es más divertido, pero menos mantenible.
A tí en concreto creo que el lenguaje interpretado que más te va a gustar es LUA. Echale un vistazo a la implementación para microcontroladores eLua, que ocupa sólo 35kB
de flash y se puede combinar con C y Assembler.
Saludos.
-
Huy lo que has dicho planeta :shock: ...
Lo imaginaba (http://www.gp32spain.com/foros/images/smilies/smilie_ametralladora.gif)
Vaya por delante que Python es casi mi Santo Patrón. Ese al que le pido ayuda cuando las cosas van mal y en el que tengo una fe ciega.
Luego te comento sus ventajas.
Si será muy bonito, y precisa menos instrucciones para hacer lo mismo que otros lenguajes, pero es intérprete. Otra cosa es que fuera bonito y compilado como el C#.
Los lenguajes interpretados de hoy se parecen al basic como una ameba a un mamífero.
No comparo lenguaje a lenguaje, solo el hecho de que ambos son intérpretes.
Aquí otras estadísticas sobre popularidad de los lenguajes, que dan otra visión del asunto:
http://langpop.com
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Un lenguaje puede estar bien pagado y, sin embargo, ser poco utilizado. De manera que la popularidad me parece un dato más interesante.
Depende, si es para alguien con miras profesionales, le puede interesar más saber que Ruby está mejor pagado que C, aunque C sea más popular. Además probablemente por ser más popular un lenguaje, el mercado estará más saturado y se pagará menos.
Yo hace tiempo fuí informático de sistemas AS400 de IBM durante 20 años, y casí nunca me faltó empleo, sin embargo los programadores de PC lo tenían más crudo y cobraban menos, ¿ que era más popular el RPGIII de IBM o el Basic de PC ?, seguro que el segundo, pero estaba mucho peor pagado, y había mucha más competencia para encontrar empleo, así que me quedo con la estadística de los mejor pagados.
Por dios, aún existe el Delphi y el Pascal. :shock: :shock: :shock: , deberían de haber seguido el mismo camino que el COBOL.
El CLIPPER si que era un lenguaje cojonudo, la de cosas que hice en su día.
Los lenguajes interpretados más utilizados hoy en día creo que son Perl, PHP, Python, Ruby, Lua y Forth.
No puedo meter en el mismo saco a PHP y a Phyton, una cosa es que ambos sean intérpretes, y otra que PHP se use principalmente para programar páginas web desde el lado del SERVIDOR, mientras que Python por lo que he visto se usa para aplicaciones locales. He visto Python con desarrollos para Raspberry, que serán muy bonitos pero poco comerciales, porque los fuentes están a la vista y pueden ser plagiados, a parte de la lentitud de un lenguage intérprete frente a uno compilado, excepto para hacer páginas web, en cuyo caso no es relevante.
De la misma manera, tampoco suelo usar mucho Java Script, salvo en contadas ocasiones.
A tí en concreto creo que el lenguaje interpretado que más te va a gustar es LUA. Echale un vistazo a la implementación para microcontroladores eLua, que ocupa sólo 35kB de flash y se puede combinar con C y Assembler.
En absoluto, ni "jarto vino" usaría un lenguaje intérprete en un microcontrolador, incluso hasta huyo de los sistemas operativos para micros, porque lo que busco es potencia de proceso y rapidez, la antítesis del lenguaje intérprete y de los sistemas multitarea con SO en un micro.
-
Por dios, aún existe el Delphi y el Pascal. Shocked Shocked Shocked , deberían de haber seguido el mismo camino que el COBOL.
El CLIPPER si que era un lenguaje cojonudo, la de cosas que hice en su día.
Se nota que no has trabajado ultimamente con PLC automatas, xd. En los PLC se esta imponiendo cada vez mas el lenguaje pascal, y mas comercial que un PLC no hay nada, el pascal esta mas vivo que nunca, y que se este convirtiendo en un estandar para los PLC quiere decir que va a seguir vivo durante muuuuuuuuchos años.
-
Planeta:
Como programador te interesan dos cosas. Primero, programar en un lenguaje por el que paguen bien. Segundo, tener herramientas de desarrollo que faciliten tu trabajo. En este segundo saco puedes meter a Python.
Python es más rápido que C. No siempre, pero sí en la mayoría de los casos.
Muchos paquetes comerciales utilizan Python. Aquí unos cuantos: http://en.wikipedia.org/wiki/List_of_Python_software#Commercial_uses
Los lenguajes interpretados son mucho más flexibles que los compilados, hasta el punto en el que puedes modificar el programa en tiempo de ejecución.
Esta flexibilidad da unas facilidades de depuración que en un lenguaje compilado no puedes ni siquiera imaginar.
Programar de forma interactiva con un lenguaje interpretado es mucho más cómodo y se generan menos errores.
Python se utiliza en muchos casos para probar algoritmos que luego vas a implementar en C. Es mucho más rápido y funcional.
Yo utilizo Python para programar micros desde hace muchos años, y aprendí a hacerlo en una multinacional.
Programar va más allá de codificar en C. Hay muchas más tareas que se pueden automatizar. Generación automática de código, generación automática de documentación, generación automática de test de funcionamiento, procesado de datos de funcionamiento.
Todas esas tareas NO se hacen en C y en proyectos medianos o grandes, tampoco se hacen a mano a menos que seas masoquista. Se hacen con Python.
Algunos acostumbrados a la dificultad lo hacen en Perl y otros que luego se encuentran con problemas de mantenimiento lo hacen con Ruby.
No conozco a nadie que haga estas tareas con código compilado.
Saludos.
-
Ejemplos de Python:
1.- Yo utilizo este programa:
http://www.todopic.com.ar/foros/index.php?topic=43374
para generar automáticamente el código C necesario para configurar los registros de cada nuevo PIC que comienzo a programar.
Sólo tengo que descargar el datasheet y ejecutar el código Python, que me llevó poco tiempo programar. ¿Te imaginas haciendo ese mismo programa en C? yo no.
2.- Hay un hilo activo sobre el ESP8266 con el que muchos estamos experimentando.
Por supuesto, las pruebas las hago en Python. Hacer modificaciones en Python es inmediato. Modifico y a correr.
No hay compilación, no hay cuelgues, no hay grabación de flash, es rapidísimo.
Generar test o rutinas automáticas es muy sencillo.
Hacer un parser para el texto que recibo es inmediato.
Generar cadenas de texto para enviar al ESP8266 es mucho más sencillo que en C.
Una vez que el programa funciona, puedo intentar hacer lo mismo con el microcontrolador, sabiendo que si algo no funciona al menos el algoritmo está bien.
Saludos.
-
Planeta, dices que quieres potencia ¿Por que no programas en ensamblador? es más potente que el C.
Con los lenguajes interpretados pasa lo mismo. Python compilado Just In Time (http://pypy.org/) es rapidísimo. El código Python se ejecuta en dos o tres veces el tiempo que tarda en C.
Eso parece lento, pero en los procesadores actuales no lo es. Ten en cuenta que las rutinas críticas pueden estar compiladas en C y manejarse desde Python, haciendo que los tiempos finales sean igual de rápidos en Python.
Hoy en día si quieres potencia, te vas a un micro más potente y listo. No merece la pena intentar exprimir el software en casos como el tuyo.
¿Cuántos equipos vendes de cada modelo? si repartes el tiempo de desarrollo entre el número de placas, verás que lo realmente crítico y caro no es el harware sino el software.
Un framework en eLua con las rutinas de tiempo crítico escritas en ASM o en C, es tan rápido como el código C, con la ventaja de la flexibilidad enorme que te da en el desarrollo.
Yo te recomiendo una cosa. Aprende Python. Te costará poco. Es muy fácil y divertido. Nada que ver con otros lenguajes.
A partir de ahí verás muchas tareas repetitivas con otros ojos. Comenzarás a plantearte utilizar Python cada dos por tres:
Generador automático de ficheros de cabecera a partir del código .c
Generación automática de código C
Compilación y programación a medida y automática de microcontroladores (cada microcontrolador, un programa C distinto)
Control automatizado y depuración con el puerto serial.
Programación y prueba de algoritmos rápida y eficiente.
Generación automática de documentación.
Procesamiento automático de datos (estadísticas, etc.)
Gestión automática del e-mail.
...
...
Saludos.
-
Hoy en dia mucho software gordo y multiplataforma se realiza de esa manera.
Por poner un ejemplo MATLAB, pues si MATLAB esta hecho en java, sin embargo muchas de las librerias están escritas en C en forma de dll.
¿que se consigue con esto? Precisamente como dicen los compañeros, la potencia del C combinada con la portabilidad del JAVA.
Phyton se esta convirtiendo en un referente a usar en los sistemas operativos opensource, encontrando gran cantidad de software escrito total o parcialmente en phyton.
-
Las estadísticas no son números que se miran una vez y ya esta, sacamos una conclusion apresurada de ella.
Si lo miran bien, entre el primero y 6 (mitad de lista) solo hay 18000 dolares de diferencia. Gana un 20% mas el que programa Ruby que el que programa C++. Entonces si sigues esa estadística para ver que lenguaje aprender y dedidacrte como programador que se gana la vida programando, pues le estar errando feo.
Tenes que combinar esa estadística con la de los lenguajes más buscados o la que tiene mayor probabilidad de conseguir empleo. No puedes usar ni una ni la otra, debes combinarlas y tratar de elegir.
De nada sirve saber el lenguaje mejor pago si solo lo requieren 3 compañías que tienen sus puestos cubiertos. Tampoc sirve el lenguaje mas busca si te pagan 2 dolare por él. Pero a simple vista, la diferencia entre el mejor pago y el peor pago es muy chica, es como que la estadística de cuál es el mas buscado es mejor que esta.
Saludos!
-
Esos salarios se refieren al acumulado anual, no a un solo mes.. :D :D :D
-
joe pero el primero son casi 8000 euros al mes , quien los pillara ajjaja
-
Este artículo cuenta un poco de historia y desmitifica el tema de los salarios:
http://juanmacias.net/2013/01/hay-programadores-en-espana-o-monos
En cuanto a los salarios en España, podéis corregirme si me equivoco.
Un programador con:
Titulación superior
Dedicación intensiva (consultor que trabaja 10-12 horas/día)
Experiencia (4-5 años)
Gana unos 35000 Euros brutos al año (unos 2000 Euros/mes)
Para ganar más, es necesario ser también vendedor, saber ser interlocutor de la empresa con el cliente, saber dirigir equipos de programadores, etc.
Saludos.
-
http://www1.salary.com/Programmer-I-Salary.html
http://www.urv.cat/media/upload/arxius/CAE/oprofessional/Informe_InfoJobs_ESADE_2013.pdf
-
Yo te recomiendo una cosa. Aprende Python. Te costará poco. Es muy fácil y divertido. Nada que ver con otros lenguajes.
A partir de ahí verás muchas tareas repetitivas con otros ojos. Comenzarás a plantearte utilizar Python cada dos por tres:
De momento no lo veo, necesito programar los PIC32 y los ARM STM32, lo único que he visto en Python es para Raspberry y Beaglebone Black, y además en intérprete, ahí parece que a la gente le ha dado fuerte, sigo sin verlo.
Ya se que el código es más eficiente, que escribes menos para hacer lo mismo, como pasa del C al C#, pero necesito que exista para PIC32 y ARM STM32, y que se pueda compilar.
-
El código Python nunca se podrá compilar.
Quizá pueda compilarse un subconjunto del lenguaje, pero todo el lenguaje no. Es imposible.
De todas formas, ya te he comentado que se puede compilar Just In Time.
Creo que no has leído el resto de mis comentarios.
Ejemplo de programa en Python con aplicación para microcontroladores:
Crear un archivo de librería para KiCad para un nuevo componente (PIC16F1717)
Copio la lista de pines en una variable y Python lo convierte en un archivo de librería
Rápido y eficiente.
El código es reutilizable para otros componentes.
EESchema-LIBRARY Version 2.3 Date: 02/01/2015 15:48:29
#encoding utf-8
#
# PIC16F1717
#
DEF PIC16F1717 U 0 40 Y Y 1 F N
F0 "U" 1550 100 50 H V R CNN
F1 "PIC16F1717" 250 100 50 H V L CNN
DRAW
S 150 50 1650 -2150 0 1 0 N
X RC7/AN19 1 0 0 150 R 50 50 1 1 B
X RD4/AN24 2 0 -100 150 R 50 50 1 1 B
X RD5/AN25 3 0 -200 150 R 50 50 1 1 B
X RD6/AN26 4 0 -300 150 R 50 50 1 1 B
X RD7/AN27 5 0 -400 150 R 50 50 1 1 B
X VSS 6 0 -500 150 R 50 50 1 1 W
X VDD 7 0 -600 150 R 50 50 1 1 W
X RB0/AN12 8 0 -700 150 R 50 50 1 1 B
X RB1/AN10 9 0 -800 150 R 50 50 1 1 B
X RB2/AN8 10 0 -900 150 R 50 50 1 1 B
X RA1/AN1 20 0 -1900 150 R 50 50 1 1 B
X CLKI/RA7 30 1800 -1400 150 L 50 50 1 1 B
X AN22/RD2 40 1800 -400 150 L 50 50 1 1 B
X RB3/AN9 11 0 -1000 150 R 50 50 1 1 B
X RA2/AN2/DAC1A 21 0 -2000 150 R 50 50 1 1 B
X CLKO/RA6 31 1800 -1300 150 L 50 50 1 1 B
X AN23/RD3 41 1800 -300 150 L 50 50 1 1 B
X NC 12 0 -1100 150 R 50 50 1 1 N
X RA3/AN3 22 0 -2100 150 R 50 50 1 1 B
X T1CKI/RC0 32 1800 -1200 150 L 50 50 1 1 B
X SDA/AN16/RC4 42 1800 -200 150 L 50 50 1 1 B
X NC 13 0 -1200 150 R 50 50 1 1 N
X T0CKI/RA4 23 1800 -2100 150 L 50 50 1 1 B
X NC 33 1800 -1000 150 L 50 50 1 1 N
X AN17/RC5 43 1800 -100 150 L 50 50 1 1 B
X RB4/AN11 14 0 -1300 150 R 50 50 1 1 B
X DAC2A/AN4/RA5 24 1800 -2000 150 L 50 50 1 1 B
X NC 34 1800 -1100 150 L 50 50 1 1 N
X AN18/RC6 44 1800 0 150 L 50 50 1 1 B
X RB5/AN13 15 0 -1400 150 R 50 50 1 1 B
X AN5/RE0 25 1800 -1900 150 L 50 50 1 1 B
X CCP2/RC1 35 1800 -900 150 L 50 50 1 1 B
X RB6/PGC 16 0 -1500 150 R 50 50 1 1 B
X AN6/RE1 26 1800 -1800 150 L 50 50 1 1 B
X CCP1/AN14/RC2 36 1800 -800 150 L 50 50 1 1 B
X RB7/PGD/DACB 17 0 -1600 150 R 50 50 1 1 B
X AN7/RE2 27 1800 -1700 150 L 50 50 1 1 B
X SCK/AN15/RC3 37 1800 -700 150 L 50 50 1 1 B
X RE3/MCLR 18 0 -1700 150 R 50 50 1 1 B
X VDD 28 1800 -1600 150 L 50 50 1 1 W
X AN20/RD0 38 1800 -600 150 L 50 50 1 1 B
X RA0/AN0 19 0 -1800 150 R 50 50 1 1 B
X VSS 29 1800 -1500 150 L 50 50 1 1 W
X AN21/RD1 39 1800 -500 150 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
#End Library
Saludos.
-
Quizás debieras abrir un post con unos pasos básicos para arrancar phyton... parece muy interesante... sobre todo si se puede usar para lo que comentaste aquí:
Generador automático de ficheros de cabecera a partir del código .c
Generación automática de código C
Compilación y programación a medida y automática de microcontroladores (cada microcontrolador, un programa C distinto)
Programación y prueba de algoritmos rápida y eficiente.
Generación automática de documentación.
esos puntos me resultan de gran interes...
sds.
-
En fin estan cayendo en que:
Python es bueno, pero como accesorio a la programacion/documentacion/etc.
En la programa en cuestion de un microcontrolador no hay espacio para python. Solo lo que dije arriba, una herramienta que facilita ( por su automatizacion ) a crear el codigo. Pero no el lenguaje a utilizar en el mismo
Igual apoyo la idea de elgarbe xD
-
Sólo el núcleo de Python ocupa unos 2 Megabytes. Es demasiado por ahora para meterlo dentro de un microcontrolador pequeño.
Se puede hacer en dispositivos tipo Raspberry, pero no en micros menores.
Para eso está LUA, mucho más pequeño (unos 35kB rom + 18kB ram)
Saludos.
-
Inicio aquí alguna información sobre Python.
Yo creo que tiene suficiente entidad como para hacer un apartado en 'Lenguajes de programación para PC'
A ver que os parece.
Lo primero que hay que hacer es instalar Python para Windows:
https://www.python.org/downloads/
Recomiendo la versión 2.x.x Es más antigua, pero por ahora se sigue manteniendo y es la que tiene más módulos y extensiones.
Los que trabajéis con Linux o con OS X, seguramente ya tendréis instalada una versión de Python por defecto en el sistema. ;-)
Después para aprender, os recomiendo la propia documentación de Python.
Este es otro punto a favor del lenguaje. Su documentación es muy buena, extensa y con muchos libros en español.
Tutorial para comenzar: https://docs.python.org/2/tutorial/interpreter.html
Libro gordo para aprender: http://www.cmat.edu.uy/cmat/cursos/licenciatura/cursos/computacion/documentos/Think%20Python-esp.pdf
Si necesitan ayuda, pidanla.
Suerte.
-
Inicio aquí alguna información sobre Python.
Yo creo que tiene suficiente entidad como para hacer un apartado en 'Lenguajes de programación para PC'
A ver que os parece.
Lo primero que hay que hacer es instalar Python para Windows:
https://www.python.org/downloads/
Recomiendo la versión 2.x.x Es más antigua, pero por ahora se sigue manteniendo y es la que tiene más módulos y extensiones.
Los que trabajéis con Linux o con OS X, seguramente ya tendréis instalada una versión de Python por defecto en el sistema. ;-)
Después para aprender, os recomiendo la propia documentación de Python.
Este es otro punto a favor del lenguaje. Su documentación es muy buena, extensa y con muchos libros en español.
Tutorial para comenzar: https://docs.python.org/2/tutorial/interpreter.html
Libro gordo para aprender: http://www.cmat.edu.uy/cmat/cursos/licenciatura/cursos/computacion/documentos/Think%20Python-esp.pdf
Si necesitan ayuda, pidanla.
Suerte.
coincido con lo del apartado aparte para phyton.
Le voy a pegar una mirada a los enlaces. Si llegaras a tener ejemplos de los puntos que puse arriba me serían de utilidad para probarlo con algo concreto.
Saludos!
-
Todo a su tiempo. Si te pongo todos los ejemplos a la vez igual alguno se atraganta.
¿Cuál te llama más la atención?
-
Generador automático de ficheros de cabecera a partir del código .c
Generación automática de documentación.
creo que serán similares y un buen punto de partida para aprender, la documentacion es algo que todos dejamos de lado por lo pesado que es, quizá con una buena herramienta o script o como se llame daría mas ganas de documentar.....
igual, creo que deberías crear un post así despues es mas facil moverlo cuando haya un apartado específico...
Saludos!
-
El código Python nunca se podrá compilar.
Quizá pueda compilarse un subconjunto del lenguaje, pero todo el lenguaje no. Es imposible.
Mal asunto pues.
De todas formas, ya te he comentado que se puede compilar Just In Time.
Creo que no has leído el resto de mis comentarios.
Ejemplo de programa en Python con aplicación para microcontroladores:
Crear un archivo de librería para KiCad para un nuevo componente (PIC16F1717)
No me refería a eso, me refería a un programa que ruede DENTRO del microcontrolador, en vez de usar C32 o XC32, usar python.
Yo también he hecho cosas con un entorno intérprete en local, instalándome WAMP y programando en PHP, si me ha dado pereza hacerlas en VC++.
Lo que estoy planteando es para desarrollo de productos comerciales, no para hacer herramientas de apoyo personal. Si hago un programa, por ejemplo para que mis clientes puedan encriptar sus HEX en un gestor de bootlodar encriptado, no les puedo dar ese programa en Python, porque es darles el FUENTE, a eso me refiero. Si un lenguaje es intérprete, no hay código objeto, solo FUENTE, y eso no se lo puede dar a un cliente
No se si me explico, que está muy bien el python para desarrollos INTERNOS, para uso personal, pero NO para desarrollos comerciales.
-
Lo que trata de decir Picuino es que aún así, phyton te puede ayudar a crear y testear ese código de forma eficiente. Finalmente en el uC habra un hex, pero en el camino puedes usar phyton para obtenerlo de forma eficiente. Eso es lo que yo interpreto de lo que pone picuino...
Saludos!
-
Pues aquí si que hablan de un compilador de Python, py2exe. ¿ O esto va a ser al final como Java, que necesitas un programa que interprete y ejecute ese objeto ?. http://www.ehowenespanol.com/compilar-codigo-python-como_174357/
-
El código Python se compila a Bytecode antes de ejecutarse. Luego una máquina virtual ejecuta ese Bytecode.
Hay casos en los que ese Bytecode se compila a código máquina en memoria antes de ejecutarse (Just In Time), pero no es del todo compatible con Python (PyPy)
El Bytecode puede ser de dos tipos. Te dejo aquí un ejemplo para que valores su facilidad para la ingeniería inversa:
Saludos.
-
Ok, gracias, ya voy entendiendo, es como Java, no das un fuente, pero tampoco un ejecutable directo tipo .EXE o .COM, siempre hará falta esa máquina virtual que interprete y ejecute el código, pero no es un código fuente que se pueda editar y ver, salvo el .PY
¿ Y los .PYC y .PYO son portables entre plataformas, puedo crearlo en un PC x86 y llevármelo a un ARM Linux como RPY o BBB ?.
Lo que me gustaría ver es una comparativa de rendimiento para el mismo ejecutable hecho en C y en Python.
-
Creo que sí, pero no estoy seguro.
No son portables entre versiones de Python.
Siempre puedes hacer una compilación para cada plataforma.
De todas formas, para los desarrollos que comentabas antes muy sencillos (un simple programa de descarga)
no creo que Python te aporte mucho.
En ese caso Lua si te puede ayudar. Añade en 50kb un entorno estandar de Scripting.
Puedes añadir macros a tu programa. El núcleo lo programas en C y añades funcionalidades con scripts Lua.
Muchos programas comerciales lo hacen.
Python también se puede añadir embebido en tu aplicación, pero es para programas mucho mayores.
Saludos.
-
Proyecto pycparser:
https://github.com/eliben/pycparser
Anything that needs C code to be parsed. The following are some uses for pycparser, taken from real user reports:
C code obfuscator
Front-end for various specialized C compilers
Static code checker
Automatic unit-test discovery
Adding specialized extensions to the C language
Saludos.
-
Ok gracias, le echaré un vistazo, a ver si me pongo al día con el python, alguna utilidad le daré. Desde luego que cuando se habla tanto del python por algo será, aunque yo en principio soy feliz con mi C/C++ para embebidos y PC, y para web uso PHP, MySQL y Joomla.
-
Ya tenéis nuevo subforo para Python
http://www.todopic.com.ar/foros/index.php?board=67.0
-
Ya tenéis nuevo subforo para Python
http://www.todopic.com.ar/foros/index.php?board=67.0
perfecto ((:-)) ((:-))
-
Excelente!!!!!!!!!! ((:-)) ((:-)) ((:-))