Skip to content

Instantly share code, notes, and snippets.

@jaikoo
Last active December 23, 2015 15:59
Show Gist options
  • Save jaikoo/6658963 to your computer and use it in GitHub Desktop.
Save jaikoo/6658963 to your computer and use it in GitHub Desktop.
This is a rant. It's totally unscientific and emotional and should be taken as an old programmer blowing off steam.
  • Getting projects that rely on a particular version of X, Y or Z external software being installed to even boot up
  • Gems that rely on n number of other gems that are locked to a particular version - how many of us have had to fork an open source lib just to mess with the locked versions
  • Gems that rely on C extensions that are built against specific system installed libs
  • Running bundle update always seems to take way longer(1) on a non trivial project than in other ecosystems dependency management systems such as Clojure/Leningen or Node/npm etc

I'm not saying things are perfect in other languages. Heck, although I can just about use SBT I refuse use Scala because it seriously grates me in so many ways. And Go, which I love as a language has only recently started seeing some decent attempts with projects trying to deal with the difficult problem of dependency management.

I know some of my points above can be rectified by engineers just using a bit of common sense in their projects. I love writing apps in Ruby, but I guess I've seen a few too many Rails projects lately that have taken more more than a few hours to get setup or deploy in a consistent manner. And really I guess my problem is with peoples perception on what is maintainable software and the lack of understanding of what it takes to build something that can grow beyond a monolithic app.

(1) I've seen some people create Gemfiles that literally take 5 minute+ to run bundle update on. I kid you not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment