1. 1

    analogical? digitalized? it’s nicely writtened, but i don’t trustify this article.

    1. 2

      Some of the terms might be wrong, but as an electrical engineer, I find it extremely accurate.

    1. [Comment removed by author]

      1. 3

        If you’ve got some experience working with Java and are interested in functional programming and dipping into Scala, I’d highly recommend the Functional Programming Principles in Scala course on Coursera, which is actually run by the creator of Scala himself.

        1. 1

          Thanks. I have been trying to learn Haskell and well I really have been frustrated with Cabal and ghci. It just is a pain to do anything and I keep finding Haskell just not the best learning environment for me. I was going to learn Scala but after talking on reddit and HN I choice Haskell instead. I am regretting that choice because I am really not learning anything but syntax and than working on Cabal.

          1. 1

            I would say its worth the effort. Having gone through Functional Programming Principles in Scala and trying out Principles of Reactive Programming, I find Haskell’s syntax more easier. Scala has so many syntactical sugar constructs, that I keep forgetting what a particular syntax does.

            That said, the courses are extremely good and worth going through, to just get good at using functional programming and learn about all the nice things that come with it in a non category theory language.

      1. 4

        $work: Same old, same old. Trying to barnraise this docker/gitlab-ci/openstack system, it’s a real bear just trying to keep track of it all. Add to that the confusing networking setup at $work and – it’s just a recipe for headache.

        !$work: I’ve somehow managed to pick up two new languages in the last week or so, both relatively unintentionally. I’ve been fiddling with Sage (the CAS) as a replacement for Mathematica, and I’ve been porting some Mathematica code to Python, and with great success. Mathematica (IMO) severely lacks a pleasant model for doing much of anything. The pattern matching features are pretty neat, but it’s not particularly convenient to build rich datastructures. Python, of course, much better. A rich class system and a wide array of third party libraries makes it way easier to structure things. It’s also pretty nice being able to do a lot of the grunt work in pure python, then just ‘sub in’ abstract values and have it magically spit out equations in those abstract terms.

        I also fell into working on some Lua stuff. Suffice that my experience with Lua so far has been far less positive. It’s anemic-by-design standard library is pretty annoying, and the lack of a strong direction in terms of paradigm is equally frustrating. I’ve found that I simply think the notion of multi-paradigmatic languages is simply bad. I’m not saying that any one paradigm is better than another, but I think that these sorts of ‘jack of all trades’ languages tend to be more frustrating than the supposed ‘benefit’ of being able to write in multiple different paradigms. The tradeoff for this ‘feature’ is that nothing in the language can make assumptions about how your code will work, it can’t provide tools that support one paradigm more than any other, and ultimately you’re left with having to roll your own everything. I much prefer languages with a strong notion of paradigm. Ruby, Python, Haskell, even Java all know what they are, and so I (as a programmer) can simply join in the party with them. With Lua, I’m stuck trying to figure out how I’m going to implement my object model today, and how I’m going to do simple things like split a string on spaces, etc. It’s really very frustrating.

        I will say that the ‘everything is a table'ism is pretty nice, and were it not for the fact that this Lua code is running in a pretty locked down environment, there are a lot of 3rd party libraries I could use to give me back some of these features. But the selling point of lua is that it’s embeddable anywhere, and these libraries won’t work in this particular embedding. I’m just frustrated by the doldrum-like nature of it all, no wind to help push the sails of thought along.

        1. 3

          Have a look at SymPy. (Www.sympy.org) ( www.github.com/sympy/sympy).

          1. 2

            Yah, this looks a lot like what sage offers – is there anything shocking that differentiates it? (I’m poking through the feature list atm and not seeing it, I suppose it is nice that it’s just a library (by the looks of it) rather than a sort of pseudointerpreter thing).

            1. 2

              See also Mathics, which implements Mathematica-compatible syntax on top of SymPy. It might make migration from Mathematica easier. You can try out Mathics online.