3 ms·
Agree. I'm using Spring MVC (Java) as my web application framework of choice. Using Yesod as an ostensive definition for a static-language approach to web frame
by Eduard 15y ago
Agree. I'm using Spring MVC (Java) as my web application framework of choice. Using Yesod as an ostensive definition for a static-language approach to web frameworks (as the title alludes to) is misleading: comparing the concepts presented in these slides with static-language Spring MVC, I couldn't find significant similarities between Yesod and Spring MVC.
- LukeW 15y agoI don't know much about any of the Java web frameworks-- my only experience with a web framework on a statically typed platform is with ASP.NET MVC. ASP.NET MVC makes heavy use of reflection, and runtime errors are common -- something that's also true of the common ORMs for .NET. So even though you're on a statically-typed platform, you sometimes aren't getting the classical 'perks' of static-typing, particularly the compile-time errors. I've got a casual interest in Haskell and flipped through Learn You A Haskell's earlier chapters, but I can't scan snippets of fancy Meta-Haskell well, so some of the specifics here are probably lost on me. The text of the slides does seem to admit that the author is also kind of new to Yesod. (I've never met a Yesod expert...) With all of that said, I think that part of the premise was that while Yesod's not a typical 'web platform for a static language', it's an interesting case study because it (apparently) tries harder to maintain compile-time benefits static typing everywhere. (I understand this is true of the persistence layer as well) I agree that the content isn't what you'd expect given the title, but I get why the author's interested in Yesod and why it was chosen to represent the 'static' side.
- papsosouid 15y agoI don't think it is misleading. I think it is misleading to pretend java is a reasonable example of static typing. Java does tons of dynamic typing (hello null pointer exceptions), and would best be described as half way between static and dynamic typing.