I think it's really happening in earnest now: I'm really starting to appreciate that "the more I learn, the less I know." I can see now that I'll never have more than a smidgen of knowledge in every area of human endeavor; indeed, there will doubtlessly be important aspects of life whose very existance I will never hear about.
I chose to pursue the world of computers when I was younger, but the computer world grew faster than I did. I used to think I was a brilliant with computers (the grown-ups all said so); now I'm merely an above average programmer, and only in certain areas of computer science, with specific programming languages.
I started out writing programs in BASIC on the Commodore 64 and Apple II, and as far as I knew, that's what programming was. A compiler? What's that? The internet? Never heard of it.
Today, my list of things-I-wanna-learn grows ever longer--or it would, if I wrote the list down. As it is, I suspect I've forgotten more items than I remember.
In the programming field, I can write programs in C, C++, C#, VB6, Java, and as of December, Ruby. I've also had a little exposure to Pascal, MATLAB, Verilog, gnu make, and VB.NET. But I had planned to learn Python for a couple of years now and still haven't done it. There are other interesting languages I would like to learn: Perl, Lisp, Dylan, Eiffel, and conceivably Smalltalk or Objective C. But now, knowing languages is just the tip of the iceberg. Look at all the other stuff there is to learn about:
- Libraries: Most languages now have enormous standard libraries, and every language has a community around it that produces an endless barage of useful libraries, each with its own bafflingly unique and quirky API.
- Paradigms: Aspect-Oriented Programming, Functional programming, Parallel & distributed programming, Metaprogramming, Service Oriented Architectures, Test Driven development, Extreme programming, Design patterns...
- Fields: Geographic Information Systems (GIS), Search technology, Desktop Publishing, Multimedia, Games, Scientific Computing, Embedded computing (with an endless number of sub-fields) and so forth.
- Databases: These have been important for decades, yet I still lack basic knowledge about installing and using them.
Looking beyond computers, I can see many other big fields: oil & gas, food, construction, politics & civil service, management, marketing, real estate, entertainment, education, health care, and so forth.
If I assume that other industries are as vast as the computer industries, then clearly there's no hope I'll ever know much about most of them.
I suppose it's good to know how small I am in the scheme of things, but it's a scary thought. Perhaps it's best to forget about it.