Alright, let me tell ya, F# might not be the cool kid on the block like C#, but man, it's been picking up steam thanks to a bunch of die-hards in the community. It's legit becoming a solid pick for practical projects. So, I'm about to spill the beans on the nuts and bolts of a full-blown F# project I tackled - backend, frontend, tests, build, infrastructure, the whole shebang. And guess what? I'm throwing in the source code too.
So, the game-changer for my ingredient list was this thing called SAFe Stack. It's this dotnet CLI template that's like a Swiss Army knife for building SPA apps that buddy up with a backend. The SAFe project site? Oh, it's a treasure trove of tutorials and examples.
For newbies, SAFe is a godsend. You can pretty much use the template straight out of the box and dive into coding the fun stuff. For example, the site ke-bet.com is made using this technology. But the more you get your hands dirty, the more you'll want to branch out from SAFe.
F# is an exciting new programming language within the Microsoft Visual Studio family, providing .NET developers with a wealth of opportunities. However, before diving into F#, it's essential to grasp its fundamentals and understand key concepts of functional programming.
The book "Introduction to Functional Programming for .NET Developers" by Chris Marinos is an excellent resource for those who want to delve into the world of F# and functional programming.
F# offers a clear syntax, powerful tools for parallel computing, and the ability to integrate with other .NET languages. However, it also introduces new concepts that may be unfamiliar to developers accustomed to object-oriented programming.
I’m delighted to formally announce that Apress will publish Rob Pickering’s Foundations of F# in March . This is the right book at the right time to bring F# to the world.
Rob, with Don Syme as technical editor, is writing a comprehensive, clear, and concise introduction to F# and F# programming that experts will read with pleasure yet novices will easily understand.
This is a book every F# programmer will find invaluable and an exciting moment in F# history!
You probably already saw my post regarding CodeDOM generator for the F# language and how to use it with ASP.NET. To make it more accessible for everyone, I created project at the new Microsoft community site called CodePlex [^].
BTW: CodePlex looks like a really good site. It is based on Visual Studio Team System (which means that developers of the project can do most of the work directly from Visual Studio). It provides management of “Work Items” (TODO list), source control and many other useful things! For example if you have any feature requests or bug requests, send them to the discussion and I can easilly create work item from the message in the discussions.
If you are interested in this project and you want to help with developing of some parts, or if you are working on a project that is related to CodeDOM and F#, please let me know. Any help or feedback is kindly welcome!
On 2nd of November I did a presentation on F# and functional programming at the Czech .NET User Group meeting. Because I spent quite a lot of time with puting the presentation together I wanted to make it available to wider audience, so I translated the slides and examples to English (anyway, translating the content took me only a few minutes :-)). In case that some of the readers prefer Czech version, I attached the original documents too.
In the presentation I tried to introduce some basic concepts of functional programming (immutable values, lazy evaluation) to the audience with no experience with functional programming, as well as present some of the most interesting features of F# (like strict type system based on type inference, .NET interoperability and metaprogramming). The whole contents of the presentation is following:
Functional programming in F# - Introduction to the F# type system
Some useful functional idioms - How to do Foldl/Map/Filter functions and Lazy evaluation in C#
Interactive scripting - What is important for scripting, mathematical simulation
Interoperability between F# and other .NET languages - How to use .NET libraries from F# and F# libraries from ohter .NET languages
F# as a language for ASP.NET - How to use F# as a language for ASP.NET development
Meta-programming in F# - Meta-programming features in F# and the FLINQ project