You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program (Alan Perlis)