3 ms·
Look I'm no ML engineer or even a data scientist, I'm much closer to PS/VBS/AutoIT land, writing C# Console Applications for really complicated stuff and/or exp
by Multicomp 9y ago
Look I'm no ML engineer or even a data scientist, I'm much closer to PS/VBS/AutoIT land, writing C# Console Applications for really complicated stuff and/or exposing helper methods via a simple web service, but I am increasingly liking F# for its pattern-matching and type providers that let me 'lock down' bugs much more than I can in imperative languages. I get that I'm probably misusing F# for general-purpose stuff, but no matter what I like that I can write my helper web-services in F# now and not just C#/VB.
Hopefully F# will become even more mainstream than it is right now.
- zghst 9y agoI started out during the Node + JS revolution and I am more than certain I am seeing a similar level of innovation happening in F#. The community is titled towards more mathematicians and scientist, but mainstream adoption is right around the corner.
- nulagrithom 9y agoI've been on an ASP.NET Core project full-time for a year. Lately, I find myself wondering "Would it be nicer to write this part in F#?" almost every day. There's some inertia there simply because I keep thinking that the next person will hate me for forcing F# on them, but it's almost a siren call at this point... I might have to just pull the trigger and commit a .fs file.
- chillitom 9y agoDo it, the next person will thank you. If not immediately then within days of them learning F#.
- phillipcarter 9y agoAuthor here: Go for it! Wiring up a new F# project is quite simple: dotnet new library -lang F# -o FSLib cd CSharpASPNETApp dotnet add reference ../FSLib/FSLib.fsproj There are some templates in the .NET Core SDK for ASP.NET as well, so if folks are wondering if it's possible to use F# with ASP.NET Core, the answer is yes! There's even support for async controller actions using F# async expressions, so there's no need to do some of the more awkward interop between Async and Task.
- cies 9y ago> the next person will hate me for forcing F# on them Look at it from this perspective: you might be able to hire the next person because you put some proper tools/stack for them to work with. :)
- KurtMueller 9y agoYou should use Scott Wlaschin's informative site "F# for Fun and Profit". He has does a good job focusing on using F# for what he calls BLOBAs... boring line of business applications. I think F# would be great for your business logic.
- cies 9y ago> I'm probably misusing F# for general-purpose stuff Impossible. F# (a.k.a. OCaml.NET) is --like OCaml-- a general purpose language. It's on Wikipedia so must be true :)
- bonesss 9y agoAnd more specifically: F# is a first-class .Net langauge. That means it has full access to the Base Class Library and cross language interop. It's as "general purpose" as C#, but wildly better for most "general" development by a) having builtin scripting support, b) being multi-paradigm, and c) having an interactive REPL-based development cycle. There are certain kinds of OOP constructs that will always make more sense in a pure OOP language... For the other 99.95% of development being able to drop all the cruft and simplify your tasks, simplify your namespaces, and simplify your apps is a beautiful thing. Even while learning: at anypoint an imperative, OOP, or mutable solution makes sense you can just do it. You won't want to, but you can: easily. F# feels as free and intuitive as Python in the small, while providing structural & type-based guarantees (and productivity!), that far outstrip C#/Java in the large. [Arguably F# is also the first "mature" .net language in that it had the benefit of language design after most of the CLR was done... It's much more comfortable for dynamic generation/loading of AppDomains and such.]
- eighthnate 9y agoIf I had to bet, I suspect F# will fill in a niche. Just like SQL, javascript, etc. Functional-style languages seem to have difficulty becoming mainstream.