other-languages

here be heresies and things we have to use for work
martintrojer 2016-05-10T14:58:59.000433Z

@borkdude: don't agree with you that F# == Scala

martintrojer 2016-05-10T14:59:01.000434Z

its not even close

borkdude 2016-05-10T14:59:36.000435Z

@martintrojer: cool, explain

martintrojer 2016-05-10T15:00:36.000436Z

sane type system

martintrojer 2016-05-10T15:00:45.000437Z

awesome async

martintrojer 2016-05-10T15:01:08.000439Z

proper pattern matching (case classes is not good enough)

martintrojer 2016-05-10T15:01:20.000440Z

type providers (huge)

martintrojer 2016-05-10T15:01:44.000441Z

quite a bit faster

martintrojer 2016-05-10T15:02:09.000442Z

great immutable collections (that's not re-written on every other release)

martintrojer 2016-05-10T15:02:57.000443Z

'Sane' OO primitives, for C# interrop

borkdude 2016-05-10T15:04:17.000444Z

- Type system: it depends what you want from it. Scala's type system is more expressive, but saner, that's the question :simple_smile:. - Async: Scala has a good API around Futures. Won't they let you do more or less the same? - Type Providers: there is a similar effort in Scala (using macros) - OO primitives: they are not sane in Scala? I agree that F# feels better designed, but I don't see any big reasons to jump from Scala to F# or vice versa myself.

martintrojer 2016-05-10T15:05:00.000445Z

tbqh, scala's type system is a total mess. 20-page type errors ayone?

borkdude 2016-05-10T15:05:35.000447Z

@martintrojer: I have used Scala for 3 months now and I haven't had this experience yet

martintrojer 2016-05-10T15:06:01.000448Z

Check out F# 'asynchronous workflows' nothing like it in scala

martintrojer 2016-05-10T15:06:27.000449Z

Scala macros, comments not necessary I think

martintrojer 2016-05-10T15:07:01.000450Z

OO is first class in Scala, not in F#. F# pushes you in the right direction.

borkdude 2016-05-10T15:08:09.000451Z

yes, F# is more functional in this regard

borkdude 2016-05-10T15:10:35.000452Z

I would choose it also if I had to choose from scratch. But then I would probably be back to Clojure. I actually went from F# to Clojure in 'hobby programming'.

borkdude 2016-05-10T15:11:50.000454Z

I think async workflows were introduced after that. So my image of F# is still based on an early version, maybe it has evolved quite a bit.

martintrojer 2016-05-10T15:12:07.000455Z

I have high hopes for CoreCLR

martintrojer 2016-05-10T15:12:21.000456Z

almost there now (for F#)

borkdude 2016-05-10T15:13:27.000458Z

The only thing I don't like of F# is that it runs on .NET. Also I don't know of any companies in the Netherlands who use it, so career wise I see no point in investing in it. For fun programming Clojure is still my favorite.

borkdude 2016-05-10T15:14:35.000459Z

@martintrojer: what are the goals of CoreCLR?

martintrojer 2016-05-10T15:14:58.000460Z

If there are no companies in the Netherlands that uses .NET I'll eat my hat :simple_smile:

borkdude 2016-05-10T15:15:42.000461Z

@martintrojer: There are a lot of them, but they almost all do C#. I don't know any F# based companies. I was using F# already in 2006 or something and in ten years I haven't seen it grow here.

borkdude 2016-05-10T15:16:08.000462Z

@martintrojer: For example, I don't know of any meetups here around F# but there are plenty around Scala. Weird, but true.

martintrojer 2016-05-10T15:16:40.000464Z

Yeah, .NET communities / meet-ups quite small.

martintrojer 2016-05-10T15:16:44.000465Z

The London one is great tho

borkdude 2016-05-10T15:17:05.000466Z

A lot of F# in finance in the UK right?

martintrojer 2016-05-10T15:17:16.000467Z

With CoreCLR I can write my web apps on my mac and run them on AWS tho.

martintrojer 2016-05-10T15:17:29.000468Z

so, I'm not going into the traditional .NET 'space'.

borkdude 2016-05-10T15:17:34.000469Z

@martintrojer: What do you think about Mono?

martintrojer 2016-05-10T15:17:50.000470Z

I've suffered with mono for some many years

martintrojer 2016-05-10T15:18:01.000471Z

I don't trust it

martintrojer 2016-05-10T15:18:07.000472Z

CoreCLR will save me

borkdude 2016-05-10T15:18:13.000473Z

@martintrojer: Just checking. I've tried it for a couple of times, but I gave up. It's basically why I don't use F#.

martintrojer 2016-05-10T15:19:37.000474Z

Mono is mainly used in Unity (an ancient mega-patched version) and Xamarin (aot to iOS binaries)

martintrojer 2016-05-10T15:19:42.000475Z

seems to work there

martintrojer 2016-05-10T15:20:03.000477Z

as runtime for my F# webapps?

martintrojer 2016-05-10T15:20:06.000478Z

nah

borkdude 2016-05-10T15:20:35.000479Z

@martintrojer: What about OCaml?

martintrojer 2016-05-10T15:20:49.000480Z

Interestingly, M$ is doing .NET AOT assemblies -> binaries for UWP

martintrojer 2016-05-10T15:21:20.000481Z

Ocaml? Will let you wait for that chapter of my blog series :simple_smile:

martintrojer 2016-05-10T15:21:37.000483Z

can't spill all the beans here

borkdude 2016-05-10T15:21:42.000484Z

Sure :simple_smile:

martintrojer 2016-05-10T15:22:05.000485Z

Facebook uses ocaml lots.

martintrojer 2016-05-10T15:42:51.000486Z

Also, Elm totally changed today. Gutted to the core.

martintrojer 2016-05-10T15:44:51.000487Z

Probably better for it, but sweeping changes

martintrojer 2016-05-10T15:45:10.000488Z

Exciting future indeed

borkdude 2016-05-10T16:32:50.000489Z

so I should be glad I didn't learn Elm yet?

seancorfield 2016-05-10T17:53:12.000490Z

Ah, I’d stopped following Elm late last year… sounds like it’s time to pick it back up again? :simple_smile:

martintrojer 2016-05-10T18:23:50.000491Z

I'm very happy with ELm so far

martintrojer 2016-05-10T18:24:18.000492Z

I'm more productive in it (compared to Clojurescript)

arrdem 2016-05-10T21:46:26.000493Z

Types joke goes here