I’m curious about take off, when a computer learns to program itself. I think there are a number of general skills/capabilities involved in the act of programming, so I am interested in how human programmers think they program.
Rank the general skills you think are important for programming
The skills I have identified are the following. I think each of them might be useful in different ways.
Ability to read stack overflow and manuals to get information about programming
Ability to read research papers to get information about previous algorithms
Ability to learn specific facts about the domain (e.g. if you )
Ability to keep a complex model of the domain in your head (e.g. what happens in a factory when a certain actuator is activated)
Ability to keep a complex model of the state of the computer system (e.g. the state of the database or the sorted-ness of an array)
The ability to use trial and error while programming (e.g. trying out the system with a certain parameter and getting feedback about that)
Most important
[pollid:1230]
Second most important
[pollid:1231]
Third most important
[pollid:1232]
Fourth most important
[pollid:1233]
Fifth most important
[pollid:1234]
What type of programming do you mainly do?
[pollid:1236]{}
Currently (6 votes) it at first looks like Domainmodeling is leading. But depending on how lower ranks are weighed it could also be Stackoverflow or (my favorite) “Modelling the programs operation”.
I’m not sure your description of “ability to get information” matches what I mean when I say “learn about …”. I’m also not sure how much is skill and how much is talent (which can be improved with directed practice, but I don’t think can go from 0 to nonzero in an adult).
I’d say “ability to synthesize information across domains” is the key—you need to be able to read papers and figure out which apply and how to integrate those ideas into the systems you’re building. The trial/error, stack-overflow, and such is necessary but not critical, and much of it will be automated in the medium-term.
I’m curious about take off, when a computer learns to program itself. I think there are a number of general skills/capabilities involved in the act of programming, so I am interested in how human programmers think they program.
Rank the general skills you think are important for programming
The skills I have identified are the following. I think each of them might be useful in different ways.
Ability to read stack overflow and manuals to get information about programming Ability to read research papers to get information about previous algorithms Ability to learn specific facts about the domain (e.g. if you ) Ability to keep a complex model of the domain in your head (e.g. what happens in a factory when a certain actuator is activated) Ability to keep a complex model of the state of the computer system (e.g. the state of the database or the sorted-ness of an array) The ability to use trial and error while programming (e.g. trying out the system with a certain parameter and getting feedback about that)
Most important [pollid:1230]
Second most important [pollid:1231]
Third most important [pollid:1232]
Fourth most important [pollid:1233]
Fifth most important [pollid:1234]
What type of programming do you mainly do? [pollid:1236]{}
Currently (6 votes) it at first looks like Domainmodeling is leading. But depending on how lower ranks are weighed it could also be Stackoverflow or (my favorite) “Modelling the programs operation”.
I’m not sure your description of “ability to get information” matches what I mean when I say “learn about …”. I’m also not sure how much is skill and how much is talent (which can be improved with directed practice, but I don’t think can go from 0 to nonzero in an adult).
I’d say “ability to synthesize information across domains” is the key—you need to be able to read papers and figure out which apply and how to integrate those ideas into the systems you’re building. The trial/error, stack-overflow, and such is necessary but not critical, and much of it will be automated in the medium-term.