Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Since F# is primarily meant as a functional language, and thus is written as such, learning it through examples when you have no functional language knowledge, there is quite the learning curve.

Compare that to starting to read Python when you come from C#, it reads as English.

F# omits much more in its code.



You know how seasoned lisp programmers say the parentheses eventually disappear? I felt like F# was the opposite. There were invisible parentheses everywhere and once I figured out where they were, the language made a lot more sense.


Most ml based languages feel like that.

It feels like typed lisp with the brackets omitted.


But you can see that about anything with an arbitrarily complicated grammar. If you have internalized the grammar, then you can place parentheses into any utterance to show the structure, which means you can see where they would go even if you don't actually write them in.

Yes, the language make a lot more sense if you know how to do that compared to if you don't.


> anything with an arbitrarily complicated grammar

But that’s the thing about F#: the grammar isn’t arbitrarily complicated. It’s really quite simple, which is why mentally inserting lispy parentheses helps me reason about it.




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

Search: