Earlier quoted context omitted.
I don't know. I think Scala and F# have stolen OCaml's thunder more than Rust. While Rust has been inspired by ML, OCaml and Rust have much different usecases.
Other than interop with .NET does F# bring anything more ? Perhaps a little cleaner syntax. One thing F# does not bring is Ocaml's powerful module system
Draft of OCaml Scientific Computing book
121–130 of 132 posts
Re: Draft of OCaml Scientific Computing book
#122Earlier quoted context omitted.
How much of F#, .net and its data science stack can be divorced from Windows?
.net is cross platform now. it has the same "run anywhere" philosophy as the JVM. I haven't used windows in over 10 years.
Almost anything with a CPU has some OEM shipping JVM implementations for them, while Microsoft focus only on the major desktop and mobile OSes (one of them with its own coffee brand).
Re: Draft of OCaml Scientific Computing book
#123Earlier quoted context omitted.
I am part of Owl contributors/maintainers. You are right that the ecosystem is small, and will likely be always behind Python, R and Julia. But considering how small the community around numerical methods in OCaml is, I think the work that went into owl and this book is incredible and may help raising awareness and growing the userbase. I think one of our current limitations is the lack of a high quality, full-featur…
> You are right that the ecosystem is small, and will likely be always behind Python, R and Julia. But you should be able to call those languages from OCaml. For instance, RInside https://cran.r-project.org/web/packages/RInside/index.html lets you call R from any language with a C FFI. A very simple solution (even if not quite as convenient as a full OCaml solution) that lets someone write OCaml if that's their prefe…
Of course there are reasons why you might integrate the two. Perhaps you have an R expert doing the statistics work and the back end developer gluing everything together. That's fine, but at some point the system becomes pretty confusing and is a giant leaky abstraction.
Re: Draft of OCaml Scientific Computing book
#124Earlier quoted context omitted.
> It's harder to do generic polymorphism in OCaml since the language has nothing like C++'s parametric templates or Haskell's type classes. It does have a very nice module system that has the required flexibility, but compared to these languages, I think it is clunky for the kind of genericity seen in scientific computing. Are parametrized modules really clunkier than parametric templates ?
At least for beginners, they absolutely are. I have found undergrads generally get the idea behind something like HashMap but getting them to reason about OCaml modules takes quite a bit of effort.
Re: Draft of OCaml Scientific Computing book
#125Earlier quoted context omitted.
How about Haskell?
Haskell is like the nerdy cousin of the ML family. Everyone knows he's smart, but no one would think to ask him to fix the kitchen sink or install the new dishwasher. Seriously, Haskell is massively impressive, both as a research language and as an implementation. But it does not shed that certain research attitude. Every known problem seems to be boring. "Oh you want a proxying http server? No problem, this is just…
https://engineering.fb.com/security/fighting-spam-with-haske...
Re: Draft of OCaml Scientific Computing book
#126Earlier quoted context omitted.
> I can't understand why OCaml doesn't have mass adoption. Probably for the exact same reason each year you think about learning OCaml you decide not to (I mean this sincerely, not trying to be snide). I think the main reasons it doesn't see mass adoption in industry: * There are only two major companies that do a substantial amount of OCaml that I can think of off the top of my head, Jane Street and Ahrefs. Facebook…
I just cannot understand how people find Python easy to learn but languages like F# or OCaml hard to learn. I personally find Python to be a much more confusing language than F#.
Re: Draft of OCaml Scientific Computing book
#127Earlier quoted context omitted.
> I can't understand why OCaml doesn't have mass adoption. Probably for the exact same reason each year you think about learning OCaml you decide not to (I mean this sincerely, not trying to be snide). I think the main reasons it doesn't see mass adoption in industry: * There are only two major companies that do a substantial amount of OCaml that I can think of off the top of my head, Jane Street and Ahrefs. Facebook…
> * The tooling is lacking. Care to elaborate on this point? Maybe it's just because I'm coming from Haskell (lol), but my experience with OCaml's tooling has been pretty darn good. While I don't think there's a heavyweight IDE for OCaml à la IntelliJ, in Emacs I get my error messages inline, on-the-fly checking (including type inference and checking, which is huge), and pretty good completion. All of this seems to "…
Re: Draft of OCaml Scientific Computing book
#128Earlier quoted context omitted.
.net is cross platform now. it has the same "run anywhere" philosophy as the JVM. I haven't used windows in over 10 years.
.NET Core isn't as feature rich as Java the GUI side, or supported platforms thought. Almost anything with a CPU has some OEM shipping JVM implementations for them, while Microsoft focus only on the major desktop and mobile OSes (one of them with its own coffee brand).
https://devblogs.microsoft.com/dotnet/introducing-net-multi-...
Re: Draft of OCaml Scientific Computing book
#129Earlier quoted context omitted.
.NET Core isn't as feature rich as Java the GUI side, or supported platforms thought. Almost anything with a CPU has some OEM shipping JVM implementations for them, while Microsoft focus only on the major desktop and mobile OSes (one of them with its own coffee brand).
That should be changing soon. https://devblogs.microsoft.com/dotnet/introducing-net-multi-...
Plus it doesn't help that some teams are adopting React Native, even alongside .NET.
Too much chaos going on sorting out WinRT, while most of us aren't willing to say how high when Microsoft says jump.
Re: Draft of OCaml Scientific Computing book
#130Earlier quoted context omitted.
> * The tooling is lacking. Care to elaborate on this point? Maybe it's just because I'm coming from Haskell (lol), but my experience with OCaml's tooling has been pretty darn good. While I don't think there's a heavyweight IDE for OCaml à la IntelliJ, in Emacs I get my error messages inline, on-the-fly checking (including type inference and checking, which is huge), and pretty good completion. All of this seems to "…
Now try setting up OCaml tooling on Windows. That alone would be responsible for a lot of missing users.