Hacker Newsnew | past | comments | ask | show | jobs | submit | miloandmilk's commentslogin

100% this, I spent many months going through the most recent books on F# including one which the latest version was only released last year I think.

They all seem to try and shield you from the fact that you are much better placed if coming from C# (which everyone seems to refer to as .net these days) and have a solid understanding of the .net class library.

All the main web frameworks sit on top of asp.net and pretty much all official documentation for that is in c#

Such a shame because I learnt so much about types from trying to crack f# for real world application. fsharpforfunandprofit taught me heaps which I apply to other languages, but I don't want to become a c# developer which comes with all the years of changing best practices to be able to really be productive in f#.

Sorry if I am coming across as bitter but I just can't see learning f# in isolation from c# which is an absolute shame.


What is the issue with learning C# alongside it, if only the bits necessary to improve the F# experience? Both are excellent languages.


They are both excellent languages, I just literally don't have the time to commit to do that at the moment.

I think if I ever have time for another go I would learn enough to be proficient in c# before diving back in.


Late to the party but congrats on the release and thanks for all the work everyone put into Liveview, its truly a marvel.


This 1000 times.

I have been learning F# for a while now, and while the functional side that is pushed heavily is a joy to use, anything that touches the 'outside world' is going to have way more resources for C# as far as libraries, official documentation, general information including tutorials etc. You will need to understand and work with those.

So you really do need to understand C# syntax and semantics. Additionally there are a few concepts that seem the same in each language but have different implementations and are not compatible (async vs tasks, records) so there is additional stuff to know about when mentally translating between C# and F#.

I really want to love F# but keep banging my head against the wall. Elixir while not being typed yet and not being as general purpose at least allows me to be productive with it's outstanding documentation, abundance of tutorials and books on both the core language and domain specific applications. It is also very easy to mentally translate erlang to elixir and vice versa in the very few occasions needed.


Its ironic that the thing that is hard to learn about F# is C#, or more to the point, the patterns/idioms in C# libraries and frameworks. I've seen the same reaction more from people coming from other ecosystems personally working with F#. There's a lot of stuff in C# that people in Java/C# land take for granted that you just don't have to learn in other languages (Javascript, Go, Python, etc) - lots of OOP patterns, frameworks, etc. Staying in the F# lane seems to be easier but can be limiting, but at least you know you won't be stuck if you need an SDK/Library/etc.

The flipside is that adopting F# is less risky as a result - if there isn't a library or you are stuck you can always bridge to these .NET libraries. Its similar I think with other shared runtime languages (e.g. Scala, Kotlin, Clojure, etc). You do need to understand the ecosystem as a whole at some point and how it structures things.


> I really want to love F# but keep banging my head against the wall.

Yeah. What's your opinion on Gleam?


Gleam from a language perspective seems really nice - but it's in it's ramp up stage, I will go through the Gleam Exrercism track and keep an eye on it. It would be great if it became the general purpose typed pragmatic functional language with a large ecosystem I am after!


Agreed, even with f# a first class citizen in the .net world, written, maintained and distributed by Microsoft, I still have needed to gain a working knowledge of c# to properly interact with the .net libs and third party libs (which I absolutely need to do as the f# ecosystem is tiny compared to c#). So at the end of the day I needed to learn two languages to atain my goal of learning one enough to be useful.

Disclaimer - I am still learning both - I am no expert on either - and I am still strugling!

(Calling erlang from elixir much eaiser!)


How has this been voted down! React is starting to jump the shark.


Me too!


I was looking for an alternative to rescript and literally just started looking at Fable this week - and absolutely love it in conjunction with Elmish.


I just use mine, always with some oil. I never season it as a separate process.

Eggs pancakes, fish, no problems.


Not an expert - so just a guess, might be more to do with the advantages the BEAM provides?


I don't use Racket every day - but I use many of the things I learnt from HTDP every single day. Great language guided by some very generous people.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: