-
Notifications
You must be signed in to change notification settings - Fork 786
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to drive F# Adoption - Part 3 #809
Comments
Looks good. I use suave and really enjoy it, especially vs ASP.net MVC with F#. |
👍 |
I think a richer SQL and NoSQL data access/manipulation story still needs to be a part of this. Having a DSL/language integrated means of generating optimized SQL code and idiomatic F# drivers/adapters for top NoSQL databases is as necessary as the Web Tools if we want to be able to say that you can do most common things in F# at least as easily as you can in C# or Java or Scala. |
@lambdakris The story for data access is type providers .. personally I think we should make them much easier to find, and make them look more integrated into the tooling experience. Currently they are on nugget but you sort of need to know what you are looking for. A type provider wizard, that answered questions and selected the type provider and generated the source to get started might be interesting. Something like that anyway ... |
@rojepp Clippy is exactly the right model yes :-) |
@KevinRansom I've become quite chummy with the SqlClient Provider, having used it in two projects at work, and I have also had time to evaluate the SQLProvider at various times over the past 5 months. The SqlClient is an improvement over ADO.NET, certainly sufficient, and in my estimation currently the best sql data access tool for F#, but personally I've found that most micro-orms offer more productivity from a query building and conventional reads and writes perspective (if only they knew what to do with Option types...). As for SQLProvider, I fear that it's use of SqlMetal.exe means that the generated SQL is less optimized than what is generated by EF 4.1+. If you are interested, check out http://getquill.io/ as an example of a cool approach in Scala land. I think Type Providers are also cool, but the problem here really isn't the discovery of types, but rather the combinators that can make that type of SQL generation and verification possible (which LINQ and anything LINQ based/derived cannot really accommodate). |
Clippy aside :) |
@rojepp if you are a new user to F# and you have just created a console app. Is it possible that you might want some help trying to access data? |
1, 2, 3, 4, perfect. Related to the OOTB the community needs to be able to add F# code examples to all the MSDN documentation across the board through pull requests. Especially for Core CLR going forward. I'm sure this will get a big participation and all of those empty F# code boxes will quickly fill. Suave resonates with me. There is a good chance I will start a Suave/Websharper project real soon. |
@jackfoxy documentation and code example you want is https://github.com/Microsoft/visualfsharpdocs i think, send pr! |
Looks mostly right to me. I think Web Tools should be replaced with .NET Native / LLVM support. I don't care any longer about ASP.NET support. I think we have better options now; just need better docs. However, native / IoT support is crucial for performance and breaking out into other domains (F# everywhere). |
@jackfoxy @enricosada I don't know if MSDN is the right focal point. I liked the idea of http://getfsharp.net/ and providing a hub of great content and docs. In particular, see https://doc.rust-lang.org/stable/book/, http://elixir-lang.org/docs/stable/elixir/Kernel.html, etc. These look like ReadTheDocs or GitBook output. If we have something like this available, we will be in a far better place. F# samples in MSDN are important, but less so compared to this more basic need. cc: @swlaschin - I would love to help with this effort if/when you move forward. |
@panesofglass i was speaking about msdn docs because lot of devs find info there. something like https://get.asp.net/ ( we have fsharp.org => get.fsharp.org , or get.fsharp.net better ) about .NET core, http://dotnet.github.io/ and http://dotnet.github.io/docs/ ( we need to add F# info there ) btw dotnet cli work really well, OOTB experience too
|
@enricosada that's just the F# docs, which by and large are OK. (Although it still appears there is no mechanism for correcting/submitting code examples.) I want to see F# code examples throughout the MSDN .NET and Azure docs. That will make F# 1st class. @panesofglass Agreed. I would be down with inserting .NET Native / LLVM support into the 4th slot. |
@panesofglass re: helping. Of course! :) |
@lambdakris the SQLProvider does NOT use sqlmetal, that is the whole point of it and why I wrote it in the first place. It is a proper erasing type provider, with its own query compiler. This is also what allows us to target all the other database types other than sql server (postgres, oracle, mysql, sqlite, etc) However, we don't support stuff like aggregation and nested queries, but that's just because it's a big bit of work and no one has done it yet. Edit: I do agree LINQ sucks a bit though, I wish I had taken the time to write my own builder rather than using |
@pezipink Big apologies for spreading misinformation. I guess I should have watched https://vimeo.com/96658740. In fact, even more props to you since that means you did even more work to make SQLProvider. Hope you didn't feel I was bashing. I do love the concept. |
@lambdakris no problem, this video is the better one if you are going to watch it https://www.youtube.com/watch?v=PrmF6a0iTXk Cheers Ross |
I agree with all the points of the original post |
Closing as we have a Part 4 to this discussion. |
Okay thanks for sticking with this,
Before we do the next bit: __ the internet is a confirmation bias machine ... I may suffer from it, you may suffer from it.__
Now the tricky bit:
It appears to me that as enthusiasts the top 4 suggestions for improving F# adoption you would propose are:
Is this the right set? very brief comments please.
The text was updated successfully, but these errors were encountered: