Re: Is PERL good for a linguist new to programming?



"c" == ccc31807 <cartercc@xxxxxxxxx> writes:

c> IMO, programming is NOT an academic pursuit, but a technical one. I
c> see learning to program the same as learning to cook, to ride a bike,
c> to hit a baseball, or to play a musical instrument. You don't learn
c> these things by reading a book, hearing a lecture, or watching people
c> do it. The ONLY(!) way you learn to do these things is by doing it,
c> and doing it a lot. Practice, practice, practice. There is a
c> cumulative effect, and the more languages you learn the quicker you
c> can pick up new ones.

you don't know too many people who can't cook, hit a baseball, or play
an instrument (the latter for me). some skills just can't be taught
because some fundamental skill or something is missing or weak. sure
everyone could do a minimal program if they can follow a recipe or
travel directions. but real programming isn't about that but dealing
with complex levels of those things. i teach that the reason programming
is easy is anyone can do minimal logical stuff. the reason programming
is hard is scaling - two kinds of scaling. there is scaling in knowledge
- the programming field is very broad and deep with more to learn than
any one person cant. and the other scaling is in complexity. small
programs are easy, scaling them up to handle large loads, high speed,
reliability, etc is very hard.

c> The trick is learning the logic. I now have a couple of advanced
c> degrees in CS and SwE, and have spent a lot of time with students
c> in labs. The HARDEST thing for a new student to learn is the logic,
c> but this is no different from law. It's not hard to learn the
c> semantics of a language, just as it's not hard to learn what the
c> law is. The much more difficult part is learning to apply
c> these. For example (taking a very common student problem) write an
c> algorithm to figure out how many coins (quarters, dimes, nickles,
c> and pennies) are in a given amount of money. Try this and you will
c> see that it's not an particularly easy thing to do -- and most
c> students who fail will fail on the cusp between programming and
c> logic.

the logic is easy enough as i said. scaling is the hard part. everyone
can learn a little law but learning enough to be a lawyer and pass the
bar is hard. same thing. writing a php page is easy enough. writing a
kernel is hard.

c> You had better develop that mind frame. If you don't, you won't
c> succeed. My point is that logic is a discipline that transcends math,
c> really transcends all disciplines. As to your second question, the
c> answer is both. If you can analyze and understand program code, you
c> can write it. In doing so, you will come to appreciate clarity and
c> precision (including the art of properly commenting code).

there is definitely a certain mindframe that good or better programmers
have that others don't. accepting that the computer is right and you are
wrong is one of the important attitudes! :)

uri

--
Uri Guttman ------ uri@xxxxxxxxxxxxxxx -------- http://www.sysarch.com --
----- Perl Code Review , Architecture, Development, Training, Support ------
--------- Free Perl Training --- http://perlhunter.com/college.html ---------
--------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com ---------
.



Relevant Pages

  • 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)
  • Re: trouble creating array of objects
    ... >> happen to be learning because they enjoy the same challenge. ... programming would want to take that approach. ... How to write template classes ... > example is necessary to aid learning but they do not use explicit template ...
    (alt.comp.lang.learn.c-cpp)
  • Re: Book
    ... I used Jesse Liberty, Learning C#, for a group of new students who had ... very little to no programming experience. ... I've seen intro books that go the ...
    (microsoft.public.dotnet.languages.csharp)
  • [Commercial]: Learn Free-Linux Internals Fundamentals from Industry Experts.
    ... Are you interested in learning fundamentals of Linux System/Kernel ... Programming from Industry Experts? ... Concepts Systems Educational Services is the leading educational ...
    (linux.redhat)