Re: why learn C?



Le 22-02-2007, pandit <jalaf28@xxxxxxxxx> a écrit :
i want to become a good programmer. one of my friends ( named
"arnuld", he posts here infrequently), taught me Lisp. so i am not a
programming beginner.

i have heard these 2 points. i want to know how :

1. C gives you a strong base of Procedural style of programming which
forms the basis of learning other paradigms e.g OOP

I am not sure that C gives better 'strong base' than Ada.

2. with C one will learn about pointers and algorithms.

pointers: yes
algorithms: why ?

3. /arnuld/ told me this in an email:

" i think algorithms and data-structures are more important than
learning a new programming language. Hence i prefer learning about
algorithms and data structures 1st, before i attempt a new programming
language or OOD. i think that is a better way. i said so after
searching the archives of "comp.programming", "comp.lang.c++",
"comp.lang.c" & "comp.lang.lisp" , at these places i found that
learning about programming, algorithms, data structures, abstraction,
software design and problem solving, and version control is much more
important and time consuming than simply learning a language, almost
all folks agree on that learning a programing language is a simple
task as compared to what they have described here"


/arnuld/ is not an experienced programmer, so i feel difficulty in
believing his words. i want to know the views of people here,a s much
of the post belong to C.

On algorithms: it depends what mean 'learning about algorithms'. In
every day programming, quick-sort is the most complicated algo I wrote,
ans, in all my programming life, the most complicated one was
implementing red-black tree. It is far away for beeing algorithm expert.
But some 'minimum' is needed (linked list, map, tree, sorting...).

The same, there is not a lot of every day *theoretical* structures:
array, lists, hash-map, tree...

Moreover, I do not know how to learn 'abstraction, software design and
problem solving' without any langage. Moreover, I am under the
impression that the 'good' software design is not langage-independant.

At leats, learning C is usefull because the is C, a kind of universal
programming langage known by all, a little bit like 'English' in
natural langages.


Marc Boyer
.



Relevant Pages

  • Re: algorithms and pointers
    ... > learning linked list, trees... ... > Dont mix algorithm with programming language. ... Algorithms are the foundation of logic - and abstract thinking. ...
    (comp.lang.java.programmer)
  • Re: Biulding Blocks
    ... and getting the syntax right is the hard part of programming. ... I wonder if people learning how to design algorithms for the first ... Another major aspect of modern software development isn't writing ...
    (comp.programming)
  • Re: AW: compact my wordlist generator
    ... When I was learning C programming, I read that learning those difficult ... Those are not difficult algorithms. ... Substr returns a list, right? ...
    (perl.beginners)
  • Re: trouble creating array of objects
    ... > programming would want to take that approach. ... Someone learning for any ... How to write template classes ... Using pointers and new is not advanced memory management it's the language ...
    (alt.comp.lang.learn.c-cpp)
  • RE: C# book for 16 yo?
    ... First I would suggest first learning Visual Studio.NET. ... Then I suggest 2 books to actually learn C# - Microsoft has a book called ... important to quality programming. ... language that combines all the best features of previous languages and is ...
    (microsoft.public.dotnet.languages.csharp)