You are not logged in.

#1 2009-12-08 00:57:36

Anikom15
Banned
From: United States
Registered: 2009-04-30
Posts: 836
Website

How can I be a better programmer?

What are some general tips at increasing my programming abilities?


Personally, I'd rather be back in Hobbiton.

Offline

#2 2009-12-08 01:03:45

tlvb
Member
From: Sweden
Registered: 2008-10-06
Posts: 297
Website

Re: How can I be a better programmer?

Learn languages from more than one paradigm, learn both high and low level languages.


I need a sorted list of all random numbers, so that I can retrieve a suitable one later with a binary search instead of having to iterate through the generation process every time.

Offline

#3 2009-12-08 02:42:19

tomd123
Developer
Registered: 2008-08-12
Posts: 565

Re: How can I be a better programmer?

Anikom15 wrote:

What are some general tips at increasing my programming abilities?

If you haven't already, learn a text editor like vim or emacs well. It will help you out a lot.

Also, if you haven't already, write a network program (web server, irc client/server, etc.) without using any libraries. Preferably in C.

Last edited by tomd123 (2009-12-08 02:42:45)

Offline

#4 2009-12-08 02:56:02

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,485
Website

Re: How can I be a better programmer?

Do some programming.

Online

#5 2009-12-08 02:57:42

archlinuxsagi
Member
Registered: 2008-09-12
Posts: 259

Re: How can I be a better programmer?

1)program some task in a day...
2)take over some body else code..
3)debug.. debug.. and more debug...

Offline

#6 2009-12-08 04:13:59

tavianator
Member
From: Waterloo, ON, Canada
Registered: 2007-08-21
Posts: 859
Website

Re: How can I be a better programmer?

I'm with tlvb.  Try functional programming especially (haskell is awesome, and surprisingly high-performance for something so high level).  Also, have a look at the source code to existing projects, and try hacking on them.

Offline

#7 2009-12-08 04:19:48

Trent
Member
From: Baltimore, MD (US)
Registered: 2009-04-16
Posts: 990

Re: How can I be a better programmer?

Document before, during, and after programming, but especially before and during.  It's part of the job...

Speaking of which, if it's an option and you don't already have one, try getting a programming job.  Just hitting the streets with a resume and conducting interviews with employers will tell you a lot more about "real" programming than sitting at home writing cute scripts.  It's not impossible to land a position as a coding peon with no formal training at all, if you show aptitude and willingness to learn.

If you have fifty bucks to spare, get started on The Art of Computer Programming, by Donald Knuth.  (Disclaimer: I do not have a copy, I have only read part of the first chapter, and this recommendation comes through me only from the mouths of older and presumably wiser programmers.  YMMV and all that.)

I have lots more ideas floating around in my head, but I think they'd make better blog material than post material, so I'll stop here.  Best wishes.

Offline

#8 2009-12-08 04:20:06

denton
Member
Registered: 2009-12-05
Posts: 13

Re: How can I be a better programmer?

I'd suggest not starting with anything exotic, like go or something. As easy to use as it is, it's much better to start with a mainstream language.

Start with python.

Last edited by denton (2009-12-08 04:20:39)

Offline

#9 2009-12-08 05:51:35

shock
Member
Registered: 2009-12-05
Posts: 25

Re: How can I be a better programmer?

Yes, start with python then pick c++ or java for oop. then you can do anything you want  like php or ruby for web development.

Offline

#10 2009-12-08 07:57:30

zowki
Member
From: Trapped in The Matrix
Registered: 2008-11-27
Posts: 582
Website

Re: How can I be a better programmer?

Join a small open source project and contribute. Thats how I became fluent in C.


How's my programming? Call 1-800-DEV-NULL

Offline

#11 2009-12-08 08:32:37

mikesd
Member
From: Australia
Registered: 2008-02-01
Posts: 788
Website

Re: How can I be a better programmer?

Programming is like mathematics. You won't learn it by reading about it. You only learn by doing it. Code something, anything.

You don't say what level you are at, coding wise, but these online video lectures from Stanford University are pretty neat. They use Java but cover the basics well.

http://www.youtube.com/watch?v=KkMDCCdj … C7F4A1F852

Offline

#12 2009-12-08 09:18:01

jac
Member
From: /home/jac
Registered: 2009-05-19
Posts: 431
Website

Re: How can I be a better programmer?

Well, if you can't program very well already you might be doomed. A while back I happened across this paper http://www.cs.mdx.ac.uk/research/PhDArea/saeed/. The results were pretty interesting. I can't remember if that reserach says it, or some other research I chained onto after that did, but somewhere the idea was extended to "there is a certain programming ability everybody maxes out at, and there really isn't anything you can do to fix it."

mikesd wrote:

Programming is like mathematics. You won't learn it by reading about it. You only learn by doing it.

While I'll agree with the rest of your post, this strikes me as very odd simply because it creates a very strange paradox for me

Offline

#13 2009-12-08 09:24:05

toad
Member
From: if only I knew
Registered: 2008-12-22
Posts: 1,775
Website

Re: How can I be a better programmer?

change your avatar (sorry, but you asked for it wink )


never trust a toad...
::Grateful ArchDonor::
::Grateful Wikipedia Donor::

Offline

#14 2009-12-08 09:48:10

mikesd
Member
From: Australia
Registered: 2008-02-01
Posts: 788
Website

Re: How can I be a better programmer?

toad wrote:

change your avatar (sorry, but you asked for it wink )

Funny. smile

@jac Yeah. Not everything I say makes sense. smile Perhaps I should have said "you won't learn it by *just* reading about it." For example, simply reading "ANSI Common Lisp" cover to cover won't make you a Lisp programmer, however if you read the book, work through the exercises, do a bunch of the problems on Project Euler, etc this is where you really learn a language. When you start thinking of how to apply it to problems.

Offline

#15 2009-12-08 19:06:19

scragar
Member
Registered: 2009-07-14
Posts: 108

Re: How can I be a better programmer?

I figure if you want to learn the best three aproaches should be done together, take apart someone else's code to understand how they did it, write the same functionality yourself so you are forced to learn how to do it, and print out the largest set of cheatsheets you can find, pin them to walls, doors, mirrors, windows, your own head, anything it takes for you to look over it time and time again.

This is a great way to learn, since you are applying yourself in 3 different ways together, by brute forcing your memory you are building up the knowledge you'll need for most libraries, by writing code yourself you are testing yourself, allowing you to find your problems, as well as giving you a practical experience writing something, and by looking at other peoples code you learn not only to make sure your code is readable, but also how to follow the flow of a program.

Offline

#16 2009-12-08 23:46:10

Anikom15
Banned
From: United States
Registered: 2009-04-30
Posts: 836
Website

Re: How can I be a better programmer?

There, I changed my avatar. I guess I'd get better if I stopped fooling around.


Personally, I'd rather be back in Hobbiton.

Offline

#17 2009-12-09 01:07:17

pillz
Member
Registered: 2009-08-20
Posts: 58

Re: How can I be a better programmer?

Try to learn a language.  I recommend Python.  I've looked at Javascript, Python and Bash and in my opinion, Python is the easiest to learn.  I recommend reading "A Byte of Python" and "Think Python" to start off with, as both books cover the basics very well.  The first is very basic, and the second gets more complex as you go so they'll compliment each other (or so I've found).

Because Python is so clean, it's also easy to look at someone else's code and understand what is going on.  You might not understand everything, but you'll get the flow and meaning of things pretty quickly.

But... well, I'm a non-programmer and don't excel at math either.  I just read and try to learn these things for fun, and I'm not very good =P

EDIT:  What I have learned though, is that reading books that get progressively tougher and working out the examples is a great way to get better.  I've re-read the first half of "Think Python" about 3 times, just to fully grasp what was being discussed.  Debugging helps, but I'd probably say looking at other people's short-ish programs/scripts is the best way to tell if you've caught on to what you've been reading and practicing.

Last edited by pillz (2009-12-09 01:12:27)

Offline

#18 2009-12-09 04:35:11

Trent
Member
From: Baltimore, MD (US)
Registered: 2009-04-16
Posts: 990

Re: How can I be a better programmer?

From http://catb.org/~esr/faqs/hacker-howto.html

Eric S. Raymond wrote:

I can't give complete instructions on how to learn to program here — it's a complex skill. But I can tell you that books and courses won't do it — many, maybe most of the best hackers are self-taught. You can learn language features — bits of knowledge — from books, but the mind-set that makes that knowledge into living skill can be learned only by practice and apprenticeship. What will do it is (a) reading code and (b) writing code.
[...]
Learning to program is like learning to write good natural language. The best way to do it is to read some stuff written by masters of the form, write some things yourself, read a lot more, write a little more, read a lot more, write some more ... and repeat until your writing begins to develop the kind of strength and economy you see in your models.

There's much more on that page that you might find helpful, but this is what first popped into my head.

Offline

#19 2009-12-09 05:36:23

Anikom15
Banned
From: United States
Registered: 2009-04-30
Posts: 836
Website

Re: How can I be a better programmer?

I alreasy know how to program . . . in Python, and C. I finally finished K & R (Though not all the exercises, some of those are really hard -- like that histogram).


Personally, I'd rather be back in Hobbiton.

Offline

#20 2009-12-09 06:01:44

shock
Member
Registered: 2009-12-05
Posts: 25

Re: How can I be a better programmer?

Coding and helping others with coding helps. I spend some time reading and trying code posted at stackoverflow or snipplr. this helps sometimes.

Offline

#21 2009-12-09 06:04:35

pillz
Member
Registered: 2009-08-20
Posts: 58

Re: How can I be a better programmer?

If you already know how to, then the best way to become better is to do a few things:

1- Continue learning Python and C.
2- Write programs/scripts/whatever frequently.  Little things do help, big things help, whatever.
3- Dissect other peoples code and maybe try to write something original that does the same thing, or something similar.

Offline

#22 2009-12-09 16:53:05

ataraxia
Member
From: Pittsburgh
Registered: 2007-05-06
Posts: 1,553

Re: How can I be a better programmer?

Find some motivation to code something in particular, instead of just "to code something". You'll get bored without some concrete reward for doing your "exercises".

Offline

#23 2009-12-09 18:08:05

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: How can I be a better programmer?

Grow a beard.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#24 2009-12-09 18:22:22

dr_te_z
Member
From: Zoetermeer, the Netherlands
Registered: 2006-12-06
Posts: 154

Re: How can I be a better programmer?

It seems so obvious, but still I mention it:
- the database is for data, you program source is for computer instructions. Do not mix! No hardcoded data in your source, and no META-data in your database.
- do not try to include the factor "time"  in your datamodel
- remember the "single point of definition" at all time
- know your data
- while your designing & coding take into account: it must be easy to deploy/maintain/port


Somewhere between "too small" and "too large" lies the size that is just right.
- Scott Hayes

Offline

#25 2009-12-09 21:12:51

Neheb
Member
From: Norway
Registered: 2009-05-23
Posts: 39

Re: How can I be a better programmer?

would suggest getting into or starting some kind of group project.
this will help you get used to working with others, be exposed to new ideas/ways of doing things and you might be able to do something that is bigger than you otherwise would be able to do.

Offline

Board footer

Powered by FluxBB