What other languages interest you?

The latest Functional Geekery podcast mentions using Prolog style ‘solving’ to have Idris automagically generate code, which I found v interesting

MiniKanren is also related, and also interesting - run programs backwards etc.

1 Like

Side note: the Racket family of languages is used in How to Design Programs, 2e which sees itself as a reworked version of SICP (see The Structure and Interpretation of the Computer Science Curriculum PDF (2004)). Initially the language was untyped but later Typed Racket was added. At Clojure West/2016 Matthias Felleisen talked about that development in his presentation Types are like the Weather, Type Systems are like Weathermen

3 Likes

As a learning tool, Prolog is fascinating because programming in it is a matter of stating the problem correctly rather than solving the problem, and I think what I learn from that can help me program in other languages.
On a practical note, I’ve been looking at doing some kind of schedule creating program, but I haven’t got very far with it yet :slight_smile:

3 Likes

Constraint Logic Programming is a fascinating field that Prolog is perfect for.

1 Like

Ruby
ELM
Rust

I’m in love with Elixir and by extension Erlang (syntax is not to my liking).

Interested in learning Elm & hearing good things about Rust.

3 Likes

Has anyone heard of the Coconut Programming Language? It’s a functional language that compiles to Python. So, Python and Coconut can be written hand in hand.

And they also have the pipe forward operator (|>)!

http://coconut-lang.org/?imm_mid=0e520d&cmp=em-prog-na-na-newsltr_20160625

http://coconut.readthedocs.io/en/master/HELP.html

7 Likes

####Getting Started with F# on .NET Core

1 Like
  • python
  • elixir
  • erlang
  • ruby
  • lua
  • haskell
2 Likes

Languages: Ruby, Rust, Elm, Elixir, Bash
Frameworks: Phoenix, React, Rails, Nerves

2 Likes

The ones I use often in no particular order:

  • C++
  • Rust
  • Erlang/Elixir
  • Ocaml (new contender lately! Used to be years ago since I last touched it)
  • Elm
  • Haxe
  • ZSH/BASH

And a few I’m looking into lately for their learning aspects but I’m not seeing big use for just yet considering other languages:

1 Like
1 Like

I think I’m going to start looking at Factor simply because a concatenative language is so far outside of my experience as a developer, I think it will stretch me further than just about anything else I could do with my (small) free time. I anticipate the same sort of WTF moments that I had when I first started with FP :slight_smile:

1 Like

You should check out the Kitten programming language…

http://kittenlang.org/

1 Like

I started my career with PHP so am a little bit still interested in that when I see Jeffery Way doing work in Laravel. But in formal, I love Javascript so so much.

Ruby
Elixir
Javascript

mostly talking about Javascript there is so much to learn from it. Now we have Reactjs , Flux, Redux, WebPack.

When I see people working in such a beautiful manner with different languages that really soothe me.

Currently am doing elixir in my company alongside with Ruby as well. But am atm so much interested in building apps in reactjs + redux + flux + webpack and its an awesome stack to work on

1 Like

I am not good at being brief. So hey everyone!

I started working as a dev professionally at winter 2001 (I was 21 back then), writing Windows and AIX drivers and management tools for USB reference embedded boards. Mostly C and a few flavours of Assembler. I was a hardcore hobbyist of Assembler and even machine code before I even started working professionally so it came easy to me.

It quickly became tedious though. There was a lot of repeated work and every step had to be measured seven times since I could break builds for 15+ UNIX flavours of the software we were distributing. I learned a lot about C’s ABI and standard and was a very diligent student while learning POSIX threads and primitives (that’s why I am always very critical of every multithreading technology I encounter; let’s be real, most are mediocre).

So I moved to C++ and Java. Spent next 7-8 years working mainly with Java backend, some GUI, a lot of Java-to-native bridges (including most Windows horrors like COM, OLE, ActiveX, DDE, TWAIN-32, you name it) and overall I enjoyed working in mixed mode between C++ and Java. But then the EJB nation attacked. It took only 2 years for me to become extremely alienated by that ecosystem (and the community, but to a lesser extent) so one day I decided I’ve had enough. I couldn’t find a decent job with Java. Everybody and their cat wanted some form of EJB, Hibernate and Spring, and configuration management frameworks and inversion-of-control libraries were being invented every day for years, and at one point I found myself not writing code at all anymore. It was a pretty shocking realization.

I moved to Ruby / Rails and PHP around spring 2010. It was effortless and easy, but it very quickly became clear they aren’t solid languages at all. I liked Ruby’s easy-to-do-things approach a lot and it being very brief and readable, and I like those traits of it to this day, but to tell you all the truth, I am a realist and I don’t consider myself a Ruby or PHP pro. I kind of hate them actually. Monkey-patching, breaking differences between versions (OK, I am talking 95% about PHP here, not Ruby), no solid multithreading, hell, not even basic multithreading support, extremely dilluted and bloated ecosystem (looking at you, RubyGems and 20+ gems for every thing you can think of!), not to mention the sad fact that Ruby eventually became hostage of Rails and its very opinionated way of doing things.

A year and a half ago I started dabbling into Golang. I like it a lot but it struck me as a bit verbosive. Even with that though, as a former very low-level C programmer, I highly value and appreciate its authors’ openness and fairness about what exactly you can expect from the language and what you shouldn’t. I made several Golang microservices which are used to this day by my former employers to great effect. I really enjoy Golang overall but in fairness, I am not even medium level with it – I can learn a lot more about it still. Also, let’s not forget its extremely easy deployment. For a guy coming from Java, Ruby and PHP, this was like putting 2 tons of weight from your shoulders on the ground and never ever lifting it again, ever. It felt awesome and it still does.

But when I finally stumbled upon Elixir, I absolutely fell in love. I grew to want to control things much more closely as I was doing so long ago. To be in control but to have a solid foundation to build upon as well. The immutable nature of data and the absolutely effortless but really well-working multithreading / parallelism absolutely won me over. Combine that with the fact how well the language and its core tooling is, with so many attention to detail, and I finally understood that I have found my home.

I started small and just recently open-sourced a very naive and lightweight implementation of the Trie data structure and I find it to be a trash :laughing: but I decided to release it because it helped me learn the language beyond the tutorials – tests, coverage of tests, how the Elixir pieces fit together, how to utilize tail recursion well… things like that. And I still think I did a rather bad job, but there you go.

I plan on starting to work on a web crawler and I was very excited when I learned about GenStage. It’s gonna be a long project but I am a fan of the idea and I really love working on almost-not-stupid and self-regulating programs so I won’t give up anytime soon.

So that’s me.

Nice to meet you all!
// Dimi.

EDIT: TL;DR: Languages:

  • C
  • C++
  • Java
  • PHP
  • Ruby
  • Javascript
  • Golang
  • and now Elixir.
6 Likes

Outside of Elixir, I’m learning Haskell. Figured I’d learn more pure and strict functional programming after many years of “practical” functional programming.

3 Likes

Sounds smiliar to aspects in my life, glad to see another C/C++ dev around. ^.^

3 Likes

Trash should totally be a name of a data structure.

3 Likes

I was talking about my implementation, haha.

2 Likes