Live data from Hacker News

How to Sell Excellence

docs.google.com

101–110 of 124 posts

Re: How to Sell Excellence

#101
post #13
post #4

At the risk of sounding inflammatory... I would be willing to believe that purely functional languages are the "one true way" if there were even the slightest bit of empirical evidence to support it. But where are all the successful large scale projects built with Haskell (or Clojure or whatever)? The biggest FP project I was aware of was Twitter using Scala and they ended up completely backing away from it. Yikes. T…

> But where are all the successful large scale projects built with Haskell (or Clojure or whatever)? How about Erlang. Let's try it, just from the top of my head: * AXD 301 Switch -- Classic. Powers and control phone switch networks of whole countries. Claims 99.9999999% reliability. * Basho Riak -- popular NoSQL database, highly scalable nodes are peers * RabbitMQ -- popular message queue used by enterprises * Whats…

>Goldman Sachs uses it.

Allegedly, Goldman also uses Excel spreadsheet macros. I wouldn't use the Goldman one.

Re: How to Sell Excellence

#102
post #81

Earlier quoted context omitted.

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. W…

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.

Re: How to Sell Excellence

#103

Earlier quoted context omitted.

>Given that not even basic functional programming has become popular yet. It's already popular. All the mainstream programming languages already support it.

Which languages would you say this was true for? I wouldn't say that was the case until there is wide support for algebraic data types, type inference, pattern matching and immutable data. I see more languages allowing functions as parameters, basic type inference and encouraging immutable data, but they're still missing out on a lot of benefits offered by functional languages like Haskell and OCaml by ignoring these…

Linq in C#.

Re: How to Sell Excellence

#104
post #38

Earlier quoted context omitted.

Do you have a link for the Oil & Gas DSL? A search for "Haskell oil gas dsl" didn't turn up much.

I work for a stealth mode startup that writes DSLs in Haskell and Scheme for the O&G industry. We aren't the only outfits doing this https://angel.co/tachyus/jobs/26411-junior-software-engineer

How are you getting traction against the encumbents?

Disclosure: I help look after about 5 million lines of code for one of the encumbents...

Re: How to Sell Excellence

#105
post #69
post #61

Earlier quoted context omitted.

You don't like irssi?

There is what I like to call The IRC Problem, which is that it takes a bit of work to really make IRC into an awesome, persistent chat environment. First, you need to be persistently connected so that you don't miss messages when you're not actually at your computer. Second, you need a decent interface to use when you are actively reading or chatting. Third, it would be great to have the same across all devices (phon…

> First, you need to be persistently connected so that you don't miss messages when you're not actually at your computer.

I consider that a feature of IRC myself. I don't need to be wired in at all times and read eveerything everyone says. If I'm not there, I'm not there, and if there's something important I really need to hear, I'll hear it when I'm there. If I don't hear it, it never was important.

There is memoserv in many IRC networks that does relay messages when you come back online. I have seldom had important messages relayed that way either. Most conversations are not that important.

I don't see IRC as something that should follow me everywhere across all devices. It's like radio or TV. Turn it on, turn it off. Not on all the time.

Re: How to Sell Excellence

#106
post #13

Earlier quoted context omitted.

> But where are all the successful large scale projects built with Haskell (or Clojure or whatever)? How about Erlang. Let's try it, just from the top of my head: * AXD 301 Switch -- Classic. Powers and control phone switch networks of whole countries. Claims 99.9999999% reliability. * Basho Riak -- popular NoSQL database, highly scalable nodes are peers * RabbitMQ -- popular message queue used by enterprises * Whats…

>Goldman Sachs uses it. Allegedly, Goldman also uses Excel spreadsheet macros. I wouldn't use the Goldman one.

Excel makes a great UI for sophisticated users, I don't see how it counts as a negative

Re: How to Sell Excellence

#107

Earlier quoted context omitted.

The paradox is that if you are focused on how to make the most money to the point that you are choosing your programming language based on estimated market value, you are likely not the caliber of developer that the top-tier tech companies are looking for. In other words, you can probably make $150k under an insufferable pointy-hair at any Fortune 500 company, but you won't get to work on cool stuff at Google or Face…

If great engineers didn't care about money Facebook and Google wouldn't have to pay them 250k :).

Who said anything about not caring? It's about making technical decisions based on money.

Re: How to Sell Excellence

#108

Earlier quoted context omitted.

Hm, I'm not sure about the parallels between Lisp and Haskell, and the conclusion that they are primarily valued for showing off. Yes, they are appealing to programmers with that mentality because they are powerful languages that are difficult to learn and use effectively. However beyond that they diverge dramatically. Lisp is a language with no syntax, it is like an unshaped lump of clay. It gives you total freedom…

I'm shocked by your comment. Lisp was a language that precisely gained great adoption due to the power it allowed to the individual programmer. The lack of syntax was it's biggest advantage. Viable ecosystems coalesced around Lisp! Emacs? Lisp Machines? Tons of scientific software? Big AI projects? The whole open source revolution started due to the appeal of the commercial world for Lisp and it's success. Lisp was a…

You're right, I was downplaying Lisp's successes. In fact I wouldn't disagree with most of what you say here, Lisp is definitely more powerful than Haskell.

The part where I disagree is that Lisp holds future promise as a general-purpose language replacement to tame the mess of COBOL / C++ / Java / PHP. I see in Haskell a way to raise the bar for the masses, whether it's Haskell per se or some trickle down effect. Yes, you could build a powerful type system in Lisp, but it is not a widespread goal because it is somewhat conflicting with the raw power argument.

> I would never put maintainability above power

Here is another place I disagree. All else being equal of course I prefer power, but these things are on a continuum. If I can sacrifice a bit of power to greatly increase maintainability or robustness then I believe that is a compromise worth looking at.

I'm curious if you really see no truth in my comment or you really do see programming world in purely blub-theory terms.

Re: How to Sell Excellence

#109

Earlier quoted context omitted.

> PureScript is great, but its compile to JS basis makes it inappropriate as a general purpose language. Except that Javascript is rapidly making inroads on everything except systems programming. If Java is a general purpose language (can't be used for systems without translation due to the JVM), then so is anything-which-compiles-to-JS. I think the really important thing is that, while I've been enthusiastic and int…

Until you can 'get work done' without the equivalent of graduate-level math classes The problem is the name "monad", not the concept itself. You don't actually need to know anything about category theory to do I/O. You just need enough exposure to the concepts to know why the Monad type class is so repeatedly relevant as to be given a named abstraction. People have a hard time getting past the name . You don't need t…

> You don't need to be a category theorist to use monads in Haskell.

I find that demonstrably false. Every time I run into problems and ask for help, the answer is "there is this other mathematical concept that solves that problem".

It's not just monads, it's comonads, monad transformers, GADTs, Functors, phantom types, arrows, arrow transformers, the list keeps going. In addition, they're only described in terms of other mathematical terms - the same problem that plagues monads: nomenclature.

And these aren't just 'things you can use', if you want to understand the libraries you're using, you need to be able to keep up with all of those and more.

It's not like lisp, where you can mostly rearrange cons cells to make nearly any data type you like - there's no way to bootstrap your brain into understanding arrows from a standing start, at least in my experience as an autodidact trying to learn.

Re: How to Sell Excellence

#110

Earlier quoted context omitted.

> PureScript is great, but its compile to JS basis makes it inappropriate as a general purpose language. Except that Javascript is rapidly making inroads on everything except systems programming. If Java is a general purpose language (can't be used for systems without translation due to the JVM), then so is anything-which-compiles-to-JS. I think the really important thing is that, while I've been enthusiastic and int…

> If Java is a general purpose language (can't be used for systems without translation due to the JVM), then so is anything-which-compiles-to-JS. Fair point. I guess my thinking here is that PureScript is unlikely to replace Haskell. It is possible , but I think there are a few reasons that probably won't happen. The first is that it's mission statement "PureScript is a small strongly typed programming language that…

> Second is that it is way behind Haskell in terms of infrastructure, ecosystem, and a lot of core language/compiler features that enable general purpose programming.

No, it's way ahead because it's based on Javascript, and javascript is having umpty-billion libraries developed for it right now. Of course that's not actually a good thing at the moment but they'll settle down at some peoint.

> This is a big misconception that is demonstrably untrue. I know many people who have developed a solid working grasp of monads without doing graduate-level math.

Ref my reply to Mr. Church, but it's not just monads - you never stop running into category theory if you're using Haskell, it's baked in.

If someone without any knowledge of category theory rewrote the language, that statement might become true (though I'd be skeptical they'd get it right), but as of right now, you need to know category theory to understand the language and it's base libraries.

I know, I've struggled with it for a long time - every time I have a problem, I have to go back and reteach myself category theory to understand it.

Post reply on HN