4 ms·
May I ask you what your 'particular domain' is? I'm interested in F# but due to lack of a real use case for me I didn't yet start investigating.
by m_st 12y ago
May I ask you what your 'particular domain' is? I'm interested in F# but due to lack of a real use case for me I didn't yet start investigating.
- fsloth 12y agoIn this instance: Desktop, graphics. This from a hobby point of view, though! Which means I have very little time to achieve anything and occasionally don't touch the code in weeks. I've come to write code that is a) trifty b) readable c) works on compile d) leverages type system for composable code that has a specific "correct" way to do things. So I can return to my code, which I've completely forgotten how it works, see that it compiles, read it through, and continue working. Noticeably: I do not need to care about the tooling because it just works. I don't get a shiteload of weird exceptions when I run my code (looking at you, Clojure - yes, I'm a noob) and since the Pythonic and mutable nature of F# allows me to write code in the way I enjoy the most it feels like a glove. There are a few oddities occasionally and some bits are a bit more verbose than in other languages (Clojures collections spoil any other language) but the overall experience is that I can focus only on my code. For me, it's a pain free computational substrate, and free as in beer now that Visual Studio community edition is out. My progress is really slow but always worthwhile. If you are interested I found Jon Harrops "Visual F# 2010 for Technical Computing" really good practical introduction, Don Syme et. alls "Expert F#" a good reference book on writing general stuff in the .Net ecosystem with F#, Petricek's "Real-World Functional Programming" a very good introduction to various application patterns and Sestoft's "Programming Language Concepts" a great book and online reference on writing interpreters and compilers (http://www.itu.dk/people/sestoft/plc/ http://www.itu.dk/people/sestoft/plc/). *At work I use C++ on MS stack.
- elemeno 12y agoI'd recommend the recently released F# Deep Dives as well - it's less about learning the language, than about seeing how a variety of different real world problems can be solved in F#. A few hours reading that gave me more inspiration than all the blog posts solving toy problems I've read in the last year. Table of contents and sample chapters here - http://manning.com/petricek2/ http://manning.com/petricek2/
- fsloth 12y agoCool! I had completely missed this. Thanks!
- mike_hearn 12y agoYou could also check out Kotlin. It's not as strongly functional as F# is but is still pretty nice, sort of a better C# for the JVM. For desktop stuff, JavaFX works OK. That said, I'm glad MSFT is now competing in the open source/x-platform desktop app space. The Java team can use the extra competition.
- Rapzid 12y agoYour opinions of Clojure seem to mirror mine. I absolutely love the simplicity of the syntax, and after having learned a bit of Clojure then coming to F# I released it's syntax for describing data collections had forever ruined me. EDN is fantastic. Unfortunately I have to love Clojure from afar. Partly because I only touch it for Riemann so I'm always rusty, and partly because the JVM. I'm really hoping that all this open source .NET business will bring more attention to ClojureCLR though. ClojureScript is a wonderful thing and I know there are some F# and CIL->JS transpilers but LightTable->ClojureScript->Chrome is a wonderful thing. A similar story, complete with insta-repl, with F# would be crazy cool.