Sponsored by Activision
Band Hero view!
guitarhero.com - The biggest event music event of the year is now in your living room.
31 Comments
- YHCIR, on 10/12/2007, -2/+12http://www.duggmirror.com/programming/15_Exercises_to_Know_A_Programming_Language:_Part_1/
- pornel, on 10/12/2007, -2/+12Your post is a duplicate, too.
- vivisector, on 10/12/2007, -4/+13Starting to learn C++ now any help is greatly appreciated.
- burke, on 10/12/2007, -2/+9I've heard the book 'Accelerated C++' is a good book to learn from. You can find it on Amazon or ed2k, depending on how broke you are.
- inactive, on 10/12/2007, -2/+8C++ Programming: http://www.research.att.com/~bs/C++.html
for more just do a search on google, you can find a lot by typing:
c++ filetype:pdf
c++ filetype:chm (help file format)
c++ filetype:html - rw112358, on 10/12/2007, -1/+6Try:
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Free html book that I found by far better then anything else - lobrien, on 10/12/2007, -0/+5You are correct. My hope was to create a series of exercises that reflect what a technical hiring manager could reasonably expect of a young programmer claiming to know a language. Additionally, I think the exercises are complex enough to require problem solving although hopefully without bogging you down in solving an _algorithmic_ issue (which is great fun, but tangential to learning a language).
- Lutja, on 10/12/2007, -1/+5I really liked the the VC++ for dummies book.
My favourate (learning) programming book has to be Oh! Pascal! http://www.amazon.co.uk/exec/obidos/ASIN/0393960773/026-9544358-6282055
... which doesnt really help you with C, but its worth mentioning just for the memories of its wonderfulness :) (it was similar in style to Why;s (poignant) guide to Ruby)
- mojaam, on 10/12/2007, -0/+3All these exercises topics are easier said than done. Everybody just says do this, so that, write this GUI, when you are supposed to start with learning the concepts first. For example, how will somebody learn to write a GUI program without any knowledge of Inheritence, interfaces or abstract classes? I think these exercises are for review rather than learning.
- c0uchm0nster, on 10/12/2007, -0/+3C++ Primer by lippman, i think it's on 5th or 6th ed by now - by far the best and easiest to grasp explantion of pointers ive ever found
- HPSauce, on 10/12/2007, -1/+4Second thumbs up for Accelerated C++, I used it last year and it got me up to speed with the language EXTREMELY quickly. It takes you through the basics hastily (if you're a total beginner, best try another book), then the nitty gritty stuff comes early on.
- Lutja, on 10/12/2007, -1/+3I've not ever seen the accelerated book - but as I general rule I'd stay away from books that promise 'rapid' learning - especially if you have never programmed before. Once you have learned the basics of programming a compiled language any old internet tutorial will help you. But for that first language... I'd stick to something slow and well written, something that would be a fun read even if you diddnt have a compiler. The right kind of book can make you fall in love with programming - as though your compiler is some kind of kitten or puppy :)
- jefu, on 10/12/2007, -0/+2Since this topic has come up a couple times recently, here are my thoughts (as a bit of a programming language maven).
Pick four or five programs that you really understand how to code in your favorite language and recode these in a new language - try not to use the same kinds of methods that you would have used in other languages, but instead use the idioms of the new language. Then code one or two things that come to mind that feel like they'll work out well in the new language.
The idea is to work with something you know really, really well - so you can focus on the language and not on the algorithms. My choices are also algorithms that I can verify the answer easily - and partial answers as well.
For instance - my basic programs are (not always, but often) :
"hello world" (more or less) - echo the command line arguments to the standard output (if these exist - otherwise use whatever environment you can). This gives you a basic program and the way to compile and run it.
Hailstorm sequence - compute successive elements of the hailstorm sequence using some sort of memoization to remember what has already been computed. This gives a bit more complicated computation than the first program.
Solving a system of equations with Gaussian elimination. Arrays and floating point.
Wordsquares - read in a file of words and produce squares of words that read the same vertically as horizontally. This does file IO, recursion and backtracking.
Solving simple equations over the complex numbers using Newton Raphson iteration. This is good for simple user defined data types. If graphics is part of the language or a simple library, plot the number of iterations needed for convergence.
And from there I'll explore more complex problems - ideally those suited for the language and problems that I've already solved once. After I'm convinced I know how to use the language and am still interested, I'll explore more. - Snooper1989, on 10/12/2007, -1/+3I recommend "Teach Yourself C++ in 21 Days"
http://newdata.box.sk/bx/c/ - elnerdo, on 10/12/2007, -0/+2No, it's not language specific. It's just called Knowing.NET because the web address is *surprise* www.knowing.net
- burke, on 10/12/2007, -2/+4Well, I know this is a dupe, but I forgot to digg the original, so you've got my digg ;)
EDIT: No, I see this is a different set of 15 exercises. How odd. - Stopher, on 10/12/2007, -0/+1Well I'm glad no one asked me that on my job interview. Those hurt my head.
- grimw, on 10/12/2007, -0/+1I agree with you about that book. I don't personally own it, but I took a look at it earlier today, thinking it would suck. However, it did have some problem sets in there that require some good thinking skills.
- inactive, on 10/12/2007, -0/+1been programming assembly for 10 years,and i love it
- trunkster, on 10/12/2007, -1/+2These aren't entirely exercises, more of it is questions to ask yourself to check if you know a language... but it does look interesting. I'll try some of these out with C++
- mhatrep, on 10/12/2007, -0/+1I find the exercises more on "Academic" side. To get job and really "know" language, I would consider writing programmer's editor with all popular and special features.
For getting hired check "Programming interviews exposed : secrets to landing your next job - by John Mongan and Noah Suojanen" . This book puts some great programming challenges. - stesun, on 10/12/2007, -0/+1This seems like a OK, way to learn a new language or just as an exercise to be a better programmer. However, this is way boring and if you do more then one of these you will probably go out and get a life instead. Do some real software or tool instead. Maybe a digg reader, your own last.fm player or something else that you can have use for and can give you some pride that you have done something use full.
- Math-Sux, on 10/12/2007, -0/+1His bio is a great read!
- Llan, on 10/12/2007, -2/+2Part 1: Sure, let's write the same stuff everyone uses, that'll make for a great and independent article. You'd be the first to scream: Quicksort is oooooooooooooold.
- jasonsbytes, on 10/12/2007, -1/+1I consider myself a perl expert, but I"m trying to learn Java now and it's pissing me off... :(
- lobrien, on 10/12/2007, -0/+0Only the final exercises in each set of 3 are intended to be "interesting" in and of themselves. A major point of them is _not_ to distract you with debugging the _algorithm_, but to work with moderately complex algorithms in the idioms of the language you're learning.
As for quicksort, it's not relevant to any of the exercises (you might have gotten confused by the Haar transform, which has nothing to do with sorting). - LordofShadows, on 10/12/2007, -3/+1How did this thing get 300+ diggs? really..
- directorblue, on 10/12/2007, -7/+3Page not responding. No digg.
Uhm, yep, it's .NET - omega1045, on 10/12/2007, -6/+1C++ is too fast for modern processors. You should learn something like Java or VB.Net.
- Urusai, on 10/12/2007, -8/+2Part 1: Haar transforms? Yeah, buddy, don't bother with stuff everybody knows or cares about, like quicksort.
Part 2: Let's play with C++/ATL. Oh, right, not every language is just like C++.
Part 3: I like email scripts. Don't you?
What a putz. - erinspice, on 10/12/2007, -11/+2No digg, duplicate!


What is Digg?