Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Michael, big fan of your work here. Can you talk a bit more about how to avoid subordinating or dominating?


My main point is to recognize that:

    (a) there are good business people out there,
    (b) the fact that they trust idiots on tech is our fault as much as theirs 
        (we get too arrogant or too submissive and fail to convince them),
    (c) we need to recognize that we and they have orthogonal skill sets
        and aren't *prima facie* smarter,
    (d) and this requires understanding certain cultural differences.
It's a long road, though. We're not a socially skilled tribe, for one. Secondly, there are a lot of terrible managers and business people in tech (more than in other industries) due to the Damaso Effect.


>(a) there are good business people out there

IMO, good business people are people who are doing good for their business not using technology which their developers want them to use. They should consider things such as: ability to find developers, availability of training and books, availability well supported libraries, maturity of tools, code maintainability, etc.

>(b) the fact that they trust idiots on tech is our fault as much as theirs (we get too arrogant or too submissive and fail to convince them)

So, you are calling people who recommend to use technologies different from Haskell idiots, right? Or at least you pointing at them in your presentation. IMO, it's not the things which a professional should do. We have a lot of opinions, and it should be ok to have a different opinion. We shouldn't bash people who don't agree with us, otherwise, we will have (and I feel we already have) haskell cult.


"IMO, good business people are people who are doing good for their business not using technology which their developers want them to use. They should consider things such as: ability to find developers, availability of training and books, availability well supported libraries, maturity of tools, code maintainability, etc."

Business people should not be making tech decisions. Most good business people don't know a damn thing about code maintainability etc and they shouldn't have to.


IMO, good business people are people who are doing good for their business not using technology which their developers want them to use.

I agree. The ethical problem I have is with the short-termism. The next-quarter culture is absolutely horrible and that's what I hate. It's not directly related to choice of language, but often it gets tied up in that. The fact that Haskell requires some investment (and not a lot of it) is a deal-breaker, because so many business leaders are short-sighted.

They should consider things such as: ability to find developers

Java wins on quantity. It's probably easier to find good developers in Haskell. Even though there are probably more good Java engineers than good Haskell engineers, Java has a much lower percentage so your interviewing costs are a lot higher.

availability of training and books

Both Haskell and Java have enough.

availability well supported libraries, maturity of tools

Haskell is getting there, and Java has a lot of "enterprise standard" libraries (e.g. Spring and Hibernate) that will take you in the wrong direction.

code maintainability

Haskell wins.

So, you are calling people who recommend to use technologies different from Haskell idiots, right?

No. If, for example, you're doing low-latency trading, you're not going to use Haskell. Sometimes you want to use C or assembly. And while I prefer static typing, I think highly of Clojure and its community.

I think that there are a lot of idiotic reasons for using Java that get a lot of play. That doesn't mean that everyone who uses Java is an idiot.

When I point out that businesspeople trust idiots when it comes to technology, that's not to single them out. Realistically, I can't always tell a good car mechanic or lawyer from a bad one. You find that out over years, because there are plenty of people who can talk a good game but don't deliver the goods.


What's your response to this comment: https://news.ycombinator.com/item?id=9318560 ?


It seems like Python works for him, so he should continue using it. I'm not a purist who thinks that absolutely everyone should use one language (although I dislike Java).

There's nothing (major) wrong with Python. It has some quirks, and I don't like the lack of tail recursion, but it also has a large community and mature frameworks. If you need to build something quick and will rely heavily on existing libraries, it's a great choice. If your project will have to scale and is guaranteed to go multi-developer, then you probably want Haskell's static typing.




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

Search: