Hacker News new | past | comments | ask | show | jobs | submit login

That post is hilariously arrogant and off-the-mark. "Strong typing is for weak minds?" Really? I suppose this guy compiles his code by hand too. I would go out of my way not to work with someone so cocky.



Here's a tip I often use for myself. When my argument relies upon "everyone being stupid". I really should take a second look at my argument.

And I agree, working with someone so cocky is a bad idea. Because if you ever do follow his advice (against your better judgment) and the projects fails (as it likely will), it won't be because of his idea, but its because you were stupid too.


I don't think that strong typing is bad, but I would like to point out that from his point of view, arguments FOR strong typing are based on the premise that "everyone is stupid."

Orthogonally, you don't have assume that everyone is stupid for it to be a good idea to design things as though everyone is stupid, because the fractional slice of attention and working memory that the user can easily spare is effectively a moron. This argument applies easy to issues of usability, but for programming, it may equate to driving a car with blinders on. I don't really know.


From my point of view, the main arguments for strong typing are that everyone makes mistakes, and that your tests might not be as complete as you would like (due to time pressure, or whatever else).


>I suppose this guy compiles his code by hand too.

He's an expert in compiling Lisp. Probably the world expert on the subject.


That post is hilariously arrogant and off-the-mark. "Strong typing is for weak minds?" Really?

While I grant that that's a harsh statement, would you disagree with what he says next?

"Our current popular languages are designed to help losers lose less."


We're all losers. Even the best programmers in the world have difficulty writing bug-free code. Whatever tools we can leverage to make us lose less should be welcomed with open arms.


We're all losers. Even the best programmers in the world have difficulty writing bug-free code.

Good point.

Whatever tools we can leverage to make us lose less should be welcomed with open arms.

That's true in the abstract. In reality, though, there are often tradeoffs that come with these safeguards.

http://paulgraham.com/power.html


I consider myself a fairly strong programmer. I have worked with literally hundreds of programmers over my career. None have been better than me. Now I'm not the smartest person on the planet, I'm not even smarter than say Sheldon Cooper, but despite the article author's assertion, you cannot hire someone who has an IQ 50 points higher than mine.

All that said, I've recently done a couple of months of programming (in a very restrictive environment) in Javascript, and I yearn for a compiler.

Perhaps these tools do help "losers lose less"... but a tool is a force multiplier (bad tools are multipliers with a value less than one, and truly bad tools have negative multipliers :D Not all tools are bad.)

In the hands of an expert, the right tool can become a powerful weapon.


"I have worked with literally hundreds of programmers over my career. None have been better than me."

Really? In every aspect of programming? In every language? This is the typical prima donna bullshit that pervades this industry. I pity anyone who has to deal with you on a daily basis.


A negative-multiplier tool would allow you to apply negative force to get a positive result. So if you hire a bunch of those guys who make the code worse every time they touch it, and give them a negative-multiplier tool, then they'll make forward progress. And you can pay them almost nothing! You can hire day laborers who would otherwise be picking cabbage!

So I think your "truly bad tools" don't exist.


Seems to me like helping losers lose less is a good thing.


It is, in itself. His point is that if you're not a loser, then it's not particularly relevant to you. If you're a winner you'd presumably prefer to use a language intended to help winners win.


First you have to define what "popular" means. Do you only allow, say, C# and Java? I use Scala quite a lot. It has a vibrant community, increasing popularity, and it sure doesn't hold back on the advanced features.


I use Scala quite a lot. It has a vibrant community, increasing popularity, and it sure doesn't hold back on the advanced features.

Remember, this was written in 2002. Scala wasn't around, C# was just invented, and neither Ruby nor Python were in popular use.




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

Search: