3 ms·
There is an interesting article about rewriting C# project in F#, with impressive results: http://simontylercousins.net/does-the-language-you-use-make-a-differe
by insulanian 10y ago
There is an interesting article about rewriting C# project in F#, with impressive results:
http://simontylercousins.net/does-the-language-you-use-make-a-difference-revisited/ http://simontylercousins.net/does-the-language-you-use-make-...
- wrsh07 10y agoThis is a really great case study, but I can't help but think some of the improvement comes from it being the second attempt at the project. I'd really like to see some case studies going the other way: F# --> C# [or C++]. At the least, you could do C# --> C# [ie complete rewrite]. Any time you do a rewrite with more knowledge of what worked and what didn't, you'll have a better system. So ultimately, the essay [like most] leaves the question: Is F# better? Or is it just that complete rewrites can provide substantial improvement?
- smoothdeveloper 10y agoFrom all I gathered about people that story was related to, it seems the F# project was done without looking at the C# implementation, on basis of same specifications. If you were tasked to implement a project because first implementation failed, would you even read the first implementation or just base your work on the specification?
- wrsh07 10y agoOh good point -- it does say they were separate teams. Should one read previous implementation? That's a difficult question. If you're worried about losing your perspective from seeing a single solution, then perhaps you're right that you shouldn't. But it's possible that merely implementing it in a different [more functional] language would encourage sufficiently different patterns to allow you to keep perspective. With all of this said, I am a huge fan of both C++ and Haskell. I had just had an internal realization that these stories might not be extracting the positive effect that a rewrite might have on a code base [even though, as you say, that is likely not relevant here].