Live data from Hacker News

Core competencies of great hackers

giraffesoft.ca

61–70 of 116 posts

Re: Core competencies of great hackers

#61
I feel that this article is the sort I would not like to see on HN, because it can't teach anything to hackers. As seen by the discussion it elicited, it's just starting a write-only conversation with many elements of a flame war.

Re: Core competencies of great hackers

#62

Earlier quoted context omitted.

Typing speed is important for the reason the article mentions -- micro-interruptions. Most of the time, you just have to type a few words, and the editor will complete the rest for you. Fine. But a lot of the time, you are typing a symbol for the first time, and autocompletion doesn't really help. It breaks your flow if you can't type this symbol quickly and correctly the first time. (It is also worth pointing out th…

The dismissive attitude of "programming doesn't require typing skills" is extremely naive. Shrug... Well I say that because that's my experience. I've never really been concerned with micro-interruptions. I guess I'm surprised this bothers people so much (It's the macro interruptions that hurt me more). I've been in situations where I've been unable to type (or type quickly). I learnt and grew as a coder more in thos…

You're wrong. Learn to type well and then come back and tell us it didn't make you a better programmer.

If you don't know how to type, then you're wasting brain cycles looking for keys when you have to type, cycles that would otherwise be spent thinking up good identifiers and nice function names. Not knowing how to type also means you'll choose terse identifiers rather than clear ones because it's too much work typing longer names.

Typing well is a critical skill for a programmer and the only programmers who don't think so are the ones who can't type.

Re: Core competencies of great hackers

#64
"Let's not pick editor fights: the only 3 editors we know to be used by great hackers are TextMate, vim and emacs. The most productive hackers will often customize their editor heavily."

I think this is rather ignorant... eclipse >> vim or emacs. What's a hacker anyway? Presumably, they are talking about someone who writes code and IDEs make writing code easier.

Re: Core competencies of great hackers

#65

Earlier quoted context omitted.

I think your use of the word "basic" is amusing. I would agree that the most important tool is abstract thought, but it is not the most basic.

Depends on your definition of basic - can use it to mean "simple", but it's also used to describe something fundamental, irreducible or essential.

Yes, agreed. The play on words was amusing to me (odd sense of humor alert!) It seems there is a lot of ambiguity between the way you and the GP used the word.

Though, this topic got me thinking. Unless you are using speech to text, I think that how you interface with the computer is fundamental to the act of programming. I do not think that abstraction is essential to programming. Much to the chagrin of my abstraction-loving nature, consistent procedural code can be easy to read and follow. For higher-order OOP, an understanding of abstraction and encapsulation is very necessary.

Re: Core competencies of great hackers

#66

- Type fast - Use Linux - Use TextMate/VI/emacs - Don't read documentation Sounds like "Core competencies of ruby on rails hackers"

"We haven't met a single great hacker that relied on an IDE, although we hear they exist." Sounds like GiraffeSoft folks don't use languages with type info and a graphical debugger. I certainly wish TextMate could handle static info and had a JVM debugger. I would love to code scala in TextMate. The IDEs are too heavy. I don't like them. But if you want/need a debugger and type info for refactoring and exploration, y…

Without getting in to what those preferences are, that being a different can of worms, I think it's likely that there are trends in the language preferences of great hackers. The existence of these trends means that tools that work well with the languages great hackers prefer will be more popular with great hackers.

The static analysis done by heavy IDEs isn't the only way to have large amounts of information about code available in the editor. Using Emacs with Slime, the editor has a huge amount of information about your code because it's communicating with the Lisp runtime that's evaluating it.

Re: Core competencies of great hackers

#67

Earlier quoted context omitted.

The dismissive attitude of "programming doesn't require typing skills" is extremely naive. Shrug... Well I say that because that's my experience. I've never really been concerned with micro-interruptions. I guess I'm surprised this bothers people so much (It's the macro interruptions that hurt me more). I've been in situations where I've been unable to type (or type quickly). I learnt and grew as a coder more in thos…

You're wrong. Learn to type well and then come back and tell us it didn't make you a better programmer. If you don't know how to type, then you're wasting brain cycles looking for keys when you have to type, cycles that would otherwise be spent thinking up good identifiers and nice function names. Not knowing how to type also means you'll choose terse identifiers rather than clear ones because it's too much work typi…

I "type" most words when I'm programming by hitting two or three initial letters, and then pressing M-/ to complete (emacs does that by scanning all open buffers for something that matches, usually quicker than anyone could type the whole word).

I don't choose terse identifiers, I choose long ones that I know emacs will be able to find completions for easily.

I don't see how typing faster would help me.

Re: Core competencies of great hackers

#68

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

Typing speed is important for the reason the article mentions -- micro-interruptions. Most of the time, you just have to type a few words, and the editor will complete the rest for you. Fine. But a lot of the time, you are typing a symbol for the first time, and autocompletion doesn't really help. It breaks your flow if you can't type this symbol quickly and correctly the first time. (It is also worth pointing out th…

> Nobody expects you to sustain 120 wpm typing for eight hours a day.

Obviously you've never worked for my boss! :)

Re: Core competencies of great hackers

#69

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

Typing speed is important for the reason the article mentions -- micro-interruptions. Most of the time, you just have to type a few words, and the editor will complete the rest for you. Fine. But a lot of the time, you are typing a symbol for the first time, and autocompletion doesn't really help. It breaks your flow if you can't type this symbol quickly and correctly the first time. (It is also worth pointing out th…

Programming isn't about typing. Therefore, you shouldn't be sitting there thinking "how do I type this"? Typing being second nature frees up more time for thinking.

Re: Core competencies of great hackers

#70

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

Not to mention typing fast continuously is asking for RSI. I can type pretty fast if I try, but apart from the thinking vs typing ratio, I also avoid typing fast or continuously because I know that's asking for a relapse of my RSI. And whatever I gained by typing faster will be lost by orders of magnitude if that happens.

The argument for touch typing to avoid distractions I agree with, but not raw typing speed.

Post reply on HN