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

For a beginner, high school but zero experience in programming, which one easier to learn, C# or F#?


Definitely C#. You’ll find tons more resources. F# is fantastic, but it’s not a good *first* programming language.

A lot of what you’ll learn when you first learn programming is going to be applicable in any language though. Once you’re comfortable with C#, and can understand the difference between imperative, object-oriented, and functional programming, you’ll be in a good place to check out F# (or any other language, really).

Good luck with your learning!


It doesn't matter, if you want to "actually" use .Net you have to at least be able to read C#. And I guess some files still - as it was 3 years ago - need to be C#, for example in mobile apps.


Its an interesting question. I've found personally people with previous imperative/functional language (e.g. JS/Go/etc) have picked up F# quicker, and people with OO knowledge (C++, Java, etc) have picked up C# quicker. There's a lot of implied/conventional knowledge with OO that many C#'s dev forget they have (i.e. its all sunk cost to them). If you just want to cut and paste code however C# has more Microsoft provided doco so there's that.


C#


Thanks


Honestly this is such an interesting question. Conventional wisdom would definitely say C#, but I’ve always wondered if that’s because imperative programming is easier than functional for a beginner, or because basically everyone starts with imperative. I’d be curious to see what would happen if someone started functional first.

All that said, probably C#.




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

Search: