[BangPypers] how to learn programming

Praveen Kumar praveen at mahiti.org
Fri Jan 23 08:46:49 CET 2009


Try to find someone you know that knows how to program. Online tutorials are
nice, but they can be frustrating at times if you can't get answers to
specific questions.

Keep at it. Programming can be the most frustrating thing in the world, but
it can also be the most satisfying thing. Don't get down if you don't get a
concept--programming can be a very abstract thing to learn, and if you can't
figure out something, take a break and come back later.

Go beyond boring textbook examples. Try to find problems that really
interest you. Try to solve them in small steps. Don't be afraid to read help
files to learn what is possible in solving your problem.

When writing a program, start small and then add options and features
gradually.

When you learn something new, it is very helpful to try it out, and then
change some things to make sure you have the concept down.

When choosing a programming language, it is important to consider what
you'll be learning it for. For example, if you want to go into website
development, try out Python (Django is very fun!), PHP, Java or Javascript
(note that these are not the same though they have similar names). If you
want to become a professional programmer, either C#, C++ or Java are a must.

If you take a break from programming, be sure to practice every now and
then. After all, it is a programming language, and as it is with any
language, you will forget it if you don't use it.

Join the Association for Computing Machinery http://www.acm.org/ and make
serious use of their Professional Development Center. It has hundreds of
free, step-by-step tutorials, though you must be a member to use them.
Student and discounted rates are available.

For most people, programming something that interests them or that they can
use will be much more interesting. Using a search engine, you can find a
tutorial or a source code for almost any project in any language.

Don't fear open sources. Open sources were put in place for a reason, to
learn. Why re-invent the wheel when you can make it better? Just make sure
you understand what you're programming.

References are there to help you. Don't be ashamed if you don't remember
everything by heart, that comes with time. The important thing is knowing
the various possibilities of functions within a language and knowing where
to go to find out exactly how to use them.

I do follow same and assure if any one follow will never be failure.



On Fri, Jan 23, 2009 at 12:59 PM, Darkseid <lorddaemon at gmail.com> wrote:

> Context is everything. When implementing Google search, efficiency of
> algorithms matter. When modeling a business process, effective encapsulation
> matters. I've never understood the obsession with algorithms to the
> exclusion of all else. They certainly matter, but to make them the sole
> yardstick is a very bad idea.
>
> To put it another way, I don't particularly care what language someone
> programs in so long as he has understood and absorbed basic CS concepts.
> Stuff that is covered from different angles in 'The Pragmatic Programmer',
> 'Code Complete', and 'The Structure and Interpretation of Computer Programs'
> just to name a few.
>
>  have found those how have programmed  in C/C++ are generally better(in
>> problem solving) than who program in other languages.
>>
> I would disagree quite strongly based on my experience. I don't thing C/C++
> programmers are any worse, but they certainly aren't any better on average.
> What I have observed in my particular area of work (which has an emphasis on
> OO) is that C/C++ programmers are least likely to respect good OO practices,
> followed closely by Java/C# folks.
>
> My 2p,
> Sidu.
> http://blog.sidu.in
>
> prasanna diwadkar wrote:
>
>>  Hi,
>> I think Chetan is right. Algorithms play important role.I am not biased
>> towards specific language but I have found those how have programmed  in
>> C/C++ are generally better(in problem solving) than who program in other
>> languages.This is not to say Python/Java etc  are bad but C/C++ forces  you
>> to learn(without copy paste!) unlike java/Python where JDK provides all
>> methods in API.Ofcourse this has happened because software apps have grown
>> big in size and complexities than in 80s/90s where C/C++ were predominant.
>> Thanks
>> PD
>>   --- On *Sat, 1/17/09, Chetan Nichkawde /<chetan.nichkawde at gmail.com>/*
>> wrote:
>>
>>    From: Chetan Nichkawde <chetan.nichkawde at gmail.com>
>>    Subject: [BangPypers] how to learn programming
>>    To: bangpypers at python.org
>>    Date: Saturday, January 17, 2009, 3:34 AM
>>
>>    Hi,
>>
>>      The only way to learn programming is to program. I learnt C++
>>    when I was in high school and I remember getting intimidated by
>>    some of the problems posed. I thought I cannot do it. But when I
>>    gave it a try it happened and a whole new world of programming
>>    opened to me. One of the problem posed by my teacher was to place
>>    8 queens on a chess board so that no queen is able to cancel any
>>    other queen. During those days (1997) there was no internet and I
>>    hail from small town called Dhanbad. I went after the problem and
>>    cracked it. For many years, I thought I was the only person who
>>    can solve the problem in that way. When I came to software
>>    industry I came to know that kind of algorithm is known as
>>    backtracking algorithm. Was I a computer wiz or something?
>>    Imagining backtracking algorithm in class XI in high school. I
>>    don't think so. You just have to apply yourself and be creative.
>>    Python is great language to start learning programming although
>>    certain concepts like pointers is also a must know for a programmer.
>>
>>    Chetan
>>
>>    --    Senior Analyst
>>    Outdu MediaTech Pvt Ltd
>>    Mobile: 9900262140
>>    linkedin: http://www.linkedin.com/pub/dir/chetan/nichkawde
>>
>>    _______________________________________________
>>    BangPypers mailing list
>>    BangPypers at python.org
>>    http://mail.python.org/mailman/listinfo/bangpypers
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> BangPypers mailing list
>> BangPypers at python.org
>> http://mail.python.org/mailman/listinfo/bangpypers
>>
>>
> _______________________________________________
> BangPypers mailing list
> BangPypers at python.org
> http://mail.python.org/mailman/listinfo/bangpypers
>



-- 
Praveen Kumar
Software Engineer
Mahiti Infotech Pvt. Ltd.
# 33-34, Hennur Cross
Hennur Main Road
Bangalore, India - 560043
Mobile:  +91 9343297314
            +91 9739854134
http://www.mahiti.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/bangpypers/attachments/20090123/1101ab17/attachment-0001.htm>


More information about the BangPypers mailing list