It never occurs to me that a company could be "powered" by Haskell.
In my old job, I used haskell for everything from satellital image analysis to the web frontend, but I didn't tell anyone. Specially I didn't tell my bosses.
When they discovered my functional tendencies, they were upset and worried. They feel betrayed, but it was too late. The company was an "haskell powered company".
I give them an edge over the other companies in the field, but when I leave, they were orphaned and unable to hire a new Haskell programmer (I live in Chile, a very imperative nation).
Too bad for them, but for me, it was "pure" functional fun.
Ahh, remember back in the good old days when programs had .PRG extensions or file-types? Nobody cared what language a program was written in back then either, as long as it just worked.
Computers and programming don't have to be so complicated. People make them complicated.
Too bad for them? Incredible. That's not a very professional attitude to have. You shouldn't choose technologies you like because as a developer it's your job to choose technologies that are right for the business.
Conversely a technology that is beneficial solely to the business presents the same situation. Your own productivity and motivation will be affected by the chosen technology, so working with something you hate with a passion isn't going to be that good for the business either.
Certainly, I couldn't have done what I did without Haskell, or with more traditional languages, like C++.
The most challenging task I've done with Haskell, was to find the right combination of parameters in orden to sum an array of satellital images, preserving a set of constrains. I couldn't have dreamed of doing that without Haskell. It was the right choice for the job.
When they discovered the tools I've used, they recognized the problem, but they treated me bad, so I search for another job.
The right tool for the job is anything that gives you the power to get shit done.
Maintainability is secondary if you can't do the job in the first place. Think about it.
I think that using Haskell in the industry is somewhat irresponsible if you live in a third world nation like Chile. You can't find haskell hackers here! You create maintainability problems!
It is clearly not my fault to be intelligent, know some haskell and live in Chile. Can you blame me?
I think his ability with English maybe giving the impression he was being flippant. If you remove implied meaning, it says only that "I know it was bad for the company, but I found it fun".
Well, if they didn't bother to check what language/technology you were using and they didn't give you any requirements, you did the right thing.
Any competent manager should lay technology requirements/guidelines before starting any projects and maybe even keep an eye on the codebase if he/she has any coding skills... You happened to work for incompetent people, and you just taught them a lesson about their own incompetence. Thumbs up!
It sounds more like a tale of an employee writing software in a language that the management didn't buy into and no one else in the company knows. If one of our employees started writing code in <some other language> instead of Haskell we'd have a similar problem.
They'll probably waste the next 0-3 years rewriting your shit and you have made another company and several suits hate Haskell. The suits talk to each other, you know.
Maybe there was a basic expectation that he would use what the rest of the company was using and suggest it if he needed to go off the trodden path. To assume otherwise would be micromanaging.
that's not true! the dynamic languages group (a meetup.com-organised thing - perhaps started by continuum? - here in santiago) had at least one talk on it - i know because i was there! although i admit i don't think anyone said they were using it in production...
[and the last conversation i had with someone from u chile's computing dept was on datalog. so it's hard to imagine they wouldn't know about something as popular as haskell. and a friend in the engineering/geophysics dept (don't know the correct name - contract research for mines) uses it. and...]
Is it confidential to say which company you're talking about? I also live and work in Chile and I almost always get blank looks from people when I mention Haskell.
At nvidia, we have a handful of in-house tools that are written in Haskell. My manager is a huge Haskell fan and he satisfies his coding itch by writing some tools with it.
The tools we have are quite simple, like running a set of automated tests on a Tegra device and then upload results (pass/fail, code coverage, memory leak stats, etc) to a web interface.
We've had a few Haskell coding nights where I and my boss have been teaching our teammates some Haskell skills. We have about half a dozen coders (out of ~50 at our office) who can do enough Haskell to get shit done.
That's cool; but what is the point of haskell there? It sounds like you'd just as well could use, say, ruby; what does the specific feature set of haskell help here? (Apart from it being somewhat hard to actually write fortran code in haskell. :-)
It's more fun. There was a freedom of choice and since any language can do the task at hand we chose the one that was interesting and fun and offered us opportunities for learning new stuff.
We use Python for small tasks quite a lot too. Python's batteries included approach works pretty well for simple tasks.
Type safety would be the main plus point for me, even for tools and scripts.
Plus I guess some people just prefer functional programming when they can and Haskell offers that in abundance. I guess the downside is the less portable nature of the code (this is where Clojure et al. would probably win...although writing command line tools and scripts in a JVM language still has a long way to go IMO)
Actually, Haskell libraries were perhaps more important than any individual language feature. The language allows such good abstractions that libraries like Parsec or Haskell XML toolkit are very nice to use.
Wow... I mean talk about the LAST company you would think would be using a language like Haskell. I would have more likely pictured some horrible VB6-Access mess. Just goes to show you what the risks are in assuming...
Having type-safe/correct software is a huge benefit when you're controlling machinery
program vehicle computers that control hybrid
powertrains for heavy duty trucks -- garbage to be
specific. Our systems interface with engines,
transmissions, brake controllers, and yes, accelerator pedals.
Haskell GADTs ensure type correctness of the generated
C code. I find it interesting that a type system in
one language can prevent type problems in another.
It's not that crazy if you think about it. If you're a freelancer working small contracts for people that "want a website", you're pretty free to use whatever technology you'd like. Doubly so if you "provide hosting".
Outside of tech and corporate circles people could really give a damn. They just want to get things done.
I thought the link would be of companies that use Haskell as their primary language of development, but it is more of companies which use/had used Haskell in one of their projects. The former would be interesting to know, if indeed such companies exist.
Edit: I should note, however, that the trend over the last year has been increasing that haskell share; you get just a lot done in not a lot of code... reuse is very good.
I didn't really believe Github's inflated line counts (125klocs) and was curious was sloccount would say...
I'm a bit surprised with the results. The sheer quantity of C/C++, brainless coding over a few days, was impressive. Experience buys something I guess :-/
Haskell has much more of a group inside of a company will use it as their primary environment then adopting it wholesale. Haskell is used extensively in trading with almost every major bank and hedge fund using it, although no one talks about it. It is also extensively used in energy companies.
There are a few companies out there that use it as their primary language such as Tsuru Capital and my company, Alpha Heavy Industries. By definition companies using it as their primary language will be smaller companies. Standard Chartered has a very large Haskell group.
That Haskell is used extensively in trading is quite interesting to know. This distinction did not come out that well on the wiki link. This is probably the reorganization that the page needs. Split in to sections highlighting companies which use Haskell as primary language, then split along industry lines.
Highlighting companies which use Haskell as primary language will be beneficial to both the language and the companies. Brings along a trust factor that real money can be made while using on Haskell.
The major problem with the 'smaller languages' is that sometimes, even if you want to, and can use it effectively, it's difficult to interface with other systems.
For example, services using SOAP. Drivers to DBs and other systems.
Sometimes it's easier to have your core login in Haskell for example, then make it interface with something else in Java/C#/etc which will have plugins for everything.
Depending on how some endeavors pan out, my wee company, WellPosed, is likely to be in that rarified category in the near future :-)
(strictly speaking it may be 2-3 distinct enterprises under the same umbrella, but same thing). Also some interesting stuff on the algorithmic & open source pipeline that'll be made available as those services come out.
(a vague summary of the pending products/services can be seen in this month's who's hiring thread.)
That would probably limit a lot the number and diversity of the potential candidates. As a complete outsider I find more interesting that Haskell is used for even few projects inside, say, Credit Suisse than a one-man shop nobody has heard of that uses Haskell exclusively; YMMV.
There is at least one: Scrive. Their codebase is almost completely Haskell. I think the only other language they use is Javascript for web stuff (but their web apps are built with Happstack).
Really random anecdote: I'm not a programmer, but I got a job interview because I put Common Lisp on my resume, and that caught the interviewer's eye...2 months later, I had my current position (which is my favorite job so far).
Point in fact, of the (several) really great folks who reached out to me from this months hiring thread, the only fellow I'm starting to collaborate with right now (rather than a few months out) has a few cute haskell Libs on hackage. And By collaborate mean a semi/Demi/ maybe even full cofounder piece :-)
Here's the kicker about Haskell code (and many other functional langs): it's very easy to evaluate the work for quality engineering and whether or not there's some real ingenuity in it, beyond just the algorithmic pieces and the overall architecture diagram. Or at least I shall make that claim.
In my old job, I used haskell for everything from satellital image analysis to the web frontend, but I didn't tell anyone. Specially I didn't tell my bosses.
When they discovered my functional tendencies, they were upset and worried. They feel betrayed, but it was too late. The company was an "haskell powered company".
I give them an edge over the other companies in the field, but when I leave, they were orphaned and unable to hire a new Haskell programmer (I live in Chile, a very imperative nation).
Too bad for them, but for me, it was "pure" functional fun.