I have no idea how you could possibly have picked up the notion that Euler and Gauss are not praised enough. They are literally the top two names when you google "greatest mathematicians all time"
There is such praise, just not on this post, but what's powerful about the story of Ramanuja is where he came from. The almost-miss that the world would not have his genius, but for a couple of lucky turns, is a powerful driving story about a diamond in the rough. I'm no such a genius, but the idea of being discovered is very alluring; to idly fantasize that I have some gift that could lead me to fame and riches. It's that nice feeling to hold while reading and thinking about his story.
Interesting. My experience with maths education is pretty much limited to watching Numberphile and other YT videos these days, but Euler and Gauss get plenty of praise.
To be a geek of geeks in computer science you have to write an OS or a Compiler and professor Wirth did both. To top it up he wrote the hardware to run it all. Now that’s when you call someone a king of geeks.
>> Looking back we had one CS professor who in 2007 predicted we'd all be jobless in ten years, i.e. 2017.
Doomsday prophecies are not limited to religious cults, you see them all around. It’s safe to say, from experience, AI is not going to outdated programmers but it’s going to make the mythical 10x engineer a common reality.
Few common attributes I've seen in some of the master programmers I've had the privilege to work with,
* write lots and lots of code as beginner till some programs live in the muscle memory of your fingers
* humility, be easy on yourself; no one makes it in the first jump
* find better programs and copy but never paste, as a beginner always key-in your programs
* keep a count of the lines you write and the time you take to write (reach 100k lines, this is to motivate yourself)
* make programming habit
* seek better programmers and study their code
* always go from code to theory
>>Whereas, I find myself going for almost academic perfection (i.e read all docs first) / mastery.
I suffered from the same problem. The key for me was to say to myself, it's ok to write non-perfect programs, it's ok to fail, in fact it's a must to fail, humility, humility, humility is the key virtue for a true master programmer.
> * find better programs and copy but never paste, as a beginner always key-in your programs
This is a surprisingly valuable tip. By manually typing in the code instead of just using copy/paste, you have the opportunity to make typing errors, causing programming problems you then have to debug. It forces you to dig into things in order to figure out what's going on and fix it.
Bonus points if you change some minor aspect of the code while you're typing it in. Change variable names, maybe genericize it a little. Something that theoretically shouldn't make any difference. The problems will be worse, forcing you to dig in even more to fix them.
I've learned so much this way over the years. YMMV, of course.