3 ms·
>I don't know what mature means, but they are not used by high-profile applications. Does that mean that if my website becomes "high-profile" next month haskel
by asdasf 13y ago
>I don't know what mature means, but they are not used by high-profile applications.
Does that mean that if my website becomes "high-profile" next month haskell will have suddenly become a better language than it is now, without the language changing at all?
- jmgrosen 13y agoIt's evidence that it's viable, whereas now it might be great in theory, but there's no direct evidence that it works in practice for large-scale projects.
- asdasf 13y agoThat seems like a very bizarre way for technical people to behave. "I'll assume this general purpose programming language must have some weird problem that somehow makes it unusable, but people can only find out about that problem if they write a popular project in the language". Why not assume every general purpose programming language is capable of being a general purpose programming language baring evidence to the contrary? Shouldn't tech people be capable of examining the language and determining if there's evil "large-scale" goblins lurking within?
- dllthomas 13y agoSystems in general tend to have goblins that reach out and bite you when you try and scale them too hard. Better to have a clearer picture of where there be dragons - maybe or maybe not "better enough" when weighed against other advantages and disadvantages, but "mature" is a virtue.
- asdasf 13y agoMature is a virtue, but "popular app was written in language X" isn't an indication of maturity, it is an indication of a particular app getting popular. The whole reason I used the term goblins is that without specifying what sort of problems people are afraid to run into, it is just vague, hand wavy nonsense. Does someone seriously think haskell is going to somehow "not scale" but ruby would have? Programming language choice has far less to do with scaling than the design of the application.
- dllthomas 13y ago"Popular web app" implies a level of traffic - and thus demands at scale - that most other domains do not have. It's not the fact that someone was able to make a Haskell-based web-app popular that is indicative of much, but that the Haskell-based web-app stood up to popularity on the web that gives some reassurance and thus helps establish the maturity of the ecosystem.
- asdasf 13y agoBut reassurance of what? That's exactly what I mean, what kind of evil spirits do people believe are going to make a general purpose programming language incapable of being used to write a web app? This is the exact same FUD that people spread about ruby when rails was starting out. It strikes me as a very lazy, unintellectual way to approach things. "I'll just assume magic gremlins make this language bad until someone else proves otherwise". And then inevitably someone else proves otherwise and it becomes "that proof isn't convincing enough". Make it explicit for me, how many page views/month do I need before haskell has been declared gremlin free?
- dllthomas 13y agoYou're making a binary distinction. It is not a binary thing at all. Any large software system has a lot of moving parts. Any of these parts may have bugs, some of those bugs may be significant. There's also the possibility for different pieces of functionality interacting in poor ways. The more a piece of a system has been used to build things, the more confident you can be that it doesn't have bugs that will be getting in your way. The more similar these things are to what you're planning on doing, the more confident you can be that things won't get in your way. What the thresholds should be depends on the particular tech, your particular project, and the world around it. Maturity is absolutely something that should be traded away when there is sufficient reason. This is by no means lazy or unintellectual unless you're using it as an excuse not to work (or learn) or not to think. Regarding your implicit concern about no one being the one to step up and shoulder the burden of trying new things in production, I reiterate my assertion that maturity is just one factor that should be used in determining technology choice, and there's nothing wrong with those first venturing to new things those who have the most to gain by their use. For what it's worth, I'd like to note that I am presently writing a web application in Haskell, so I obviously don't think it's a poor fit for all web projects.
- nilkn 13y agoHaskell has been used in large-scale projects. There's an algorithmic trading firm, Tsuru Capital, that uses it exclusively, in fact. You might also be interested in the work of Galois. They've got some slides on Haskell in industry: http://www.scribd.com/doc/19502765/Engineering-Large-Projects-in-Haskell-A-Decade-of-FP-at-Galois http://www.scribd.com/doc/19502765/Engineering-Large-Project...