Go Down

Topic: Shuld I take lessons on C or Embedded C to programme arduino ? (Read 2 times) previous topic - next topic

mzee233

hi folks, I want to learn arduino programming..but I don't have any programming experiences.I'm thinking about taking some C language lessons.will C help me to programme arduino?  and I also heard that there is another language called Embedded C.I'm confused which C language should I learn to programme arduinos?

cr0sh

First off, C is C - if you are just starting out, pick something like "Beginning C Programming" or whatnot (or if it says C/C++ that's ok too); try to stay away from anything focused on Microsoft Visual C/C++ until later (not that it is much different, just that you get into learning things specific to Windows development that don't apply elsewhere). What you want to learn is basic, ANSI-standard C/C++ (if you are taking a course, ask the instructor if you can use gcc for development; if an ok is given, then the course will be pretty "standard").

That said - for beginning programming I'm not sure whether C/C++ is a good place to start or not; this is coming from someone who learned BASIC first (which some say is worse, but hey, that was the 1980s for ya!). Personally, today, I would push beginners toward Python or LUA or something similar (heck, even javascript or PHP).

The thing to understand and focus on regarding any programming language is the overall "idea" of programming, and not focus on singular language styles (when you get to this point - which isn't something taught as much as it should - it will just "click", and you'll be able to pick up new languages at will, almost - with the exception of a few weird ones out there that are experimental, older, or not as widely used).
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

maniacbug

The trouble is, a lot of C and especially C++ classes are going to spend a lot of time on things that don't apply here, like the file system and other system calls.  If you could find an Embedded programming class, using any language, it might be more useful.

Quote

Personally, today, I would push beginners toward Python or LUA or something similar (heck, even javascript or PHP).


True, as long as they don't want to program on Arduino :)  Those higher-level languages almost make it more difficult to come into an embedded environment which does almost nothing for you. 

For the record, I'd vote for Ruby as the most modern language to learn as a complete beginner.  Although, that doesn't help if you want to run on Arduino :)  (Or does it...  Just came across this: http://rad.rubyforge.org/)

mzee233


What you want to learn is basic, ANSI-standard C/C++ (if you are taking a course, ask the instructor if you can use gcc for development; if an ok is given, then the course will be pretty "standard").

The thing to understand and focus on regarding any programming language is the overall "idea" of programming, and not focus on singular language styles (when you get to this point - which isn't something taught as much as it should - it will just "click", and you'll be able to pick up new languages at will, almost - with the exception of a few weird ones out there that are experimental, older, or not as widely used).


thank you for the advice. but can you explain little bit about gcc..? and yeah...I will learn more languages in the future I guess.but for now to start off I chose C. will I be able to catchup..?

mzee233


For the record, I'd vote for Ruby as the most modern language to learn as a complete beginner.  Although, that doesn't help if you want to run on Arduino :)  (Or does it...  Just came across this: http://rad.rubyforge.org/)



thanks man.but In my neighboorhood none of the colleges provide ruby courses.!

Go Up