3 ms·
>What frameworks do: impose structure and convention on the design of programs. So, nothing? Convention doesn't prevent things from breaking when you make cha
by asdasf 13y ago
>What frameworks do: impose structure and convention on the design of programs.
So, nothing? Convention doesn't prevent things from breaking when you make changes.
>Haskell has them too
I know, I use two of them. And I haven't found any benefits to maintenance from them. I've found huge benefits to maintenance from haskell though.
>it seems to me that Django has been a net-win for them
Compared to what though? I didn't say frameworks are useless, I said they don't appear to do anything to aid in maintenance.
- agentultra 13y agoSo, nothing? Convention doesn't prevent things from breaking when you make changes. No, not nothing. Exactly what it says on the tin. Without a web framework what do you get? A few buffers to read/write some bytes to. Have fun writing your parsers, dispatchers, database connection pool handling, object relational mapper, etc, etc, etc... and especially have fun maintaining all of that. If you used a framework though, you wouldn't have to. It's already there and there's a community of people who work on that stuff for you. Awesome. First rule of maintenance: the code you don't write is the code you don't have to maintain. I don't see what Haskell is winning here in terms of maintenance. Without Yesod or any other framework you're in the same boat as someone starting with plain Java or Tcl or something. Unless of course you're referring to its masochistic type system that magically protects you from ever writing a bug ever. Good luck with that. My point was, originally, that a web developer that doesn't already know Haskell and hasn't convinced themselves to learn Haskell isn't going to look at some Haskell code and be converted. They're going to see StateT and monad combinators and the awful pain of IO in Haskell and go write their app in X.
- asdasf 13y ago>Without a web framework what do you get? A few buffers to read/write some bytes to. Have fun writing your parsers, dispatchers, database connection pool handling, object relational mapper, etc, etc, etc... and especially have fun maintaining all of that. Why would I write all of that myself rather than use libraries? You do realize that writing an application is not a binary choice between "use framework" and "write everything from scratch" right? >If you used a framework though, you wouldn't have to I don't have to anyways, a framework has nothing to do with it. >I don't see what Haskell is winning here in terms of maintenance Type safety. I can change my code, and every single thing I just broke is now specified for me, file and line, by the compiler. This is an absolutely massive difference compared to trying to rely exclusively on unit tests. You should really try it sometime. >Unless of course you're referring to its masochistic type system that magically protects you from ever writing a bug ever. Really, you should try it sometime. Or at least take the ignorant nonsense to reddit where it belongs. >My point was, originally, that a web developer that doesn't already know Haskell and hasn't convinced themselves to learn Haskell isn't going to look at some Haskell code and be converted And my point was that is exactly what happened with both me and my wife.
- agentultra 13y agoReally, you should try it sometime. Or at least take the ignorant nonsense to reddit where it belongs. I've read the papers and I've tried a bit of Haskell. I write lots of C++ too. I've tried different flavours of typing. I still prefer dynamic, strong-typing any day. Common Lisp or Python generally do the trick. And I've been programming for > 10 years. I'd appreciate it if you wouldn't assume I'm an ignorant dumbass because I don't agree with you. And my point was that is exactly what happened with both me and my wife. Does not imply it's true for everyone. Maybe I should quantify that my original point with most web developers using existing technologies aren't going to hop over to Haskell because of state transformation and combinator monads and strong typing.
- asdasf 13y ago>I write lots of C++ too I know, that's why you say completely backwards things like "masochistic type system". You are ignorant of haskell, and instead apply your experience with statically typed languages with inexpressive and awkward type systems to haskell. >And I've been programming for > 10 years. I'd appreciate it if you wouldn't assume I'm an ignorant dumbass because I don't agree with you. Ignorance has nothing to do with being a dumbass. You are ignorant. So am I. So is everyone else. The fact that modern type systems is one of the areas where you are ignorant does not make you stupid or a bad person. My suggestion that gaining knowledge and experience in that area could be beneficial to you is not an attack, it is a genuine suggestion. I used to be a programmer with 10 years experience who thought static typing was bad too. >Does not imply it's true for everyone I didn't claim it was. I pointed out that your broad claim is unsupported by evidence, and that my personal experience was directly contradictory.
- agentultra 13y agoI know, that's why you say completely backwards things like "masochistic type system". I don't think disagreeing with you makes me ignorant or gives you any special insight into my knowledge of type systems. And my statement is only backwards from the perspective of developers who find pleasure in working with such a compiler. If you want to know the extent of my ignorance I've only used Haskell in so far as to complete various programming exercises and inspecting the source code to xMonad. I was interested enough at one point to find out what all the hype was about. I've watched most of the seminal talks from Peyton-Jones and I've read numerous papers on Hindley-Milner type inference, category theory, monads... and perhaps countless more articles than I care to remember that extoll the virtues of the pain of getting your types right (in fact I think I've read it from numerous sources describing the experience as "pain," but that, "it's worth it"). Weird. In the end my conclusion, different and ignorant though it is, is that purity is over-rated and not worth the trade-offs. I prefer languages that let me be the judge of what is useful and avoid languages that make broad generalizations about purity, mutability, and types. I pointed out that your broad claim is unsupported by evidence, and that my personal experience was directly contradictory. And my experience is directly contradictory to yours. So what? If we needed hard numbers to settle this I think we will find that the majority of web applications in existence are not written in Haskell. And if we take a survey of developers who build and maintain web applications about whether they would consider switching to Haskell I imagine very few would answer, "Yes." I think they will continue to maintain and develop new features and applications without Haskell and the world will continue to turn. Yes, as you've pointed out, there are other people out there like you. Sorry, you're in the minority. The vast, vast minority. There are a plethora of considerations to make when writing web application software. I don't think I've ever stopped and said, "You know, I should wrap all of this in a state transformation monad and combine it the an IO monad and ensure that my entire program passes through my compiler's type-checker." And I write large, eventually consistent data-stores without type checking... and most of the time they work! I just don't see why type checking up-front is such a huge deal. And believe me or not, I've tried to convince myself.