Favorite Language

Lately I’ve been developing a couple of GUI applications. I started with Tcl/Tk, but quickly ran into Tcl’s limitations (again)... I like Tcl, honestly, but it can be such a pain at times...

So I went to my Go To Win/GUI language/development suite: Delphi.

And, honestly, I think Object Pascal is so much more elegant and convenient a language than anything else I’ve ever touched.

Sure, it has its issues, and there are a few things I would like to see it do, and a couple of things I think were done wrong (such as the horrid operator overloading syntax inflicted on us by Embarcadero — XSC had a significantly more elegant solution).

But I am really enjoying it. I still don’t quite know why Object Pascal fell out of vogue. Suddenly it wasn’t cool anymore, and modern languages think they are, but they really don’t have much to be smirky about compared to modern Pascal.


I’ve been listless lately without MSVC (I seem to keep having grief with my HDs, so, reinstalled OS and everything, just stuck with 32-bit OS on my 64-bit machine until I can come up with a couple of hundred bucks for Windows 10, since MS doesn’t believe me that I purchased Win7 64 and have been using it for years, but don’t seem to care that I’m using an old Win7 32 instead — jerks). /end rant

In any case, just got myself Clang++ installed following the instructions here: http://blog.johannesmp.com/2015/09/01/installing-clang-on-windows-pt2/

(Once I get MSVC reinstalled — after I get myself a nice 64-bit OS — I might still reinstal the Clang/MSVC option I had running before, since executable size is an issue for me. I know, old school.)


In any case, I’ve now happily got Delphi, C++ (and C), and Tcl/Tk working for me. Those are my top faves.

I admit I also like assembly, and if you get yourself a copy of MASM (http://www.masm32.com) you’ll find you like it too... but I’ve had no real need for it since the days of the 286... Delphi can do inline assembly if I ever need it.


So, d’yall have a language you particularly like (assuming C or C++ is a given; if not it’s okay to say so)?
You should give C# a try if you haven't already. Nowadays it's my go-to language for quickly throwing GUIs together, when I don't have particular design constraints.
closed account (z05DSL3A)
I have a bit of a love/hate relationship with C#...the hate is more around .net than the C# language...and again it is probably down to me not being able to keep up with the rapid changes and false starts.

Objective-C is another language that quite like, the death of my MacBook has put an end to learning that...and possibly the advent of Swift.

I keep coming back to C++ but could do with getting my head around where Microsoft see it in their ecosystem.
I think I know what you mean. I once made the analogy that developing software for Windows is like chasing with your motorcycle the Microsoft Van that's speeding down the highway, and every once in a while they throw a technology crate (MFC, Silverlight, UWP, etc.) at you, and you have to dodge it if you don't want to fall down.

In my experience, anything that can be done on Windows can be done in C++, but not necessarily in other technologies. It's just that C++ isn't the hot new thing, so this doesn't get much attention.
C# is Not My Cup of Tea. (BTW, I hate Java too.)

The constant changes are one of the things that bother me about a lot of modern languages. Object Pascal is a pretty solid language, and you aren’t always trying to keep up with some new crap being pushed on it.

In fact, one of the things I most dislike about C++ is how much larger and more fractured the language becomes every few years. My personal opinion is that it is a flaw in the original design (part of which comes from C, but much of which does not).

Deep down, there is a beautiful, elegant language and object model, but it is very heavily crusted over with efforts to make it awesomer.

In my experience, anything that can be done on Windows can be done in C++, ...
That’s true, and VS has some pretty amazing tools at your disposal, but I’ve honestly never seen anything even close to the power Delphi gives you as a RAD IDE. (A lot of what VS can do now, Delphi has done for years.) Props to Ultimate++, too.

I used to be able to consider myself a Windows API expert, but these days I’m a rank noob. Just executing an "open file dialog" has become an inane task. Thanks, .NET mentality.
C# is Not My Cup of Tea. (BTW, I hate Java too.)
Would you mind expanding on this?

The constant changes are one of the things that bother me about a lot of modern languages.
Eh. Change is fine for me as long as compatibility is maintained coughpythoncough.
If you want suckyness you should take a look at the JS/ES ecosystem. It's not just which version of the language you're using (and it changes from year to year), but also where you're trying to run it. For example, we had a nasty surprise a few months ago when I found out we couldn't generate cryptographically secure random numbers on phones just using ReactNative.
Every time I have to use it i find another reason to dislike JS.
JS is a weird language to begin with. It has quite a few nasty gotchas with its object model that no one seems to warn you about when you first start coding with it.

Modern language design is typically an ideological exercise. And, IMHO, Java (and C#) demonstrate the height of hubristic ideology in their design.

They work fine, but the stupid in them just rubs me the wrong way. Not to mention the need to program in triplicate. (Oh, did I just mention that? :-> )

tl;dr: I just don’t like them.
I've been using D ( https://dlang.org/ ) for a while now and I'm quite impressed. I used to write stuff in Python and whenever I needed a speed boost I would Cythonize some parts or use PyPy if possible, but nowadays, when I know I'm gonna need that speed boost eventually, I just code straight in D.

Has anyone else here ever used it (either for work or at home)? What was your experience?
What's the third party library situation? It strikes me as a relatively unsupported language, especially if compared to Python.
It certainly can't rival Python in this respect, but it's not that bad. There is an official repository with 1500+ packages, plus, if I recall correctly, it's even ABI compatible with C, so you can use any C library as well. Companies that use it for real-world stuff ( https://news.ycombinator.com/item?id=18606127 ) typically make open source contributions as well.

Though, to be honest, so far I've used it mostly for algorithm prototyping and misc utilities ( e.g. I've implemented a hook-less, GetAsyncKeyState-based version of this https://stefansundin.github.io/altdrag/ ), so I can't say I have thoroughly evaluated the library ecosystem.

But my overall view is that it's gaining momentum, albeit slowly -- the back-end of DMD (reference D compiler) was relatively recently (finally) open sourced and GCC 9 will ship with GDC (a D compiler using the GCC back-end), both of which I believe will have a positive impact on adoption and further development.
Last edited on
Topic archived. No new replies allowed.