As you might noticed in https://github.com/mmlacak/crochess repository, I switched from Haskell to C.
Switching might be a bit of a stretch right now. There simply isn't anything to see in there, and won't be for quite some time.
While I was thinking about using e.g. GTK+ common libs, dependency would then be on whole of GTK+, not just common libs, because those aren't separated.
So, I'll spend some time writing common stuff, like list, dict, ... implementations, then templatizing those, just for fun.
I wasn't pondering too much about this change. I started with Haskell more as an experiment. To really get feeling for a language you have to use it for a real project, and I got quite so far with it.
While surprisingly good, problem with Haskell itself is that every poo (and sometimes it's dog!) is wrapped in one monad or the other. Good luck if you just want to write simple functional code, i.e. without wrappers.
And for me, that's a broken promise. Akin to OOP, while it does allow for additional structuring of code, more often then not it also forces you to carry around too much baggage.
Another problem with Haskell-as-a-platform is dependencies. If distro-based repository works for you, great. If not, you're in Cabal, Stack, ... induced pain. No good.
In the end, grandpa C is twice as fast as everything else. And provide finer-grained control (yes, I'm aware you can do magic with Haskell-core, FFI, but can you claim that you're writing simple Haskell anymore?). It's also either interfaced, or straight-up used by everything worth it's salt.
No comments:
Post a Comment