To me it's the Unix and C++.
The Google search engine reminds me that things that seem impossible aren't.
- Search BILLIONS of complex documents INSTANTLY. done!
- Recognize normal human input and give useful results. done!
Haptics! I recently developed an OpenGL project with a SensAble Phantom Omni haptic device. 'Touching' virtual objects is damn cool if you ask me.
As a year-long java developer it inspired me to think different when I stumpled upon Groovy, Grails (and now Griffon). It made me think different on OOP and Java. That was the most inspiring technology I found this year
The iPhone. Its sheer beauty in terms of interface design led me to want to create software that was similarly glorious to use. Not that I necessarily succeeded, but the iPhone was (and continues to be) inspirational.
Machine Intelligence. Just a small advance in something like image recognition could enable so many new technologies.
I'm part of a team that is developing a cross-platform ERP/CRM software, with a single, very compact code-base written in C++, that is composed of an UI engine, a very fast database engine and a virtual machine (that runs the business logic).
The C++ engine is being built for Symbian S60, Windows CE, Mac OS X, Windows, Linux, Solaris and AIX. We do both 32-bit and 64-bit versions, and use both 32-bit and 64-bit file access. And the same engine is running both server and clients, and is being used for many quite different products that we offer to our customers. All of our products is translated into 26 languages, and the user can switch language on the fly by pressing a key.
With all this, we still have no problem adopting platform-specific technologies such as Cocoa and .NET, performance is great on all platforms, and even though the oldest parts of the code are from the late eighties, we have a straighforward and easy code to work with. We release new versions of our products several times every year, always on all platforms and in all languages at once.
What inspires me is great architectural groundwork that makes this kind of thing feel really easy.
Microprocessor design. Hard disk innovation. Do you realize how insane it is to have a 3GHz laptop with a 500GB hard drive? That will be the high-end before 2009.
I find Unix and the C Programming Language very inspiring. Also not to forget about Python.
Browing the sources of a Smalltalk implementation in the Smalltalk Refactoring Browser is always a great source of inspiration. The language kernel is very inspiring for everything OOP related, like the relations between:
- ProtoObject
- Object
- Behavior
- ClassDescription
- MetaClass
- Class
The Smalltalk libs, like the Collections are full of ideas as well. And browsing the Seaside classes is something too.
Browsing the Emacs Lisp part of Emacs, inside Emacs, is also always a great place to find nice ideas.
So if I have to design some feature, I regularly have a look to see if some similar feature exists in Smalltalk or Emacs. It almost always helps me to come up with a design that is simpler, closer to the domain, and more easy to change.
Every thing from the wheel to the discovery of heliosphere diminishing
XNA inspires me, it allows me to have game development as a hobby, doing something I've always thought was interesting without having to work too hard.
Without XNA I wouldn't have the time to mess about making mini-games, which also has improved my skill as a programmer.
Stuff like Shedskin (http://shed-skin.blogspot.com/) and the CrossNet (http://www.codeplex.com/crossnet) which take higher level languages and convert them (w/ restrictions of course) to C++. It seems that a strategy like that is an awesome way to get the best of both worlds...
Cocoa, Cocoa Touch, the iPhone, Mac OS X, Objective-C. Ruby on Rails was a real awakening for someone who was getting sick and tired of Java and it's million and one frameworks and XML config files.
I don't do any .NET programming professionally, but I've followed it a little and I'm impressed with the core technologies like the CLR, too bad it's so windows oriented. Mono is an impressive project.
Every few years I sit down an read Structure and Interpretation of Computer Programs. Spending some time writing LISP really helps me be a better programmer in other languages.
.NET and all the opensource made with it, inspires me. The great IDE, I've never used an IDE that rivaled Visual Studio. Projects like this one, Subtext, DNN all inspire me and want to make something cool.
Edsger W. Dijkstra (Algorithms, Critics, Problems), Donald Knuth (The Art of Computer Programming), Alan Turing (Turing Machines), Bjorne Stroustrup (C++), Compiler implementations, Mono compiler, Mono framework.
Ideas such as spreadsheets are just simple concepts - but the simplicity of new ideas is what makes them so powerful and ingeniously beautiful. What I'm trying to say is that I wouldn't have thought about spreadsheets in million years on my own and I admire those people with enough creativity to come up with these ground breaking ideas.
Basically all new concepts which make computing power easy to use and therefore available to wide audience inspire me.
In terms of programming, it's the GNU Linux project. Years ago I would have never guessed that it would have done so well. It's amazing that this whole new paradigm of what free actually means has become so mainstream and has gotten so much discussion. It's also amazing that so many people with so little in common could come together to make something so amazing with only one person for oversight. It's a real credit to Linus's ability to herd cats.
As far as technology in general, Augmented Reality. The idea of actively pulling extra context sensitive information out of the environment is just so cool. I wish I could have it implanted into my eye or head though. Those technoglasses still look wayyyy too nerdy to wear in public.
Computers.
Without the invention of computers all the above mentioned technologies would not have been invented.........
1 - Code injection
2 - F#
Edit: Why these inspire me?
1 - The idea of injecting code dynamically is an amazing idea, could make your life as a programmer so much easier and provides so much flexibility.
2 - F# .Don't know much about F# yet, but from the little that i know it seems that functinal programming is so fundamentally different, so unlike oo programming, that its like a breath of fresh air.
Well, Here's an Old One: Dune 2, which was released in 1992 and is considered by many to be the first mature Real Time Strategy Game. Now that I've actually played It, I see that it's possible to get something so right that there's not any need to improve it in fundamental ways. I expected to see a few familiar concepts and a lot of missing functionality I'd grown to expect. Instead, only minor technical (and technological) gaps are manifest.
Before Dune-2 there were a handful of real-time war games, but all of them lacked a totality of concept to really draw in the player. But after Dune-2, no significant enhancements to the genre have occured.
The game inspires me immensely. Not because it's so fun to play (which it is) or because it managed to do so much with so little pre-existing concepts, but because it achieved perfection directly.
Visual Studio
It takes most of the mundane tasks out of programming and lets you create.
For me, it's technology that's relatively seamless, integrating with your life and doing things you want it to do without being invasive.
Some examples:
- LocationEvent - an app for your mobile/cell phone that uses GPS to work out where you are and changes your phone profile (and other things) when you're at work.
- Shazam (and variations) that lets you find the name of a song you're hearing without writing down lyrics or hoping the radio back-announces it.
- Devices that can tell which way you're holding it using accelerometers; adjusting the display accordingly.
You get the idea - I get excited when my technology does what I want with as little explicit direction as possible.
1) http://www.chromeexperiments.com/
Some of these experiments push javascript and your browser to the edge. Enabling things that were not possible a few years ago.
2) http://icloud.com/en
Similar to the one above. This one is a full-fledge operating system that runs in your browser, so I had to mention it.
Sidenote: even though it seems pretty cool, I can't find a good use for it since I need to boot an operating system with a browser before I can even use it.
Mouse inspires me because it helps people communicate with machines easier.
GPGPU and Shader programming.
The amount of breathtaking things you can do with your GPU today that a few years ago was impossible is awe inspiring.
Warp drive technology.
And hyperspace gates as well.
Can't imagine space travel without them.
Binary.
Nothing else in this list could have existed if not for all the pioneers that brought a simple numeral system into the basis of all computer-based computation.