Solved

New development, unsure which language/framework to use

Posted on 2006-10-23
13
267 Views
Last Modified: 2013-11-22
Hi!

I will be starting a new database frontend development and I'm unsure of which language / framework should I use.

I'm considering either delphi 2006 (VCL) or VS2005 (WinForms  / .NET)

While I have read all the pros & cons of each language and framework, I haven't seen any article that helps take this difficult desicion (mainly because of database interaction).

This project will be used in-house, so no redistributing will be necessary, but in case the future tells otherwise, what can I expect from distributing a .NET application?

Can you please share your personal comments and/or thoughts on which of these two should I use ?

Thanks

0
Comment
Question by:jconde
13 Comments
 
LVL 13

Accepted Solution

by:
BlackTigerX earned 64 total points
ID: 17790014
it depends on a number of things
- which Operating System(s) is targeted for
- is it required to be Web or Windows app (or other maybe)
- what type of database (this only matters if you're using and old or uncommon database)

about distributing .NET you shouldn't worry too much, .NET has been out long enough, and since your application is inhouse that shouldn't be an issue anyway

my thoughts, if you want the application to be .NET (for some reason it seems that way) the best tool for that job is Visual Studio and C#, unless you already have Delphi 2006, but I wouldn't recommend you writing this in Delphi for .NET, you will find little or no support / forums / etc
0
 
LVL 7

Author Comment

by:jconde
ID: 17790196
thx for the reply.

My app will be windows-only .. hence not a web-app.

I'm not sure which database we'll end up using, but for development I'll probably use MS Access.

I'm not sure if I should use NET or not.  If I go with D2006, NET is out of the question so the app will be Win32 only.

Basically, my question is: should I use D2006 (not NET), or VS2005(w/NET) ?

The only reason why I'm considering NET is because it will probably play a major role in the future, but in reality, the project itself can be written using MFC, Qt, GTK or any other framework available.  As for D2006 being the chosen language if I don't use NET, the reason behind it is because I'm already knowledgeable in Delphi, and handling datasets and databases in VS2005 doesn't seem as intuitive and straight-forward as it is with delphi.

What do you suggest ?
0
 
LVL 22

Assisted Solution

by:_TAD_
_TAD_ earned 62 total points
ID: 17791199

I am a .Net fan and I think Delphi is "icky" (a technical term, to be sure).

That being said, one-off applications like the one you are describing should be done quick and dirty in a language that requires the least amount of effort and thought.



When it comes to programming languages, every language has its strengths (if they didn't, they would die out within the first year or two).


If you were going to build an enterprise application with lots of hooks into microsoft products and were going to do some true software architecture, then I would tell you go with .net.

On the other hand, if you are going to build something with a dozen forms and a few thousand lines of code that is only going to be used by a handful of people (a few dozen), then by all means go with whatever is easiest.  Get the project done so you can move on to more important things that can move the business forward.

0
 
LVL 22

Expert Comment

by:_TAD_
ID: 17791200

I am a .Net fan and I think Delphi is "icky" (a technical term, to be sure).

That being said, one-off applications like the one you are describing should be done quick and dirty in a language that requires the least amount of effort and thought.



When it comes to programming languages, every language has its strengths (if they didn't, they would die out within the first year or two).


If you were going to build an enterprise application with lots of hooks into microsoft products and were going to do some true software architecture, then I would tell you go with .net.

On the other hand, if you are going to build something with a dozen forms and a few thousand lines of code that is only going to be used by a handful of people (a few dozen), then by all means go with whatever is easiest.  Get the project done so you can move on to more important things that can move the business forward.

0
 
LVL 22

Expert Comment

by:_TAD_
ID: 17791201

I am a .Net fan and I think Delphi is "icky" (a technical term, to be sure).

That being said, one-off applications like the one you are describing should be done quick and dirty in a language that requires the least amount of effort and thought.



When it comes to programming languages, every language has its strengths (if they didn't, they would die out within the first year or two).


If you were going to build an enterprise application with lots of hooks into microsoft products and were going to do some true software architecture, then I would tell you go with .net.

On the other hand, if you are going to build something with a dozen forms and a few thousand lines of code that is only going to be used by a handful of people (a few dozen), then by all means go with whatever is easiest.  Get the project done so you can move on to more important things that can move the business forward.

0
 
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 62 total points
ID: 17817558
TAD, are we repeating our posts? :-)

Actually, with D2006 you can develop .NET applications but you will have to choose between creating VCL.NET applications or the "regular" WinForms applications. Unfortunately my experience with D2006 for .NET is limited to web development, for which Delphi actually does a nice job...

And to be honest, it seems that Delphi fell out of grace for many authors. You won't find many new books about D2006 and many Delphi books are more for beginners anyway. There are only a few good Delphi titles. But if you do want to develop with D2006 then keep in mind that D2006 also comes with a C# compiler, which should make it possible for you to still use D2006. (Unless you're going to use one of the Turbo distributions.)

One other minor problem is that Borland is one version behind on Microsoft for .NET development. Borland supports .NET 1.1 now while Visual Studio supports .NET 2. By the time that Borland will support .NET 2 then MS will have moved forwards to .NET 3. Is that bad? Not really since .NET is supposed to be backwards-compatible and you might not want to upgrade .NET on all your systems every time MS comes with a new .NET version...

About distributing .NET applications... That's not much different from distributing regular Delphi applications. Many Delphi developers have had a lot less problems with the so-called DLL Hell that Microsoft was suffering from. Just make sure the proper .NET version is installed on those systems. Then again, the thing I fear most at this moment is that MS will just replace the DLL Hell with the .NET Hell, where everyone ends up with all kinds of different .NET versions of all their projects. I think quite a few others don't trust the whole .NET environment either and are also sticking to the WIN32 platform instead. I don't think the WIN32 will disappear in the near future, although it might be replaced with a WIN64 platform... :-)
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 22

Expert Comment

by:_TAD_
ID: 17819009


Actually MS has already released .Net 3.0 (at least something that they are calling .Net 3.0 anyway).

Sometime after .Net 2.0 was released, MS released additional .net classes for XML (XML extensions (3.0?))

at any rate, shortly after MS released the extensions they included them into the .Net Framework and called it Net 3.0.  

I'm not sure if this qualifies as a *new* framework release, but the next version of .Net to be released will not be 3.0 (because it already exists).
0
 
LVL 22

Expert Comment

by:_TAD_
ID: 17819019
>>TAD, are we repeating our posts? :-)


Either I'm very passionate abou tmy responses, or my browser/proxy has been going bonkers and been triple posting many of my entries.

:-P
0
 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 17819110
Yeah, I know. I believe .NET 3.0 is in a beta-phase or whatever. They're already working on .NET 4.0 as we speak. Which basically means (in my opinion) that soon the DLL Hell will have evolved into the .NET Hell. With one minor difference: the garbage in the .NET Hell is a lot bigger... By the time everyone starts nagging about the .NET Hell, Microsoft will probably come up with something else to "fix it" again...
0
 
LVL 4

Assisted Solution

by:Meldrachaun
Meldrachaun earned 62 total points
ID: 17991372
Unfortunately this is kind of like a discussion on if you should write a DOS program or a Windows program.  In 1995, that was a very valid discussion, but not now.  Microsoft has been very clear that they want to get rid of native windows and make everything .NET.  Yes, it may take 10 years, but that is the future.  So it basically comes down to how long you want to use the app, how big it will be, how long you want to maintain it.  If you decide to go .NET, use Visual Studio and C#, it's the only way to go with .NET.  Delphi .NET is a kludge.  If you want to stay with Win32 and what you know, use Delphi, but 10 years from now you may end up migrating it over to .NET.
0
 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 18522232
I have Delphi 2006 but so far avoided writing VCL.NET applications in it, because Ewww... The VCL.NET is mainly there for backwards compatibility anyways so you should avoid it, if possible.

Using D2006 with WinForms isn't much different from using VS2005 with WinForms. But with Visual Studio you would be writing for .NET 2.0 while Delphi is limited to version 1.1 and thus out-of-date. Still, if you want to use D2006, use C#Builder instead of Delphi. Simply because C# is becoming THE language for .NET development.

.NET 3.0 is part of Visual Studio 2007 and 4.0 is in it's final stage of development. They are already designing 5.0 right  now.

So that leaves one option if you want to use Delphi: stick to the WIN32 environment. And perhaps Codegear (formerly Borland) will create a 64-bits compiler version which doesn't need .NET to run. Thing is, people think .NET will be the platform for the near future but so far there aren't many Microsoft products that have been written completely in .NET. Even Microsoft is still doing things the "oldfashioned" way. Will this change? Maybe for the more generic applications but there will always be some performance-critical tasks for which the .NET environment would be too limited. Think about database and device drivers. Or many of the build-in Windows applications. Even large games will perform better outside the .NET environment. So while .NET will be here to stay forever, the WIN32 platform is still very alive. (Maybe replaced by the WIN64 platform in the near future.)

Same argument about DOS applications, btw. While you can claim that DOS is dead, there are still quite a few console applications available, mostly for simpler tasks. And there's no chance that the console will ever disappear completely. Same with writing code for a native compiler instead of for a .NET compiler. The native compiler might be generating WIN64 applications in the future, but it will still generate native binaries that work independantly from .NET.

Besides, while .NET ended the socalled DLL Hell, I have already noticed the rise of the .NET Hell, where applications for different .NET versions will conflict with each other. Real nasty, considering we're only at version 2 now. With native code, the risks for entering this Hell are slimmer.
0
 
LVL 1

Expert Comment

by:Computer101
ID: 21133092
Forced accept.

Computer101
EE Admin
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now