What other languages interest you?

Well yeah, you’re advocating it very well on this forum. lol

I should probably give it a try… :slight_smile:

1 Like

Blame @OvermindDL1 - he’s doing a great job evangelising :023:

I am not quite converted myself, but it’s definitely in my shortlist for when I start an SPA app.

1 Like

Elm
PureScript
Haskell
Erlang

I am spoiled in that I get to use Elm and Elixir professionally for work, and those are my primary languages these days.

4 Likes

Here’s a new one:

Eta: a pure, lazy, strongly typed functional programming language on the JVM.

main :: IO ()
main = print $ quicksort [1, 123, 42, 90, 24, 12, 3]

quicksort [] = []
quicksort (x:xs) = quicksort left ++ [x] ++ quicksort right
    where left  = [ y | y <- xs, y < x ]
          right = [ y | y <- xs, y > x ]

Looks like Haskell. :thinking:

4 Likes

Now wait for all the people to tell you that this implementation of quicksort is awful, should not exist and that using mutable data structures is faster anyway. :stuck_out_tongue:

Rather, because the underlying datatype is a linked list, merge sort is faster to use than quicksort. :stuck_out_tongue_winking_eye:

I myself am looking into how Forths and similar concatenative stack-based languages can be built, because I am in the process of building my own.

Also… I just realized that I’ve been programming in about ten different languages interchangeably during this week. This cannot be healthy… :sweat_smile:

1 Like

Heh, OCaml:

Inefficient but mathematical:

let rec sort = function
      [] -> []
    | pivot :: rest ->
        let left, right = List.partition (( > ) pivot) rest in
        sort left @ pivot :: sort right

Compared to the highly efficient sort in OCaml itself:
https://github.com/ocaml/ocaml/blob/trunk/stdlib/array.ml#L242-L291

Sorting is hard. ^.^

PHP is actually getting decent if they accept pipe RFP with all the things added in 7.0 and 7.1 it’s now surprisingly usable :slight_smile:. On a side note had to refresh my memory on Python and among other things watched all keynotes from 2012 to now by Guido it’s very entertaining it basically goes like this
Year N people criticize Python because of X,Y and Z but none needs X,Y and Z
Year N+2 we added X,Y and Z people criticize Python for X’,Y’ and Z’ but none needs X’,Y’ and Z’

1 Like

Yup, I’m definitely also very interested in Elm. Right now, for frontend work, I reach for React. However, once Elm hit’s 1.0 and if Elm Native is still showing progress and promise I’ll likely switch over.

1 Like

You mean this right? God I didnt knew about that, being stuck with PHP at work this would be awesome!

Yep it’s available in Hack, had a chance to land in PHP 7.1 but there was much debate hope it makes 7.2.

1 Like

Go
Scala
Typescript

What does elixirists think about other programming languages?

2 Likes
  • Swift : better than objective C but still miles away from something i would want, OCaml works better for that (or Rust…)
  • Go : No. Big big Nope here
  • Julia : Good for scientific computations. They need more contributors and a couple other years to clean their deep warts and the community is a mixed bag. But i am cheering for it so we can clean some Fortran out.
  • Crystal : not bad at all, but a bit of a strange fellow. Crystal also decided to go for CSP model of memory and communication so they get some malus point. We will see.
1 Like

I’d love to see Crystal do well for cpu intensive tasks - I love their tagline, “Fast as C, slick as Ruby” :003:

Did not know you could use Swift for Android apps, which makes it more appealing now:

3 Likes

I don’t think Smalltalk is dead, the commercial implementatons are simply priced out of reach. It is that valuable for companies which sell as such prices to be still in business because the companies that use it know how effective it really is.

Smalltalk’s problem is not having BDFL to ensure all implementations are identical. This is the advantage the languages like python, ruby, and java have, but how many effective live coding environments have been built around them?

Pharo and Squeak seem to be going strong. If Gilad Bracha and al were not bought out the likes of Sun and Google to go and develop Java who knows what the SmallTalk world would be like to do. I really see these things as a corporate philosophy of keeping truly powerful tools out of developers hands. Having developers stick their nose to their grindstone wheel using primitive tools keeps them from having the proper birds-eye view of their projects, which is reserved for managers, not to mention that the programmers managers have working for them the more important they are and the bigger their budgets.

I think languages like Smalltalk are more likely to be used by in house or departmental teams who need to get stuff up and running quickly and reliably

http://www.loper-os.org/?p=69, http://www.flownet.com/gat/jpl-lisp.html

Yes and no. SmallTalk has some pretty big problem, and it moving to “class based” language made it even worse. Do not see evil everywhere. SmallTalk was not solving the problems company had and it is still not solving them. It is working kinda ok for some things mind you.

I am more interested in language paradigms than the languages themselves, so languages which combine having a good grasp of the paradigm and are good in area I have practical work to do are those I prefer.

This means:

Elixir - functional paradigm, web programming, concurrency an added bonus. I see it as alternative to learning Lisp or Scheme.

Nim - python like, lisp like, metaprogramming, many potential platforms as it compiles to C. Games developers seem to like it a lot

[C] (https://en.wikipedia.org/wiki/C_(programming_language) - can’t do without it. Needed for interfacing with external libraries at the very least, helps grasp low level computer details

Rust - for efficiency, safety

Javascript for web pages. Do I have a choice?

Lua - embedding in other larger compiled programs

OCaml functional programming. If @OvermindDL1 says it will be very good to learn it, then I should :grin:

No languages can be perfectly conceived first time around, it would have evolved if more attention was paid to it. When you consider that IBM’s early Java IDE’s were based on Visual Age Smalltalk, it becomes quite clear that for some reason BigCo did not want Smalltalk or something similar to it wind up in developers and end users hands.

It had to be the web and its primitive tools and environment, which after 20 years still lags behind what was available 20 years ago. They only thing it has brought to the fore is the need for good concurrency, but it seams Erlang and BEAM had that right years go.

I mean after all the development and contributions all these big companies have made to open source why haven’t they been able to contribute to something as basic as a good graphics interface to GDB?

Their offerings are not good enough to do stuff really well, but not bad enough for a commercially profitable alternatives to be developed for them.

Lua is definitely interesting. It is a small, compact language where they have resisted adding many new “features”. It also has the benefit that you can run it natively on Erlang/Elixir using Luerl which is implemented in Erlang. :grinning:

6 Likes