I really need some guidance on this, first of all, I have intermediate knowledge in programming, specifically Java. I have an idea of creating a tool for cars just like the diagnostic testers that we see mechanics use when they need to diagnose cars' issues. I want to create a tool for cars (Not exactly the same as the testers), but I do not know what I need to learn, I know I need to learn C, but what else do I need though?, I don't mind one or two years of self-teach since I am a self-taught programmer. Thanks

closed as off-topic by Bart van Ingen Schenau, Arseni Mourzenko, BЈовић, user40980, gbjbaanb Feb 17 '15 at 14:06

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – Arseni Mourzenko, BЈовић, Community
If this question can be reworded to fit the rules in the help center, please edit the question.


You will be fine with C. The language which you use might, to some degree, be influenced by the hardware which you use to interface to the CanBus.

Read up on CanBus. Look at OpenCan. And (eventually) - spend some money and buy some hardware to interface you with your vehicle. Google until you find what suits you, but, for instance, this is cheap and a good start-point.

  • Thanks alot Mawg, yeah, I know low level programming language is very machine specific. But at least, I now know what I need to know. Thank yoy – Teedeez Feb 17 '15 at 18:22
  • BUT, you won't be programing directly on the embedded system. You will connect an interface device, to your PC, almost certainly by USB. That interface device is embedded, but you can code on PC. This device lets you use MS Visucal C++ or MS Visual Basic vitalsystem.com/web/dnet/can.php Other devices will let you use other languages. – Mawg Feb 18 '15 at 8:27
  • Btw, if you use Linux, look at en.wikipedia.org/wiki/SocketCAN – Mawg Feb 18 '15 at 8:28
  • And here's a good tutorial fabiobaltieri.com/2013/07/23/… By now you have enough idea to be able to Google for more. Good luck! – Mawg Feb 18 '15 at 8:29
  • And, for Windows, there is a DLL, so you could program in any language which Windows supports(!) - faq.vscom.de/… – Mawg Feb 18 '15 at 8:31

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