Hacker News new | past | comments | ask | show | jobs | submit login
Computer Science: Smart People Have Weird Hangups (jjinux.blogspot.com)
35 points by rams on Sept 24, 2007 | hide | past | favorite | 14 comments



Wow, I must be incredibly smart. I hate OOP (if you want function pointers, just use function pointers, and forget all this modern "object oriented" garbage); dislike databases (for the same reason as mentioned in the article -- they're leaky abstractions where performance is concerned); scowl every time someone mentions "web services" (tunneling RPC over HTTP? I was doing that long before "web services", REST, or SOAP existed, and it has nothing to do with the web); hate synchronous networking (for performance reasons, of course) and avoid it even in places where it would be quite adequate; rigidly stick to BSD style(9); and also (a hangup not mentioned in the article) absolutely loathe garbage collection (I'm smarter than the garbage collector).

The fact is, however, that having hangups doesn't mean that you're smarter than anyone else. Rather, it simply means that you're willing to refuse jobs which don't meet your (arbitrary) requirements. People who are smart are more able to be picky, because they have more jobs available to them; but people who are independently wealthy can turn down jobs due to personal hangups; and anyone who is employed in a field other than programming can afford to have as many programming-related hangups as they want.

If you have to support a wife and children, and programming is your only marketable talent, you're not going to have programming-related hangups for long.


"(if you want function pointers, just use function pointers, and forget all this modern "object oriented" garbage)"

Why not use just functions as first class data?


> Why not [just use] functions as first class data?

Because they're not. When you copy an object, you don't copy all of its methods; instead, you copy all of its function pointers.


I mean there are languages that have functions as first class data. Not wrapped up in objects. Think Lisp, Scheme, Haskell. Even Python can do this - otherwise map and filter would hardly work.


Btw: I really meant 'just functions', nothing around them.


There's a difference between hating OOP because you'd prefer to see all the underlying details, as with C and function pointers, and hating OOP because it's a clumsy metaphor when compared to the abstractions offered by Lisp and similar high level languages.

For the web guy, it seems clear that he's a purist and doesn't want to compromise. Sometimes I wish more people were like him.


What is the best alternative to an RDMS in most cases?


Nice.... First imply that characteristic X means you are smart, and then give examples of your intelligence by showing how you possess this characteristic.


Yes, but he could have made his argument more convincing. It's too transparent.


I don't think most Lisp hackers actually hate OO. It's just that OO has been oversold so much, as if you should use it for everything. I would use OO a lot if I were writing a MUD or a graphical widget library. Inheritance is great. For web sites I generally don't use OO, though.

I think it would be more accurate to say that if you use OO, many Lisp hackers will ask why, in a tone that implies they don't expect a good answer.


I think that OOP has some great ideas and some bad ideas. I really like polimorphism and inheritance, but I'm not that fond of encapsulation. OOP is just another tool and, just like with any other tool, it isn't meant for everything. The problem is, people seem to think that it really is meant for everything.


I can hardly work on code that's more than 80 characters across. Am I the only one?


Hmmmm... you can run GNU/Linux on a MacBook, no? Or is he bothered by a non-free BIOS, or some such thing?


I run it on a powerbook. The only problem is there are no drivers for the nvidia video card, so no acceleration and suspend to ram doesn't work. Theres no flash support either, but I don't think that applies to Intel MacBooks.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: