7 ms·
I believe that students feel that everything is possible to accomplish with a library, let's say, <list>. When you ask them to create a list by hand (using clas
by raister 10y ago
I believe that students feel that everything is possible to accomplish with a library, let's say, <list>.
When you ask them to create a list by hand (using classes or structs), they simply don't know, because they always used the library.
This is the plumber analogy: "they know how to connect the pipes; they don't know how to build them."
- 0xmohit 10y ago> When you ask them to create a list by hand (using classes or structs) ... What about asking somebody to write (and compile/execute) a hello world program in a terminal window? I've run across numerous who can't do that without an IDE. Isn't that [1] the most basic part of programming? [1] being able to compile
- Retra 10y agoKnowing what a compiler does is basic knowledge. Knowing how to invoke a specific one from a command line is a matter of culture. It's like the difference between knowing the physics of baseball and the rules of baseball. One is general knowledge, the other is specific to the culture, and knowledge about the later implies very little about the former, and vice versa. You'd probably be better off giving someone the binaries for a broken hello-world and asking them to debug it.
- Retra 10y agoThis is the exact opposite of my problem. If you ask me to use a list, I'll roll my own every time. Ask me to do anything, and I'll go to paper and try designing a data structure. Ask me to setup a web page and I'll probably start designing my own web protocols. :)
- raister 10y agodo you have infinite time?
- Retra 10y agoIf you can't build something yourself, then you won't know how it works and what the consequences of the relevant design decisions are. I do it because my goal is to learn how to do things right, not to get things done quickly.
- ownagefool 10y agoThat's cool, and I indeed like to understand things too, but how do you deliver anything of value to a business if you start of designing a CPU? ;)
- Ideka 10y agoDo you know how that sentence you wrote right there works? Did you create the English language?
- deleted 10y ago[deleted]
- imh 10y agoThis is how I began my career. I fell into programming by way of physics, and for things like sorting I always knew better than to try to roll my own sorting algorithm. Every language has well tested, finely tuned libraries for that! But my job (writing simulation and numerical optimization code) made me program all day every day, so I figured I could program. Boy was I surprised when I started interviewing for my second job and got asked to write code to sort a list. My first thought was "Why would you ever do that yourself! Of course I've never thought about that!" Many years later, I've filled in most of the gaps in my CS fundamentals, and I can't help but wonder if a lot of the programmers we're talking about came into it like I did.