I love when I find a great channel and I'm one of the first 1000 subs. And thanks to this particular video, I'll be able to speak enthusiastically at length about curried functions if an interviewer tries to stump me.
I just came across this video, but really great explanation and makes a couple of things clear! Because I have actually done some things with F# and I know I noticed how I could pass one parameter left of the pipe operator, while I could place other parameters still right of a function which I using. But I did not really know about the actual theory behind this, and now I do. So thanks a lot for that! Professionally I work with C# mostly, but actually I touch in many languages, especially also Rust, which regardless of very different syntax is also inspired by the OCaml, ML and friends, from which F# is a direct derivative by the way, with a very similar syntax.
Poking your nose into new things can only be valuable - even if it just means rethinking your habits and daily work. F# is a very practical language, with full access to all .Net libs, great tooling in VSCode (Ionide), Visual Studio and Rider. It's mature, performant, compiles also to JS, and for me, it's the choice for "getting things done".
I don't really use functional programming but I got this video recommended and man I'm so happy I decided to watch it. Love the content man! Always great to see some problems through other PoV like the ones functional programming offers :D
Hmm, funny that you mention Lisp! Because if I am right Lisp does not use infix notation. It's quite an old language I know, with lots of dialects. Really old calculators in the past also used prefix. Infix came later. I would not really call it like JS though, unless you look at the deep level of nesting how some people code. 🤐
@@ThePureState Specifically, using a C# library in F#. I don't really remember the pain points at the moment to be honest - this was at a past employer and it has nearly been a year.
2:05 Edit: I pretty much describe what's next in the video... Was coincidental enough (as I don't do F# at all) and funny to me that I kept the comment up. This reminds me how much I like the C# way, which is operator overloading. Its limits as an object-oriented language can be felt in the way it's done at the class level, but you could imagine that concept used more closely to the functional way. An ideal functional implementation of this in my opinion would allow you to define operators just like you'd define a variable, then use it just like any operator. Reusing the example, you could imagine something like that: let (+) = appendString let example = 2 + 3
Scott Wlaschin made huge influence on developers. A lot of functional bros are mentioning him in their videos. I finally started to understand how it all sticks together in a functional world thanks to his videos.
Personally, I find that one of the more annoying aspects of most functional programming languages is the syntax. Partly it's that they use a bunch of symbols in ways that only make sense for functional languages, and partly it's the placement of terms. In my opinion, the best language to really demonstrate functional concepts would be LISP. The overuse of parentheses is really annoying but it's incredibly simple to understand due to the form that it takes on. Of course, I'd rather use brackets than parentheses, but mostly because they're easier to type, and the shape of them appeals to my OCD. Though, the fact that they would make sense as the symbol for a "list" of objects doesn't hurt.
LISP is of course a thing on it's own :) In F#, there aren't many operators to be known (less than in imperative languages I'd say), and although it's possible to define a bunch of custom operators, I wouldn't recommend that, and I don't know many libraries that make use of it - maybe Saturn for composing web parts, or Parsec-like libraries like FParsec, where it's an important part of the vocabulary one has to learn, are exceptions that I use in my work.
@@anon_y_mousse Ah, that you mean with "fun" projects :) I'm not really into games, but you can use F# with Unity and Godot somehow, or Monogame for 2D, or ... You can ask in the unofficial F# Discord server.
Exactly the crisp and clear presentation that I like - no background music or annoyances, just well-spoken expert imparting his knowledge with perfect audio and superb visuals. And a nice coat!
I have started using F# one month ago and the language is very interesting (no semi-colons, currying, very strong type inference, discriminated union, pattern matching, pipes, etc...) after looking at a FParsec video. Integration with C# is very good, which make migrating some part of your code very easy. I have already migrated all my functional code from C# to F# (for clean, succinct and performant code 😉). I am considering migrating all my complicated C# ADO.NET datalayer access to F# SQL type providers. F# community looks great and sharp! I will watch all your lectures so please keep the good work. Thank you guys.
Really cool, I've just started to try and use this setup instead of Postman for a little personal project I just started working on. Have you considered packaging up some of this common "Postman-like" functionality into a module in FsHttp, or in a separate Nuget packge? It's easy enough to copy-paste, but it might lower the barrier even further to using this great library.
The sessions will be a) Live: see amplifying-fsharp.github.io/fsharp-essentials for more infos, how to join and when b) Recorded: An edited version of the sessions will be available online Feel free to share to everyone who wants to learn something new - not just a new syntax, but also a new way of thinking about how to write modern software in 2024.
Utterly fantastic as always, Ronald! I'm totally new to web dev in any way, I have almost zero idea how it all works, however, I can tell this is all very simple and elegant done this way. What do you suggest for me to learn fsharp web dev from the completely unaware to the expert level?
I usually have a hard time with recommendations. It depends on so many subjective things. For basic F# things in general, have a look at the "F# Essential Lectures" from my friends of Amplifying F#: amplifying-fsharp.github.io/fsharp-essentials/ Then, I thing web dev is a fields that's vast, and requires skills independent from the language used. For frontend stuff, have a look at Vide-4-Fable (vide-dev.io/) (disclosure: I've developed it), ot all the Fable resources in general. WebSharper might also be a cool thing, because it provides a full-stack experience. Although I've never used it in production, I guess it's worth a try.
It's hosted by @amplifyingfsharp, and will be brought to you by Ian Russell, who wrote the book "Essential F#" (leanpub.com/essential-fsharp). They will rock - that's for sure! Stay tuned, and visit amplifying-fsharp.github.io to get more infos soon!