13 ms·
Introducing F# 4.0
- s_kilk 11y agoCan any F# users point me towards a guide on getting started with F# and Mono on OS X? Just enough to get a simple build chain set up and get started learning the language.
- jdc 11y agohttp://fsharp.org/use/mac/ http://fsharp.org/use/mac/
- kolektiv 11y agohttp://fsharp.org/use/mac/ http://fsharp.org/use/mac/ is probably a good place to start - if it doesn't work for you for any reason, do please complain - the community is really active in trying to make everything better! (The general section on cross-platform development may also be helpful - perhaps more when you've got a little way in!) Additionally, there's an F# room on http://fpchat.com/ http://fpchat.com/ (a Slack group dedicated to functional programming) and you'd be more than welcome to come and ask questions there too - I recommend that venue in particular as it's very active at the moment. Hopefully that's enough to have a play - reply here if I can help at all too.
- jast 11y agoTo get started on OS X just go to http://fsharp.org/use/mac/ http://fsharp.org/use/mac/ A nice and very good online tutorial to learn the language is http://fsharpforfunandprofit.com/ http://fsharpforfunandprofit.com/
- majecty 11y agoI wrote a blog post about setting simple fsharp project without monodevelop. You need to install fsharp using brew before read the post. https://majecty.wordpress.com/2015/04/19/making-fsharp-project-using-command-line/ https://majecty.wordpress.com/2015/04/19/making-fsharp-proje...
- s_kilk 11y agoThanks, this was really helpful!
- fsloth 11y agoAs per language Expert F# from Apress by Don Syme et. all is a pretty solid practically oriented introduction. As for how to use the language most Ocaml and ML oriented books should offer hints. F# is a bit more extensive of course but how the language originally appeared it was "Ocaml for .Net".
- MichaelGG 11y agoWhile these are nice... Are there no headline features? Macros or something?
- m0th87 11y agoThe whole article is about features added. The first point is even about improvements to macros.
- chadzawistowski 11y agoUnfortunately F# doesn't really have macro support... "working with expression trees is becoming easier than ever" but you can't actually unquote/eval an arbitrary expression tree. The only purpose I can see for expression trees is implementing a DSL with F# syntax.
- VoiceOfWisdom 11y agoIts not possible out of the box, but there are several community libraries to eval quotations[0]. Shame on whoever downvoted you. Add knowledge to the discussion instead of downvoting someone you disagree with. [0] http://stackoverflow.com/questions/849416/evaluate-quoted-expression-in-f http://stackoverflow.com/questions/849416/evaluate-quoted-ex...
- MichaelGG 11y agoWe must be taking about different things, as F# hasn't had macros and thus cannot get improvements to them. Quoted code is nice, but it's not a real substitution real macros.
- msutherl 11y agoMicrosoft scares me, for no good reason. Would, say, a Ruby or node.js-oriented web developer find the F#/.NET community lacking, incomplete, unfriendly, uncool? Is there even a community to speak of? What's to stop a young developer from going against the grain and adopting .NET? (Here come the downvotes. Shun the "hipster." But really, I'm looking for a subjective perspective from somebody on "the other side." I don't even know how to search for ".NET" on Github. For instance, is NuGet anything like npm or gem?)
- jsprogrammer 11y agoHunh? C# was one of my first professional languages and I used it for five years. It's an excellent language and many people use it. What 'grain' do you think you are going against? The more platforms and languages you get exposed to, the more informed choices you'll be able to make in the future.
- msutherl 11y agoSubjective, but I've never met a C# developer and I know approximately zero developers who run Windows.
- TillE 11y agoNot everyone is a web developer or working on mobile apps. Games and business software are two huge industries which are almost entirely Windows. Everyone using the massively popular Unity engine is a C# developer.
- M8 11y ago> Not everyone is ... working on mobile apps http://blog.xamarin.com/xamarin-passes-1-million-developer-milestone/ http://blog.xamarin.com/xamarin-passes-1-million-developer-m...
- deleted 11y ago[deleted]
- marpstar 11y agoI've been writing most of my utility code in F# for the past few months, is there anything that you guys DON'T like about it? I'm really enjoying how terse it is in comparison to C# and haven't really run into anything that's bothered me, besides Xamarin Studio being bloated.
- mistermann 11y agoCould you post any comparison code demonstrating the terseness, or suggest a good site that might demonstrate this?
- gagege 11y agoHere's a humorous take on F#'s terseness: http://www.slideshare.net/ScottWlaschin/c-light http://www.slideshare.net/ScottWlaschin/c-light
- marpstar 11y agohttp://fsharpforfunandprofit.com/posts/classes/ http://fsharpforfunandprofit.com/posts/classes/ starts off with a C# vs. F# class declaration example. Particularly when you want to create a class with 3 member properties and a constructor accepting those 3 properties as parameters, you can achieve that in 4 lines of F# vs. 8 (non-curly brace) lines of C#. This sort of conciseness is found all over the language as you keep digging deeper. I really recommend Scott Wlaschin's (link author) entire site. The best online resource for learning F#, IMO.
- Guillaume86 11y agoJust to nit-pick: C# 6 should bring this particular case on par with F# if I remember well.
- M8 11y agoI don't like the terseness, the global inference and the syntax. Can read it (unless there are custom operators) but cannot write it. Would love to have Scala on CLR: http://programmers.stackexchange.com/questions/9095/what-are-the-biggest-differences-between-f-and-scala http://programmers.stackexchange.com/questions/9095/what-are...
- azurelogic 11y agoI was just discussing F# with my coworkers today. I feel like it doesn't get much attention because neither the OO or the FP camps want to own it. It's too different for OO people, and FP people won't find it pure enough. Is that correct, or are my observations and inferences way off?
- MichaelGG 11y agoThe lack of attention is that Microsoft doesn't want to put too much cash into it, and hasn't figured out the marketing message. Microsoft has sold the message that F#'s for strange high-IQ people in finance or science and so on. A lot of ".NET developers" are just confused. I mean, ffs, look at C#'s "var" keyword. Even some highly respected people that worked at Microsoft didn't understand it and called it "dynamic typing". If high-up "engineers" can't understand these basics, then what chance do the majority of MS's customer base? Doesn't look good. Plus the hiring mentality is "oh no, we won't find an F# developer". The problem is that they're looking for "language" developers in the first place. Who the hell cares if a hire knows F#? If they don't but worth hiring, they'll easily learn it. This is true for most languages, but extra true for F# as you still have the CLR, the whole .NET Framework, Visual Studio, etc. The biggest thing holding F# back apart from that, and apart from people that are well, scared of it, to put it kindly, has been .NET itself. Mono's been flaky for F# development I hear, and people have been suspicious of .NET overall, I feel. Though I do have long-running server apps at high volume working fine with F# on Mono on Linux, ASP.NET and other experiences are suboptimal. With Microsoft's new stance on open source and shipping .NET everywhere, hopefully a lot more people will give it a spin. F#'s probably in the top spot for the combination of tooling, libraries, and language - so long as you don't mind GC. As far as the language itself, it does a pretty good job at doing multi-paradigm. In fact, it does OO better than C# in some cases (object expressions).
- sremani 11y agoReading some of the comments, I cannot but think about the book I am reading "The Expert Beginner". This platform/framework street fighting is not good for any one. If you are on LAMP stack, Ruby on Rails or Python or Go, where you code on a Mac OS X, and want to engage in a narcissistic exercise of self-validation, please do it else where. If you are curious about the other side of the tracks, there are enough knowledgeable people who can help, advice and guide in this very forum.