Why you shouldn’t stick to one programming language or paradigm

  • GaCeLa — imperative: A GCL implementation by Dijkstra used in my university. My first programming language, imperative and easy to write.
  • Modula-2 — imperative/modular: we use to call it “the child” of Pascal because it was kind of similar. The idea was to introduce data abstraction and OOP. If you think C’s pointers are annoying, do yourself a favour and forget I even mentioned this language here.
  • Java — imperative: Aha! finally a programming language you all probably know. We used it to get a better understanding of OOP and data structures, I remember doing a lot of Graphs implementations with Java.
  • Assembly — imperative: fuck, yes. Probably the lowest level I’ve ever programmed, but actually quite fun in the end. One assignment was to implement the game pong.
  • R — functional: This was my first encounter with a functional language and I remember it being so weird but also so straight forward when it comes to data analysis and ETL.
  • Haskell — functional: My experience is only academic, and if I’m honest at the time I struggled so much to understand it. Recursive programs were never my favourite thing and well, let’s say there’s a lot of it in functional languages.
  • C — imperative: Also only academic, but quite useful to teach pointers and memory managing.
  • SQL — declarative: At this point
  • Python — imperative: I got tired of
  • Ruby — imperative: describing what I did
  • Elixir — functional-ish: with each one
  • Kotlin — functional-ish: of these languages.
alt: a person typing code in a laptop



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Carla Urrea Stabile

Carla Urrea Stabile

Software Engineer @ XING. Let’s see how this goes…