Interested in learning F#? I've written a fast-paced, practical ebook (197 pages) that may help you get up-to-speed quickly. Download it for free.
#fsharp
I've written a fast-paced, practical ebook to quickly get C# devs up to speed with F# to solve everyday business problems. You have nothing to lose by reading it because you can download it for free.
#dotnet
#csharp
In many ways the most impressive thing about F# is how little the core language has changed since 2010. Unlike other languages frantically trying to catch up,
@dsymetweets
designed something really well thought out.
If you've ever wondered why folks who've invested their time and effort to learn F# are so enthusiastic about it, why not download my free 200-page ebook and discover it for yourself?
#csharp
#fsharp
#dotnet
It's alive! Massive thanks to all of the reviewers for getting this over the line. I hope that it helps many more devs make the journey to the happy world of F#.
Please RT for reach.
#fsharp
Received some bizarre feedback from an interview. They were worried that I would try to convert their codebase into a more functional style. Damn right that I would but so is Microsoft, given that most of the new features of C# are functional in nature.
#csharp
Do you want to learn F#? I'm ready to take on two or maybe three new mentees for free in the next few weeks. You must be able to commit to 1hr per week for 12 weeks via video call plus up to 2hrs/week of your own time reading and writing F# code. DM me if you're interested.
Interested in learning F#? I've written a fast-paced, practical book (167 pages) that may help. All authors royalties go to the F# Software Foundation.
#fsharp
Interested in learning F#? I've written a FREE, fast-paced, practical ebook (197 pages) that may help you get up-to-speed quickly. Please RT for reach.
#fsharp
#csharp
#dotnet
A quick attempt at modelling a menu in F#. The F# type system makes this kind of modelling really quick and easy and, even at this stage, it's pretty readable.
#fsharp
I will not be offering any more one-to-one mentoring in F# and I'm cutting back my .NET community activity to zero. It's time for me to do things for my benefit.
#csharp
#fsharp
#dotnet
I'm partway through writing a blog post on how the structure an
#fsharp
application. It doesn't feel like there's much in it but it's the thing I'm most asked by newcomers to the language.
The biggest difference between programming in F# and C# is that in F#, I focus on the business problem at hand but in C#, I have to always think about preventing bad things happening, particularly around nulls.
I finished
@ploeh
's book, Code That Fits In Your Head, last night (or rather early morning). Is it any good? Yes, so good in fact that I'm trying to work out which book it replaces in my current Top 10.
Interested in learning F#? I've published a practical ebook aimed at efficiently getting you up to speed with the essentials of functional-first programming in F#.
#fsharp
Eye-opener of a book for C# devs. Even if you don't move to F#, it will still have an impact on how you think about writing code.
#dotnet
#csharp
#fsharp
Domain Modeling Made Functional by Scott Wlaschin
@ScottWlaschin
Increase customer satisfaction, speed development cycles, and waste less work. Solve real problems by focusing on real-world requirements for your software.
I wish that Microsoft worked towards solving the null problem properly in C# rather than making it easier to manage program flow through exceptions.
#csharp
#dotnet
C# Tip 💡
𝗪𝗵𝗮𝘁'𝘀 𝘁𝗵𝗲 𝘀𝗶𝗺𝗽𝗹𝗲𝘀𝘁 𝘄𝗮𝘆 𝘁𝗼 𝗮𝗱𝗱 𝗚𝘂𝗮𝗿𝗱 𝗖𝗹𝗮𝘂𝘀𝗲𝘀 𝗳𝗼𝗿 𝗻𝘂𝗹𝗹 𝘃𝗮𝗹𝘂𝗲𝘀?
A standard solution in .NET is throwing argument exceptions.
Write a null check, and if it's true, throw an exception.
However, there's a concise way
Excellent video by
@isaac_abraham
on Domain Modelling in F#. Highly recommended for C# devs who are curious how the type system can easily help enforce invariants and business rules.
#fsharp
#dotnet
I tried really, really, really hard to like, or even just tolerate, EF Core but I don't and I didn't. I much prefer micro-ORMs like Dapper. As always, YMMV.
How the various features work together is what makes F# so special, not the individual features themselves. It feels like a well-thought-out language that doesn't have features just because other languages have them.
#fsharp
I've pushed some code that shows many of the features of F# and some of the useful techniques covered in my free 200-page ebook to a github repo.
#fsharp
Want to learn F# but feel that you need a helping hand? I'm willing to mentor two people for 1 hr each per week for up to 3 months. You will be expected to spend at least 1 hr per week self learning/practicing as well. DMs are open.
A really good, user-friendly presentation on functors and monads with no maths/category theory. Mainly Java and Scala but easy to convert to C#/F#.
#fsharp
#csharp
@CFDevelop
No, it isn't as the code belongs to their employer anyway and it could be viewed as protecting their assets. On the other hand, it shouldn't be used to judge how hard someone is working. Often the code doesn't represent the true progress made in solving the problem.
Do you want to learn F#? I have a spot available for mentoring to start next week. It's free -> 1 hour per week for 12 weeks over video link. Send me a DM if you're interested.
I've had a lot of responses to my offer of F# mentorship. I wish that I could do more. I'd really, really like to convert the whole of the .Net world to F#.
Contrary to popular opinion, mainly among C# devs, I think that you have to be much smarter to write great code in C# than you need to be to do so in F#, especially as your product/project evolves over time.
#csharp
#fsharp
#notclickbait
Using F# to generate a sequence of dates given a start date, a finish date, and an interval.
If you want to learn F#, download my free 200-page ebook from
I've been sketching out the things that I've learned from doing 1-2-1 mentorship in
#fsharp
over the last 18 months. I think it's interesting enough to become a blog post.
For those folks wondering "What's the catch?", there isn't one. I do this because I love working in F# and want others to get the opportunity to do so as well. The only warning is that you will probably like C# a lot less afterward.
Do you want to learn F#? I'm ready to take on two or maybe three new mentees for free in the next few weeks. You must be able to commit to 1hr per week for 12 weeks via video call plus up to 2hrs/week of your own time reading and writing F# code. DM me if you're interested.
Will F# ever beat the chicken vs egg problem? I keep hearing lots of devs talking about wanting to learn F# but not recommending it for work because it's hard to find F# devs! Working with F# has been a major selling point for us.
If you find that the Option type doesn't handle your situation, say you have multiple possible reasons for failure, then F# has you covered with the Result type. Notice how similar in use it is to the Option type.
#fsharp
Did you know that in modern .Net Solutions, projects using different .Net languages can happily co-exist? You can use the best tool for the job such as F# for your domain logic and C# for your UI or, as we do in this blog post, test C# code with F#.
The interviews over the last two days seemed to go OK. It's finally beginning to click with me that I have a ton of real-world knowledge and experience to offer.
I wish the C# influencers would try F# and post about it, even if it is not for them. Doing so would make folks see that there is nothing to be scared of and you might actually find it useful.
Interested in functional programming in .NET? Maybe you've tried it in C# and can't help but think that it's harder than it should be. Try learning FP in F# with my free ebook aimed at C# devs who want to upskill.
Adding 'functional' features does not make a language functional. Thinking functionally requires a significant change in how you approach and solve problems.
Would anyone be interested in doing some proofreading of my Intro to FP in F# book? It looks like it will be around 200 pages in total. I should have 3 chapters ready later today. Looking to publish early next month. Any help appreciated.
I'm looking for some folks to review the revised edition of my ebook (Essential Functional-First F#). It's a work in progress but will be released for free in early/mid-July.
I had a lot more interest than I expected for F# mentoring, so it may take some time to determine who I can mentor in this round. One-to-one mentoring is not scalable, so I'm looking into how I can deliver something more interactive than my ebook to a larger audience. Any ideas?
The most important practices I've learned about over nearly 30 years of software development have been Extreme Programming (XP), Domain-Driven Design, Distributed Systems/Architecture, and Functional Programming. Learning F# has been the most joyous.
@mortenmertner
@Natt
Sadly, they don't do anything too bad in the stadia, so UEFA can't really do anything about it. I haven't seen violence this bad for decades though and racism is back with a vengeance.
One of the nice things about F#, and functional programming in general, is that we can concentrate on the verbs in a system rather than the nouns.
#fsharp