fsharp / fsharp.org

The F# Software Foundation website
https://fsharp.org
291 stars 276 forks source link

Comparsion sheet between F-Sharp and other languages #698

Open ShalokShalom opened 6 years ago

ShalokShalom commented 6 years ago

Hi there ❤️

I like to suggest a syntax comparison sheet between OCaml and F-Sharp, so potential and current users can see it on one page.

This here is a nice template: https://reasonml.github.io/guide/ocaml

And here is the source code: https://github.com/reasonml/reasonml.github.io/blob/source/src/pages/guide/ocaml.md

Thanks a lot in advance

theprash commented 6 years ago

I really like the idea here, but I think of all languages OCaml users are going to have the least trouble with F# syntax. I think JS/Java/C# -> F# syntax pages would be more useful to do first, because those languages have bigger differences from F# and probably hundreds of times as many users as OCaml.

ShalokShalom commented 6 years ago

You can do all of these languages one by one.

ShalokShalom commented 6 years ago

Plus, much of the features in F# are not available in C# and others.

It might be senseful to compare the basic syntax like in this comparison, plus adding the features of a functional language like F-Sharp.

In the case of Java and C# is it probably very interesting, since F# provides the huge plurality of the features in these languages, plus a huge amount of functional programming techniques.

So, this can result in a huge page which shows the variety in F-Sharp?

theprash commented 6 years ago

Here's another example for reference: JS -> Elm

ShalokShalom commented 6 years ago

Thanks a lot.

It looks really clean, while I guess this counts for the OCaml and Reason comparison as well, once compiled without the whole Reason page around it.

And it is possible to reuse the OCaml content in it.

What I like to reimplement here is the content of the comparison itself. Elm and Javascript are interesting languages to compare the syntax.

Elmish is also interesting to me.

s952163 commented 6 years ago

I don't see the point for OCAML specifically, for some other popular languages this might make sense.

ShalokShalom commented 6 years ago

Well, since OCaml is similar on the surface, while it contains some differences in details. So, if you like to decide between both languages - where to look?

voronoipotato commented 5 years ago

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/verbose-syntax

The verbose syntax is very similar to OCaml. OCaml doesn't allow operator overloading, doesn't use <> for types, has type punning on record construction for starters.

ShalokShalom commented 5 years ago

Well, one thing to mention could be also feature wise, so missing type providers here and missing first class modules there, etc. This is helpful to do ports.

I think one single source of truth is beneficial here.

One thing that is popular today: https://github.com/gothinkster/realworld

teichert commented 2 years ago

It's more than one page and the current comparison is for F# 3, but I've benefitted from hyperpolyglot for similar comparisons of other languages.