[Fsf-friends] Need Free software in 11th Class
Harish Narayanan
harish@gamebox.net
Wed Aug 24 03:11:23 IST 2005
Sarath Lakshman wrote:
>Hello Friends,
>
>I am here to inform you about an issue in 11th Class.
>Now I am studying in 11th class - Computer Science.
>Our text book is following the proprietary C++
>compiler (Turbo C++ Compiler) and there is nothing
>about Software freedom and importance of free
>software.
>
>
>
(This response is under the assumption you are talking about the CBSE.
And it's technically more of a response to many bits of this thread
rather than just this one e-mail. I can see how this will be construed
as rude, but it felt awkward the other way too -- tiny snippets
littering the thread.)
I am curious, what is the name of this text book? I was part of the
first batch that was introduced to C++ (instead of Pascal?) as the
programming language of choice for 11/12th standard. As far as I
remember, there was no text book as such (at that time) from the NCERT,
and schools ended up doing whatever was convenient. My school was (as I
guess most were) a DOS/Netware shop, and they encouraged the use of
Robert Lafore's Object-Oriented Programming in C++. This book, if I
recall correctly, dealt with things from the context of Turbo C++, which
is what they naturally ended up installing.
I also assumed the choice had a lot to do with this development
environment having a similar IDE to TurboPascal(?) which is what they
used before to be the driving force behind this decision. I am sure
teachers experience inertia just as much as the next person.
But I remember (I don't remember the names of the schools themselves)
people from other schools using UNIX (which I am sure was GNU/Linux to
the untrained eye), and gcc. But just as someone said people saying
'Alt-F9' for what goes on(?) during compilation, there were equally
nonsensical statements regarding 'needing to struggle' with UNIX (by
which they meant figuring out vi) as a prerequisite for learning to
program. Some people perpetually fail to see the difference between
concepts and a practicalities that go along with a particular implementation
Not to stir up controversy, but I quite disagree with the popular
opinion here that C++ is a horrible language for introductory computer
science. "Struggling with syntax" is a trivial, non-objective issue, and
can be raised about any programming environment. I might just as well as
say, for example, that "keeping track of all those parentheses is hard"
when it comes to lambda calculus. I think the bigger problem is the
clear lack of distinction between concepts or algorithms (or pseudo
code) and actual implementation, even amongst teachers (at least the
ones who taught me).
Clearly define a conceptual solution to a problem (which is what the
syllabus should probably really be about), and most
somewhat-well-designed languages will allow for relatively painless
implementation. I don't, philosophically or
implementation-difficulty-wise, see any difference between a Python (for
example) program and a modern C++ program (properly utilizing STL and
what not). Really, you can get just as much done in as few lines and
it's just as easy to read. You can just as easily abstract system
specific details and focus on the conceptual problem solution.
But as a bonus, if you want, you also get to get your hands dirty with
really low level system specific stuff, which most of the other
alternatives proposed clearly dissuade. I, and many people I know,
sometimes like to tinker with things beyond these sand boxed environments.
Harish
More information about the Fsf-friends
mailing list