Monthly Archives: April 2008

Building Windows apps on Linux?

I had this interesting feature request on the Wascana forum. This user would like to use Wascana on Linux to build applications that run on both Linux and Windows. You know, that’s an idea that could fly.

I noticed that a number of the MinGW developers develop the MinGW tools on Linux. I think they are targeting Wine, the Windows emulation layer for Linux (and if any of them are reading, feel free to fill in the details). And I’ve seen a number of howto pages describing how to build the MinGW toolchain on Linux. It shouldn’t be too much of a leap to build libraries such as wxWidgets in a cross development mode, although if you make too many assumptions that target == host, that won’t work.

It’s one of the big advantages to the GNU compiler suite, it’s ability to build in a cross-compile mode. It’s what makes it so popular in embedded. And it’s one of the benefits of CDT, to be able to target multiple architectures from the same machine. You wouldn’t have to change the CDT at all other than to avoid trying to find MinGW in the Windows registry. Now if only someone would come help make it happen…

Help! I’m not connected…

I mentioned a couple of weeks ago that I have this idea for a visual programming language with inspiration from UML Action Semantics and the SynthMaker virtual instrument programming environment that came with my Fruity Loops thing.

So on my flight down to San Fran for the Embedded Systems Conference last week, I thought I’d take a stab at learning GMF and maybe start plugging away at the idea. I haven’t used GMF recently and it looks like there’s a lot more automation these days that should help me get going quickly. I downloaded the new Modeling EPP package before I left and gave it a try.

Now, I learn best by walking through examples with the help of tutorials. I fired up the Help system and opened the page for GMF tutorials and it said: “A tutorial that covers the tooling and generative components of GMF is maintained on the GMF Wiki site here.” Uh, I’m on a plane. No tutorial for me. So I shut it down and did something else.

Again tonight, I go to start again and clicking the link I get: “ is currently down for maintenance. We apologize for the inconvenience, but expect to have the site back online shortly.” For crying out loud…

C/C++ Top of the Heap, Sort of

The latest TIOBE Programming Community Index has been released. I don’t put a lot of weight into surveys like this, especially if I don’t know the methodology behind it. As far as I can tell it’s based on the popularity of different programming languages as found on the web. I guess it’s an all right measure and it co-incides somewhat with my personal observations.

At any rate, Java comes out on top with a 20% rating which is up 2% from a year ago which is healthy. I’d like to believe the popularity of Eclipse as a tools and application platform has something to do with that.

C was second at close to 15% which is down 1/4%. I still see a whole lot of C, especially in the GNU/Linux community. Almost everything there is still C. And, of course, C is still huge in embedded.

C++ was fifth at close to 10% and a drop of 3/4%. I think C++’s complexity is really hurting it. C++ is built for large scale applications. But Java and C#/VisualBasic (which are 8th and 3rd in the ranking) with their automated memory management are probably better suited for that. Which is too bad since I still believe C++ with its generic programming support is still the most powerful language in common use today.

One thing to consider is that the two languages that CDT supports add up to 25% which makes it top of the heap (see, you can craft any message you want with stats :). But it is pretty obvious that JDT has much more share of the Java market than we do with the C/C++ market. But we’re trying.

One thing I did notice with this survey too is that the variety of languages being used is growing over the last five years. I wonder if that speaks to unrest we’re having with the languages we have at our disposal. C++ is too complicated, Java is too simple, C doesn’t scale, C# is too Microsoft, Basic is too, well, basic. I think the time is coming for something new to rejuvenate us like objects did two decades ago. I wonder what it’ll be.

Eclipse for Embedded in San Jose

I’m back in the valley and gave a talk on Eclipse for Embedded at the Embedded Systems Conference. Unfortunately it was at 8:30 in the morning today (Friday) when the exhibition, where all the fun happens, is all over. But I had around 40 people there which was good to see. I also did a shop talk session yesterday at 7:15 which had close to the same number. It was good to see that they made the effort to be there, and it was good to see that almost all of them use the CDT in their daily work.

I did a walk of the show floor on Wednesday to check out the Eclipse displays. They’re still pretty hard to find at least displayed prominently. But all the regulars that I know about at least had Eclipse up on their monitors. I also ran into a new one, ThreadX which has just released a CDT based product. It really does leave Green Hills as the last hold out in the RTOS/embedded tooling community.

The other cool thing that came up is the need for p2 to be a general installer technology. I’m looking at it for Wind River product and I ran into a couple of other vendors who want to do the same. That really confirms that we should be able to build momentum to make this happen. As someone said today on the equinox-dev list, we’ve always needed an installer for Eclipse. And we’ve always needed that installer to install everything in our development environment and p2 has that capability.

I wasn’t sure I was going to come back next year, but given the number of people I talked to I’m glad I came this year. And given the interest in Eclipse in the embedded developer community, I know they need more classes at this conference to help get them going. We’ve always struggled to get an Eclipse presence here and it was good to see confirmation that we need to be here.

I love the open source spirit

I came across the web site for the GCC and GNU toolchain developers summit. It’s being held here in Ottawa and I am wondering if it might be a good idea to go and get more involved with this community. I do fit into the “enthusiast” category with my work on Wascana and my interest in MinGW. We’ll see. I also don’t want to take up space that someone more of an enthusiast would like to take.

At any rate, I came accross this in the FAQ for the event.

Q. What is the legal drinking age in Canada?
A. In Ontario (the provice that Ottawa is in) the legal drinking age is 19. In Quebec (located across the bridge) the legal drinking age is 18.

Well, if that question is frequently asked, either there are a lot of young people coming to this (which is probably true), or it’s going to be a great party. It’s probably both.

In some ways, the Eclipse culture is quite different than the GNU culture. I think it comes to the fact that Eclipse is much more commercial. But in other ways it’s very similar. When you get together at a community event, outside of our suits, the atmosphere is so energetic and positive, you can’t help but have a good time.

MinGW entering it’s prime?

I have a monitor on files that get released by the MinGW project and I just got a notice that the alpha release of gcc 4.3 for MinGW has just arrived. This follows quite closely behind a tech preview of gdb 6.8 for MinGW which includes a number of improvements to gdb for native Windows development.

I had almost given up hope that proper GNU toolchain support for native Windows development would arrive, but these recent events and the good work by the contributors of these works has reinvigorated my excitement.

Of course, these new packages will feed into the 1.0 release of Wascana Desktop Developer this summer. I am also working on a p2 based installer for Wascana to help keep users up to date with new releases of the toolchain and libraries. This all gives me hope again that Wascana will become a serious player with the Windows desktop developers. Which will also give our efforts at building a grassroots movement behind the CDT a healthy boost.