Search This Blog

Sunday 16 October 2011

food 4 thought : Specialized Operating System for Programming

Basic needs of Programmers:

  • Editor is one of the most basic needs of any programmer.
  • Version Control systems.
  • Automated Build systems like make, CMake, SCons, Ant.
  • Open-Source libraries like GNU C library, Gtk.
  • Shell scripting.
  • Basic Web/File browser - Specialized for browsing forums, IRC chat.
  • A simple mp3 playback utility.

I strongly believe most of the softwares in future gonna be written in this way.

There will be a low level functionalities written in C language(What I call App-specific Kernel), and this functions will be binded into a high level programming language API(predominantly python) to define UI, and to write plugins(the actual application apparently). 

So what I'm thinking now is why write separate low-level Kernel? Write a single package that is enough for the above listed functionalities, and then use a scripting language like python, lisp, perl etc. to write the application. One such application at present is GNU Emacs and Blender3D.

Components:
 
Misc...
  • UI defintions are done in scripts.
  • Minimal hardware support like Keyboard(importantly) and mouse.
  • Support for testing frameworks.