Showing posts with label Groovy. Show all posts
Showing posts with label Groovy. Show all posts

Tuesday, February 17, 2009

DarkBASIC Professional Update

I mentioned some beefs about DarkBASIC Professional in an earlier post here. I have a bit of an update on what I had to say there.

First, there's the problem that DarkBASIC Pro had with my version of DirectX. DarkBASIC Pro requires DirectX version 9.0c or later, according to the website and the pop-up message I got. The pop-up message I got from DBPro claimed that I had DX version 9.0. When I ran DXDiag, it begged to differ, reporting that my system was running 9.0c.

Since my last post I decided to go ahead and do an update of DirectX. Since I was doing the download of the DX update on a different system than I was going to be installing it to, I downloaded the redist package, the same thing that developers can include on the disk when you buy a game. This means that I got the August 2008 version of DX rather than the November 2008 version for reasons known only to Microsoft, but no biggie.

I did the install, it reported updating a bunch of individual files. I ran DXDiag afterward to make sure all was kosher, and to check the version. Version 9.0c, it says. Verrry innnteresting.

I love how Microsoft respects the correct use of version numbers...

Anyway, I bring up the DarkBASIC Pro Trial version and do a quick program and compile. No more nasty notes about my DirectX version. Everybody is happy. Apparently my new version of DX 9.0c is more puissant than my prior version of 9.0c. If there were a specific file or files with versions that DarkBASIC Pro needed (d3d or whatever) it would have been nice if they'd said so, it would have eliminated at least some confusion.

Item number 2 is the complaint I had in my prior post about DBPro needing to run as Administrator. Apparently that is the case. In the instance of Vista, for example, one must right click the icon, click a tab, and allow DBPro to Run as Administrator in order for it to do what it needs.

This is an Intensely BAD Thing. Especially under Windows.

It also means that I could never consider DarkBASIC for classroom use. I like to give my students a lot of leeway, but to be honest sometimes they do things with the systems that make it difficult for others to use them. Each of the different classes that use our lab need to be able to come in and use the systems with a minimum of trouble. Our sysadmin is usually not immediately available, he's a thinly spread resource, and he doesn't need yet more work.

On top of that, I don't like to program as an administrative user, on any OS. Life is hard enough without having a program I'm trying to debug hosing the system I'm writing it on. I want some basic guard rails. I do have crash and burn systems, but they're not the one I'm doing my editing, compiling and first run on.

Another strike against DarkBASIC for the classroom is that it would cost my school money. Java, Groovy, Ruby, Python, gcc, Common LISP, and many other useful development tools are free. In many cases in both senses of the word.

Is DarkBASIC bad? No, not entirely. Running as administrator is stupid, but only mildly evil. Coupling it with the fact that it's a programming language targetted at newbie programmers makes the design decision to run as Admin extremely stupid. A result of laziness, or an unwillingness to deal with the vagaries of MS's OS, perhaps, if we were to spread the blame around a bit.

On the good side, the DarkBASIC folks do a good job of marketing. They manage to excite people into really believing they can write killer 3D software. DarkBASIC Pro itself is decent at delivering on this promise from what I can tell so far as I've used it. I think they withhold too much information about a language they've already sold you in the interest of selling additional books and materials. The manual that comes with the basic $70 package is a bad joke on the poor beginners who get it.

Bottom line, I think most beginners would be better off with something else. However, there are some people for whom DarkBASIC Pro is going to hit a chord that other languages won't. And maybe once they've gotten an entree into programming, and fought with DBPro for a while, they'll be ready to move on to something else. Any programmer should know more than one language within two years of the time they start programming, anyway.

And tell me if I'm wrong, but there just aren't a lot of places looking to hire DBPro programmers. VB, yeah. Java, yeah. C++, yeah. DBPro? It's more for the do-it-yourselfer. It's a lot like the older BASICs, but not much like VB, I'm afraid. So knowing DBPro itself isn't likely to land a programming job. But then that's not the sort of language it's built to be.

Thursday, June 19, 2008

The Groovy Language

I've had a chance to play with the Groovy programming language just a little now, and I have to say it looks great for my needs as a teacher. It provides enough access to the system to allow the students to make nice GUIfied applications. The syntax is clean and simple--I wouldn't have to spend a lot of class time explaining purely "structural" code.

It's also got the strong real-world presence I'm looking for in a language. The Grails element has made Groovy a popular web-development language. This is great for the students in my class who will want to expand on what we do in class.

What I've done so far isn't enough to teach with it, not by a long shot. But it's pretty darn promising. I haven't seen a book on Groovy for non-programmers, yet, so no textbook. So I'd have to develop a lot of my own lesson materials between now and January if I'm going to start teaching it this year.

LiveCDs with Groovy Included?

I doubt I'm going to find a LiveCD that includes Groovy. Though it's looking like I'm not going to find one that meets my needs as-is anyway. So I'm going to have to look into:
  • Finding a LiveCD distro that works on all the school's lab computers and is likely to work on most student's home hardware.
  • Figuring out how to modify the content of the LiveCD distro to add the elements I want.
Whether I can manage to put together 32-36 lessons in Groovy as well between now and January while meeting all my other commitments remains to be seen. On the other hand, I can expect to throw it in at the end of the year as an extra with maybe a half dozen lessons or so, then expand that to a full semester the following year.