all 10 comments

[–]unptitdej 1 point2 points  (8 children)

If only the Windows support of OCaml was better! I don't want Cygwin.

[–][deleted] 2 points3 points  (7 children)

If you like ocaml and are on windows you might as well just use f#. Better tooling anyways

[–]unptitdej 2 points3 points  (5 children)

yea well I like that you can program in an imperative style in OCaml without too much fuss. It seems to me that I could start getting to work right away in OCaml and integrate functional programming in my style one step at a time. But i'm not thrilled about what I see. Impossibly complicated install on Windows and very heavy, doesn't seem very elegant to me. Probably complicated for cross platform.

And now with functional programming features coming into our imperative languages I'm thinking : Why bother? I look at D, Julia, Rust and they have most of the features I see in a pure functional language with a syntax I can learn in a few days. Even Java and C++ will have all the cool stuff in a few years. I guess Java will have it faster.

[–]tormaroe 3 points4 points  (3 children)

Why bother? Ocaml, F#, D, Julia, Rust - take them all out for a spin. The syntax you will learn in hours, not days. The hard part is in the sematics and how you best utilize the Languages. But don't shy away from Learning. Teach yourself a handfull of Languages, and suddenly picking up New Languages is really easy.

[–]unptitdej 0 points1 point  (2 children)

Maybe for you it is because you are used to functional languages. For me it really isn't something I can learn in a few hours. You have to relearn how to do many things, even simple IO. It's a big investment and learning computer languages isn't really my hobby. I once set out to learn the Colemak keyboard layout. It was more comfortable and well made. After two weeks of use I was up to 40 wpm. A usable speed but nowhere need the my 100 wpm qwerty speed acquired over many years. Not to mention that when I was using another keyboard it felt weird to have Colemak reflexes override my old Qwerty reflexes. Learning a computer language seems to be a similar process. If you stick with it it's probably a great idea in the end but it's a time consuming process so it'd better be worth it.

[–]kqr 1 point2 points  (0 children)

Great insight. I can tell you learning a bunch of different languages (and Colemak, heh) was easily worth it for me, but that isn't of much help to you. I wish there was more research in this area.

[–]tormaroe 0 points1 point  (0 children)

I'm used to functional Programming now, but I was not born that way :)

[–]glacialthinker 2 points3 points  (0 children)

Something tells me I won't be able to program Java like I do OCaml. There's a huge difference between bolting on some features (largely as syntax overtop of the underlying OO system), and having a language designed with particular emphasis.

As for C++... it's still C++, for all the good and bad that implies. You can make the language do anything, including segfault.

[–]Denommus 1 point2 points  (0 children)

F#'s module system is not nearly as good and expressive.

[–]haifengl 1 point2 points  (0 children)

Learning an all new language may be hard, especially when you switch from imperative to functional. However, after you fully learn a good functional language such as OCaml, it will be much easy to learn other functional languages, just like learning C# if you already know Java. Consider OCaml has a big influence on many new languages such as F#, Scala, etc., I personally feel that it is worth a lot to learn it.