Question

What are the differences between C++,C# and Delphi?

Asked by: mohannad399

I am using Delphi 2007 and I face some problem to find developers for delphi. I am thinking to move to C++ or C# because it is easier to find programers.
So what are the deffernces between Delphi, C# and C++?
Which is better to use?
What API is good to use and is will known?

Thank You,

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-28 at 09:08:15ID24851489
Tags

C++

,

Delphi

Topics

Delphi Programming

,

C# Programming Language

,

C++ Programming Language

Participating Experts
14
Points
500
Comments
50

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Easy question about Delphi!?
    I checked a joblist servers - there are a lot of vacancies for VC++ (+ MCF...)and 10 times less for Delphi! Why? I work with Delphi - I know that Borland makes high quality products, but in this case why Borland's products are not popular among Employers? Please tell me who i...
  2. Delphi & API
    How can i use API function in Delphi? thank in advance
  3. Difference between Delphi and vb6?
    I would like to ask what is the difference in between vb6 and also delphi5..what is the benefit using delphi?
  4. ...but why Delphi?
    I am trying to win my company over to Delphi as opposed to using either Visual Basic or C++.. Can anyone here please give me a list of arguements as to why Delphi is the better choice? I have a lot of opinions on the matter, but not hard facts.. I think largely they wan...
  5. Quick discussion... Future of Delphi
    I'm really sorry to post something like this on EE but since Delphi is so unpopular this is the only place i might get some outside opinions. Okay, i'm pretty much new to Delphi. I used to use VB but after finding Delphi there is no way I would consider any other language (fo...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: evilrixPosted on 2009-10-28 at 09:18:17ID: 25684928

If you are using Delphi I presume your application has a rich GUI? C++ isn't really the best language for this. Although there are plenty of frameworks if you are just targeting Windows and you want a rich GUI app with Rapid Application Development you are probably better off looking at C# as an alternative to Delphi.

C++ is more about writing lower-level, often cross-platform solutions that demand speed and low resources.

 

by: RatBoy1Posted on 2009-10-28 at 09:18:22ID: 25684929

hello,

Have you tried looking at : http://www.gekko-software.nl/DotNet/Art01.htm ?

Thanks.

Louis

 

by: mrjoltcolaPosted on 2009-10-28 at 09:18:57ID: 25684936

If you are coming from a Delphi/VCL background, you'll like .NET (C# or VB.NET) better than C++.

C# is a managed (gargage collected) language implementation with better support for drag and drop, event-drive programming like Delphi, as opposed to C++.

C++ takes a long time to become productive for GUI applications (whether you use MFC or some other framework). As much as I love C++, we find we are not as productive writing apps with it and only use it when total performance and memory size is paramount. Otherwise, C# in the .NET Framework is a much more productive environment for business apps.

The downside to C# is protection of intellectual property. C# is semi-compiled to .NET/CLR bytecode, but is easier to decompile, and there is a lot of metadata stored in the assembly to support things like reflection. So if you are writing a commercial application, at least plan on investing in an obfuscator or full .NET assembly compiler.

That is where C++ has advantages. The binary executables are tight and fairly secure against all but the most advanced decompilation technology.

For business apps, .NET wins.
For proprietary, sensitive technology, C++ wins.
For memory usage, total speed C++ wins.
For productivity, .NET wins.

 

by: sedgwickPosted on 2009-10-28 at 09:20:06ID: 25684952

C# and C++ are widely being used, depends on the project u work on.
based on the "product" u wish to provide, u can investigate which technology is best for your needs and which environemnt is best suited to accomplish that.
so there's no straight answer to your question.
i'm pretty sure that you'll have better chances finding C# developers...
good luck

 

by: Let_Me_BePosted on 2009-10-28 at 09:26:45ID: 25685037

People claiming that C++ is not well suited for GUI applications have never used anything beyond WinAPI or MFC.

Check Qt http://qt.nokia.com/products

 

by: mrjoltcolaPosted on 2009-10-28 at 09:29:49ID: 25685074

>>People claiming that C++ is not well suited for GUI applications have never used anything beyond WinAPI or MFC.

A statement that is very presumptuous and totally unsupportable.

I've implemented C++ GUIs with several other frameworks, on Windows and UNIX platforms INCLUDING Motif / X-Windows and Qt.

They are still inferior in the RAD arena to Visual Studio .NET or Borland Delphi (which perhaps you have never used?).

 

by: 8080_DiverPosted on 2009-10-28 at 09:41:33ID: 25685218

I am a long time Delphi developer (starting within 2 months of Delphi being released to the world ;-).  I have, of late, been forced into doing some C# development.  I will offer my opinion from that viewpoint.

Personally, I do NOT like C#.  

Delphi is a RAD tool; C# is NOT a RAD tool.  It requires a lot more in the way of handling things at a lower level in order to get to where you want to go.  In many ways, C# does not have the same consistency toward things that Delphi does .  (For example, an Integer variable can be converted to a string by IntVar.ToString() but a string cannot be converted to an Integer with a corresponding StringVar.ToInt().)  

C# does not _really_ compile, at least, not to native code.  It compiles to a "Common Language Runtime" (CLR) representation that is then interpretted in order to execute it.  This is supposedly an advantage because it can then be run on any system that has a CLR engine; however, if you are working strictly in a Windows Environment, is it really an advantage?

C# hads all of the "advantages" over Delphi that C++ does . . . which, again, IMHO, is note really any.  I have serious questions regarding security issues when the CRL can be reverted to highly readable source code using "reflection" (which is touted as an "advantage" of C# over Delphi).  This means that anyone who can get to the "executable" can convert it to source unless it is "obfuscated" . . . which is another step that you have to do.  

I can see advantages for C# ans ASP.Net for web based development.  However, I cannot see advantages if you are NOT developing web based applications.  

As for finding Delphi Developers, we are still out there and available . . . for a fee. ;-)  (We may not be for sale but we can be _leased_. ;-)

 

by: sgomzinPosted on 2009-10-28 at 09:44:42ID: 25685254

Personaly I came to .NET C# serveral years ago from long Delphi and some C++ backrounds. I am familiar with all three and I like all three but definitely C# is the best one from all perspectives.  By the way, NET and C# development has been leaded by the same guy who developed Delphi.  

 

by: evilrixPosted on 2009-10-28 at 09:45:08ID: 25685258

>> People claiming that C++ is not well suited for GUI applications have never used anything beyond WinAPI or MFC.

LMB, there is a world of difference between claiming it's not well suited and claiming there are languages better suited. You absolutely cannot deny the learning curve of C++ is far steeper and since I'm pretty sure this question is business oriented, where time is money, I'm sure the asker would prefer a realistic answer rather than once guided by your personal preferences.

You need to think about the askers need, not your own C++ ego.

 

by: evilrixPosted on 2009-10-28 at 09:47:28ID: 25685297

>> You need to think about the askers need, not your own C++ ego.
Not that it's likely to ever be as big as mine ;)

 

by: Let_Me_BePosted on 2009-10-28 at 09:49:06ID: 25685311

> They are still inferior in the RAD arena to Visual Studio .NET or Borland Delphi (which perhaps you have never used?).

Actually I used both. I must admit that I'm not aware about every feature in their latest versions, but I'm fairly sure there are no equivalent for many Qt features (well, unless you buy some third party library).

 

by: Let_Me_BePosted on 2009-10-28 at 09:51:22ID: 25685344

> You absolutely cannot deny the learning curve of C++ is far steeper

Yes I can. When using such high level frameworks, the learning curve pretty much determined by the framework and not the language itself.

 

by: mrjoltcolaPosted on 2009-10-28 at 09:54:59ID: 25685386

@8080_Diver:

I wont detract from Delphi. Borland did it right, and has been for years, except for their choice of base language. Pascal is the only thing that held Delphi back, in my opinion. History has shown that people wanted a C-like syntax. But for people who were willing to try it, developing Windows apps in Delphi has always been a joy, and the projects we did with it resulted in on-time deliveries and easy maintenance.

But regarding your statement on C#, I think you haven't spent enough time with C#. There are orthgonality issues with any language.

The case you use above really isn't an orthogonal case. Int -> String is not the same as String -> Int. One way is guaranteed to succeed, but the latter is not. Converting ANYTHING from a String may fail due to parse issues, simply because a String could hold anything. So C# does have int.Parse and int.TryParse for cases when you do or don't care about an exception being thrown. This doesn't make it an inconsistent language, to me. You are actually talking about API and not language structure. Many languages do string conversions in an API, at least C# provides it.

Regarding the CLR and bytecode, well, I'm on your side. I wish C# was a fully compiled language and also do not like the requirement of a fat runtime on my target platforms. For a Web app, the whole reason I would NOT choose C# is that platform independance is very important in a server environment, so Java or Perl usually fits better.

Good points though.

 

by: mohannad399Posted on 2009-10-28 at 09:58:00ID: 25685429

What is a good IDE that I can use?

 

by: epasquierPosted on 2009-10-28 at 09:58:12ID: 25685433

mrjoltcola: You are only comparing C++ and C#

IMHO :

> For business apps, .NET wins.
Delphi is second, but some people would put it first, it's more a matter of taste.

> For proprietary, sensitive technology, C++ wins.
Delphi is second, .NET a bit behind

> For memory usage, total speed C++ wins.
except for drivers and embedded systems, where C++ is unavoidable, there is little gain with C++ compared to Delphi. Both are compiled and well optimized. .NET/C# is far behind

> For productivity, .NET wins.
I would definitely put Delphi 1st, .NET just a little behind (ok, I wouldn't go for holly war if you really wanted the other way, it's again a matter of taste). C++ is far far far away.

So, to summarize
- C++ is off for everything except low-level / cross-platform
- I would add there that for cross-platform but high level, Java is the choice, even if it hurts me to tell so (I hate it)
- Delphi and C#/.Net have the same target : RAD, for Windows. Delphi is a little bit more productive and much more efficient. The first advantage is lessened by the fact that there are fewer developers available (but generally the few there is are good ones, which is not always the case with popular languages). Second advantage is lessened because modern CPU can handle the overhead most of the time. For C#, we might add that it's growing and improving everyday.
The choice between those 2 is difficult. It really depends on your difficulties to find Delphi developers, and the amount of code you'll have to port

 

by: mrjoltcolaPosted on 2009-10-28 at 10:06:25ID: 25685524

@LMB: I am a fan of Qt. I never said Qt was bad. It has improved drastically over the years. I used it in the early days too. But at one point we could not do mobile device deployment with Qt. Now they have a Windows CE target. But with every technology/IDE/framework, once you get into a project, you find bugs, issues, nuances. And you need fast support. Not getting an answer, or having a code sample available can mean days instead of hours, on simple tasks.

I am an independant software development firm. We evaluate frameworks YEARLY. In other words, every year, I sit down and look at the state of technology:

C++, Java, .NET, Perl, Ruby, Rails, Spring, Struts2, etc. etc.

Is it productive?
Is it gathering dust?
Are there 3rd party productivity add-ins?
Is there support?
Can I deploy on the platforms I need?
Can I hire developers that know it?

Oracle. What are they doing this year? Oops, they are buying more companies, so choosing Oracle still means I have to choose between Sun, JBoss, etc. They now have 4 different Java app servers.
Microsoft. What are they doing? Oops time to try WPF. CLR gets fatter and fatter. Tried a WPF framework, Telerik and other vendorrs have bugs and missing features in their WPF versions. My customers only have .NET 2.0. WinForms isn't dead yet!

So there is a big mess of worries trying to keep up. For that reason, its good to have a fully featured, proven environment to develop apps with. From all of the ones I evaluate, I keep coming back to Visual Studio 2005/2008 for my apps, and Eclipse/Java/Perl for server-side.

And we have to be honest. When is the last time you had an easy time teaching someone to master C++ enough to be productive in a business environment? It is the language of power and responsibility. Neither necessarily means you will get the project done fast.

 

by: mrjoltcolaPosted on 2009-10-28 at 10:11:36ID: 25685585

I will also propose that the future of languages is moving into the scripting style syntax. They are more productive and expressive.

Two things can make a drastic difference in productivity, and both are about expressiveness for common idioms:
 1) First class list and hash notation.
 2) First class regex notation.

Does Delphi, C# or C++ have those? No. So you simply type more characters and have to remember more APIs.

The fact of the matter is, a guru level Perl or Ruby hacker will run circles around a C++/C#/Java/Pascal programmer for _getting the job done_ fast.

As to whether the program will run faster -- that is a different story. But in many cases, it doesn't matter.

 

by: epasquierPosted on 2009-10-28 at 10:14:53ID: 25685631

I agree 120% with 8080_Diver on all points.

I haven't tried enough C#, I admit, but it's because some things I though for granted were not always there.

There are still some Delphi developers out there.

mrjoltcola:
> Borland did it right, and has been for years, except for their choice of base language.
> Pascal is the only thing that held Delphi back, in my opinion.
> History has shown that people wanted a C-like syntax.

Well, I've used C for a lot of things, it still have its use (or C++, they really are the same breed). but it's SYNTAX ???? That's the worst-yet-succeeding thing in all the computer history. A complete mystery for me why does programmers sticks with that lousy, bug-generating, unreadable garbage. History and mass decision has proven to be more wrong than right, whatever the subject and time, so I'd be prudent with that kind of argument.

Delphi has a perfect syntax (not prone to errors due to spelling or one small character misplaced), easy to learn, for anybody that can understand the OO and events principles, and easy to read, even if not written by you but a complete newcomer.

 

by: Let_Me_BePosted on 2009-10-28 at 10:17:03ID: 25685652

> The fact of the matter is, a guru level Perl or Ruby hacker will run circles around a C++/C#/Java/Pascal programmer for _getting the job done_ fast.

Another reason why to code in Qt.

 

by: mrjoltcolaPosted on 2009-10-28 at 10:23:11ID: 25685771

Don't take my statement to extreme. I agree, some of C's syntax is problematic.

When I say C-like, I mean in the sense of curly brackets instead of BEGIN END BEGIN END BEGIN END.

Don't believe me, ask the world? :) They voted already. People are comfortable with certain aspects of C syntax structure.

There is something to be said for code density over explicit wordiness.


>>Delphi has a perfect syntax

uh-oh. I think we have a left-winger... :)


>>not prone to errors due to spelling or one small character misplaced

Also lacking in expressiveness and flexibility.


>>easy to learn, for anybody that can understand the OO and events

Most of the worlds apps are being written by programmers that are past the learning "how to program" stage, and have moved to the productivity stage. At that point, they want expressiveness, power, flexibility, not "easy to learn" syntax.

 

by: pgnatyukPosted on 2009-10-28 at 10:24:51ID: 25685829

>>C# development has been leaded by the same guy who developed Delphi.
This is just a fairy tale.

I worked with Borand Delphi 1,2 and 3 (than it was alreasy In...something). I worked with Borland Pascal before (that was v.3, 5, 5.5, 6.0, 7.0).

I mean at that time I was the biggest fun of Borland products.

I agree with all nice things you said about Delphi (especially when you compare it with C# :)), but...  

We all took the direction proposed by evilrix - the GUI. I think many people work with Delphi because of the databases. You forgot that Borland is a father of such things as dBase, Interbase; it was really very easy to make an app in Delphi with an acceptable standard GUI that connects to an Oracle, SyBase server and launch the stored procedures on it.

Now I'm also a big fun of C, C++, and even GUI apps, at least for Windows, I'd prefer to make only with C or C++ and Win32 or OpenGL.  

Just because a "standard acceptable GUI" is not for me. When I really need this boriing "standard GUI", or let say this rapid development, I use WTL, ATL,  MFC. It is possible to make a very nice GUI application for Windows Vista or 7.

Whatever we will say here, the man who worked with delphi for years, will like only Delphi for next few years. With all my respect to Pascal, only C++ gives a real freedom. And such things as MFC, STL, Boost, ... just reduce this freedom.

 

by: 8080_DiverPosted on 2009-10-28 at 10:26:43ID: 25685856

mrjoltcola,

History has shown that people wanted a C-like syntax.

I think that this is only because Microsoft developed the C-like syntax and forcedit on their market.  The Java syntax, while C-Like, also came from a C background and then Microsoft jumped on that band wagon, too.

The origins of C (then C++ and finally C#) caused the C programmers to use short, cryptic names for everything and then they touted those as "more efficient and easier to learn".  Admittedly, Delphi tends to have more verbose names for things and to be more oriented toward "human understandable lnaguage" (e.g. IF condition THEN BEGIN . . . END ELSE BEGIN . . . END rather than IF condition { . . . } ELSE { . . . }); however, I am not sure that is a bad thing.  

As for my not having spent sufficient time in C# . . . I do agree that I haven't spent enough time in C# to learn to appreciate it (although, I wonder if there _is_ sufficient time for that ;-).  However, that is part of my point.  I do not find the different handling of the string to int and int to string conversions to be intuitive; however, I _do_ find having similar functions (e.g. IntToStr() and StrToInt() ) to _be_ intuitive . . . at least, once you learn that there is a function for one, you can guess that there is a similar function for the other. ;-)


> For business apps, .NET wins.
Delphi is second, but some people would put it first, it's more a matter of taste.
IMHO, kind of depends on the nature of the Business Apps . . . if it is NOT a Web App, then I would tend to think that a truly compiled app would win.


> For proprietary, sensitive technology, C++ wins.
Delphi is second, .NET a bit behind

IMHO, Delphi and C++ tie for first and C# comes in a more distant 3rd.

> For memory usage, total speed C++ wins.
except for drivers and embedded systems, where C++ is unavoidable, there is little gain with C++ compared to Delphi. Both are compiled and well optimized. .NET/C# is far behind
Agreed (although, I have written low level drivers in Delphi ;-).

> For productivity, .NET wins.
I would definitely put Delphi 1st, .NET just a little behind (ok, I wouldn't go for holly war if you really wanted the other way, it's again a matter of taste). C++ is far far far away.

I think that .Net is more than "a little behind".  Although, I have accumulated a couple of Hot-Key Tools (e.g. GExperts) that make my coding more productive and better than even the assistance provided by Visual Studio.

Many of the Delphi  programmers that I know of who have gone over to C# were motivated bya business decision that was out of their hands.  The mind-set of the 2 languages is sufficiently different that it is difficult to switch back and forth (I know because that's what I get to do ;-) and, therefore, once in the C# world, most Delphi developers that I know of who made the switch have stayed.  

I have the opportunity to work with several C# developers and many (if not most) of them tend to be less rigorous in their development than most of the Delphi programmers I have worked with.  Admittedly, they are also younger but they don't seem to have the design capabilities that the Delphi developers I have worked with have . . . they just want to start coding as hard and fast as they can.

 

by: evilrixPosted on 2009-10-28 at 10:27:54ID: 25685871

>> Yes I can. When using such high level frameworks, the learning curve pretty much determined by the framework and not the language itself.
Isn't QT a framework? Isn't that argument self defeating?

 

by: Let_Me_BePosted on 2009-10-28 at 10:29:07ID: 25685886

> Most of the worlds apps are being written by programmers that are past the learning "how to program" stage, and have moved to the productivity stage. At that point, they want expressiveness, power, flexibility, not "easy to learn" syntax.

Actually most of the world apps are written by people that have no idea what a pointer is, or why the hell does 1.3 print as 1.299999.

 

by: mrjoltcolaPosted on 2009-10-28 at 10:30:22ID: 25685907

>>I think that this is only because Microsoft developed the C-like syntax and forcedit on their market.

Microsoft didn't develop it. C and C++ came from the guys at AT&T Bell Labs (UNIX). It was designed as a systems programming language, and succeeded at that.

At the time, it was the best alternative.

On the contrary, I would vote that Borland itself furthered C/C++ with Turbo C++. Do you remember? It was in every university computer science department way before Microsoft came in and took over through better marketting and subsidies.

 

by: mrjoltcolaPosted on 2009-10-28 at 10:30:56ID: 25685915

>>Actually most of the world apps are written by people that have no idea what a pointer is, or why the hell does 1.3 print as 1.299999.

Sad but true. :)

 

by: Let_Me_BePosted on 2009-10-28 at 10:37:10ID: 25685983

> Isn't QT a framework? Isn't that argument self defeating?

Why? You always need to learn the language (for high level frameworks, syntax will be fine) and the framework (or API, SDK, whatever) itself. And personally I have never seen something as simple as Qt (both C++ and Python bindings).

 

by: pgnatyukPosted on 2009-10-28 at 10:37:41ID: 25685990

>> Delphi has a perfect syntax
I thought the same when switched from Pascal to C and next time when switched from Delphi to C++.

Now I agree with my teacher saying that Pascal just ruins the programming thinking. It is very difficult to switch the way you are thinking when you are programming.

If you remember the language was developed for the universities and schools, for studying. I'd say, the try to make commercial projects in it was a mistake.

 

by: mrjoltcolaPosted on 2009-10-28 at 10:39:41ID: 25686014

>>Many of the Delphi  programmers that I know of who have gone over to C# were motivated bya business decision that was out of their hands.

True. The business decision of continuing to write your apps in a language and framework that is mainstream and supported and not apt to be discontinued. Borland failed as a language company and sold its language stuff to Embarcadero. They canned the original JBuilder right after I paid 2,000 per license for v2007 and moved it to the Eclipse framework. So what happened? We all just stopped paying for JBuilder and moved to Eclipse anyway!

Borland was the best. Why did it go the route it did? I don't know. I am a long time Borland fan, every since I saved my money to buy my first Borland C++ compiler in my freshman year in college. I propose that Microsoft AND the open source generation both contributed to Borland's demise.

Business owners must make strategic decisions that have more involved than the fact that their programmers have been using the technology for 15 years and are comfortable with it. Programmers leave the company. Companies fail. Support costs $$. Customer's upgrade or change their OS or ask for new features. We try to stay close to the herd while not getting involved with stampedes.

Anyway, I've said my 23 cents, this has been a fun discussion. I am a fan of all languages and frameworks mentioned here, INCLUDING Delphi and Qt. I'm also a fan of programmers who have mastered their tools. I am not religious on this subject, but just passionate and opinionated. Hopefully you have enjoyed my comments as much as I have enjoyed yours. These rare passionate threads are great.

:)

 

by: mrjoltcolaPosted on 2009-10-28 at 10:43:20ID: 25686049

>>I have the opportunity to work with several C# developers and many (if not most) of them tend to be less rigorous in their development than most of the Delphi programmers I have worked with.  Admittedly, they are also younger but they don't seem to have the design capabilities that the Delphi developers I have worked with have . . . they just want to start coding as hard and fast as they can.


I think it is probably that the Delphi guys are older and wiser and have more design experience. The young kids haven't been around the block yet.

 

by: 8080_DiverPosted on 2009-10-28 at 10:45:40ID: 25686073

@pgnatyuk,

only C++ gives a real freedom

Actually, REAL freedom comes from Assembler! ;-)

@mrjoltcola,

I am aware of the origins of C (I also remember the attempts at A and B ;-).  However, Microsoft really developed the environment for writing in C and C++ and, I believe, provided the first really viable compilers for the market place.  I do remember Borland's C++-Builder and I liked it better than the MS IDE and langage.  (I also remember creating a Tiny-C self-comiled compiler and using it. ;-)

At the time, it was the best alternative.
Well, at _that_ time, I was writing in assembler on a real-time, interrupt-driven system and C wasn't the best alternative.  Later on, I used CBasic-80 (a _compiled_ version of BASIC for the Z80 systems) and C _still_ wasn't the best alternative.  When I moved to the IBM PC/Microsfot environment, I was using Turbo Pascal and some versions of Prolog and C _still_ wasn't the best alternative.  In fact, even when I had to develop a printer driver, I used Turbo Pascal and then Delphi because C _still_ didn't seem to be the best alternative. ;-)  

As for my being a long time Delphi user and, therefore, just not wanting to change.  Actually, when I first heard we were converting to C# and I did a little reading on it, I was kind of excited because it looked good.  However, as I came to realize that it had inherited many aspects of C++ that made it less intuitive to work with and that caused it to require more lines of code to get things done, I became less enchanted with it.  I have now reached the point where I can code in it if I have to but I'd rather not (sort of like I can code inCOBOL but I'd rather not ;-).

For that matter, though, if the apps are desk top and not web and you really want a bunch of programmers to be available . . . why NOT switch to COBOL?  THere are some really good COBOL compilers for the WinTel environment and the same code can also be run on the IB<M Mid-Range or MainFrame boxes? ;-)

 

by: epasquierPosted on 2009-10-28 at 10:51:13ID: 25686137

>> I'd say, the try to make commercial projects in it was a mistake.
Never had problems to sell my applications made in Delphi, and even those C# lovers can't beat the productiveness given by Delphi (and admitedly a long list of units and tools made over time, by a lot of people and myself). I love nothing more than selling a 2 weeks job as the equivalent 2 months some "cheaper" and "more common" C# developers can do in the market.
In fact, Delphi does not restrict creativity, it enforces some good habits, and as Diver said, and I agree, Delphi newcomers tends to be better faster than C++ or C# newcomers.

and definitely, BEGIN ... END is better than { .. } . I love the argument "it's quicker to type { }" , as It tells me not to bother arguing. How many mistakes have produced a single { misplaced yet unseen or missing, and how many man*years of work lost since C has been invented ? That's just an example of the better productivity provided by C language and all descendant : C++, C# and Java. IMO, All crap for those same little so-called features.

 

by: pgnatyukPosted on 2009-10-28 at 10:55:03ID: 25686182

>>Actually, REAL freedom comes from Assembler! ;-)
:) I got your point.

(Actually in many cases now the Assembler code on Windows platforms looks more like a C-style app. :))

The decision will be C#. Looks like it's done already. In few years it will be something else. Maybe Objective C? :)

 

by: mrjoltcolaPosted on 2009-10-28 at 10:55:41ID: 25686190

>>Maybe Objective C? :)

Eeep!

 

by: pgnatyukPosted on 2009-10-28 at 10:59:50ID: 25686245

but you see, the name still has "C"?
the bad thing (maybe) that we will program on mini-MAC. :)

 

by: epasquierPosted on 2009-10-28 at 11:10:22ID: 25686377

Again I'm siding with Diver point of view. There have always been people trying to convince the rest of the world that C, C++ and now C# is the best. Main argument for the two last ones being that it was close to the former, but it never quite worked for me as a pro argument.
I'm reassured now, there will ever be at least 2 Pascal/Delphi lovers/users in the world, whatever happens to CodeGear (say, if it's bought by Microsoft - God forbid !)

 

by: mrjoltcolaPosted on 2009-10-28 at 11:17:35ID: 25686468

I hope Delphi lives forever. It is a gem.

But if you think I've been trying to convince that C, C++ or C# is better for everything, you missed most of my points.

No one is better than the other, in most cases. There are pros and cons. Some of the pros and cons have nothing to do with the language syntax and all to do with the company or marketting force behind it and the qualityand strength of support, communities and 3rd party SDKs.

When deciding which is "better" you must first qualify what your requirements are. We are not discussing OS kernel development or device drivers or hardware assisted encryption, or I would be recommending C++. I assume the asker is making a business decision, regarding business apps.

I think you will see that both evilrix and I started out by cautioning _against_ C++ for GUI / business app development, and we are both strong C++ advocates, otherwise.

 

by: pgnatyukPosted on 2009-10-28 at 11:22:10ID: 25686509

we cannot convince anyone in anything.

We all have very different tasks, have different expirience, ... and this is good.

The language does not matter. We receive a task and we choose the tools. For one task the best choice is Delphi, for another task it is assembler. The decision about the tools in many cases comes from the marketing people, from he management.

Once, about 8 years ago, I had to work on a Venture - you are happy to not know what is this. I remember Power Builder - compare to Ventura it is a great thing.

 

by: Geert_GruwezPosted on 2009-10-28 at 11:35:38ID: 25686668

Woa, do you people have any clue how long it takes to read this whole question ?

I'm a long (long) time delphi developper and got a few courses in C++ and C#
The longer you develop in a certain language, the more experience you have
Usually you will have built a vast library of functions/procedures for all sorts of tasks

Depending on the tasks you are given and if the new task is similar to one that can use stuff of your library,
the faster the new project will run.

The basic problem when changing languages is that you just don't have this library yet.
You need to build it again, or gather it from all over.

We have a few teams for each type of job.
Delphi for fast production/machining/monitoring software
VB.Net or C# for anything website.

But i think with Embarcadero Delphi is getting a boost again.
You should see more developers pop again soon.
Providing they start giving courses again.  Because that's a current problem too.
Not many courses given = not many developers around.

But for your future, learn C++ or C# by all means.
It's just one other extra way of doing the job.

 

by: senadPosted on 2009-10-28 at 11:46:35ID: 25686794

 

by: ThievingSixPosted on 2009-10-28 at 12:57:51ID: 25687561

Geert_Gruwez: Read the first one there only(this thread has had enough reading lol). #14: what?..

 

by: aikimarkPosted on 2009-10-28 at 17:04:16ID: 25689472

Since you are a program manager/business owner, you have to decide whether you are going to develop code for native execution on Win32/Win64 systems or 'managed' code in the .Net framework.  

Are your Delphi applications currently running as Win32 or .Net?

Recommendations will depend on your answer to that question.

================
In the .Net environment, you can hire any .Net capable developer in any of the languages.  Once a unit is compiled, you can render it back into the .Net language source code of your developer's choosing.

 

by: senadPosted on 2009-10-28 at 19:07:32ID: 25690065

There's no good or bad programming languages but only those that do the required job in less time.
There's nothing in C++ that you can't do in Delphi.
IMHO the .net technology is dead (thou M$ desperately tries to keep it alive).

 

by: samenglishPosted on 2009-10-28 at 23:09:55ID: 25691027

My opinion is that Delphi is still supreme, and I've indulged in C++ and C#.

You're having trouble finding developers? That's your flaw. Any programmer can use Delphi, no experience necessary to be productive and use Google to search for answers from more experienced developers. But hey, if you don't mind being hostage to Microsoft, by all means jump on the band wagon. The more the merrier and safety in numbers, right...

 

by: pgnatyukPosted on 2009-10-29 at 01:54:11ID: 25691613

@samenglish: try to build an application for a WM device, a radio modem, barcode reader in Delphi. :)
You are talking only about the personal computers. Even there, make a fastest code you can that reads a trivial huge structured binary file in Delphi, then make the same in C and compare the speed. And of course you know a million examples like it.
When the time, memory and CPU loading are not important, when we talk only about a fast development of a pc application, when...., so it can be the best choice to use Delphi.
You know when in Delphi you will spend more time for a project? When you will need to make a network connector like ICQ has. If you will start a video game in Delphi.... I'll say you really know Delphi. :)

 

by: epasquierPosted on 2009-10-29 at 02:53:02ID: 25691913

> If you will start a video game in Delphi
oh, with DelphiX, the mix Delphi + DirectX is great for games. Ok, maybe not the big ones that need huge 3D/Physics engines and a team of 100 to get something for masses, but most probably it's because the interfaces to the famous engines have not been wrapped conveniently yet, and again the curious fact that Delphi is viewed as not qualified for these tasks. I've made a few myself (strategy board games) with decent interface and (2D) graphics in no time, thanks to RAD and DirectX.

 

by: mohannad399Posted on 2009-11-03 at 08:55:22ID: 31647051

Thank you all

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...