Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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...

share|improve this question
    
What's a wireless module? –  Anna Lear Feb 1 '11 at 16:11
    
cinterion.com/tc65t.html A Wireless module @anna :) –  benhowdle89 Feb 1 '11 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. –  Joe Internet Feb 2 '11 at 3:48
add comment

4 Answers

up vote 4 down vote accepted

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

share|improve this answer
add comment

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?

share|improve this answer
    
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 –  benhowdle89 Feb 1 '11 at 19:36
add comment

Java was invented for embedded systems.

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

share|improve this answer
    
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). –  tcrosley Feb 1 '11 at 17:29
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.