5 ms·
But why do things "near functional" when you have F# which is fully functional?
by Touche 13y ago
But why do things "near functional" when you have F# which is fully functional?
- knocte 13y ago+1
- DanielBMarkham 13y agoYes. Exactly. This is like saying visual basic does classes. Sure, it does, but why would you use it like that?
- deleted 13y ago[deleted]
- ryeguy 13y agoBecause you're already using C# and it can?
- azth 13y agoCan't you mix C# and F# in the same project though?
- kenjackson 13y agoOften mixing them in the same project will result is much less natural code. The above is pretty straightforward.
- ryeguy 13y agoYes, but that's a bit pointless since you can do the same thing in both languages, it's just F#'s syntax is cleaner.
- sklivvz1971 13y agoNo you can't, you can use two different projects, but it's a bad solution in most cases.
- deleted 13y ago[deleted]
- ryeguy 13y agoThis argument makes no sense. If you're using C#, and you want to use its functional features, they're available and powerful. It's not like this is some dirty hack.
- V-2 13y agoBecause "near functional" is sufficient most of the time and if there is no compelling reason to split your codebase among two different languages, you shouldn't do it. Not to mention that there's probably 1000 C# developers for every F# developer Have a look at http://www.indeed.com/jobanalytics/jobtrends?q=c%23%2C+f%23&l= http://www.indeed.com/jobanalytics/jobtrends?q=c%23%2C+f%23&... And someone has to maintain your near functional or functional code
- altreal 13y agoI used to use this argument and only now I realize how flawed it was. At some point there were 1000 COBOL programmers for every <your favorite language> programmers. If you decide to go with COBOL career, you will be maintaining bad software for years.
- jaredsohn 13y agoThe GP was speaking from the standpoint of the business rather than that of the developer.
- profquail 13y agoThe easy solution -- take a few of your best C# developers and give them two weeks to learn F# and build a small project with it. You don't have to hire developers from outside to bring new technologies into a company. In fact, given the scarcity (i.e., demand > supply) of good developers these days, it's almost certainly going to be easier and faster to have your existing development staff learn those new technologies vs. trying to hire new developers with experience in those technologies.
- JackMorgan 13y agoThis is one of the reasons I think F# is such a powerful tool. It is so simple, consistent, and safe I found it very easy to learn quickly. I think I actually spent more time learning Entity Framework than I did learning F#, and EF still catches me with weird edge cases. Meanwhile F#'s crazy smart compiler is catching all mine ;)
- nawitus 13y agoBecause programming languages are tools. You can take good parts of functional languages and do it in non-functional languages.
- bratsche 13y agoF# syntax is still a little confusing in the beginning, mostly because it does so much with so little syntax. And every time I'm using F# I seem to run into weird problems around indentation. I like F# though. But I think it takes some getting used to, and I'm not quite there yet. :)
- profquail 13y agoKeep at it, though! F# does take a bit of getting used to if you're coming from C# or Java, but it doesn't take long -- maybe a week of writing it full-time, two at most -- before you're roughly as productive in F# as you are in other languages. From there, the sky's the limit :)
- Sanddancer 13y agoThis argument of purity of ideology reminds me more than a bit of the Salon system of French art. Unless your style was absolutely to their liking, your work was deemed refusé. Sometimes doing things in an imperative style, even with state and all the baggage that comes with it, results in easier to read and debug code.
- JackMorgan 13y agoI post a few threads down why I prefer F#, and none of my reasons are for "purity", you should check it out: https://news.ycombinator.com/item?id=7048522 https://news.ycombinator.com/item?id=7048522
- CmonDev 13y ago1. Because my management won't let me. 2. Because nobody cares enough about F# to get the tools right (e.g. no ReSharper, no Roslyn for F# on horizon), it feels like a second class citizen even in MS land.