LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 09-04-2014, 02:42 AM   #1
moisespedro
Senior Member
 
Registered: Nov 2013
Location: Brazil
Distribution: Slackware
Posts: 1,223

Rep: Reputation: 195Reputation: 195
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.
 
Old 09-04-2014, 02:49 AM   #2
NevemTeve
Senior Member
 
Registered: Oct 2011
Location: Budapest
Distribution: Debian/GNU/Linux, AIX
Posts: 4,860
Blog Entries: 1

Rep: Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869Reputation: 1869
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'.
 
1 members found this post helpful.
Old 09-04-2014, 04:34 AM   #3
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
you are good in what you do a lot
 
Old 09-04-2014, 05:08 AM   #4
NGIB
Member
 
Registered: Sep 2013
Location: Sumter SC, USA
Distribution: MX, Lubuntu
Posts: 449

Rep: Reputation: Disabled
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...

Last edited by NGIB; 09-04-2014 at 05:11 AM.
 
Old 09-04-2014, 10:06 AM   #5
danielbmartin
Senior Member
 
Registered: Apr 2010
Location: Apex, NC, USA
Distribution: Mint 17.3
Posts: 1,881

Rep: Reputation: 660Reputation: 660Reputation: 660Reputation: 660Reputation: 660Reputation: 660
Quote:
Originally Posted by moisespedro View Post
Is a good programmer born or made?
It's similar to playing a musical instrument. Each person is born with a certain amount of talent. Education, training, and practice can enable that person to maximize his/her level of performance consistent with that inborn level of talent.

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
 
Old 09-04-2014, 10:51 AM   #6
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Virginia, USA
Distribution: Debian 12
Posts: 8,337

Rep: Reputation: 548Reputation: 548Reputation: 548Reputation: 548Reputation: 548Reputation: 548
Quote:
Originally Posted by NGIB View Post
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...
This is a matter of minimizing cost. When I started programming in 1967 a mainframe computer that was not as powerful as the desktop I am currently using rented for about $150,000 a month. Programmers made about $10,000 a year tops. So it was well worth the effort for a programmer to spend a week optimizing a program to save some machine resources when the program ran.

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
 
Old 09-04-2014, 11:20 AM   #7
bulliver
Senior Member
 
Registered: Nov 2002
Location: Edmonton AB, Canada
Distribution: Gentoo x86_64; Gentoo PPC; FreeBSD; OS X 10.9.4
Posts: 3,760
Blog Entries: 4

Rep: Reputation: 78
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.
 
Old 09-04-2014, 11:21 AM   #8
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,830

Rep: Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308
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
 
Old 09-04-2014, 11:23 AM   #9
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,220

Rep: Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319Reputation: 5319
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.
 
Old 09-04-2014, 11:32 AM   #10
bulliver
Senior Member
 
Registered: Nov 2002
Location: Edmonton AB, Canada
Distribution: Gentoo x86_64; Gentoo PPC; FreeBSD; OS X 10.9.4
Posts: 3,760
Blog Entries: 4

Rep: Reputation: 78
Quote:
Originally Posted by dugan View Post
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.
Yes. The first one is the hardest. Once you have the concepts down, learning another language is mostly a question of syntax.
 
Old 09-04-2014, 11:45 AM   #11
NGIB
Member
 
Registered: Sep 2013
Location: Sumter SC, USA
Distribution: MX, Lubuntu
Posts: 449

Rep: Reputation: Disabled
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...
 
Old 09-04-2014, 11:49 AM   #12
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,830

Rep: Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308
Quote:
Originally Posted by bulliver View Post
Yes. The first one is the hardest. Once you have the concepts down, learning another language is mostly a question of syntax.
No it is not really true. Actually you can write your program in several different ways, using perl you need to know the "perlish" way, using python you will need to know the pythonish way.... And that is not about the syntax only, but the efficient usage of internal structures, language elements and available libraries.
(just look for "how to write good perl/python/ruby/whatever" code or look for optimization tips)
 
Old 09-04-2014, 12:28 PM   #13
szboardstretcher
Senior Member
 
Registered: Aug 2006
Location: Detroit, MI
Distribution: GNU/Linux systemd
Posts: 4,278

Rep: Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694
Quote:
Originally Posted by pan64 View Post
No it is not really true. Actually you can write your program in several different ways, using perl you need to know the "perlish" way, using python you will need to know the pythonish way.... And that is not about the syntax only, but the efficient usage of internal structures, language elements and available libraries.
I disagree, switching languages, at a base level, is just familiarizing with syntax. Part of that syntax is calling out libraries/headers/whatever.

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 
print ('hello world!'); 
?>
c
Code:
#include <stdio.h>
int main(void) { 
    puts("hello world");
}
malbolge
Code:
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
Its all relative.

Last edited by szboardstretcher; 09-04-2014 at 12:31 PM.
 
Old 09-04-2014, 12:30 PM   #14
bulliver
Senior Member
 
Registered: Nov 2002
Location: Edmonton AB, Canada
Distribution: Gentoo x86_64; Gentoo PPC; FreeBSD; OS X 10.9.4
Posts: 3,760
Blog Entries: 4

Rep: Reputation: 78
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...
 
Old 09-04-2014, 12:42 PM   #15
Habitual
LQ Veteran
 
Registered: Jan 2011
Location: Abingdon, VA
Distribution: Catalina
Posts: 9,374
Blog Entries: 37

Rep: Reputation: Disabled
Neither. They are forged upon the anvil of experience.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Good C++ book for programmer? Hewson Programming 9 11-26-2008 10:10 AM
Natural Born Programmer PinkDown LinuxQuestions.org Member Intro 22 11-09-2007 05:38 AM
How to become a good programmer ... shamilson Programming 29 08-14-2006 12:02 AM
How to become a good linux socket programmer? david4 Programming 7 07-22-2004 08:27 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:33 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration