TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Community-led tooling for F# in Visual Studio

90 点作者 numo16将近 10 年前

5 条评论

smithkl42将近 10 年前
I'm a long-time C# developer, and several years ago tried out F# for a project for which it seemed like a reasonable fit. However, after a month or so, I switched back to C#. I missed the very strong type inference of F# and pattern matching, and C# suddenly seemed very verbose and awkward to me. But C#'s tooling was just head and shoulders ahead of F#, and that made a huge difference in my productivity. But most of what I was complaining about, it looks like the F# community has addressed. I'll be looking for ways to go back and play with it.
评论 #10025062 未加载
评论 #10025590 未加载
hravnx将近 10 年前
I really, really like the F# language, but the tooling is so bad (compared to C#) that it&#x27;s a real struggle to continue to justify using it. I admire the effort put in to F# Power Tools development (I&#x27;ve been using it for a long time and is currently on 2.0), but TBH it&#x27;s like a slow, buggy implementation of a quarter of the C# tooling. Don&#x27;t get me wrong, the effort is commendable and I know you&#x27;re not supposed to criticize OS projects unless you&#x27;re involved yourself, but from a practical day-to-day point of view, it&#x27;s not working well.<p>The demos that Tomas Petricek and others in the community do are nice, but in real-world applications of even moderate complexity you almost invariably run into impedance mismatches and annoyances.<p>I&#x27;m currently working on a F# backend for a service with a WebAPI 2 front-end.<p>- We had to create a C# glue project to be able to publish it as a web app on Azure. This works, but dependency tracking across language barriers in .Net is flaky, so we have to remember to add all Nuget packages to the glue project manually, or we get run time errors in production (not during compilation or locally in test, but in production) as the assemblies are not published.<p>- Go to definition does not work across language barriers, even when the projects are in the same solution. So you&#x27;re in F# code, place the cursor on a data tyope defined in a c# file and press F12 to navigate to the source and you get an F# view of the data structure, instead of going to the source.<p>- The async models are famously different between F# and C#, so you have to marshall back and forth between them, resulting in a lot of `|&gt; Async.StartAsTask` and `Async.AwaitTask` in the F# code, and don&#x27;t get me started on how to convert an f# async computation to a .Net Task in C#. Pretty, it aint.<p>- While you can easily create WepAPI controllers in F#, there are basic things that you just can not do. One that bit me recently: having optional query string parameters. Super easy in C#, impossible in F#. Ended up writing a C# controller just for the endpoints that require this, so now I have controllers in the same API surface written in two languages.<p>Neither of these things are the end of the world, but they do add up, so for me personally it is not a given that I will use F# for my next project.
评论 #10026923 未加载
评论 #10030518 未加载
lemming将近 10 年前
It&#x27;s great that the community is stepping up to provide this functionality, but most of these features are things that I&#x27;m very surprised that the default tooling from MS doesn&#x27;t already provide. No rename at all? No find references? I was led to believe that the VS tooling for F# was actually pretty good but those two are very basic things I expect from an IDE, especially for a static language.
评论 #10025998 未加载
ropman76将近 10 年前
As a c# dev I started to learn F# on a whim. Now I find myself being sucked down the F# rabbit hole. The pattern matching was mind blowing. To any fellow c# or VB devs learning F# is worth the time invested.
salimmadjd将近 10 年前
I&#x27;m probably the minority here, as I&#x27;m a visual thinker. But when I see &quot;Visual&quot; in the headline and click on it. The first thing I want to see is something visual (I understand it&#x27;s a product name). But on this post, everything above the fold is just text which I don&#x27;t want to read.<p>I&#x27;m actually very curious about F# and anything functional these days, however, aesthetically was turned off for some reason.<p>Show me your best feature upfront and then I&#x27;ll want to read more.<p>update: Looks like the moderator or the OP changed the headline to something more appropriate. So my comment is less relevant now.
评论 #10024967 未加载
评论 #10025378 未加载
评论 #10024976 未加载