how to be a real programmer ?!!

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
AltCtrlDel
Member
Member
Posts: 25
Joined: Sat Jun 25, 2005 11:00 pm

how to be a real programmer ?!!

Post by AltCtrlDel »

hello
plz forgive me for this out-of-subject question but i really need to explore your point of view as an OS-development community

First: What is a real programmer?
Should I learn alot of programming languages and tools? or should I try to improve my ability to solve complex programming problems? or should I focus on efficiency, robustness, coding style .. and so on

Second: What to learn?
Data structures and algorithms? .. ok .. what else? .. do I need to learn design patterns (currently, I know nothing about them)? what topics of mathematics, statistics, and other basic science should I learn?

Third:Is there some point where I could say "ok, I have finished learning but i will go on practicing and improving experience"?

any comments will be helpful, thnx in advance
User avatar
carbonBased
Member
Member
Posts: 382
Joined: Sat Nov 20, 2004 12:00 am
Location: Wellesley, Ontario, Canada
Contact:

Re: how to be a real programmer ?!!

Post by carbonBased »

Well, according to the web:

http://www.google.ca/search?hl=en&lr=&s ... Programmer
http://dict.die.net/real%20programmer/

That's what a real programmer is :) I dunno what my definition would be -- a logical, problem-driven, efficient worker that just happens to use programming languages to solve his or her problems.

A real programer understands the effect of their code on all other modules of a large project (including those they don't work with on a regular basis), is able to quickly debug problems and fix them in an elegant manor (ideally, a real programmer never has to hack code... but can if they have to).

That's a crappy description, but... I guess that's what I think a real programmer is.

You should learn programming languages that are appropriate to learn. If you're working on a project that requires a lot of text manipulation, you should probably learn perl. If you want a quick and easy way to develop on several platforms, perhaps you should learn Java. A real programmer has no problem learning new languages because they realize they're all the same... just with a different syntax (and perhaps a few new paradigms).

Problem solving skills are always a must. A good programmer is useless if they can debug their own (and others) code.

Coding style is key, but each job you have is going to present you with different coding standards. Be sure you can follow them, and be sure that your code is consistant and readable.

Ensure that you know how a compiler will compile your code into assembly and/or machine language. Use that to your advantage. Certain constructs and methods of programming do not lend themselves to optimized code. A real programmer knows how to avoid these while maintaining readable code.

As for things to learn? Lots of things. Anything that's appropriate. Design patterns, yes. Appropriate math, yes (if you're planning on working with graphics or physics then vectors, matrices, etc, are good to know). General purpose algorithms are a must (linked lists, binary trees, etc). General multi-threaded utilities (mutexes, semaphores, message queues)...

Generally speaking, a programmer is always learning. You have to be to keep up. I don't think you should ever say you're done learning. The more you learn, and the more new styles of code and new ideas you see, the better your own code will become, and the more items you'll have at your own disposal. That can only be a good thing.

--Jeff
blackcatcoder
Member
Member
Posts: 132
Joined: Wed Nov 03, 2004 12:00 am
Location: Austria
Contact:

Re: how to be a real programmer ?!!

Post by blackcatcoder »

Really nice and true!

You can never learn all things but if you need some information you should know where to look.
povert
Posts: 1
Joined: Sat Sep 03, 2005 11:00 pm

Re: how to be a real programmer ?!!

Post by povert »

OS withous knowing how to use mouse..

Sorry ;(

Ok, I am 4 jear sitting alone and learnig, learnig, learnig... And I was like you.. I went to be a programmer (real)...

As every programmer, I will think logically:
1. To be a programmer, I have to know at least one programming language (isnt it?). Which one? I suggest C because 4 years ago I begin with C++, and after 10 pages, I throw my book away.
2. After you read a book and write oneprogramm, that prints `Hello World' to screen - you will think a bit different
3. What than? Is it too hard? NO! - but if you really want!
4. After you get "different thinking" you will look around to find some libraries providing API's that let you for example create a window and after that you will find a tons of such API's
5. Ok, now you are "The programmer" but not yet "The Real".
6. IMHO: "Real programmer" is not a man who knows a lot of languages, or math. etc. The real programmer is the man WHO IS ABLE TO CREATE A BIG PROGRAMM and after half of year make additional changes to it...
7. And what you have to know to write such programs? -You
have to try, try and try...
8. You need your own concept on how to keep your sources clean and understanable (i do not mean comments)

I wich you good luck
Dmytro,

communa A T ua D O T fm
Legend
Member
Member
Posts: 195
Joined: Tue Nov 02, 2004 12:00 am
Contact:

Re: how to be a real programmer ?!!

Post by Legend »

6. Well, being able to abstract algorithms from a language implementation helps a good bit in maintaining an app, and it really sucks if you can't create a program because you don't get the math behind it. At least these aren't wrong for being a real programmer! ;)
*post*
et_the_geek
Posts: 2
Joined: Fri Sep 16, 2005 11:00 pm

Re: how to be a real programmer ?!!

Post by et_the_geek »

Ok dude, heres how you know your ready to be a full fledged programmer:

1) When you know all the advanced code (all the Big variables, defining variables, creating functions, defining properties, etc)

2) when you are able to generate stable software

3) when you dont require syntex checking when writing the coding

I would also recommend taking a colledge course on computer programming (because its easier when you learn from a certified teacher) on the more advanced languages. (I dont know if colledge has introductionary classes or not)
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Re: how to be a real programmer ?!!

Post by bubach »

You are a good programmer not only when you are really good at C or C++ but when you _really_ understands what's going on inside the computer when you run the code. I therefore think that all good programmers need to know assembly language.
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
Legend
Member
Member
Posts: 195
Joined: Tue Nov 02, 2004 12:00 am
Contact:

Re: how to be a real programmer ?!!

Post by Legend »

At least when doing os dev, it is unavoidable anyway ...
*post*
Post Reply