Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 38

Thread: Best robotics Language?

  1. Re: Best robotics Language?

    Forth is a very old and not a very well supported language as opposed to C which is also old, but is very well supported. I'm not saying Forth is unusable, but not too many people use it except in university. In this respect it's like Pascal, which is not used very much in the real world either. People to help you with it may be hard to find, though most experienced programmers could help some.

    My opinion here is to stick with a language that has a large used base especially if you're new to programming.

  2. #22
    Join Date
    Apr 2009
    Location
    Connecticut
    Posts
    17
    Rep Power
    40

    Re: Best robotics Language?

    Also, on this topic, what is the opinion of Java? I've noticed that every time someone mentions it, the language is shouted down rather quickly, but for some reason it is just about all that is taught in most high schools anymore. The AP Computer Science test is in Java, and even entry level programming classes in college are always in Java. I'm therefore a mostly Java developer, and although I hated learning it, I kind of like the language now. What are the cons of this language that people seem to feel strongly about?

  3. #23
    Join Date
    May 2008
    Posts
    2,228
    Images
    155
    Rep Power
    133

    Re: Best robotics Language?

    Quote Originally Posted by Shevek View Post
    Also, on this topic, what is the opinion of Java? I've noticed that every time someone mentions it, the language is shouted down rather quickly, but for some reason it is just about all that is taught in most high schools anymore. The AP Computer Science test is in Java, and even entry level programming classes in college are always in Java. I'm therefore a mostly Java developer, and although I hated learning it, I kind of like the language now. What are the cons of this language that people seem to feel strongly about?
    Java is interpreted, and is quite bloated, so runs not so fast. The language forces you into OO-design. Java programming typically ends up be resolved to a process of learning how to use "lots of little black boxes". It's cross-platform compatibility is a major myth, because many of these black boxes need to be implemented for each system... and all implementations don't work the same way.

    Why is it taught in universities? Free cross-platform development tools and a wide-enough industry adoption to allow it to be a feasible language to teach. What happens when you teach intro to CS in Java? You end up with programmers who know how to use black boxes... and have no understanding of memory management among many other things. I have yet to find someone who really learned "programming and program design" in a CS1 course.. especially one taught in Java.

    -Fergs

  4. Re: Best robotics Language?

    I agree, in general, with the previous poster, however, I don't out and out hate Java. Java and Python were my primary languages for about 10 years. Now I only do Python and some C.

    All languages have issues bar none. Java is not an interpreted language however, it is compiled into a binary language that is cross platform complaint. This binary language runs in a virtual machine which is usually written in C for each platform Java runs on. Plus there is also a JIT (Just In Time) compiler which speeds it up tremendously. (There are JITs on the drawing table for Python now also.)

    When I went to school in the 70s they were teaching languages that were about 30 years behind the real world. Now they are about 10 to 15 years behind, but are still behind.

    Java does confine you to an OOP (Object Oriented Programming) style, but this is not all that bad. I develop almost everything in OOP. What I don't like about his is that they don't give you a choice. There are other issues in Java also like having raw data types which don't interface well with there Object types. C# has solved this issue as well as Python. You cannot do multiple inheritance in Java which is a very basic OOP concept. And no, interfaces are not the same thing as some Java enthusiasts would try to tell you.

    The issues with Java are really advanced programming issues, so I'd never say Java was a bad choice, but in robotics you also need to know if there is a JVM (Java Virtual Machine) available for the micro controller of choice if you want to put a computer in your robot. Python is available for many small CPU boards. I really don't know about Java, but Java takes a lot more memory than Python will so I doubt it.

    I tend to write a book every time I'm on here, sorry.

  5. #25

    Re: Best robotics Language?

    Let’s remember the subject of this post “Best language robotic language”. I feel the answer was presented in the very first response by Tyberius.

    There really isn't one.

    In my opinion, a new programmer should pick a language that they are familiar with or a language readily available. Those with absolutely no programming experience should pick up a well documented embedded system (Parallax has excellent educational docs). An embedded system provides practical robotics experience by tinkering with programming and electronics. It’s not the language but the amount of time dedicated to learning standard programming practices.

    After few years the now experienced programmer can weigh in on this evangelical discussion.
    Last edited by MikeG; 06-23-2009 at 09:02 AM.

  6. Re: Best robotics Language?

    OK, to set some people straight on the speed issue, this has been argued and argued over and over again. Python/Ruby are not slower than C because they are written in C. The general rule of thumb is that 1 line of Python is 10 lines of C and 1 line of C is 10 lines of Assembler. cnobile, hate to break it to you but Java is interpreted, hence the need for JVM. It is byte-compiled (just like Python, hence the .pyc files after you run it!!), which translates it into a more efficient form for the interpreter to um... interpret. If you don't believe me, check wikipedia then proceed to explain to me about how to get a standalone executable out of javac.

    When deciding a language it's important to understand your final platform. A lot of people tend to use the Microsoft products since they already run Windows and are comfortable with their languages. That's great if you have the money to pay for the licensing of Windows Embedded and for Visual Studio ($1000+ if memory serves). Personally I run a Mac and Linux. I use C when I absolutely need speed and Python for rapid prototyping. LISP will be used when I start into AI. Since I've chosen standardized languages, I don't have to worry about switching platform. Since I'm 1000&#37; anti-Microsoft I'm biased and suggest anything other than Visual <Insert Language Name Here>.Net

  7. #27
    Join Date
    Apr 2008
    Location
    Sacramento, CA, USA Area
    Posts
    5,341
    Rep Power
    182

    Re: Best robotics Language?

    Interpreted = Slower. Compiled = Faster. If the _______ is compiled into machine code, it's faster than if a byte-code interpreter has to interpret it, even if it's compiled into byte-code. It's still a virtual machine executing the code.

    Microsoft tools are free for personal use. If you're doing it commercially, you HAVE the thousandish dollars to spend. If you're not, you don't have to.

    Welcome to the forum!
    I Void Warranties´┐Ż

  8. Re: Best robotics Language?

    Thanks for the welcome and sorry if I seemed a bit snappy earlier, just woke up. At any rate, you said exactly what I said. Compiled code runs faster and since the Python interpreter is coded in C it has the ability to run just as quick. Without starting a heated discussion, you'd be surprised how fast a Python interpreter can be with a proper coded set of modules in C. Also, that's not entirely true about the purchase of Visual Studio. But at any rate I'm getting off topic again. Once again, my personal recommendation would be C and Python as it will run on any platform and should be able to meet just about any needs most hobbyists will have.

  9. #29
    Join Date
    Apr 2008
    Location
    Sacramento, CA, USA Area
    Posts
    5,341
    Rep Power
    182

    Re: Best robotics Language?

    If it's interpreted, it's not going to be as fast as native machine code. It's another layer that requires cycles. That's like saying "if I write a java interpreter in C it's going to be as fast as C".

    No - Python does not run on "any platform", I'm afraid. That requires native code. Until someone shows me a python interpreter for my motorola phone, my blackberry phone, my Dynabyte, and my Vic20 - C is still more cross-platform...
    I Void Warranties´┐Ż

  10. #30
    Join Date
    Apr 2009
    Location
    Connecticut
    Posts
    17
    Rep Power
    40

    Re: Best robotics Language?

    Personally, I've been learning Scheme the past few weeks/months, and that's what I'm going to be using in my AI course this fall. I have to say, I love it. It's more fun to program in than any language I've previously worked with including C, C++, Java, and Python. I'm sure it has it's strengths and weaknesses, but for me, Scheme is just a lot of fun

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. New to robotics, and trying to build a turret
    By Marauduer_Pilot in forum Arbotix, Microcontrollers, Arduino
    Replies: 13
    Last Post: 05-10-2010, 05:54 PM
  2. Discussion Programming Languages for Robotics
    By LinuxGuy in forum Software and Programming
    Replies: 27
    Last Post: 05-25-2008, 12:16 AM
  3. New To Robotics And Programming
    By El Espada in forum Robotics General Discussion
    Replies: 11
    Last Post: 01-08-2008, 11:33 PM
  4. Trossen Robotics System versus the competition?
    By Nammo in forum Software and Programming
    Replies: 10
    Last Post: 11-28-2007, 04:12 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •