Is F# a language for me and my purposes?


#1

Hey F# community!

i am not a programmer, i am a system administrator with a small company, who wants to learn how to develop software.

My main focus would be windows based, so a .Net language would be perfect here.
I looked into C#, but i really really can’t stand the syntax. F# on the other side lookes appealing to me.
My question is: What can F# do? F# is always listed as a general purpose language, but can it be more detailed?

If i want to build the following, could f# handle it?

  • A Monitoring solution for Windows based clients and servers with an agent installed and a webfrontend for administration. So mainly backend, client and webfrontend development. Can F# do all of this?
  • A web based ticketing tool in Kanban style with drag&drop.
    Same as above, backend logic and webfrontend.

English is not my main language, so i hope you all understand my questions :slight_smile:
Greetings,
Nopp


#2

F# is capable of everything you listed, as well as:

  • With the use of Fable, F# can be transpiled into JavaScript for Web-Browsers / Node;
  • With the use of Xamarin, F# can be used for Mobile App development;
  • F# works with ASP.NET and ASP.NET Core out-of-the-box, but things like Suave and Giraffe make life easier;
  • F# can be used with WPF;

So, to summarize: yes, F# can do all of that.


#3

Thank your for your fast answer!

Is there any book or tutorial which step-by-step teaches F# and functional programming itself?
F# is mainly functional i suppose…


#4

I don’t know if there’s a “one-stop shop” for it, but there are a couple I’d recommend right out of the gate:

I would start with Isaac’s book (first one), then move to the one Scott wrote. Scott’s goes much deeper into doing Domain-Driven Design (DDD), whereas Isaac’s will get you going with F# very quickly. (I also recommend you do the projects in Isaac’s book, those are where the real learning happens.)


#5

Thanks for the recommendations.
So, is the book by Isaac for complete newcommers, who just start with this book, with no experience in programming`? If yes, this book’s for me :slight_smile:


#6

Of that, I’m not sure of. I used Isaac’s book with a fundamental understanding of a half-dozen languages.

If you want to start from scratch, I’ll shamelessly self-plug my blog-series where I go through an introduction to programming and solving problems, using F#. The series is aimed at people with no fundamental understanding of programming, and it also forces you to do a bit of research on some things on-your-own, which might be helpful in your learning.

After you’ve followed part of that series (probably the first 3-5 posts) you should be ready for Isaac’s book, I would think. (Though, it might not be a “super easy” going. :wink: )


#7

I want to give you a realistic answer

Yes F#, can build what you want, it is a general purpose programming language, it can build almost anything

It will take you, realistically, years of learning and practicing, to build those two tools, taking into consideration you are not a programmer
This is not an issue in F#, this is an issue with programming, it takes more time than most people expect, especially if you want to do it correctly

For monitoring windows clients, i recommend you focus on powershell and building command line tools and reports using a database and SSRS

For the web based ticketing, there are many of great solutions, download one, or subscribe to one of the many amazing cloud services

Do learn F#, it is an amazing language, do build a project with it to practice what you learn, but do know it will take you time to build something complex and usable, in F# or any other language


#8

Thanks your your reply, i appreciate it.
I just want to clarify, that i don’t want to implement those tools on my own. Those were just examples popping into my mind.
I want to brighten up the portfolio of my company and adopt a language to it, so i can recruit some colleagues in the future.
I really want to give F# a try.

Thanks all :slight_smile:


#9

Take a look at the excellent https://fsharpforfunandprofit.com