2

We are developing a product at work which interfaces with basic I/O and sends data to a webserver over a GPRS connection.

What i need to know before we commit to a product, is which language is more suited for this task: Java or Python? (or any language to be honest) As i said, it will run on a wireless module and open serial connections, read values, send data through GPRS connections to a webserver...

3
  • What's a wireless module? Commented Feb 1, 2011 at 16:11
  • cinterion.com/tc65t.html A Wireless module @anna :) Commented Feb 1, 2011 at 17:16
  • 2
    I think your best choice is to choose the hardware that meets your needs, then choose a programming language for it. Java or Python may not even be options at that point. Commented Feb 2, 2011 at 3:48

4 Answers 4

4

If you are only choosing between the two, I would say Java. But the real tool for this kind of project is C or C++.

Any memory-managed language can kill you if it does garbage-collection. For GPRS you are looking at real-time needs, and a resource-strained environment. There's a reason all of these types of projects use C languages.

You can take a look at this comparison: Java to C http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=java&lang2=gcc

Python to C http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=python&lang2=gcc

1

C will be more suit for embedded system programming, because, you can manage the memory requirement, direct access the hardware platform. Java lacks on both memory management and hardware access.


And, what is function of your wireless module?

1
  • to datalog values to a webserver. It would read values from a rs232 serial port and GPIO and send the data over GPRS to a webserver periodically Commented Feb 1, 2011 at 19:36
0

The only time that I have ever done anything like that it was for an Adruino board or similar (Xilinx, whatever). The dev kit was determined by the board manufacturer. Kugathasan has a point with C being the most likely if you don't use a base kit of some kind. If you are using a board that doesn't have a specific dev kit, I might look towards Android supported equipment. If you're doing it as a USB add-on to a phone or something that might be different, but the best answer might require more detail.

-1

Java was invented for embedded systems.

http://www.oracle.com/technetwork/java/embedded/overview/index.html

1
  • It can be used on larger embedded systems using 32-bit microprocessors such as ARMs. It can't be used on 8-bit or 16-bit microcontrollers which still account for the majority of embedded systems for now (this is slowly changing). Commented Feb 1, 2011 at 17:29

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.