Hi all,
I learned programming PIC processors in assembler cause I don't feel very comfortable in programming them in Basic or C and to use all the time in line asembler code to get things running.
I have myself no experience with C, but like to learn. As I read from many replies of valuable users it has some benefits like portable code to other processors, reusable code and structured. I must say I don't really understand yet what they mean by reusable code and structured. I think I also can reuse my assmbler code for several projects if I write it structured(!?). For example I wrote a thight communication routine, tested it for days, and saved it in a seperate file with a short explanation on top of all vars/const to declare in main program. Now I can just include it in every program I write in assembler. I think this is reusable and structured.
I know basic starting from GWBasic, Qbasic and Visual Basic. I can make good running programs with it: very fast and works fine for me.
How ever to use it for PIC processors? No. I saw some listnings in basic code during my exploration to decide which compiler to use. For several functions they use in line assembler code which made me very unhappy. I thought if I have to learn 5 assembler instructions then I also can learn all 35 instructions and code all in assembler.
I agree it is bit more difficult for making decisions and calculations in assembler, but hee Italian is also difficult (ciao guys!). I have seen people showing very complex mathematical operations written in C and basic saying: well, do that for me in assembler.
Can say that I don't need them for my projects ( at least not until I get a full time job at NASA). so don't have to bother myself with that. Need simple comparision, small loops and time delays etc. to get my projects running. Assembler is certainly bit more difficult then C or basic, but is certainly worthfull to learn.
Hope my own experiences will help you a step further in your decisions.