February 10, 2017

SemiCode OS Might Be Your Next Development Platform

semicode_main.jpg

Semicode OS
If the thought of having every tool you need to develop pre-installed on a Linux distribution appeals to you, you should check out SemiCode OS.

One thing about Linux is that it’s very coder-friendly. Why? Simple: Nearly any developer can have every tool they need at their fingertips with ease and little to no cost. Tools like gcc, make, Bluefish, Atom, vi, emacs… the list goes on and on and on.
Many of these tools are ready to serve, via a quick install from either your package manager or by downloading them, individually, from their respected websites. But what if you wanted all of those tools, at the ready, on a single, programmer-friendly platform? If the thought of having every tool you need to develop, pre-installed on a Linux distribution, appeals to you, there’s a new platform in the works that might fit your needs to perfection. That distribution is SemiCode OS.

SemiCode OS is an operating system geared specifically toward programmers and web developers, and it includes most of the programming languages, compilers, editors and Integrated Developer Environments (IDEs) that you’ve grown accustomed to using. With tools like:

As for compliers, you’ll find OpenJDK for Java, Ruby compiler, .NET with Mono Runtime, and many more.

All of these packages are ready to work on a well-appointed, slightly tricked-out GNOME desktop (you’ll find the Dash To Dock extension enabled as well as a couple of handy desktop menus -- Figure 1).

semicode_a.jpg

Semicode
Figure 1: The SemiCode OS desktop is a perfect UI to help you get your work done.

What is interesting about the programming landscape for Linux is that you’ll find an abundance of tools, but when it comes to a programming-specific distribution, the choices become significantly slimmer. This is partly due to the fact that nearly every Linux distribution can, with just a bit of work, be easily reworked to be a programmer's Nirvana. However, if you could have a distribution at the ready, with no extra work involved, you’d most likely jump at the chance.

That is where SemiCode OS comes in; a platform perfectly geared toward developers.

Very much in beta

Before you head directly to the SemiCode OS website, know that the platform is very much in heavy development. In fact, the distribution is so new, it doesn’t even ship with the ability to install. That’s right, the only way to run SemiCode OS is as a live distribution. Search all you want on the SemiCode OS live desktop and you will not find any means to install. If you want to kick the tires of this very promising platform, I suggest you download the beta and run it as a virtual machine. Read the SemiCode OS blog post about why they don’t include an installer (yet).
The minimum requirements for running SemiCode OS as a live instance are:

  • CPU - 1GHz single core

  • RAM - 1.5GB

  • Storage - 20GB

SemiCode OS is based on, not surprisingly, Ubuntu. It is surprising, however, that SemiCode is based on Ubuntu 14.04. Considering 16.04 is an LTS release, it would seem to me the more logical foundation would be the most recent. But I’m not the one making those calls (and I’m sure there are reasons for sticking with the out-of-date 14.04).

What makes SemiCode OS stand out? Let’s take a look at the inclusion of two tools.

Scratch

Not a coder, but want to learn? That’s why SemiCode OS ships with the Scratch application. Scratch is a fun way to help people, new to programming, learn the craft. It is geared more toward younger users, but anyone can take advantage of the simple to use, drag and drop interface (Figure 2).

semicode_b.jpg

Semicode
Figure 2: The Scratch IDE in action.

Scratch makes learning to code fun and simple for any level of user.

Sarah

Most of the applications found on SemiCode OS are fairly pedestrian, everyday tools that have been available for nearly any distribution. There is, however, one new tool that’s pretty exciting (and will hopefully make its way to other distribution repositories). The application in question is called Sarah.

Sarah is a command-line AI tool that allows you to ask it questions and it will do its best to answer. With Sarah, you can do things like ask every day questions (sarah what is linux?), run a speedtest (sarah speedtest), view the weather (sarah weather), get information about a movie (sarah watch Hackers), view lyrics to a song (sarah lyrics DevinTownsendProject Kingdom), download a file (sarah download http://link_to_file), download site for offline viewing (sarah grab http://link_to_download), generate an “Hello World” application in nearly any language (sudo sarah first python).
Sarah was originally written in Python, but the developers realized they’d eventually want to extend the feature set, so they migrated to to the Vala language. Thanks to that change, the developers were able to create a plugin system for Sarah. Now any developer can extend the feature set of Sarah.

As with the whole of SemiCode OS, Sarah is in beta and doesn’t offer full functionality (and some of the functionality doesn’t work as expected; but the idea is sound and my guess is that, when SemiCode OS comes out of beta, Sarah will offer quite a bit more in the way of features.
If you want to test Sarah (outside of SemiCode OS), you can grab the code from the Sarah GitHub Page.

Keep SemiCode OS on your radar

If I were to speculate about the future of SemiCode OS, I’d have to say it looks quite bright. The Linux landscape needs a distribution exactly like this and the addition of Sarah makes SemiCode OS a no-brainer. Although SemiCode OS is still very much in beta, it is definitely worth checking out. Run a live instance of this new platform and you will immediately be enamoured of the available tools, the GNOME layout, and Sarah.

Hopefully, we won’t have to wait too long before SemiCode OS is available for installation. Once it is released, I hope we see serious plugin development on Sarah, as this has the making of something Linux could really use.

Learn more about Linux through the free "Introduction to Linux" course from The Linux Foundation and edX.

Click Here!