I'm someone who wishes he had more time to write programs. I'm more interested in back-end systems than user interface elements and like to have a command line close by all of the time.
I'm drawn to simplicity and shy away from complexity - partly because the older I get the harder it is to follow complexity but mainly because simplicity leads to longevity.
A fan of C as a simple abstraction of the hardware and its universality. Understanding C means you have some clue as to how bits and bytes are shifted around to make real programs. Those that understand C, tend to have a better grasp of the size and speed trade-offs of algorithms and data structures.
A fan of Python for its simplicity and abundant supply of packages that make solving many day-to-day problems about as simple as it can be.
I also have a bit of a soft spot for Excel/VBA in the right circumstances - not for the language, but for the simple reason it's a 'runtime' that many people already have installed allowing a simple solution to be implemented without the need for other dependencies.
Below are a list of books that have most influenced me over the years, many from the 1980's and 90's. This is not a list of recommended reading as clearly there are many absolute classics missing - it is instead a list of books that at the time, encouraged me to try and improve as a programmer in some way.
- The C Programming Language - Kerninghan & Ritchie
- Code Complete - Steve McConnell
- The Pragmatic Programmer - Hunt & Thomas
- Algorithms in C - Sedgewick
- Advanced Programming in the Unix Environment - Stevens
- The Unix Programming Environment - Kernighan & Pike
- Clean Code - Martin
- Computer Graphics: Principles and Practice in C - Folet, van Dam et al
- Writing Solid Code - Maguire
- Debugging the Development Process - Maguire