mandag den 24. november 2014

Arduino - WHY?

Okay it is rare that I rant about a product which is not Windows, but I would like to do so now.
I have just had to help a friend of mine working with a Arduino board for an exercises, and my problem is not the board itself. But rather the implementation of the C language which it utilise, what I hate is:

  • Special functions
  • Automatic include 

Special functions

But Lars how can you hate them, they are awesome, I love Serial.println? No you do not, not in two years when you have to code proper C, you will hate it and you will hate it good. These special functions, which comes as implementations of standard C library functions are just plain stupid, let the student use printf and so on, and get to know special things such as '\n'. It is not fair towards the students, to teach them to be lazy and not understand the programming language properly. 

Automatic include

TO THE CREATE OF THE ARDUINO C LANGUAGE: May you burn in what ever hell you believe in, for this monstrosity. 

But Lars it just makes C so much more accessible, if that is your opinion fine. But for the future generation of programmers, I hope you never will be a teacher. It is even worse than special functions. Auto include of libraries such as stdlib og stdio, is madness I started learning Java that way, and I have always cursed my teacher for that. You hide a very important thing of programming away from your students WHY, give me one good reason and to make it easy is not one. Later on when they have to learn proper coding, they would think well this is stupid. Instead of cherish the fact, that they have more or almost absolute control of what is actually in the application they build and ship. 

Of course the functions for setting pins high and so on is okay, but in extension of the above written, show the students that they need a library to do this. 

Conclusion

My initial thoughts of the Arduino platform is; that it is a fun and engaging way to teach your students how to program. But this is totally overshadowed by the two subjects mentioned above, if those are removed from the Arduino it would be a fantastic tool. Until then however, I can not recommend it to newcomers in programming. 

Sorry Arduino people :( 

- Lars 


Ingen kommentarer:

Send en kommentar