Social Enterprise

Programming news: Stir Trek, patch, PHP 5.3 RC1, IronPython 2.6 Alpha 1

Want to hear the Mix 09 presentations and see the new Star Trek film at one event? Know a student who wants to apply to Google' Summer of Code? Get details about these stories, as well as information about Java, PHP, Silverlight 3, and more.

Last week, my RSS feeds were spinning wildly out of control. I've added feeds for all sorts of off-the-wall projects in the hope that I can deliver a wider variety of news. I've learned that some blog and wiki platforms are easily hacked; nothing like seeing the name of a feed becoming "You've been HACKED!" to drive that home. Lesson to developers: Close those stupid holes in your code -- now!

asp:menu patched to be standards and IE 8 compliant

Apparently, one of the standard ASP.NET WebControls (asp:menu) wasn't standards compliant and would either render wrong in IE 8, or force developers to put the page in compatibility mode. Microsoft has just released a patch that fixes this issue. I was surprised that only one control had this problem. Read more details on the ASP.NET team's blog.

Google's Summer of Code is accepting applications

Funny enough, I knew Google's Summer of Code was coming up, but I still let it slip under my radar. Fortunately, ZDNet blogger Christopher Dawson's post about it reminded me.

The Summer of Code is an event where students can be selected to receive a modest stipend of $4,500 to write open source code. Google is now accepting applications for the event. It's been happening since 2005, and a lot of good things have come out of it. If you are a student with an itch to write open source code instead of flipping burgers this summer, put in your application!

PHP 5.3 RC1 is out

The first release candidate of PHP 5.3 is now available. The PHP development team knows it has some bugs, but it is feature complete. As a result, you can start checking your applications in it and targeting new work to it and know that it won't change from underneath your feet. The big items in the feature list are lambda functions/closures, namespaces, and late static bindings. You should be aware that there are also a few breaks with backwards compatibility.

Is Java becoming a legacy language?

Multiple sources pointed me to Bruce Eckel's interesting post regarding C++ and Java. What I find most interesting is his assertion that the Java language is on its way to legacy status, while other languages on the JVM will thrive. I'm not a Java guy and I don't pretend to be, but languages like Groovy and Scala have been generating enough heat for this non-Java guy to hear about it. From my brief flirtation with Java ages ago, I would not be surprised if in the next few years, the folks who are wedded to the Java platform but dislike the Java language could very well out-.NET the .NET world. Remember, .NET's big promise was "the right language for the job," but all we've really gotten so far is VB.NET and C#, which are two sides to the same coin.

The Economist predicts the demise of revenue-poor Web 2.0

File this one under "duh." The Economist warns that Web 2.0 companies such as Twitter and Facebook are in grave danger because it's unproven that these companies can make money and that ad revenues rarely carry a service. I'll take it one step further: Not only do most of the Web 2.0 companies have no good way to monetize their users, but their users will never pay for their services. The worst part is that one of the cornerstones of Web 2.0 (in my mind) are APIs, which make it even more difficult to make money, since APIs let other people wrap your code and content in their moneymaking skin.

Missed Mix 09? Then go to Stir Trek

Microsoft is sending a lot of its folks who were at Mix 09 to Columbus, OH on May 8th to give presentations on the same topics. As a bonus, at 3:00 PM, they will show the new Star Trek film! Jeff Blankenburg has more details, or you can go to the Stir Trek site (get it?).

(Check out these Mix 09 presentation images, in which Microsoft designer Stephan Hoefnagels traces the evolution of the Windows 7 OS.)

IronPython 2.6 Alpha 1 is available

For those who like to live on the wild side (that is neither a Mötley Crüe nor a Lou Reed reference), IronPython 2.6 Alpha 1 has been released. It aims to bring IronPython inline with Python 2.6 in terms of feature set and functionality. There is a very good chance that I will be learning to work with IronPython once I've gotten through the Ruby book I've been meandering through, so I would appreciate any feedback you may have about it.

Microsoft expands DreamSpark to high school students

For some time now, Microsoft has used the DreamSpark program as a chance to get college kids using Microsoft products to learn about computing, particularly programming. Microsoft is expanding the program to include high school students.

Public high schools aren't known for having big budgets for things like teaching programming. Of course, there are plenty of open source alternatives out there, and Microsoft has offered various Express versions of Visual Studio for some time now. All the same, it is great to see Microsoft making this generous offer, even if it is shrewdly designed to wed future developers to the Microsoft platform early.

Silverlight 3 works better with SEO

Historically, one of the problems with RIAs is that they are not search engine friendly. Lately, search engines have been working to index text within RIAs. All the same, it would be nice to see the RIAs helping that out. The folks over at Microsoft are working hard to make Silverlight 3 SEO friendly. This could be another killer feature in Silverlight's assault on Flash's castle walls.

MacHeist provides an insanely great deal

MacHeist (caution: does not seem to work in Internet Explorer) is a really neat idea: They offer a bundle of Macintosh applications for a very low price ($39) and then donate much of the money to charity. The deal is only offered for two weeks, and as more people purchase the deal, more items get added to the bundle. This year's MacHeist 3 Bundle includes a few photo editors and an HTML editor, which may be useful to Web developers. Also included is World of Goo, which is a great game. The offer is only available for about another week, so check it out today!


Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.


Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!


Justin James is the Lead Architect for Conigent.

Mark Miller
Mark Miller

I would say yes. I wrote about this at I thought what Bruce Eckel said about the Java community's attitude towards operator overloading was interesting. He said the resistance came from people's experience with overloading in C++, that it would make implementations overly complex. That's not what I heard when the debates about it came up repeatedly. The excuse I always heard was that it was too easy to abuse it, and would lead to confusing code. It was much better to have '+' always mean the addition of integers and/or floats (or concatenating strings) and just leave it at that. I always disagreed with that notion, since I prefer expressive code, and I didn't like the notion that the designers of the language held programmers in such low regard. I also thought it was interesting how Eckel characterized Java as a platform that allows people to easily replace it with a better language/dev. platform. Ironic. This is the dream Alan Kay always had for Smalltalk. It never accomplished that goal (though it's never too late). My guess is this was because of a couple things: 1) It was ahead of its time, so most people didn't understand it, and therefore didn't use it enough to get frustrated with it and try to improve upon it. Alan Kay has complained that one of Smalltalk's weaknesses in this regard is "it's so damn useful" by itself that people don't think to improve upon it. 2) It has a "personal computer" feel to it and gives one the sense that it's self-contained and that it's not about building a community around it. Squeak has made Smalltalk more "network aware" than it used to be, even though it's incorporated TCP/IP since the 1970s. I think psychological/social factors definitely have something to do with how all of this turned out. I remember listening to a call in to a counseling program on the radio (quick advice for people with personal problems). A lady called in and said she didn't make new friends easily at social gatherings. What the host eventually teased out was that the caller was rather obsessed with perfection. She said, "People aren't drawn to this. Have you noticed?" The host used the example of a puppy that had uneven ears and walked with a limp. She said people are drawn to the "sick puppy". They feel sympathy for it and want to give it attention. "Notice how much attention that puppy gets. It's not perfect." Her advice was if she wanted more attention that she needed to loosen up and show people who she was, imperfections and all. Perhaps that's the moral of the story with Java. It had no pretensions of being perfect. It's approachable, useful, and has helped solve common problems that people were having at the time. It has a kind of "egalitarian" feel about it. C# and VB.Net are much the same way. Smalltalk is about high goals and principles, as are languages like Lisp and Haskell. A lot of serious study went into them, and they're visionary stuff. Despite their simplicity in structure (Smalltalk has a very easy to learn syntax because it has so few reserved words/characters; Lisp's profile is even smaller), they were incomprehensible to most people in the field. They have no pretension about being approachable or useful (though they can be fashioned into things that are very approachable and useful). The communities around them are sometimes approachable, sometimes not. They invite people in who are interested in computing for its own sake, and occasionally people who want to leverage that for greater power in practical applications. Imperfection and approachability has served Java well in gathering a community around itself, and now has created a platform for "self-improvement". I would say that C and C++ were never that approachable. The allure they had was speed, a compromise between expressiveness and efficient execution.


I've played around with IronPython for a couple of "Quick'n'Dirty" things and I enjoyed it a lot. I'd love to see IronRuby get more resources and deploy it as a module for IIS 7.


From what I have seen all of those are usable to build professional deliverables. It is sad that the IronRuby project is not more dynamic (it looks comatose right now). For dynamic programming I think Python is a fairly good second choice if you can stand the absence of block delimiters (I can't). It's sad that M$ did not put more muscle behind IronRuby. The JVM does have a good array of choices. The project that are active right now and can be used for commercial development include: Groovy JRuby Jython (a Python interpreter) Scala Eiffel (SmartEiffel has a JVM bytecode mode) Overall I think things are looking good for developpers on both platform. JS

Justin James
Justin James

... the Java platform's non-Java offerings seem to be taking off very quickly. I agree that Microsoft is really leaving IronRuby resource starved, it is progressing very slowly and is nowhere near "usable", meanwhile, IronPython and F# seem to both be doing quite well. There are also plenty of third-party .Net choices (Eiffell and Delphi as you point out, as well as COBOL being a big choice now, APL, and a zillion others), but none seem to be rocking like Groovy is. J.Ja


Part of the attraction of Groovy is the ability to write Java code in it and use dynamic features at your convenience. Somehow they found a way to take a language that is criticized from every side and "extend" it into something that is really attractive. I think they really did a good job (made good choices). It is still a little bit of a paradox that part of the attraction of Groovy is that you can use it with the Java syntax. From a technical point of view right now I prefer Scala (performance, error prevention, , scalable, etc...). However, the attraction of Groovy is such that I find myself constantly drawn back to it. Of course this is because I'm a Java programmer so I can start writing code immediately with Groovy. Nevertheless I intend really try Scala. JS

Editor's Picks