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
how to be a real programmer ?!!
- carbonBased
- Member
- Posts: 382
- Joined: Sat Nov 20, 2004 12:00 am
- Location: Wellesley, Ontario, Canada
- Contact:
Re: how to be a real programmer ?!!
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
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
-
- Member
- Posts: 132
- Joined: Wed Nov 03, 2004 12:00 am
- Location: Austria
- Contact:
Re: how to be a real programmer ?!!
Really nice and true!
You can never learn all things but if you need some information you should know where to look.
You can never learn all things but if you need some information you should know where to look.
Re: how to be a real programmer ?!!
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
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
Re: how to be a real programmer ?!!
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*
-
- Posts: 2
- Joined: Fri Sep 16, 2005 11:00 pm
Re: how to be a real programmer ?!!
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)
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)
Re: how to be a real programmer ?!!
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.