hi,
For PIC's I prefer to use assembler, over the years the debugged modules I have written, form the basis of the program.
As the subroutines are written in a modular way and the EQU and INC are standardised its usually a simple matter of using some 'glue' programming to bring the modules into a working program.
After all isn't that what 'C' really is, subroutines and libraries, [probably written in assembler] by some other programmer.??
I am NOT knocking 'C', but from my early comparisons of 'C' versus Assembler in speed and program memory storage, I found that I could write tighter and faster code using assembler.
Having said that, for PC programming which has the speed and memory to spare for running Visual Basic, I use VB5 for its ease for creating working programs.
I think 'mosiac' has a point, why use a Porsche when a Ford will get the job done.
With regarding to teaching programming, 3v0 has IMHO the correct approach, teach the little beggers logic and code flow.
I agree with most of what of Mike says except this line.
End of the day, any reasonable sized project cannot be economically written in assembler.
It boils down to, what works best for the individual..