Threads for ryanslade

  1. 3

    Rust sounds like a good match (but i doubt that’s your choice because I think you tried it already). But see the recent post here about rust being as productive as kotlin.

    1. 11

      My money is on F#. He gets everything he likes from OCaml as well as proper multicore support. Plus he has the entire .NET ecosystem to fall back on when it comes to libraries, documentation etc.

      1. 5

        F#

        Looks like you were right:

        https://blog.darklang.com/new-backend-fsharp

        1. 2

          You nailed it!

        2. 4

          It sounds like Rust would be an awful choice, because most of his complaints are true for Rust as well, especially where the ecosystem is concerned.

          1. 3

            Rust has a much bigger ecosystem especially in terms of “cloud” and web stuff. You won’t have the “there’s no google cloud client library and the postgres client is incomplete” problem in Rust.

            1. 2

              Rust is approaching 50,000 crates (that’s 1/5th of nuget, and more than CPAN). It’s not as big as mainstream package repositories, but it’s definitely past being a niche language.

              1. 2

                It doesn’t matter how many crates exist if none of them provide what you need

                1. 5

                  That’s a meaningless tautology. It’s true when applied to any language.

            2. 3

              Rust doesn’t really have a good official google cloud sdk. I think the safest choice is Go if your aim is interfacing with google products.

              That being said, I wish someone made the equivalent of bucklescript/reasonml that compiles to go so you can just use ocaml with go’s extensive set of libraries.

              1. 8

                That’s one of the reasons I don’t like Go—its ecosystem is a walled garden.

                OCaml libraries are usable from other languages, you can write a shared library in it. Whether to link everything statically is a choice. With Go you don’t have that choice, if you write a library, no one but other Go users can ever benefit from it.

            1. 3

              Taking my daughter to the aquarium and finding some time for a couple of mountain biking sessions

              1. 4

                Planning to explore the local mountain biking trails nearby.

                1. 26

                  I think by criticising Go the author actually ended up stating some of the reasons for Go’s popularity and success.

                  A developer working in Go and only Go will help his business’s bottom line, and the shareholders will be happy

                  Yes, the number one reason we are employed as software engineers.

                  I’ve been trying learn Rust, and I have a little server project called Monologued that I’ve been hacking on since early December. I haven’t gotten it working. I already had some major components working, and I decided to try at write Monologued in Go. It took about six hours.

                  Great, job done.

                  Go might not be as intellectually stimulating as some other languages, but we’re not being paid to solve puzzles for fun. We’re being paid to produce working, production software.

                  1. 5

                    Sometimes I’m in awe of how candid are some people when writing blog posts. You can say this having a beer with your friends, but you don’t publish something that shows how little you understand your job and your role in a company.

                    That’s how I feel writing in Go. I didn’t learn anything writing in Go.

                    Frankly, I hope this is not read by the next guy that decides if you join a new job. They’re not paying you for learning “about something”, they’re paying you to deliver.

                    No one will ever write great software in Go.

                    Because spending six hours programming a finger server gives you the insight to determine Go future.

                  1. 3

                    There’s also the “Ray Tracing in One Weekend” and follow-on books, which are shorter than this book, but free:

                    https://twitter.com/Peter_shirley/status/984947257035243520

                    The code in the book is very simple C++, but I’ve finished the first 9 out of 10 chapters in Rust:

                    https://github.com/nebkor/weekend-raytracer

                    1. 1

                      I can also recommend Ray Tracing in One Weekend which I used to build this:

                      https://github.com/ryanslade/ray

                    1. 14

                      I’ve been investigating F# recently and have been incredibly impressed.

                      I’m sure a lot of OCaml developers will disagree, but to me it is a much more practical version of that language.

                      It seems to take the best of OCaml and improve on it, for example:

                      Proper multicore support out of the box
                      One standard library (.NET)
                      Type providers 
                      Units of measure
                      
                      1. 4

                        I understand your argument, and will agree that some of your points are in fact problematic but I’ll disagree on one point:

                        best of OCaml

                        I find that taking an ML like OCaml and ripping out the M part is a pretty big change and rather not for the better. Also, personally, ripping out the O part of OCaml is also sad because objects are rather interesting and fit surprisingly well into the language, some syntactic weirdities notwithstanding.

                        1. 3

                          F# does support objects, although I think they are implemented a little differently in order to support .Net compatibility.

                          What sort of features is F# missing compared to OCaml objects?

                          1. 2

                            For myself, I have a hard time working in a language that doesn’t have an ML-style module system. It’s just SO GOOD.

                        1. 1

                          This is one of the core principals of the Go community and I think one of the reasons it is so successful. It was really refreshing after only about a week with the language to be able to dive into almost any Go code base, including the standard library, and clearly understand what the code was doing.

                          1. 1

                            It’s going to be interesting to see how this affects online poker.

                            A lot of bots already exist, but bots that are consistently better than humans are really going to increase the arms race between poker sites and bot authors.

                              1. 4

                                Cape Town, South Africa