On Fri, Jun 06, 2003, Vadim Vygonets wrote about "Re: FS/OS in schools: why don't *they* tell us what they want?": > You should teach *something*. Why is C taught in schools? Is it > the best programming language?
Actually, yes, it's the best programming language to teach the basic concepts of programming and computer-science. (in my opinion). To understand what I mean by that, consider: 1. Unlike higher-level languages, what-you-write-is-what-gets-done; No automatic garbage collection, no memory allocation behind your back, no "magic". This is important for new learners that don't understand that background magic, and need to be taught first about what actually happens and about the basic concept that the computer does what you tell it. 2. It is simpler than other languages. I feel that I can safely say that I know C - all of it (or at least a great majority of it). It's much harder for me to say the same about C++ or Perl. A good measure of language complexity is the weight of its official book. A comparison between the latest Stroustrup and the latest Kernighan&Ritchie is enlightening. If you think it's impossible or bad to learn C as your first language, you are wrong. When I was a kid, I tried to learn Basic and basically failed. Then I learned C and shell and loved it, and only when I understood that I returned to learning Basic, Logo, and Pascal. Perhaps nowadays kids should be "enticed" to the world of computers by first being shown "cool" languages in which you can program graphics, and so on (Logo was supposed to be a language like that!), but once the kid is ready to learn the "really important things" like algorithms and data- structures, I believe C is a better learning language. > Is it widely used? Well, yes, it is, but will it be widely used in five > years? Yes it will. Want to bet? :) Anyway, if you consider C++ an extension of C, studying C first is time well spent. Of course, if the teacher will emphasise later when teaching C++ that many habits must not be carried from C to C++, but the commonolities are bigger than some C++ people are willing to admit. -- Nadav Har'El | Friday, Jun 6 2003, 6 Sivan 5763 [EMAIL PROTECTED] |----------------------------------------- Phone: +972-53-245868, ICQ 13349191 |Topologist, n.: A person who cannot tell http://nadav.harel.org.il |a doughnut from a coffee mug. ================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]
