# Is F# a language for me and my purposes?

**URL:** <https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475>\
**Category:** General\
**Created:** [September 18, 2018, 1:35pm UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475 "2018-09-18T13:35:57Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nopp](https://avatars.discourse-cdn.com/v4/letter/n/a87d85/32.png) [@Nopp](https://forums.fsharp.org/u/Nopp)\
**Post date:** [September 18, 2018, 1:35pm UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/1 "2018-09-18T13:35:57Z")

</div>

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 🙂  
Greetings,  
Nopp

---

<div class="post-metadata">

**Author:** ![EBrown](https://avatars.discourse-cdn.com/v4/letter/e/da6949/32.png) [@EBrown](https://forums.fsharp.org/u/EBrown)\
**Post date:** [September 18, 2018, 1:43pm UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/2 "2018-09-18T13:43:53Z")

</div>

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](http://ASP.NET) and [ASP.NET](http://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.

---

<div class="post-metadata">

**Author:** ![Nopp](https://avatars.discourse-cdn.com/v4/letter/n/a87d85/32.png) [@Nopp](https://forums.fsharp.org/u/Nopp)\
**Post date:** [September 18, 2018, 2:10pm UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/3 "2018-09-18T14:10:08Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![EBrown](https://avatars.discourse-cdn.com/v4/letter/e/da6949/32.png) [@EBrown](https://forums.fsharp.org/u/EBrown)\
**Post date:** [September 18, 2018, 3:08pm UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/4 "2018-09-18T15:08:30Z")

</div>

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:

- [Get Programming with F#](https://www.manning.com/books/get-programming-with-f-sharp) by Isaac Abraham (@isaacabraham)
- [Domain Modeling made Functional](https://pragprog.com/book/swdddf/domain-modeling-made-functional) by Scott Wlaschin (@swlaschin)

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.)

---

<div class="post-metadata">

**Author:** ![Nopp](https://avatars.discourse-cdn.com/v4/letter/n/a87d85/32.png) [@Nopp](https://forums.fsharp.org/u/Nopp)\
**Post date:** [September 18, 2018, 3:14pm UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/5 "2018-09-18T15:14:24Z")

</div>

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 🙂

---

<div class="post-metadata">

**Author:** ![EBrown](https://avatars.discourse-cdn.com/v4/letter/e/da6949/32.png) [@EBrown](https://forums.fsharp.org/u/EBrown)\
**Post date:** [September 18, 2018, 3:23pm UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/6 "2018-09-18T15:23:12Z")

</div>

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#](http://usingprogramming.com/post/2017/08/21/getting-started-with-programming-and-getting-absolutely-nowhere). 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. 😉 )

---

<div class="post-metadata">

**Author:** ![systems](https://yyz2.discourse-cdn.com/flex030/user_avatar/forums.fsharp.org/systems/32/585_2.png) [@systems](https://forums.fsharp.org/u/systems)\
**Post date:** [September 19, 2018, 3:21am UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/7 "2018-09-19T03:21:20Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Nopp](https://avatars.discourse-cdn.com/v4/letter/n/a87d85/32.png) [@Nopp](https://forums.fsharp.org/u/Nopp)\
**Post date:** [September 19, 2018, 7:15am UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/8 "2018-09-19T07:15:30Z")

</div>

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 🙂

---

<div class="post-metadata">

**Author:** ![mmulji](https://yyz2.discourse-cdn.com/flex030/user_avatar/forums.fsharp.org/mmulji/32/177_2.png) [@mmulji](https://forums.fsharp.org/u/mmulji)\
**Post date:** [November 7, 2018, 11:51am UTC](https://forums.fsharp.org/t/is-f-a-language-for-me-and-my-purposes/475/9 "2018-11-07T11:51:33Z")

</div>

Take a look at the excellent [https://fsharpforfunandprofit.com](https://fsharpforfunandprofit.com)
