# Java en la programación electrónica



## Rage10 (Feb 2, 2011)

Hola a todos, desapareci unos meses (todavía tengo pendiente subir fotos el joystick que adapte con la ayuda de un usuario de aca "*Panama*").

Muchas veces leo en el foro que con C y con Visual Basic se programan pic o microprocesadores, quisiera saber, si también es posible programar los mismos en *Java*.

Disculpen el lenguaje utilizado para crear el mensaje, pero en electrónica soy bastante Novato y no se expresarme muy bien en estos campos.

Muchas gracias.


----------



## Dr. Zoidberg (Feb 2, 2011)

Para programar algo en Java necesitás que ese "algo" tenga disponible una JVM...y eso es todo lo necesario...aparte de memoria, claro.
Imaginate que los celulares, palmtops y esas pequeñeces se pueden programar en Java, así que en la medida que tenga la cantidad de recursos que requiere Java y una JVM lista para operar...entonces puede programarse en Java.
De todas formas, considerando los recursos disponibles en un PIC de rango mediano o uC de ese tipo...es muy poco probable que puedan programarse en Java.


----------



## gzaloprgm (Feb 2, 2011)

Hay máquinas virtuales de java para micros de 8 bits: http://www.harbaum.org/till/nanovm/index.shtml

Igualmente, yo recomiendo que aprendas a programar microcontroladores en C, principalmente por los siguientes motivos:
Hay un compilador de C para casi toda plataforma embebida -> más portabilidad
Java tiene una sintaxis similar a C -> facilidad de aprender

PS: Los micros se pueden programar en Basic, no VISUAL BASIC

Un saludo,
Gonzalo


----------



## Rage10 (Feb 2, 2011)

Hola Gonzalo, hola Ezavalla,

*Ezavalla:*
Me había olvidado por completo de la Virtual Machine y de la memoria que esta ocuparía. Gracias por refrescarme la memoria.

*Gonzalo:*
Primero, perdón por el grotesco error de llamar Visual Basic en lugar de BASIC.
Entonces es preferible seguir con C o con BASIC, ¿no?.

Si tendrían que elegir entre los dos C y BASIC, ¿cual elegirían?

Gaston


----------



## gzaloprgm (Feb 2, 2011)

Yo elegiría C, porque hay gran cantidad de código en ese lenguaje en internet (teniendo en cuenta registros y cosas especiales de cada micro), es sencillo de aprender, funciona en casi todos los microcontroladores de todas las familias, y porque no es "interpretado", cosa que para aplicaciones de tiempo real para un micro de 8 bits no tiene sentido, saca demasiada velocidad y memoria....

BASIC en cambio, suele ser enseñado en aplicaciones donde no importa el tiempo de respuesta (pequeños robots interactivos), pero sí importa la facilidad del lenguaje.

Para ambos lenguajes suelen haber librerías de todo lo que te imagines (LCD, I2C, SPI, Teclados, Punto flotante, etc...)

Un saludo,
Gonzalo


----------



## Rage10 (Feb 2, 2011)

*Gonzalo*, me convenciste, empiezo con C.
Muchas gracias por tu ayuda.

Saludos,

Gastón.


----------



## foso (Jul 16, 2011)

programar un microcontrolador con java es como cazar moscas con un 22 LR.


----------

