Wednesday, November 23, 2005

Creative tools ups expectations, lower value!

I was reading a comment* about N.Y.C. web programmers getting around 80K compared to C++ programmers getting around 130K and started wondering how this difference came about.
Being so far from Turing compliant AI as we are, I cannot fathom this difference, except... for the intrinsic difficulties in getting ressources as capable in developping in C++ as those working web dev tools (Perl, PHP, ASP, Python, etc) in making essentially the same type of programs.

But this line of thinking brought me somewhere further: what do we expect from programmers that use a tool that makes programming a mundane task? If any data mining task, or ERP process is made rather trivially, what do you want next from your programmer? To do the non-trivial things: language analysis, economic forecasting (weather forecasting at that).

But these things are not easy to do, whatever the tools available, because they are intellectually challenging. Or put another way: we still have no clue on how these things really work.

Since the programmer cannot achieve this, or not much of it, his value falls!

The C++ programmer does not go through this because his value is mesured in the complexity of the pointers he manages to interconnect. This is not a flaming comment against people capable of this feat - not in the least, and I know some who use this talent to try their hands at the difficult stuff.

No, the point is that those using creation enhancing tools are limited by the expectations; because they do the ordinary things simply, we want them to do the hard things for which casual theorizing does not translate to formal systems, and hence they just can't make it look so good: proof of concept prototypes are made in a week, based on intuitive understanding of the subject (whatever the subject, someone always has a 'point-of-view' on the matter) but then projects start slipping (time delays) and slurping (changing specs) until nobody wants to be associated with it. And in the end, the one wearing the donkey-hat, is the not the visionary (with his intuitive understanding) but the developper unable to make the damn machine do some relevant bidding, thus the falling value of the poor soul.

Python is such a tool that permits half-baked solutions to hard problems to look good (in under 200 lines of code), but Pythonistas are then expected to deliver the other half of the bakery to make the solution real (in another 200 lines of code, please). But this is not possible in 2000, 20000 lines of code because the solution is unknown, the problem is really unsolved (chess anyone?, translation?, semantic understanding ?, visual recognition ?**).

Python is a great programming tool - but it is not a Pythie in itself: it does not give solutions, it only makes them easier to implement. So back to this blog entry's subject, Python programmers don't really look good because it seems so easy to do the ordinary, so they just look ordinary themself! (On the other hand, tons of ___(your favorite language to hate here) lines of code to do the same ordinary stuff look SO MUCH cooler, that there programmers really look cooly-nerdie!),

Python as a tool is so valuable to those who try figuring hard things out, because they often can program their virtual experiments themselves. And if through these experiments, they achieve greatness it will be in biology, linguistics, economics, astro-physics, not computing in Python...



* I was hyperjumping around and can't point to the said article :-(

** In all these areas, much progress is achieved today compared to yesteryear, but none in the way, and/or extent humans make these tasks, so that there evolution is on a different path that of human understanding of them.

0 Comments:

Post a Comment

<< Home