I’d appreciate some feedback on a brain dump I did on economics and technology. Nothing revolutionary here. Just want people with more experience on the tech side to check my thinking.
Re: “Already we have computer programs which can re-write existing to programs to run faster. These programs can also re-write themselves to run faster. However, they cannot rewrite themselves to become better at re-writing themselves faster.”
You mean that they can’t do that alone? Refactoring programs help speed up their own development, and make it easier and faster to make improvements in a set of programs that often includes their own source code.
It’s not total automation—but partial automation is still very significant progress.
Thanks, input like this helps me try to think about the economic issues involved.
Can you talk a little about the depth of recursion already possible. How much assistance are these refactoring programs providing? Can the results the be used to speed up other programs or does can it only improve its own development, etc?
“Refactoring: Refactoring involves performing rearrangements of code which preserve its function, and improve its readability and maintainability—or facilitate future improvements. Much refactoring is done by daemons—and their existence massively speeds up the production of working code. Refactoring daemons enable tasks which would previously have been intractable.”
Refactoring programs are indispensable for most application programmers in Java, and other machine readable languages. They are of limited use for C/C++ because of preprocessor mangling. When refactoring hit the mainstream in Eclipse, years ago, many programmers found their productivity increased dramatically, and they also found they could easily perform refactorings that would have been practically impossible to perform manually.
Refactoring is a fairly general tool. I am not sure about your “recursion” question. Modeling this as some kind of recursive function that bottoms out somewhere does not seem particularly appropriate to me. Rather, it represents the partial automation of programming. Similarly, unit tests are the automation of testing, and compilers are the automation of assembly.
Computer programming and software development have many places where automation is possible, and the opportunities are gradually being taken up.
I’d appreciate some feedback on a brain dump I did on economics and technology. Nothing revolutionary here. Just want people with more experience on the tech side to check my thinking.
Thanks in advance
http://modeledbehavior.com/2010/03/11/the-economics-of-really-big-ideas/
Re: “Already we have computer programs which can re-write existing to programs to run faster. These programs can also re-write themselves to run faster. However, they cannot rewrite themselves to become better at re-writing themselves faster.”
You mean that they can’t do that alone? Refactoring programs help speed up their own development, and make it easier and faster to make improvements in a set of programs that often includes their own source code.
It’s not total automation—but partial automation is still very significant progress.
Tim,
Thanks, input like this helps me try to think about the economic issues involved.
Can you talk a little about the depth of recursion already possible. How much assistance are these refactoring programs providing? Can the results the be used to speed up other programs or does can it only improve its own development, etc?
To quote from my essay relating to this:
“Refactoring: Refactoring involves performing rearrangements of code which preserve its function, and improve its readability and maintainability—or facilitate future improvements. Much refactoring is done by daemons—and their existence massively speeds up the production of working code. Refactoring daemons enable tasks which would previously have been intractable.”
http://alife.co.uk/essays/the_intelligence_explosion_is_happening_now/
Refactoring programs are indispensable for most application programmers in Java, and other machine readable languages. They are of limited use for C/C++ because of preprocessor mangling. When refactoring hit the mainstream in Eclipse, years ago, many programmers found their productivity increased dramatically, and they also found they could easily perform refactorings that would have been practically impossible to perform manually.
Refactoring is a fairly general tool. I am not sure about your “recursion” question. Modeling this as some kind of recursive function that bottoms out somewhere does not seem particularly appropriate to me. Rather, it represents the partial automation of programming. Similarly, unit tests are the automation of testing, and compilers are the automation of assembly.
Computer programming and software development have many places where automation is possible, and the opportunities are gradually being taken up.
It looks correct to me, but I’m not an experienced judge of such things.