Is a good programmer born or made?
I started taughing myself programming languages 1~2 months ago and until now I pretty much suck at it. How did you start? Can you become good or are good programmes born? If they are made how many time would you see is enough to get good or give up?
I didn't really know where to ask this, it seems the best place to ask here. |
It's many different things, including knowledge and a way of thinking. For a start, read this (and learn it by heart too): How To Become A Hacker
In this document, mind you, the word 'hacker' means 'creative programmer', not 'haxor'. |
you are good in what you do a lot
|
Taught myself to program beginning in 1980 with BASIC on a VIC-20. Within 5 years I was writing software in C for the Air Force. Patience and discipline are the 2 qualities that are paramount to make a good programmer. Get in a hurry or try to cut corners and you will fail. I have spent days going over a code fragment to isolate a bug and it is what it is. Approach things in a linear, step by step fashion and solve one problem before moving on to the next.
In my day, every byte of RAM and storage was crucial so code had to be fast and efficient. Now days, I think folks tend to cobble stuff together and good enough is a mantra to live by... |
Quote:
Someone born with "perfect pitch" has an advantage in music. There might be an equivalent to "perfect pitch" in programming but that characteristic has not been discovered. It could be a gift for problem analysis and algorithm design as opposed to the ability to master the syntax of many computer languages. Most people can, with motivation, become competent programmers. A few, a very few, will become true stars. Daniel B. Martin |
Quote:
Since then the cost of hardware has dropped radically. The cost of programming has not dropped anywhere near as much even allowing for inflation.. Programmers are possible twice as cost effective today as they were in 1967. Hardware is approximately 60,000 times more cost effective today as it was in 1967, allowing for inflation. Now a good programmer optimizes for programmer cost which also includes the cost of software maintenance. Optimizing for hardware efficiency is still done but not so much. --------------------- Steve Stites |
I am self taught, and I am definitely better now than when I started. I believe a good programmer can be made, otherwise, there would be no point.
|
You have to be interested. I mean you (have to) want to know how does it work, you must enjoy learning it, (be familiar) and working with it. I do not mean you want to complete your job, but to have the power to (be able to) solve problems. One usually says the best thing is when your job and your hobby are exactly the same thing. You will be a good programmer if your daily work will be seen as solving a very interesting problem and you are the best to give the perfect solution.
From the other hand you must really have the knowledge to really "produce" the best solution. So everybody can be a very good programmer just he/she should do it as a hobby, not as having a rough time... Just how I think |
Made.
And it gets easier the more you do it. Mastering one language, for example, puts you in a position to easily learn languages that are similar in design. |
Quote:
|
I taught BASIC programming for a year while I was stationed in Korea. I began every new class the same way:
I would write "DWIM" in large letters on the chalkboard before class but I wouldn't mention anything about it. Invariably someone would ask what it meant before class ended. This is where I explained there was no "Do What I Meant" syntax in any programming language. The first few classes I would look out at the audience and guess how many "light bulbs" would illuminate before the course ended - some never did... |
Quote:
(just look for "how to write good perl/python/ruby/whatever" code or look for optimization tips) |
Quote:
A function is a function. A class is a class. Sure there are 'differences' between languages,.. but in the end it is all just different ways to access low-level assembly structures. If you know what you want at a base level, it shouldn't be hard to figure out the code, no matter the language, to do so. php Code:
<?php Code:
#include <stdio.h> Code:
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#" |
Have to disagree with you pan64, of course it takes a while to 'master' a language, but that's not what I'm talking about. My first language was Python. Took a great deal of time until I was able to write any sort of non-trivial/productive code. After I was able to do so, learning to write non-trivial code in Ruby, Perl, Scheme took only a matter of days. Like I say, just learning the syntax, because I already knew the fundamentals. You mention available libraries, once understanding how they work and what they are used for it's a matter of 'import foo' in Python vs 'load foo' or 'require foo' in Ruby. 'elif' vs 'elsif'. These differences are not hard to grok...
|
Neither. They are forged upon the anvil of experience.
|
All times are GMT -5. The time now is 06:17 AM. |