I heard there something called Computer Science. I even have studied it at one point (4 years, to be exact). But now I think, that it's not really a science. The real Computer Science is just beginning to form.
A science is suppose to explore nature. To understand and define governing laws, and to build formulas to predict effects from causes. But the CS I studied was all about inventing clever -- too clever sometimes - algorithms, building useful data structures, but it was not about exploring nature.
I'm the founder of GameX, a system that allows you to record movies out of games. We do it by injecting code that re-routes DirectX calls into our DLL. I've read some articles about such subjects, saw an interviews with Mark Rusinovitch, and gradually I realized that only now we are starting to approach scientific adulthood.
It is because now, with the maturity, stability and widespread usage of Windows, or Unix, these systems have become part of nature. Programmers today really explore them - their behaviour, their rules and their exceptions. They taught you on the university about algorithms and data structures, but really, working in the industry is so not about that, and so much more about learning to work with the quircks and rules of every domain you found your project at.
Very seldom does a programmer today program just in C++ or C#. Much more often, he or she has to interface with a plethora of libraries, and explore their behavior. You cannot change the way ODBC works, you can only learn how to deal with it. Yes, theoretically you could have written it yourself, but realistically, no one has the budget or the time. And it applies to ODBC, DirectX, DirectSHow, FFMpeg, Wikis - you name it. Whenever you turn, the software libraries reign and SDKs rule.
Now when you are dealing with a hacking project like GameX, it is even more significant. You cannot change the way Windows works. You can only learn it. And much like the scientist cannot see beyond molecular level, you don't have direct observation methods either - which in our world, would translate to a decent debugger.
But the real question still lies ahead: Is it a bad sign when a field turn into exploration rather than invention?
Working with regular expressions in java
22 minutes ago
0 comments:
Post a Comment