Hacker News new | past | comments | ask | show | jobs | submit login

I used to love Borland tools.

Having learned Turbo Pascal before C, I never liked C, given the capabilities of Turbo Pascal.

Type safety, blazing compile times, modules, system level programming, objects.

Management killed Borland products thanks to their continuous change of brand, lack of investment on Kylix and Anders going to Microsoft.

Most customers became reluctant to keep investing on their tooling.




They really, really wanted to become an "enterprise" company. They acquired certain management people who saw development tools as a dead end, and decided all the money was in the enterprise.

But they misjudged the market, and invested in products like Visibroker and Midas (and dead-end tech like CORBA), not really understanding what they ought to be building.

(This wasn't the beginning of their troubles, though. They bungled a lot of decisions before then, especially with the purchase of dBase and Paradox, and the Windows version of Quattro Pro.)

I stopped using Delphi in the late 1990s, but even then I could see how it was heading towards obsolescence. Not the GUI development model itself, which was brilliant and which I sorely miss for OS X GUI development today, but Object Pascal.

Sure, Object Pascal is a good language, but it was very insular, not portable, often very Windows-specific, didn't integrate well with other things, and didn't evolve fast enough. I was able to work with C and C++ libraries, including Dialogic hardware APIs and Microsoft tech such as MAPI and TAPI, by writing a translator (htrans) that parsed header files into an AST and produced Object Pascal interface files for them. But it was very tiring. I had high hopes for C++Builder, but it was a major disappointment when it arrived. For one, it relied on a lot of proprietary C++ extensions.

I was using Delphi/Object Pascal for a lot a systems development, non-GUI backend stuff. It seems a bit quixotic today, but it was fun, and I liked the language. It sort of filled a particular niche that Java would overtake a few years later.


Thanks for sharing your experience, very interesting.

I left the ecosystem around Delphi 1.0, when I started to be more focused on UNIX at the university and only had p2c available. :(

For me C++ has the way out as it provided many of the language capabilities that Object Pascal also had.

Like many C++ early adopters, I also created my own set of classes (vector, string, lists) that insulated me from the unsafe C world as most as possible.

Due to its ubiquity, C++ is my language to go for native coding, but I hope one day it gets replaced by Rust, D, Nimrod or any other safer systems programming language.


It's a curious thing, technology exposure and ending up using — and being limited by — what you know exists.

I remember getting an Amiga in the early 1990s. I had programmed in assembly language on the C64, so on the Amiga I learned the Motorola 68000 assembly language, of course. I didn't know any other type of programming (other than BASIC). I had heard about C, but I didn't know people used it to write software on the Amiga. I remember buying a book about Intuition (the AmigaOS windowing system) and trying to figure out how to call the APIs from assembly language, which was of course fruitless, as I didn't even know how about the concept of linking, let alone how to look up library functions from assembly. Nobody had told me about C!

So I was a Windows person in the 1990s because that was the thing people used at home, and it was natural for me to use Delphi, not C++. I had looked at C++, but the possibility of using C++ for my projects never really struck me. Delphi was such a phenomenally productive tool. Windows seemed like the only viable platform. A lot of people are exposed to UNIX in university, but I didn't go there, so my first taste of UNIX was (aside from Amiga) Linux.

I agree with you about C++. I've had fun writing Go, but it feels like a stopgap solution until the real next-level language appears. Rust, maybe. Nimrod does look cool.


Yeah, on those days we only got to know what our friends new.

No Internet, No BBS, No Network.


Exactly!


What you're saying rings true to me. I also learned Borland/Turbo/Object Pascal first (perhaps somewhat unusually, I went from Borland Pascal to C++ to Delphi when learning to program as a kid). Although I can't say I never liked C there are many things about Object Pascal I found superior that I miss in C, especially the built-in string type (for those who haven't used it, in C-land it can be compared to bstrings but it's handled completely transparently).

If you wanted to use Object Pascal today and not have to rely on Embarcadero for the continued support of your tools you could use Free Pascal and Lazarus, which are both free software (GPL-licensed). Unfortunately, there's bit of a stigma against using any variant of Pascal these days (to which, no doubt, the many crappy CRUD apps written in Delphi and Borland's management of their product have both contributed), so it's not a good choice for new projects, especially free and open source. I wonder if Nimrod could be the comeback of type-safe compiled languages that don't target the JVM.


Nimrod does indeed look very much inspired by Object Pascal (it even uses the classic Borland "T" and "P" prefixes for types and pointers, respectively, something I honestly never liked).

Object Pascal was a fine language, but I don't see the point of using it today, not without removing a lot of the historical Pascal warts (begin/end, the weird semicolon rules, somewhat poor integration with C, etc.), and then you pretty much end up with Java.


Actualy C# I would say. ;)


Indeed! C# seems like the bastard child of Java and Delphi.

To be honest, I don't think I could ever go back to a language where method names started with an upper case letter. What were we thinking!


> Unfortunately, there's bit of a stigma against using any variant of Pascal these days

Ada seems to be only one really surviving, but it has a niche in only in areas where security and human lifes have priority over frames per second.

> I wonder if Nimrod could be the comeback of type-safe compiled languages that don't target the JVM.

I have been looking at it lately, but it seems to be a one man show, right?


I loved it too. I moved to "C" because of one missing function in Pascal (and as I would say now - it's runtime library) - "movefile" - e.g. moving file from one directory to another.

Also someone was spreading rumours that all games were written in C/C++ so we had to move to it :)

When I learned assembly, and got my Ralph Brown's interrupt list (best thing ever back in the days) I went back to Pascal and made little assembly function for "movefile".

I remmember friend of mine, who just moved to "C" put all his code in the .h file - and it was compiling all the time. Back then having .TPU file and not having to write additional header file was very advanced compared to C/C++ - and the compilation times were much faster.


We were doing games in Turbo Pascal with a bit of inline assembly here and there. :)


My experience was quite the opposite - Borland C++ 3.1 and I never liked Pascal ;)


Thankfully C++ is not just the C underpinnings.

I got to use C (Turbo C 2.0) just during one year, and quickly jumped into C++ with Turbo C++ 3.0 in 1993.

With C++ I could get a bit of Turbo Pascal features back.

During my studies and career, I only used pure C when forced to so.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: