Friday, January 27, 2017

One month after Diving Back into Delphi: Hey I still Really Like Delphi!

I spent most of 2016 not writing Delphi code.  Yeah, I fixed the odd bug here and there, but mostly I was focusing on C#, ASP.Net core, and lots of other stuff.   Starting January 2017, I've gotten back into Delphi in a big way, because I'm working at a new job.  So far I have to say, I like it.  Delphi, and the new job.

I was kind of dreading going back to Delphi after having escaped it for almost a year.  But I have to say there's a few things I really really like in Delphi that I miss when I'm working in the .net and visual studio world:

1.  I like that the language isn't as complex as C# and there isn't fifteen ways to do things.

2. I absolutely love CodeSite and haven't found anything as useful for C#, although Serilog+Seq, comes close, and is web based, which is a bit more modern than CodeSite.

3. I absolutely love Nexus Quality Suite and haven't found any other tool for profiling and watching apps run, and seeing what they're doing inside, as much as NQS.  Now there are a lot of tools for .Net but actually NQS is pretty awesome.

4. I actually just like how pascal syntax works, it's clean, it's just the right level of verbosity. Begin and End are better than Curly Brackets, dammit!  And Colon-Equals is objectively the right way to do assignment. And strings should be one based! Fight me!






9 comments:

  1. I agree, Delphi is cool, way cool.

    The only thing I disagree is that web-based "apps" are more modern. I personally despise web-based solutions and never use them as I need my apps in my computer, apps that run offline, in a plane, in remote places, in 3rd world countries, etc...
    I also think that web-based apps have philosophically died. Why? It was supposed to be THE solution for avoiding software deployment curses. But having to distribute DLLs etc is long gone. And if, like me, you don't install Flash and the security colander Java virtual machine, then the web-based solutions don't work most of the time, not in my Mac, not in Windows, not on my iOS devices.
    Are web-based solutions modern or just trendy, or worse, snobbish?

    Look at what customers are asking for today? They ask for desktop apps that run in their machines, not remotely (except of course if you rely on remote databases and resources). And what do we offer them today? RCP apps. Ok they have a .exe but it's embedded in Eclipse, based on Java and is sluggish no matter what one might say on Java performances.

    Since we are back to desktop .exe apps, why don't we provide real apps, optimized, fast, elegant like C++ and Delphi apps instead of .NET and Java based ones which require 3rd parties to actually run (and be interpreted anyway instead of executed)?

    So yes, Delphi is good almost just for this reason alone. It's not the only one there, but at least it one that delivers real apps.

    ReplyDelete
    Replies
    1. Steve, I couldn't agree more on the web-based part - end-users have in too many years now had sluggish and confined experience in a browser - just because the "hype" suggested that everything should run in a browser.

      There might be good reasons to do browser stuff - but if it discourage the users to do their actual task at hand - due to performance, lack of offline capabilities and limited functionality - then that is disrespectfully to the users - which in the end is our customers as developers.

      Great Warren, that you get to spend more time with what you like - but also that the diversity of your knowledge can help make things better - regardless of which environments is worked in.

      Delete
    2. Although I spend lots of time writing web-dev related code, I think that the "everything on the web" just sucks! The vast majority of people still prefer Outlook over web-based e-mail clients, Word and Excel over anything else. Cad, image edition/processing, text editors, even when using the latest and greatest web frameworks, just don't cut it. The usability is not the same and, performance-wise, local applications are still better. The fact that webkit can execute JavaScript code just as fast as native compiled C++ doesn't mean that web applications will run as fast and smooth as their desktop counterparts. There are lots of overhead involved and the JavaScript execution part is just a small part of the whole.
      However, IT managers always prefer web based solutions because it is "easier" to deploy and maintain within an organization. They just don't have to worry about deployment, licensing, upgrades, hardware compatibility, etc. When IT managers can't find a "viable alternative" to desktop applications, they confine them inside a Citrix-like box and you will have to live with it. Basically that's why web based apps are preferred over desktop. And this won't change in a foreseeable future.

      Delete
  2. Congratulation for the new job and welcome back to Delphi.
    Object Pascal is very elegant by design. After exploring some functional languages and making a small project in f#; I appreciate more how Delphi is more elegant, less verbose and concise comparing to main stream languages.
    Well, the single quotation for strings bothering me some time.

    ReplyDelete
  3. Hope the job pays well. The problem is that it's tough to get a job that utilizes Delphi/Pascal. A lot of technical interviews will have people aged <= 30 and they have never used Pascal, as it is no longer taught in school. JS is unfortunately, imho, the new front/back end development tool for web development (MEAN, Node.JS, etc). Client development with native apps, is still a thing, but only in legacy architectures. I still write/support Windows/Delphi apps and have ventured into the outside job market a few times. You'll find no-love from anyone for using Delphi.

    ReplyDelete
  4. The Delphi job market may seem dire, when you use public websites like Stackoverflow, you might not find much. I know more than one company that's hiring Delphi devs right now. Anybody with solid Delphi skills, send me an email.
    Warren dot Postma at gmail dot com.

    ReplyDelete
  5. As far as the job market goes, we have an existing 7-member Delphi developer team, we're adding 3 new interns soon to learn Delphi while trying to setup a program with a local High School to teach Delphi in order to grow our own future developers. We are always looking for one or two more full time Delphi developers. (on-site and full-time in Davenport, Iowa or in our small dev-only office in Geneseo, Illinois.) (No head hunters, no visa sponsorship) We're a 20+ year old software company that loves Delphi. If you have anyone interested Warren, or other readers, connect with me on linkedin: https://www.linkedin.com/in/darianm or send email to cto at promaxunlimited dot com. Note that I'm not a head hunter, I'm a Delphi developer looking to expand my team.

    ReplyDelete
  6. "1. I like that the language isn't as complex as C# and there isn't fifteen ways to do things."

    Yup, Delphi is so versatile I think I can up with 100ths of ways to do things... Did you mean that? Then you are correct ;)

    ReplyDelete
  7. There are always literally hundreds or thousands of ways to do anything in almost any language. But Delphi's language is not as rich as C# and actually, I think it's better that way. C# is not crazy like C++ is crazy, but it's big, and complicated, and there are some surprises in there sometimes. Delphi has some surprises too.

    ReplyDelete