Java ME or SE?

I'm currently programming some low level hardware access on a Raspberry Pi and I'm deciding between Java ME and Java SE (and Python but that's not relevant here).

Java ME includes direct access to the hardware but SE currently requires a third party library. I am inclined to favour SE because I use it for everything else and I think it will outlive ME.

I would appreciate your advice.

Reply to
Gordon Levi
Loading thread data ...

I've just started dabbling with a Raspberry Pi. I've got a potential project that is going to use about 60 of them. It will be programmed in Java and I've played with SE 1.8 a little bit on it. I'm impressed with how well it seems to work. We've tested some existing software on the Pi and it functions fine.

I've done a little programming with Pi4J and a PiGlow and that works fine too. I haven't done in GPIO with it yet but I'm assuming it will be fine too.

--

Knute Johnson
Reply to
Knute Johnson

JavaME still exists?

--
Doug McIntyre 
doug@themcintyres.us
Reply to
Doug McIntyre

Yes.

Java ME 8.0 is current and 8.1 is out in early access version.

Arne

Reply to
Arne Vajhøj

I would go for SE if it is available.

One knows what is in SE.

Very few understand exactly what is in which flavor of ME.

And I do not see much room for ME between SE Embedded and Android in the future either.

Arne

Reply to
Arne Vajhøj

Is an Android OS and Java available?

Have a look at how few third party serial and USB drivers are still supported.

formatting link

What are all the other pi folk using?

--
Roedy Green Canadian Mind Products http://mindprod.com 
Software gets slower faster than hardware gets faster. 
~ Niklaus Wirth (born: 1934-02-15 age: 80) Wirth?s Law
Reply to
Roedy Green

And Oracle provides a free on-line course to teach Java ME on the Raspberry Pi using Netbeans on Windows as the development environment . 8.1 is required because it fixes a bug in 8.0 that prevented the GPS UART used in the course from working.

Reply to
Gordon Levi

As an OS? Raspbian, mostly - its Debian Linux Stable (Wheezy) ported to the MPU chip, which contains both an ARM core and a GPU with 512MB RAM piggy-backed onto it.

The only real oddity is the boot system, which is two stage: the GPU loads and runs the phase 1 bootstrap from a FAT partition and this loads Raspbian into the ARM mpu from the main ext3 partition. Apparently that's the easiest way to boot anything on that chip. AFAIK all OSes (RISCOS and Fedora for sure - there may be others) that have been ported to the RPi use this boot system. Both partitions are on the SD card the RPi uses as mass storage.

--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
org       |
Reply to
Martin Gregorie

To program? C and BASIC.

Others use Python.

Gordon

Reply to
Gordon Henderson

and there is even at least one guy using Forth :-) python is probably eased for development & prototyping C or assembler for when performance really is an issue (it is surprising how often python is more than fast enough for real world requirements).

--
I was born in a Hostess Cupcake factory before the sexual revolution!
Reply to
alister

I use Rexx and Free Pascal in addition to Python.

Reply to
Bob Martin

I know of many more users and one of them is already shipping commercial products based on RPi hardware.

Stephen

-- Stephen Pelc, snipped-for-privacy@mpeforth.com MicroProcessor Engineering Ltd - More Real, Less Time

133 Hill Lane, Southampton SO15 5AF, England tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691 web:
formatting link
- free VFX Forth downloads
Reply to
Stephen Pelc

Yes, why do you ask?

I'm familiar with Ubuntu which is a variation of Debian. Raspbian, which is also a variant of Debian, is probably the most popular OS for the Pi so I had no hesitation in choosing it.

As you say on that page, libUSB provides access to USB ports. As it happens what I want to use has a standard /dev/TTY* driver. I gather that there are other drivers that map USB devices to Java supported Linux devices .

The Raspberry Pi Foundation is an educational organisation aimed at teenagers. Like almost all their predecessors since Dartmouth BASIC they chose an interpreted language. It was Python and I probably would have followed them if Guido van Rossum had not done exactly what Microsoft did to me with Visual Basic classic. They made all my VB programs obsolete. Van Rossum released Python 3 which is not backwards compatible with Python 2!

Reply to
Gordon Levi

... but it's fairly close. You can't expect a language (or anything else) to progress for ever without some incompatibility with earlier versions. Even within the 2.x tree there are minor incompatibilities.

If you write code in good style for Python 2.7 it will quite often work in 3.x as well.

--
Chris Green
Reply to
cl

Good trolling!

Reply to
mm0fmf

"Write Once, Run Somewhere?"

--
esosman@comcast-dot-net.invalid 
"Don't be afraid of work. Make work afraid of you." -- TLM
Reply to
Eric Sosman

It was Python and I probably would have

That's a main reason I don't use Python.

A modern C compiler can compile any C program that was written in the past, including those using the original K&R syntax.

Same goes for Java compilers.

IIRC the same applies to Fortran compilers.

In view of this, it seems odd that Python can't or won't do the same. I think this puts Python in the same retarded bracket as BASIC, COBOL, and RPG. All of these suffer from having source code that cannot guarantee to be be compiled by any compiler other than the one they were originally developed for.

--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
org       |
Reply to
Martin Gregorie

It's a case of won't rather than can't. It's to fix poor design choices in the earlier language.

Reply to
mm0fmf

The biggest problem with ancient C or Fortran code is probably not the compiling step but linking against recent -not backwards compatible- libraries. A lot of old code will not build on modern systems without modification.

Regards,

Kees.

--
Kees Theunissen.
Reply to
Kees Theunissen

Agreed, but it will compile and writing an adaptor layer to let it call a modern library is probably a lot easier then adapting the old source, particularly if its a large, badly documented program.

But with Python and other languages whose compilers aren't backward compatible, you don't have the option of writing an adaptor layer. Instead, you're forced to review/rewrite your source code every time the language spec changes, which is typically every 2 to 5 years for most languages.

--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
org       |
Reply to
Martin Gregorie

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.