Hi,
I am 15 years old and have been learning programming for the last one and a half years. I first began learning x86 assembly, became kind of proficient in it, and then I started C and C++. I have been using C for the last 5 months, and C++ for the last 2.
I believe I have a good grasp of the basic concepts behind structured and object oriented programming, and other concepts such as polymorphism, recursion, lists,etc
Could some people please give me an idea of where I am at?
Here are some examples of my work so far...
You have to realise that programming is more than data-structures and recursion. Programming is all about understanding the advantages and disadvantages of certain design choices under different architectures, understanding the architecture of a program and concluding the best choices for performance gains, stability and portability. Finally, programming is about analysing a program's profile to identify bottlenecks or where valuable resources are being wasted.
Believe me, programming is a very, very big field and I would have to cover a lot of ground before I would even considering myself as advanced.
It is pretty much basic stuff. I can make custom list in about 10 languages. And I think I can make it in any other (except esoteric) in about 30 minutes of studying documentation.
Knowing syntax and data structures is onli one of first stepping stones on path of learning programming.
However I would not call OP an absolute beginner. He is pretty good compared to much of other who study programming for two years.
I suggest OP to study books on programming design as a whole and to understand why every pattern he comes upon was invented and what problems does it solve. Also books on OOP will be fine too: it is somewhat tricky field.
@zsteve
If you want to test your skills, you could try out project euler. The project has several problems that have numerical answers. It will test your knowledge in solving different types of problems. http://projecteuler.net/
Also there is a contest that I have participated in for the past three years. The contest gives 5 hours to solve anywhere between 6 to 9 problems. They keep an archive of all the problems and have an online judge that is capable of grading solutions posted online in the following languages.
ANSI C 4.5.3 - GNU C Compiler with options: -lm -lcrypt -O2 -pipe -ansi -DONLINE_JUDGE
JAVA 1.6.0 - Java Sun JDK
C++ 4.5.3 - GNU C++ Compiler with options: -lm -lcrypt -O2 -pipe -DONLINE_JUDGE
PASCAL 2.4.0 - Free Pascal Compiler http://livearchive.onlinejudge.org/
Both of these sites let you create an account to keep track of which problems have been solved.
@AlitCandle
Start -------------------> End
C++ -------------------> Java
C++ ------------------->x86 assembly (next Step)
C++ -------------------> Rest
BTW You May Be Older (Im 14) But Not Smarter (maby You Are Who Knows Lol)
@ibranext
You maaaay have just started a flame war...regress said statement or a horrible insult war may ensue. I'm not saying I'm joining. I'm just saying I know enough about the internet to say you probably need to take back what you said or you may get sucked into something horrible. Just saying.
well, thanks for that, really helped me fit myself in the picture :)
Actually learned x86 asm because of RCE, but I'm out of that now (mostly)
what book(s) would you recommend me to read (looking for stuff about the abovementioned) and perhaps boolean algebra...
@ibranext:
BTW You May Be Older (Im 14) But Not Smarter (maby You Are Who Knows Lol)
<flamewar>was that directed at me? :) </flamewar> fine, fine ... you can be smarter for all I care, let's see what you know about the PE format and the IAT<wink>
@kevinkjt2000: thanks for the links... will check soon
i would agree with Framework , anyone can write a program by learning the syntax and understanding the features of language, its no big deal if one knows 10 different programming languages and can write in 3o minutes, what matters is ur problem solving ability and approach, try to work on ur approach towards the problem and not on programming entirely!!!