Skip to content

Instantly share code, notes, and snippets.

@amrabdelwahab
Last active July 1, 2021 19:43
Show Gist options
  • Save amrabdelwahab/99c39b475d37ea20102af1dd15c41868 to your computer and use it in GitHub Desktop.
Save amrabdelwahab/99c39b475d37ea20102af1dd15c41868 to your computer and use it in GitHub Desktop.
What is wrong with Ruby Project

What is wrong with Ruby? - Research project

Introduction

Our industry has a tendency to follow hypes without backing it with solid constructive claims. Over the past few years, trashing Ruby was one of these hypes, I also find that the so called "Senior Engineers" tend to promote hypes to appear more opinionated without really trying to explain the logical claims behind it, leaving the community beginners and new joiners really confused.

Goals of the project

  • Solidifying the claims behind the hype (Because I believe it stems from real problems, not just an empty hype) and eventually passing this to Ruby core team as an input from the community.
  • Explain these problems in a much simpler language to beginners and community new joiners.

Initial Focal points

  • Multicore CPU utilization:
    • Global Interpreter lock in MRI
    • Lack of intuitive abstractions for parallelism and concurrency in Ruby Programming language
    • C extensions and their impact on the alternative implementations of the language like Jruby
  • Performance:
    • Explore Mjit and its implications on the ruby performance
    • Discuss other problems in the current ruby sphere and how we can improve the performance to achieve our goal of Ruby 3 X 3
  • Community contribution:
    • What can be done by the Ruby core team to involve more people from the community?
    • What can be done to leverage the usage of other ruby implementations like Jruby and truffle ruby?
  • The language coupling with Rails
    • Ruby is a general purpose programming language
    • Rails is not the only web framework
    • "Ruby Or Rails?" quiz

Project Phases

The project is initiated with the following phases

Phase I - Qualitative interviews round

In this round, I will conduct multiple qualitative interviews with various stakeholders in the ruby sphere, trying to identify different patterns.

If you are interested in joining this round please fill this form

Phase II - Quantitative Round

In this round, I will try to quantify the data as much as possible.

Phase III - Project Report

At the end, I will try to generate a report to be distributed publicly and handed to the Ruby core team to help deliver the community's voice.

Contact Details

Email: [email protected]

twitter: @amrabdelwahab

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