Thursday, June 26, 2008

The darwin race of languages

Update: the race is on

It's funny how fanatical people (including me) can get when we are talking about the IDEs that we favor. If someone comes up with some (partly false) statements about out beloved (...) Delphi, we all (including me) jump up and start making a case for our pet. I don't think the guy was expecting that many comments after his posting. I can almost see him scratching his head :-)

Now, I think that's a very good thing. My post about dying Delphi programmers was intended to stir up some things and in the end I might have found a (couple of) new programmer(s). Besides all the public comments I have had hundreds of reactions in my email box. So, I can concluded, the Delphi programmers are still fighting to come out of top of the Darwin race of languages.

Now, I was thinking. There already must be a developer contest out there to compare Delphi to other languages. I couldn't find one though (but that might be because it's still early days yet :-))

How about setting one up? Let's find a small program (if in the end it is also usefull, all the better) and let's see what the results are when developing it with, let's say, Delphi and C#.

Now, before all the comments come in :-) I know that we would probably only compare the capabilities of the programmer, not the language. And, choosing C# would probably mean choosing .Net. If we would use Delphi for Win32 that means a comlpetely different platform. But, nevertheless, I think it would be fun to see what would happen.

So, please send in your suggestions for a small, but usefull program that could be the subject for this. It could be something like my all time favorite Stickies, but anything goes really.

If you think this is a fun thing to do, I will try to arrange for this and maybe even find some sponsors for prices to award.

Bye,
Bart

9 comments:

DelphiFreak said...

Hi,
yesterday I had to compact a firebired database file.

To explain:
Interbase/Firebird does not release diskspace if you delete records.
So our testing database was growing and some folk came and asked me if I could shrink it because they want to make a small setup.exe.

I ended up with the command line tool called "gbak" which is included in the firebird-server installation.
So since yesterday I am thinking of making a little GUI for "gbak" to make this task more user friendly.

This will export the database:
gbak -v -t -l -k -g -user SYSDBA -password "masterkey" SourceDB.gdb SourceDBBackup.fbk

This will create and import the database:
gbak -c -v -k -user SYSDBA -password "masterkey" SourceDBBackup.fbk TargetDB.gdb

Here are the requirements for this little app:

A) a setting to let the user choose the path to the gbak file.
B) a setting to choose the source database.
C) a setting to choose the name of the target database.
D) a button called "Shrink" to export/import in one go.
E) two fields to let the user enter login/password.

If we want to make it a little more difficult, we could add requirement F.

F) since firebird is a multi-plattform system and gbak as well, the tool should run on windows and linux ;-)

Bart Roozendaal said...

I think this would be a nice one. One requirement though: you should make your gbak-application open source and available to - at least - the contenders.

If we will do this thing, I think we will have to make all the entries open source or at least available without charge. The GUI isn't of great use without the tool that it triggers :-)

Branden Tanga said...

Hello there. I think your fear of Delphi dying are valid. I am probably the prototype new Delphi user. I have experience in in VS.NET, and some in Eclipse. I didn't choose to use Delphi, I HAD to use it because of a project I was working on. When you look at the strengths and weaknesses of the different IDE's, why would I select Delphi over VS.NET, or Eclipse?

Bart Roozendaal said...

Well, basically, because with Delphi you can create a professional program very quickly. If you would take a bit of time to master the language and VCL (and start with the IDE first), you will find that you actually can have something up much quicker than in say C#.

I do feel where you were coming from though when you wrote that post. I had basically the same experience when I first looked at Delphi some 8 years ago (also forced, because of a legacy system). At the moment it is my first choice when I need to develop a solution. For the record, I do use many other languages and platforms, so I think I can compare them well.

Unknown said...

How about writing a custom action DLL for use in MSI packages. Oh, wait, that isn't even possible to do with C# or any .NET language. Hmmm, I guess I'll have to use Delphi or C++ instead.

My point here is if I want Delphi to "win", I'll just pick something it is better suited for.

Chris Miller said...

Concept picked a great example where Delphi is a better choice that .NET. If you need to write a custom action for Windows Installer, you need to write the dll in unmanaged code. A .NET dll doesn't have the same entry points as regular dll and the Windows Installer runtime engine can't load it.

Getting back the Darwin race, I think you'll have more interest in it if you pick something not related to Firebird.

Lex Li said...

As far as I know, Ruby waited nearly 10 years for Rails, its first killer application. So Delphi, or any other "dying" languages, is just waiting for another killer application now. I hope Unicode can help Delphi like Rails to Ruby.

Yogi Yang said...

@Lex Y Li,

Rails is all about making Ruby more productive and usable from programming point of view. But in case of Pascal which was developed basically for forcing developers to cultivate better programming manners and practices so there are many things have to be done in long way compared to other languages so nothing like Rails can help Delphi at all.

TDelphiHobbyist said...

Hi Bart,

I may have missed the premise or just simply don't get it -but- I think you're "challenge" is missing part of the problem ... someone who is new to the IDE and what resources are available to them to get up to speed quickly and easily. How easy is it for newbies to the IDE [not necessarily programming] to come by the resources required to get up to speed fast. The post that spurred the concept was [the way I read it] the reaction of a newbie to the IDE and the frustration experienced trying to grasp the required concepts - yea, there was quite a bit of "it doesn't do it the way I'm used to doing it" too.

I'd hazard a guess that there's very little about Delphi that you can't find on the internet. Same for MS products. The difference, IMHO, is that MS will take you buy the hand and walk you through it. They have tons of information, links and tutorials at hand to help product newbies - other product vendors, [sadly] not so much. In a nutshell, again IMHO, MS is farming and targeting newbies a lot harder than other companies who spend a great deal of their resources on the existing community.

I'm left wondering what, exactly your change will accomplish - I'll certainly be keeping an eye out to see how it goes.

The results of taking a product newbie, give them each the same project as a challenge and see what it takes for each to come up with similar results would be a telling tale -and- probably of significant value to the owner of the IDE that I've chosen as the one I want to use.

--
Dave