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.
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.