Delphi Vs Visual Studio
This is a comparison between developing software in Delphi
XE+ vs Visual Studio 2015 (C#). I’ve decided not to go to in-depth with regards
to syntax or run time dependencies of executables. I have experience in both
although I have mainly developed web service and WCF services in C#, and mainly
developed desktop applications in Delph, so that might affect some of my
opinions.
Delphi Pros
- Quick and easy to develop desktop applications.
- I prefer the form designer, because I find it
easier to use.
- Quick to compile projects.
- I like the code structure of interface and
implementation in the same file.
- You can develop mobile apps.
Delphi Cons
-
Code insight is slow and could be significantly
improved.
- Some areas of the IDE look dated and it needs
investment to keep it up to date with its competitors.
- Find declaration does not always work, finding
the function or procedure is more time consuming than Visual Studio.
- Hard to employ developers as there are not many
about.
- Code insight is slow to update, for example add
a new property to a class and sometimes you need to compile to make that
property available for code insight.
- Unit testing using DUnit feels old and there has
been little development of it over the years.
Visual Studio Pros
-
IDE has a more modern interface, like the option
for a dark color theme.
- Code IntelliSense is great, and I like the
‘potential fixes’ option which is very useful for adding directive or assembly
reference.
- Unit testing is easy and integrated into the
IDE, making it easy to run tests while you are developing.
- Debugging services is easier than when I have
developed services in Delphi, this might have changed recently in later
versions of Delphi.
- Peek definition is a nice feature.
Visual Studio Cons
-
Slow to start-up.
- Sometimes freezes and it is best just to wait.
You should take a look at TestInsight.
ReplyDeleteIt does exactly what you know from Visual Studio where you can run your tests directly from the IDE and get the results displayed in a docked windows without being interrupted while writing code/tests.
Just started looking at TestInsight, and I like the way it integrates into the IDE. I have noticed that it does not like multiple instances of Delphi, when I run XE and then try to start another instance of XE or XE5 I receive a 'TestInsight listener could not be statrted' error and I need to end the process in Task Manager.
DeleteThe issue relates to the port range I specified. Why does TestInsight need 10 ports to listen on?
DeleteIt only needs one port. But when you start a second instance of it obviously it needs a different port than the already running one listens to, right? It then picks one from the specified range.
DeleteDebugging services in Delphi hasn't become much easier. The remote debugger is better than it used to be (I have been told), so you don't need the IDE to run on the computer that runs the service. Still, it's a pain.
ReplyDelete