A cross-platform shell in Ruby

Putting the purpose in general-purpose

Syed Faraaz Ahmad
2 min readNov 27, 2017
The ShellRB logo

I’ve been using Linux for my development environment ever since I jumped onto the open-source bandwagon. Often, I’ve wondered, what would people do if they really wanted to use a Bash-like shell on Windows without the hassle of firing-up a Linux-based OS VM.

If you’ve used Command Prompt on Windows, you’ve probably used the command dir to list the files in the current directory. If you’re also a Linux user, you might have found it slightly annoying that Linux and Windows don’t have same commands for doing pretty much the same things. So, I thought:

Why not make something that can do the same thing on different platforms using the exact same command?

Enter ShellRB. A cross-platform shell built in Ruby. Ruby has been around for a long time now, and ever since its inception 22 years ago, programmer happiness has been its biggest goal. That has resulted in its easy to follow syntax and widespread popularity. Not a lot of programming languages remain popular for this long (unless they’re C, C++ or Java).

My goal with ShellRB is to build a cross-platform shell, that is friendly to first time open-source contributors, or even people trying out the language for the first time, because hey,

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. — Kent Beck

If you’ve experienced this situation long before I did, I bet you’ve heard of MinGW or the more recent, Bash for Windows. Agreed, they are much better tools than I will probably ever make, but as Dale Carnegie said:

Learning is an active process. We learn by doing. Only knowledge that is used sticks in your mind.

Talk is cheap, show me the code!

Head over the Github Repo and check it out! The project is still in its infancy and may or may not be very useful to a lot of people. If you want to have a lower level knowledge of Ruby than just working with abstractions over abstractions in Rails (not judging!), then you should definitely make a PR or 2.

Happy Coding!

--

--

Syed Faraaz Ahmad

Software Engineer. I like to build cool things and write about them.