3 ms·
Agreed. Additional parts that I can't see myself doing: - Finding guys doing cutting-edge work like eye tracking software in the 80s - Convincing those guys
by khafra 16y ago
Agreed. Additional parts that I can't see myself doing:
- Finding guys doing cutting-edge work like eye tracking software in the 80s
- Convincing those guys to invite me into their workshop and look at their code
- Glancing over any unfamiliar code--let alone math-heavy code--and making useful optimizations while the author looks over my shoulder.
And I find that unimaginable in Python. I can't even imagine considering the idea in assembler.
- athom 16y agoI was going to comment on the eye-tracking story in my reply to Max, but it really didn't fit there. Anyway: If you read it, you'll notice that story didn't really lead to much beyond a cool experience impressing a couple of guys who ought to know their stuff. It didn't look like Jacques got much in the way of referrals or anything out of it. It also didn't sound like they took much convincing. If anything, they were probably pleased as punch to show off their cool project to someone interested enough to ask about it. As for unfamiliar code, you can probably find a terabyte of it online, and most of it probably has something, somewhere, that could be written a little better, if you want the practice. No, you won't likely have the golden experience of the author watching you work on it, but that could be as much a blessing as a curse (Or is it the other way 'round...?) If you do want to get involved with people working on cutting-edge technology, your best bet is probably hanging around some university's engineering department. If you're nice about it, and don't get in the way a lot, they might not even chase you out! ;) Seriously, though, just go where they are, and as long as you're not intrusive, you can probably make some connections.
- tardis 16y agoI have to second that comment about them being "probably pleased as punch to show off their cool project to someone interested enough to ask about it." I've been invited to some cutting-edge work just because I asked and showed a bit of interest. Almost all of the researchers I've met were more than happy to talk about their work and seem surprise even to have someone as enthusiastic about their work as them. One researcher once said something along the lines that it was comforting to have someone contact him about his research - at least he knows his work didn't just disappear in the deep end.
- amalcon 16y agoOptimization is actually easier in assembler than it is in Python. Fewer moving parts. Your compiler is almost certainly better at optimization than you are, though. This was just not always true, nor was it always true that you could even get a compiler.
- GeneralMaximus 16y agoYou can't have it easier than assembler. On x86, for example, you've got a couple of registers and a bunch of instructions that operate on them. Adding two numbers goes something like: mov eax,23 mov ebx,42 add eax,ebx That's easier to reason about than what Python/Ruby/Whatever is doing behind the scenes when you do "23 + 42". In Python, for example, that expression is syntax sugar for 23.__add__(42). Both 23 and 42 are objects. How do they come into existence? How is the __add__ method looked up? How is it called? Where are these objects stored? How do they get cleaned up? Assembly is not hard. It's just tedious. I'd rather do "23+42" and have the Python interpreter spit out the result than move numbers into registers, add them, and then figure out how to call C's printf from asm so I can see nicely formatted results. PS: the best way to learn asm is to read GCC output in Intel syntax. The worst way to learn asm is to read GCC output in AT&T syntax.