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

Pascal/Delphi

Before there was an internet of lightbulbs and smoke detectors, there was an internet of industrial process things.

And they used windows 2000 and Delphi. They still do.




Delphi/Pascal ran the call center telephony system at a company I worked at, and it ran it well. It was very performant and stable, and ran things for around 14 years.

Spent a while writing and modifying Delphi apps there, I really enjoyed it. I'm actually surprised it isn't used more today, it was definitely "rapid development" at the time.

One thing it was great for was making small, dependency free executables. Similar to today's concept of "Microservices" we often wrote small executable services and applications for tasks and it was very straightforward and simple. You could whip something up in a couple hours that accomplished a lot. Push the .exe file somewhere, add it into the process and forget about it.

Not surprised people are still out there using this stuff.


> I'm actually surprised it isn't used more today,

I'm not at all. Embarcadero has made Delphi a language that is out of reach of the beginner as their Delphi has been rediculously priced. Until recently they didn't have a free Delphi entry level product, it was $199 and was crippled. Now they at least have a free version but the cost has prevented me several times from actually learning Delphi. Now there is FreePascal but Lazarus just seemed clunky and I don't think it has as many bells and whistles as Delphi has.


>I'm not at all. Embarcadero has made Delphi a language that is out of reach of the beginner as their Delphi has been rediculously priced.

Where I live, piracy is casual. People get software for free, and they stopped using Delphi because of Embarcadero. When people don't even deign to pirate your software, something's off.

I think there are many who are still on Delphi 6 which is what I used when I was younger. It was simple, effective, tight. Then that Embarcadero thing came out.


I just think their marketing sucks and their IDE is nowhere near Visual Studio but the price points are nearly the same. Sure you get the VCL and other proprietary things (such as their fireman firemonkey app platform which deploys to android and iOS) but the cross platform tooling for .NET has gotten much better that C# makes more sense for many LOB applications than Delphi does.


My company has a multi-million-LOC application directed at medium to large healthcare providers written in FreePascal. I have worked with a lot of different codebases, and this is by far the best one. I would like to say it is because I have been the code dictator since it's inception, but it is probably because things are quite easy to structure using pascal.


I am working on 20 years old codebase that runs accounting, warehouse management, time tracking, invoicing and whatnot monster that power most of the roofing companies in Austria. It is still Delphi 5 + Paradox, developed on Windows XP (I run it from VM on Mac), but work on modern Windows as well. Networking is a bit of problem, but nothing we can't deal with.

On the other side, I don't think that Delphi/Pascal is dead and I am starting new project this month: control software for laboratory equipment. I can't find any other tool that will let me create multiplatform desktop software that interface directly with hardware. This new software will be written in Lazarus instead of Delphi.


Not unsurprisingly, I'd much recommend getting rid of Paradox. For my projects (several 100KLOCs, most of it DB-related) I relatively easily migrated to Firebird with IBObjects (http://www.ibobjects.com – not affiliated), both of which have been a major success.


Migrating db is on my list all 9 years I am working on project, but I still havent find a way to do it. Core of the problem is stupid idea that paradox tables are actually files, so there are tons of copying and moving files around instead of using paradox as db.

Given the complexity of project and our budget it will have to stay.


You make me want see it and really not want to see it at the same time. :)


Don't let me started on custom file locking mechanism and ways to modify the file system on remote server.

To be honest I am not sure if the founding developer was crazy genius or just crazy.


"Before there was an internet of lightbulbs and smoke detectors"

Hahaha. That was good.

Delphi is used heavily at my company to process millions of transactions a day, in the credit card industry.

I myself am a C# developer though. But I respect Delphi's performance and relatively clean syntax.


That's funny because Anders Hejlsberg was the chief architect of both Delphi and C#.


Hence why I consider a big error to have created the CLR in first place.

Now we kind of got .NET Native, but it still isn't 100% done.


Sometimes I fantasise about what would've happened if MS had decided, by some fluke, to push, say, OCaml as their big .Net initiative. Can you imagine MS Visual OCaml#? OCaml for Windows app development ... that would've turned some heads.


You mean instead of C#? Their pushing F# a bit now


Exactly, instead of creating a Java clone, what if they'd decided to use a well-understood existing functional language with an elegant module and object system from the very beginning....


F# is a great project and we have a passionate community behind it, certainly a good thing to try if you're into functional programming


I'm getting into Elixir for my functional programming fix. I had looked into F# awhile ago but it wasn't for me at the time


Same here but MPW Pascal with 68K Asm.


What, really? In 2017? Explain, please!

You're deploying on 68K Macs?



Ah, interesting. I used MPW a bit, but far more THINK C and CodeWarrior "back in the day." It is interesting to me that the MPW toolchain would still be useful.


Fascinating! And you keep old Macs around to run the toolchain on?


Been using emulators for years - first classic or whatever it was called on OSX, then basilliskII/sheepshaver, and now mpw:

https://github.com/ksherlock/mpw

Here's the end of a Makefile, very unix-like:

  APPL = ${TYPE}${NAME}
  DATA = DATA${NAME}
  OBJS = ${NAME}.p.o
  LIBS = ../WordSum.asm.o ../LASysLib.a.o ../PasLib.o
  
  LANG = C
  
  MPWC = /usr/local/bin/mpw
  
  AS = Asm
  AFLAGS = 
  
  CC = SC
  CFLAGS = -mc68020 -mc68881 -b2 -Opt all 
  
  PC = Pascal
  PFLAGS = -mc68020 -mc68881
  
  LD = Link
  LDFLAGS = -w -t LApp -c MPWX -m MAIN -sg ${NAME}
  #    Link -w -t TEXT -c RWG1 -rt CODE -m HELPLOOP -sg HELPLOOP
  
  CFMFLAGS =
  # CFM = ${MPW:/mpw=/cfm}
  # CFM = /usr/local/bin/cfm
  CFM = cfm
  
  # TFTPFLAGS = -vt
  TFTPFLAGS =
  # TFTP = ${MPW:/mpw=/tftptool}
  # TFTP = /usr/local/bin/tftptool
  TFTP = tftptool
  
  .SUFFIXES : .p.o .p .c.o .c .asm.o .asm
  
  .phoney : all clean install
  
  all : ${APPL} ${DATA}
  
  .asm.asm.o :
  	${MPWC} $(MPWFLAGS) $(AS) $(AFLAGS) $<
  
  .c.c.o :
  	${MPWC} $(MPWFLAGS) $(CC) $(CFLAGS) $<
  
  .p.p.o :
  	${MPWC} $(MPWFLAGS) $(PC) $(PFLAGS) -r $<
  
  ${NAME} : ${OBJS} ${LIBS}
  	$(MPWC) $(MPWFLAGS) $(LD) $(LDFLAGS) ${OBJS} ${LIBS} \
  	  -o $@
  
  ${APPL} : ${NAME}
  	$(CFM) $(CFMFLAGS) $< $@
  
  mult.asm : mult.py
  	./mult.py >mult.asm
  
  mult : mult.asm.o
  	$(MPWC) $(MPWFLAGS) $(LD) $(LDFLAGS) $< -o $@
  
  ${DATA} : mult
  	$(CFM) $(CFMFLAGS) $< $@
  
  # send DATAFILE first
  install : ${APPL} ${DATA}
  	$(TFTP) $(TFTPFLAGS) ${NODE} ${DATA}
  	$(TFTP) $(TFTPFLAGS) ${NODE} $<
  
  clean :
  	$(RM) -f ${TYPE}${NAME} ${NAME} ${OBJS}


I learned to program with Delphi and this was 2.5 years ago, since then I've been actively working with.

My only problem is that I have to maintain legacy codebases without OOP code.


One of the companies that works with us in health care projects do all their Windows products in Delphi and AFAIK they don't plan to change anytime soon.


>And they used windows 2000 and Delphi. They still do.

Ha ha, good one.

There was this interesting thread on Delphi a while ago on HN:

Delphi – why won't it die? (2013 (stevepeacocke.blogspot.com)

https://news.ycombinator.com/item?id=7613543


I like Delphi. I used to play a lot with both Dephi 7 and VB 6 back when I was in high school. The nice thing about both of them was that they made GUI programming really easy, but Pascal was just a nicer language.


There are still a bunch of modern Windows desktop applications written in Delphi and C++Builder – I work on one of them. ^_^

I really like Delphi actually. It's a shame Embarcadero doesn't really seem to care about it.


Delphi and C++ Builder downfall sadly started when Borland went greedy and started to scare customers with their lack of business focus, specially the spin off.


I think their biggest mistake was trying to follow Microsoft into .Net instead of taking over the native desktop development niche. A native Delphi 8 with some VB6 import tools would have done wonders for them.


Don't agree.

Their biggest mistakes were focusing on enterprise life cycle tools, selling the developer tools unit, creating an half hearted port of Delphi to GNU/Linux based on WINE, letting all the key developers leave the company.

All these together created the image that most of us should leave Delphi and C++ Builder while it was still affordable to do so.


They have had so many mistakes over the years, embarcadero with their predatory pricing has finally chased me away


Projects I know I'll need to heavily modify or work on for the foreseeable future, I bring forward into Lazarus. Lazarus has quite a bit of activity in its community.


Lazarus did huge improvements in last 5 years, just MacOS version needs more love.

I keep spending tons of time fighting problems, even with mainstream libraries like sqlite.

Still the best tool for multiplatform desktop apps development.


I spent time recently in the webcasts for the new version of Delphi, and from what I saw they're doing some good work. The mobile development for example is enticing.

But, and I asked during the webcasts, who's going to buy into a new project now?

For myself I have a couple of old D7 apps for clients that have been running for a decade now.




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

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

Search: