Jul 13

Peace & Quiet. Copyright © Chris Chidsey. Photo used under license.

DotNetBaby says, “I’m an expert on sucking, and I can assure you that C# doesn’t suck.”

YourLanguageSucks is a wiki on theory.org that lists reasons why the most popular programming languages suck.  There are long lists of reasons why Java, JavaScript, C++ and PHP suck.  But the list for C# is very short:

  • Supports ‘goto’.
  • Two distinct sets of collections: non-generic and generic.  Stack and Queue have the same name in both their generic and non-generic flavors, but then we have Hashtable (non-generic) and Dictionary (generic).

The first reason is easy to discount: just avoid using goto!  The second reason is valid, but not really an issue if you use only generic collections, as I do.

Continue reading »

Jun 08

DNA 3.  Copyright © Flavio Takemoto.  Photo used under license. The purpose of synthetic biology is to create new biological systems not found in nature to solve pressing problems. 

The “ultimate dream is to design these systems at a high level of abstraction using engineering-based tools and programming languages, press a button, and have the design translated to DNA sequences that can be synthesized and put to work in living cells.”

Microsoft Research has introduced programming languages that can model these synthetic systems.  Proteins and genes are expressed in a modular manner, and the program can then calculate and simulate the reactions to determine whether the synthetic biology will solve the problem at hand.

The result is GEC and LBS, two languages for modeling in synthetic biology and systems biology, respectively.  The GEC-LBS Tools package includes the GEC and LBS compilers and prototype Windows applications.

GEC and LBS Tools

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 31

Arguing “Which programming language is better?” is like debating “Which religion is better?”  You will never find an answer because people have different needs, they judge with different criteria, and in the end, the debaters just end up getting pissed off at each other.  That’s why you’ll frequently see developers label the programming language debate as a “religious war.”

For me in my current job, C# is my language of choice.  But I’ve also worked with Java, PHP, C++, C, RGB II and even assembler.  In general, I feel it’s better to select the right programming language for the job, rather than force the job to use my current favorite language.

That said, Java fan Brian M. Clapper has written an interesting article claiming that the Java language “depresses me lately.  It’s being left in the dust by other languages.  Worse, though, for Java enthusiasts: Java has fallen behind C#.”

Continue reading »

Apr 16

From xkcd: A webcomic of romance, sarcasm, math, and language

Mar 12

Vault is a prototype programming language created at Microsoft Research.  It’s a safe version of the C programming language, with features to record and enforce usage rules associated with interfaces.  The rules control the order in which the interface’s functions may be called and its data accessed.

Download Vault

Jan 07

Inspired by AngelFire’s gallery of photos for programming language inventors, here is a brief biography of the inventors of major programming languages still in use today:

Continue reading »

Nov 10

Nobody knows better than Microsoft that programming can be a drag.  Even with all of the amazing advances in software development, computer programming is still a relatively solitary process that requires deep expertise, logical and creative thinking, and lots of patience.

So Microsoft comes to the rescue with Small Basic, a project that’s “aimed at bringing fun back to programming.”  Small Basic provides a small and simple programming language in a friendly development environment.  Small Basic is targeted to both kids and novice adults, allowing them to “take the first step into the wonderful world of programming.”

Continue reading »

Apr 25

This is the first in what will be a series of articles, each highlighting an obscure programming language.

There are over 2700 languages spoken on Earth. And while there are only about a dozen popular programming languages, there are over 400 known programming languages, many of which you can see in this extensive “Hello World” collection.

Continue reading »

Oct 04

Great empires often fall from within. 

The death knell for Visual Basic is premature, but it’s true that VB has deviated from its original vision as an “Application Construction Kit” for the masses and has lost significant market share as a result.  

Tim Anderson summed it up best:

It sounds like perfection.  Microsoft had perhaps the largest number of developers in the world hooked on a language which in turn was hooked to Windows.  Yet Microsoft took this asset of incalculable value and apparently tossed it aside.  Back in 2002, Microsoft announced that the language was to be replaced by something new, different and incompatible.  That caused rumblings that continue today.  Developers expressed emotions ranging from frustration to anger.  They felt betrayed.

Continue reading »