Who really wins Delphi XE2 or C# or may be Java Please defend your choice with pros and cons

Hi guys,
I am really dying to learn, Who really wins.
Delphi C# or Java or even you can defend Ruby.

I defend Delphi
My computer engineering student cousin is brain washed about Java :)
And finally C# with great power of Microsoft behind.

I am sure you consider this question very rocky but it is really important for me. (even after 7 years of Delphi experience)
fatihbarutAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

for_yanCommented:

I'd think, if you are sure that you'll always be doing stuff only for Windows, then C# maybe would be the best.

If you can not be sure of that (which is often the case) and if you are going to do  server-side stuff and not only on windows, then Java will be the best choice.

I'm rellu not that familiar with Delphi - but you know all about that yourself.
0
fatihbarutAuthor Commented:
Do you think someone can be expert of Delphi C# and Java?
Or it is necesseary?

In plain words I want to be mechatronic. With good programming basics.
My opinion is; If I be expert of Delhi it takes me to the end.

However I learned basics of C# in case Delhi can't solve problem.
But after XE2 I am very glad with Delphi and changed my mind.
0
for_yanCommented:

If you cahcek on google about programming languages for mechatronics,
most folks recommend mpre low-level stuff like C++ and assembly, and also Matlab.

liike here:
http://ca.answers.yahoo.com/question/index?qid=20110213094908AAPhQhb

It is probably goo at least to understand baics of assembly - happens with any language to know it in my mind.

I think there are now many devices with embedded java now also, though

0
OWASP Proactive Controls

Learn the most important control and control categories that every architect and developer should include in their projects.

fatihbarutAuthor Commented:
I know
I am also on it (asm).

I work very little bit with matlab, honestly I didn't like its interface and I sense I can do samething using delphi functions.

What makes matlab famous I didn't get exactly...
0
for_yanCommented:
Frankly, I don't know much about Matlab

But in a sene of mechatronics, I'd think that Java can win over C#, as, I think there would be more devices with embedded java that those supporting C#.
In general they have many things in common, so if you start with Java you'd be able to master C# rather easily and if you have a chance to use both regularly you can become an expert in both.
0
BdLmCommented:
Delphi XE 2 is a high performance cross platform programming solution

a) Microssoft will get never access to iOS
    if you only target WIN32 and WIN64 C# will be fine, but I you ever will consider UNIX, iOS or ... you are lost with C#

b) Java is also cross platform but not native ...  if you need speed you are lost with Java ...

c) if you need speed and cross platform .. DELPHI is a excellent tool , if you do not need that Java, C# or ... are also good solutions

0
fatihbarutAuthor Commented:
which kind of speed do you actually mean

The speed of programmer while writing program or speed of compiled program?
0
fatihbarutAuthor Commented:
thanks to all commented however I would be ver appreciated for pros and cons table off all
0
for_yanCommented:
this trail has some comparison, but a little bit old, say java has bad eidtor is defintely obsolete:

http://www.rhinocerus.net/forum/lang-pascal-delphi-databases/211695-re-delphi-vs-java-vs-c-comparison.html
0
for_yanCommented:

This is Delphi vs C#:
http://mzemaitis.wordpress.com/2010/05/04/delphi-vs-c/

but in mymind this is a little biased towards Delphi
0
BdLmCommented:
not sure if Mircosoft is interally happy about .NET and C#, of couse the push the programming language and have a good
market position, but future move to IOS and UNIX is blocked by default for C#
future of .NET is not that bright as the future of iOS
0
for_yanCommented:

In the longterm perhaps you are right but in the  future within 3-5 years  .NET or at least Microsoft will without doubt command still a huge chunk of the computing market.
0
fatihbarutAuthor Commented:
Sorry but honestly I didn't like this article, it doesn't give much information and not present it in good way.
http://mzemaitis.wordpress.com/2010/05/04/delphi-vs-c/

And I liked this article and share the same feelings with the writer but still need much more pros and cons
http://www.rhinocerus.net/forum/lang-pascal-delphi-databases/211695-re-delphi-vs-java-vs-c-comparison.html
0
BdLmCommented:

may be the longterm future will start with WINDOWS 8

if WINDOWS 8 will be recognized as a iOS clone -  the end of .NET & C# is near ....
we will get to C, C++ & Delphi with cross platform support
0
for_yanCommented:
I'm working in a huge company. We are still on XP. If winodws 8 is coming 5 years is a really good esitimate. And I'm sure windows 8 still supports .NET
Mac operating systems were better than windows since long time ago. But market is market.
0
Emmanuel PASQUIERFreelance Project ManagerCommented:
this article http://mzemaitis.wordpress.com/2010/05/04/delphi-vs-c/
is short, but I find it accurate and say it all. The real CON for Delphi is that "soon-to-be abandoned" feeling from both the "tossing game" and shrinking user base. But these are not technically relevant, and I can assure you that you can thrive making applications with Delphi, with higher pay rates.
If the big companies would listen more to hard technical facts than to marketing arguments, wanted to invest some time and money to teach their employees Delphi (yes, most beginners don't know Delphi but it's easy to find a Java or C# developper), in the long run they would produce better products, faster, cheaper. Or simply if they have the guts to not follow the short-sighted sheeps without thinking in terms of long-term business, then Delphi would not be so easily discarded.

With Delphi, but you know it already, you can benefit a high-level language, with a powerful, solid and extremely readable syntax (which is totally not the case of C-derived language like Java and C#), with a very well thought set of components/framework like in both competitor plateforms, AND still keep the ability to go low-level anytime needed (like tapping into windows API or dll or even ASM). That because it is a native language and one CAN perfectly understand what any code will produce on the machine level, where others just have tried all they could to mask it completely. But if you don't want to  go low-level, and keep cross-plateform compatibility (which is coming slowly but undoubtedly since embarcadero took the job) with high level functions, you well can do it.
If need arise, you can always call Java code from Delphi (or Delphi code from Java), and the same is true for .Net and any kind of COM base activeX code - so tell-tales saying that Delphi has fewer possibilities is just outright stupid, even without considering the huge amount of native delphi components available out there.

by the way, If you are a good Delphi programmer, you'll be a good C# developper in no time. The reverse is not true, just because Delphi language inherent structure and syntax forces you to become a better programmer, where C# (and worse, Java) can let you swim in mediocrity for your entire career. The best example is the garbage collector, but there are a lot of other features that looks like good ideas to get inexperienced programmers able to do things the quick & dirty way, without ever understanding what is really going on.
But one just have to have a look at the 95% of shitload, half of which will never work in a production environment, that are produced by computing services companies only hiring beginners and tossing them after a few years for cheaper developers to understand that was a really bad call.

> Mac operating systems were better than windows
for a user that starts 3 app max (not counting 1€ games and video player) at the same time on the same hardware throughout the world, maybe
for advanced users starting bunch of business applications without being afraid with more than an icon as GUI, that can work on all kind of PC hardware, there is NO comparison possible and windows wins all the time. besides, since XP (2002) windows is as stable as any, if you don't buy low level components/machines in supermarkets for 1/4 of the price of a Mac.

In the end, the Delphi vs C#/Java argument is on the same level as the PC/Windows vs Mac/MacOS argument : indoctrination usually stop the discussion short, because the real arguments that win on one side are impossible to defeat with logic and technical hard facts : it's all about feelings, and love or fear (which is exactly what it is) cannot be countered with logic.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
George TokasCommented:
Hi all,
If you check my profile you will see that I am C++ Builder "guy".
So I will "defend" DELPHI here but not the .NET part.

>>b) Java is also cross platform but not native ...  if you need speed you are lost with Java ...
Same applies and for C# and .NET mentioning here interaction - in both cases C# and JAVA - with external to the application frameworks, runtimes etc, in contrast with Delphi/C++Builder where the runtime covers all and can be linked to the executable.

I will NOT post my oppinion about C#. For the time I will keep it to myself.

George Tokas.
0
fatihbarutAuthor Commented:
You really summurized all my fealins with this sentence "The real CON for Delphi is that "soon-to-be abandoned" feeling "

Ok Genius you got 300 point from me, but I need some more information.
Especially a defend action from C# side.

And have a Last question which is better for being mechatronics.
- Learn Delphi Deeply and when ever I need a "not standard" approach write my own component.

- Learn C# as well and when ever I need something which delphi doesn't have write the code with C# and its native components (or commercial components)


By the way I need your enlightening approaches to two of my other questions.

http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_27498963.html

http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_27498870.html
0
Emmanuel PASQUIERFreelance Project ManagerCommented:
And have a Last question which is better for being mechatronics.
- Learn Delphi Deeply and when ever I need a "not standard" approach write my own component.

=> that is precisely what that mean to be a good Delphi programmer :
- you use 99% of the time standard stuff, or 'almost standard' = some well-known libraries like JVCL , or other successful 3rd party components sets that you hand-picked along the time and decided to purchase (with source code) because they proved reliable from one Delphi version to the next and offers excellent features to include in all your applications. All these 3 cases fall in the same category : when you have a functional need, you immediately know which component you like to use, and how, and are done within an hour or so.

- then comes the 1% cases where you don't have an already tested/approved component, and you need research. Your first step might be google, or some well-known Delphi components repository like http://www.torry.net/
You will usually quickly find something that does what you want, or almost, and you'll try it a bit.
Maybe it will be exactly what you need, but comes at a price, and then you'll have a business decision about how much time/money will it make you gain and if it is worth the price. Usually I don't hesitate long for components <100€. Or maybe you found a free alternative and then you'll find that it's not exactly what you need, and you will extend/customize it yourself. You very rarely have an interest/need of building a component from scratch.

- Learn C# as well and when ever I need something which delphi doesn't have write the code with C# and its native components (or commercial components)

=> you are never going to find anything that can't be done with Delphi. As long as we speak of the PC/windows target.
But in some rare case, you'll find Java or C# code/components that does exactly what you want where you couldn't find something as precisely it in native Delphi code. If you don't feel up to do the translation yourself, you might consider using the bridges like Java Native Interface (JNI) from Delphi, or modify just a bit the .Net code to make it a convenient activeX that you can then integrate in a few clicks in Delphi.

Which means that it cannot hurt to know at least a bit of other languages even if in the end you use Delphi 99,9% of the time (like I do - yet I know about 10 languages at least enough to make conversions)
0
Emmanuel PASQUIERFreelance Project ManagerCommented:
about this :
You really summurized all my fealins with this sentence "The real CON for Delphi is that "soon-to-be abandoned" feeling "
don't fear. Believe that Delphi is simply too good to be abandoned.
Consider the lifetime it already had : Delphi itself exists since 1995, and can even be traced back to Turbo Pascal in the early 1980's
http://delphi.wikia.com/wiki/Delphi_Release_Dates
Let's limit to TP 5.5 around 1990 which was the first Object Oriented version. That's 20+ years without a single need for breaking backward compatibility. The language simply evolved since then on what proved to be an excellent root.
One might say that Unicode string in Delphi 2009 broke the backward compatibility, but that is only partially true : if your code was well written, didn't make too much assumptions while casting pointers or such other behaviours, then an object written in 1990 will still work in 2012 (if it does not use DOS related functions)
I remember having a discussion about TP vs C in early 1990, and we were only comparing non-object features. I was almost alone against a bunch of C programmers trying to tell me that what I was doing every day (system programming) was impossible with Pascal while C was the best language ever and [C++] would kill Pascal. Well, I suppose they don't have that much luck with their C/C++ code under C# these days.

What other language can claim such longevity, except very old and very specific languages that cannot be used for any kind of applications ?
0
fatihbarutAuthor Commented:
You are right.
But why some commercial programs like MatLab and Maple doesn't have naturally support for delphi while they have support for C++ and C#.

I am pretty sure someone can achive great jobs with integrating MabLab and/or Maple into delphi.
0
Emmanuel PASQUIERFreelance Project ManagerCommented:
matlab can integrate C/C++ made dlls, or activeX objects from C-like scripting
You can create those DLL or activeX with Delphi, matlab would not know the difference.

the reverse is also true, you can compile from matlab a c-style dll or COM object that you can then call from Delphi
http://www.mathworks.com/matlabcentral/newsreader/view_thread/71890
http://www.docstoc.com/docs/2566553/How-to-connect-Matlab-and-Delphi-7
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.