![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
OCaml
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/functionalprogramming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2vcmg/styles/communityIcon_m82y2oswyui31.png)
Hey everyone, I am learning Java at school right now, and I am planning to learn C++ because of its versatility, I have tried Ocaml but nothing serious, and I wasn't used to the syntax but I want to get serious with the FP concepts.
At school, there is an opportunity to research another language, I would love to learn an FP language that is fast, practical, battle-tested, and general-purpose which I can use for web servers and data processing, network programming, or some system programming.
I am not considering JVM ones, and although I know Haskell is great I would prefer something for industrial, I have experience programming JS/TS in FP style here and there.
Which one should I pick? it could be something other than Ocaml and Erlang!
Thank you very much!
Let's go with Haskell!
Going with Haskell feels like learning C, it will be hard but the foundation is everything. Although Scala will have more jobs and Elixir is fault-tolerant I hope once I get the fundamentals of functional programming, learning another fp language should be easier!
Thank you again for everyone's thoughts let's see the languages suggested by you guys!
Updated the count, but I won't be updating the count onward I've linked to the langs' official site just in case anyone wants to check them out in the future
let me know if I miss any, tough pick but thanks again, everyone!
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
I tend to come back to this article
The author gives a case of why ocaml is a good language for writing compilers.
And I’d like to ask you all what is your language of choice for writing compilers?
![r/ocaml icon](http://web.archive.org./web/20240717041751im_/https://b.thumbs.redditmedia.com/n35gEYRGhhWejdSab1UtkSSQ7tpnk86vfiZLTuwsors.png)
Wanted to try Ocaml a year or so back, but was very put off by how hard and confusing it was to just get started with a project.
It seemed there were few good quality and up-to-date resources explaining how to set up Opam, Dune, etc. I always seemed to bumping into content that strayed into talking about ReasonML, BuckleScript, Js_of_ocaml, ReScript, etc, etc., when all I wanted was to work with plain vanilla Ocaml.
As it is, I am forced to focus on Rust, because despite that I dislike its syntax and some other aspects of it, its tooling is excellent. Why can't Ocaml get its tooling act together and regain focus? Are there clear focused resources and example repositories to get me started now?
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/ProgrammingLanguages icon](http://web.archive.org./web/20240717041751im_/https://b.thumbs.redditmedia.com/kdpwcOKjcwwPBGcNxl3B7b2Ta6_DMnmYeoo8qpvRL4U.png)
This subreddit is dedicated to the theory, design and implementation of programming languages.
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/okbuddyphp icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_44v7cs/styles/communityIcon_3ka2ih61tp191.png)
![](http://web.archive.org./web/20240717041751im_/https://preview.redd.it/2x47gvf6chvc1.png?width=640&crop=smart&auto=webp&s=dac4e158f13c9ee25a6bf6cac961fc8cd2ed6c83)
![r/okbuddyphp - ocaml](http://web.archive.org./web/20240717041751im_/https://preview.redd.it/2x47gvf6chvc1.png?width=640&crop=smart&auto=webp&s=dac4e158f13c9ee25a6bf6cac961fc8cd2ed6c83)
![r/ocaml icon](http://web.archive.org./web/20240717041751im_/https://b.thumbs.redditmedia.com/n35gEYRGhhWejdSab1UtkSSQ7tpnk86vfiZLTuwsors.png)
Hello!
I've recently started learning OCaml and I'm loving it! As a Math and CS major it is the perfect intersection between these two fields. I come from a background of web dev and am a firm believer of doing something practical to learn.
I'm about halfway through the CS3110 book, currently just finished the chapter on higher-order functions. After a couple chapters the book ends with a chapter about interpreters. I'm also studying this in university and want to delve a bit deeper than just one chapter.
I found the book Writing An Interpreter in Go that is recommended a lot as a practical guide to interpreters but I'm worried as it is written in an imperative language it would be too hard for a newbie like me to "translate" to OCaml. Otherwise it sounds like a great project to learn the language.
What do you guys think? Should I just dive right into the book or maybe do some simpler projects/Advent of Code stuff before that?
Are there any practical projects you recommend for learning the language? I thought about also writing maybe a simple web app or my own TCP server (though I'm not sure how suited OCaml is to lower-level stuff).
![r/functionalprogramming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2vcmg/styles/communityIcon_m82y2oswyui31.png)
As part of my senior level courses at my uni, I've had to learn a bit of Standard ML. I've been enjoying SML a lot, but from what I've read online, it seems that it's used mostly in universities for teaching/research and not too much else.
I'm really interested in sticking with the ML family and learning a language that could be more practically useful (both in terms of employment opportunities and in personal projects). More specifically, I'm interested things like in game development, graphics programming, low-level computing, embedded systems, etc.
In doing some of my own research, it seems as though either Ocaml or F# would be my best bet in terms of fulfilling those first two points, but I'm trying to figure out how to decide between the two thereafter.
Any advice/personal experience and insight would be greatly appreciated. Thanks!
![r/haskell icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2qh36/styles/communityIcon_b3usb2hbvbe11.png)
The Haskell programming language community. Daily news and info about all things Haskell related: practical stuff, theory, types, libraries, jobs, patches, releases, events and conferences and more...
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/golang icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2rc7j/styles/communityIcon_wy4riduoe9k11.png)
![A banner for the subreddit](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2rc7j/styles/bannerBackgroundImage_k15p9ugyd9k11.png)
Ask questions and post articles about the Go programming language and related tools, events etc.
I, personally, feel like going to Go after having that level of abstraction and power in your hands feels counterproductive. Anecdotally, all the people that I have met who love Go come from PHP/Python/C/C++/Java/C# environments, therefore I am wondering if it’s their lack of understanding how FP code feels like or it’s me being stuck in FP-land and failing to see obvious benefits of Go.
![r/ProgrammingLanguages icon](http://web.archive.org./web/20240717041751im_/https://b.thumbs.redditmedia.com/kdpwcOKjcwwPBGcNxl3B7b2Ta6_DMnmYeoo8qpvRL4U.png)
This subreddit is dedicated to the theory, design and implementation of programming languages.
![r/Minecraft icon](http://web.archive.org./web/20240717041751im_/https://b.thumbs.redditmedia.com/rwN0al9P6nYhGSQO-yIJb-FyF5xg-c2v61zjMom4c4E.png)
![media poster](http://web.archive.org./web/20240717041751im_/https://external-preview.redd.it/i-programmed-a-minecraft-blockception-language-ocaml-v0-FfOvWa8wGh3gE0RUbq3hwnVzPFmD7cvbzpvr7VHPqxI.png?width=640&crop=smart&format=pjpg&auto=webp&s=740b5307e14737de44faa469924992a72583f120)
![r/ProgrammerHumor icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2tex6/styles/communityIcon_70ds7qqgfr8b1.png)
![A banner for the subreddit](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2tex6/styles/bannerBackgroundImage_z6ejudtdz7p41.png)
For anything funny related to programming and software development.
![](http://web.archive.org./web/20240717041751im_/https://preview.redd.it/rxs2b1l2cmt91.jpg?width=640&crop=smart&auto=webp&s=81611100137b4ea6fc0be22a15680394a408216c)
![r/ProgrammerHumor - My thoughts when learning ocaml](http://web.archive.org./web/20240717041751im_/https://preview.redd.it/rxs2b1l2cmt91.jpg?width=640&crop=smart&auto=webp&s=81611100137b4ea6fc0be22a15680394a408216c)
![r/programming icon](http://web.archive.org./web/20240717041751im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![r/ProgrammingLanguages icon](http://web.archive.org./web/20240717041751im_/https://b.thumbs.redditmedia.com/kdpwcOKjcwwPBGcNxl3B7b2Ta6_DMnmYeoo8qpvRL4U.png)
This subreddit is dedicated to the theory, design and implementation of programming languages.
-
members -
Tezos is a decentralized blockchain for assets and applications that can evolve by upgrading itself. Stakeholders govern upgrades to the core protocol, including upgrades to the amendment process itself.
members -
The Haskell programming language community. Daily news and info about all things Haskell related: practical stuff, theory, types, libraries, jobs, patches, releases, events and conferences and more...
members -
Subreddit to post about the lang_agent and LLama.cpp Introspector project for ocaml and coq proof interface to generative AI
members -
A place for all things related to the Rust programming language—an open-source systems language that emphasizes performance, reliability, and productivity.
members -
This subreddit is dedicated to the theory, design and implementation of programming languages.
members -
This group is for people interested in the F# language, the functional-first language targeting .NET, JavaScript, and WebAssembly. More info about the language can be found at https://fsharp.org
members -
members -
members -
Computer Science Theory and Application. We share and discuss any content that computer scientists find interesting. People from all walks of life welcome, including hackers, hobbyists, professionals, and academics.
members -
Advent of Code is an annual Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.
members