Aug 25

This is part 19 in a series of articles on obscure programming languages.

What is Script.NET?

Powered by Script.NET. Copyright © Microsoft Corp.

Script.NET (also known as S#) is an open-source metaprogramming language that adds scripting capabilities to Microsoft .NET applications, similar to VBA in Microsoft Office applications.

Continue reading »

Jun 02

Copyright © Joshua Gajownik for Used under Creative Commons License.Oracle’s relationship with the open-source community has been rocky at best. 

Oracle acquired Sun Microsystems in 2009, which also gave Oracle control of the open-source Java programming language.  Which Oracle promptly used to sue Google over its use of Java code in the Android mobile operating system.

“During the integration meetings between Sun and Oracle where we were being grilled about the patent situation between Sun and Google, we could see the Oracle lawyer’s eyes sparkle,” wrote Java co-creator James Gosling.

Continue reading »

Feb 18

Microsoft has stated that its Windows Phone Marketplace will reject any apps that use the GNU General Public License (GPL) and similar licenses.  As stated in Article 5 of Microsoft’s Application Provider Agreement:

“The Application must not include software, documentation, or other materials that, in whole or in part, are governed by or subject to an Excluded License, or that would otherwise cause the Application to be subject to the terms of an Excluded License.”

Continue reading »

Aug 05

Etch-a-Sketch sample programGoogle has released a simple programming language called, appropriately enough, “Simple.”  The goal of Simple is to provide an easy-to-learn-and-use language for the mobile Android platform.  As a BASIC dialect, Simple is particularly well suited for non-professional programmers, but can also be used by experienced developers.  Simple enables programmers to quickly write Android applications by using components included with its runtime system.


Tetris sample programSimilar to its 1990’s relative BASIC developed by Microsoft, Simple programs consist of form definitions (which contain components) and source code (which contains the program logic).  The interaction between the components and the program logic happens through events triggered by the components.  The program logic consists of event handlers, which contain code reacting to the events.


Simple is available for Windows, Linux and Mac.  The language is open-source and includes sample applications and a tutorial.

Google warns that the Simple project is still a work in progress and likely contains bugs and missing features.  Given that the language is open source, Google encourages developers themselves to fill any gaps in functionality.

Jul 08

Microsoft has enjoyed a virtual monopoly on the PC desktop for two decades.  Though the Apple operating system is superior to Windows in many ways — especially for simplicity and usability — Apple’s closed-system approach has ensured that Apple OS will never be more than a strong niche player.  Open-source Linux has made significant inroads in the server market, but the lack of singular vision and decent user-interface has kept it as a hobbyist toy on the desktop.

This has allowed Microsoft to continue to own the PC desktop, in spite of major missteps, such as Windows ME and the disaster that was Vista in its first year, with significant incompatibilities, endless security warnings, and user-defections back to Windows XP.  Microsoft’s new operating system — Windows 7, which is expected to ship later this year — has been receiving mostly positive reviews.  And not a moment too soon, because along comes Microsoft’s greatest threat to its stranglehold on the desktop in twenty years.

Google Chrome OS is an open source, lightweight operating system that will initially target netbooks.  Later this year, Google will open-source its code, and netbooks running Google Chrome OS will be available for consumers in the second half of 2010.

Continue reading »

Mar 03

The Managed Extensibility Framework (MEF) simplifies the creation of extensible applications.  MEF offers discovery and composition capabilities that you can leverage to load application extensions.

MEF presents a simple solution for the runtime extensibility problem.  Until now, any application that wanted to support a plugin model needed to create its own infrastructure from scratch.  Those plugins would often be application-specific and could not be reused across multiple implementations.

Continue reading »