fsharp.org icon indicating copy to clipboard operation
fsharp.org copied to clipboard

Comparsion sheet between F-Sharp and other languages

Open ShalokShalom opened this issue 8 years ago • 10 comments

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

ShalokShalom avatar Oct 12 '17 13:10 ShalokShalom

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.

theprash avatar Oct 12 '17 13:10 theprash

You can do all of these languages one by one.

ShalokShalom avatar Oct 12 '17 13:10 ShalokShalom

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?

ShalokShalom avatar Oct 12 '17 13:10 ShalokShalom

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

theprash avatar Oct 12 '17 14:10 theprash

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.

ShalokShalom avatar Oct 12 '17 14:10 ShalokShalom

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

s952163 avatar Oct 30 '17 23:10 s952163

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?

ShalokShalom avatar Nov 09 '17 03:11 ShalokShalom

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.

voronoipotato avatar Jun 10 '19 13:06 voronoipotato

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

ShalokShalom avatar Jun 11 '19 06:06 ShalokShalom

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.

teichert avatar Apr 08 '22 04:04 teichert