Articles with the tag Scala

Cool scala features, compared to PHP

I worked with PHP in my day-to-day job for more than three years now. Since PHP is not really the best tool for many projects, I looked around for other languages available. There were two languages which looked interesting to me:

  • go, which is very opinionated
  • scala, which is not at all opinionated (multi-paradigm etc.)

In many ways, this two languages are contrary. One important goal for the go-lang creators was to keep the language simple, so that it can be used efficiently after a short period of learning time. Scala on the other hand is quite feature-rich, and generally needs a lot of time to learn.

While I liked the idea of a simple (but still well designed) language, I was also impressed by the possibilities that an advanced language like scala can give us. So I decided to invest time in learning scala.

In this article, I want to describe some of the features I like very much, and compare them with PHP. If you're interested in the go language, please have a look at this article, describing go for php devs. It's written by Evert Pot, which decided to go with go ...

Another thing to note: This is not intended to be an article about how bad PHP is. PHP has improved a lot in the last years, both the language itself and the way that the majority of the community writes code. In my opinion PHP may be the right tool for some projects. But from a technical perspective, I think there are better options available today.

So now, let's look at scala:

Thoughts about choosing a programming language

As our team is currently discussing which language we want to use for the next project, I thought about that question a lot recently. Here I will share some of my thoughts about the criteria I use to evaluate a programming language.

We mostly write the usual kind of server applications, and I think for our use case most languages are good (or good enough) in terms of performance. The focus of this article is mainly on developer productivity, or effectiveness, instead.