6 ms·
A shocking aspect of Delphi 1 was the gargantuan executables it insisted on producing. There was much forum posting and gnashing of teeth. Hello World ran to a
by interfixus 10y ago
A shocking aspect of Delphi 1 was the gargantuan executables it insisted on producing. There was much forum posting and gnashing of teeth.
Hello World ran to about 100 kB.
Funny thing is, I am just getting into Go, and you know what?
- eli 10y agoVB was worse if you included all the required DLLs.
- gressquel 10y agoI remember when we developed "remote administration tools" (trojans) we used Delphi but we made it as console application. The executables ended up on 15 kb for a full-featured RAT.
- saganus 10y agoAhhh... the memories. In the 90s I met this guy in IRC that used Delphi 2 to program a RAT called Hacker's Paradise. He was very kind with me (I was much younger than him apparently) and shared the source code so I could learn from it since I was constantly asking him programming stuff. Then later he renamed the tool "Master's Paradise" so he could go legit and sell it to companies and compete with MS BackOffice. I enjoyed talking with him so much, even though I could barely understand OOP, but the thought of talking to a real developet left me an impression
- jk4930 10y agoMy first Hello World in Ada was 2.3 MB, but I'm sure it was the most safe and reliable Hello World in existence.
- segmondy 10y agoI have no idea what you did, but I find that hard to believe, and this is with GNAT. I have a hello.adb program, 99bytes, compiled 25k -rwxrwxr-x 1 seg seg 25352 Nov 2 01:26 hello -rw-rw-r-- 1 seg seg 99 Nov 2 01:23 hello.adb -rw-rw-r-- 1 seg seg 1409 Nov 2 01:26 hello.ali -rw-rw-r-- 1 seg seg 1576 Nov 2 01:26 hello.o
- jk4930 10y agoEnd of the 1990s with GNAT 3.1xx on Windows. IIRC there were several libraries and runtime elements included "just in case" and I didn't know that I had to deselect them. Perhaps it was the default setting in the GNAT Programming Studio (GPS) that I used at this time. Didn't experience that with later GNATs (without GPS) on Linux. I still laugh about my first Hello World. My friends mocked me for my megabyte-sized beginner programs. It totally was in line with the image of Ada being a bloated, bureaucratic DoD monster. GPS made things feel extra complicated and ugly. That said, I'm considering to use Ada 2012 for several of my upcoming works.
- msbarnett 10y agoOlder versions of GNAT used to statically link by default IIRC. So you'd inevitably get some clueless complaints that Ada was so much bloat compared to C, based on comparing the size of a statically linked executable to a dynamically linked executable.
- masklinn 10y ago> Funny thing is, I am just getting into Go, and you know what? Hello World is 1MB?
- interfixus 10y agoExactly :)
- StevePerkins 10y agoThere's just no way to develop a GUI application (especially a cross-platform one) without shipping something large. You can use Electron (and basically bundle Chrome), or JavaFX (and bundle a Java runtime), and they're about the same size. But even if you ship all of the Qt dynamic libs, or all of the GTK dependencies, or even wxWidgets... it's still a far cry from "light". It just takes tens of megs to make a window appear.
- yoodenvranx 10y ago> There's just no way to develop a GUI application (especially a cross-platform one) without shipping something large If you compiled a Delphi program without using the UI stuff the resulting .exe files were usually only a few dozen kb in size. People used this fact in combination with using raw Win32 API in order to create very small sized UI apps with no external dependencies. There were tons of tutorials on how to use Win32 API in combination with Delphi.
- mberger 10y agoYou're right, but the key point (at least for me) is the cross platform. We recently had a client send us their environment setup. Everything ran on AIX except for our stuff. That means they had to specially buy windows server licences just for our product. feelsbadman.
- wila 10y agoWith delphi targeting macOS a GUI app starts at about 18MB. Not tiny, but certainly not too bad.
- boznz 10y agoOuch, thats pretty inefficient IMHO. I have a Windows database client written in Delphi XE2 that covers the whole MRP for a winery including built in reports and report writer that clocks in at 14MB http://rodyne.com/?page_id=375 http://rodyne.com/?page_id=375
- camus2 10y ago> Funny thing is, I am just getting into Go, and you know what? package main func main(){print("Hello");} is 951kB on my computer. But you need to remember that Go bundles a whole runtime with your executable, something C doesn't do.
- pjmlp 10y ago> something C doesn't do. Sure it does, not all C compilers are like gcc with the idiosyncratics of glibc.
- coldtea 10y agoNo, only the ones that matter.
- pjmlp 10y agoThe ones that matter to me are perfectly capable of handling a -static flag and use other C runtimes.
- coldtea 10y agoYes, but "to me" is hardly relevant in a general discussion, if 99% of devs will use either GCC or Clang. Except if we're talking about a niche domain.
- pjmlp 10y agoClang can do static linking, it doesn't depend on glibc. Also, there is ICC, MSVC, C++ Builder, aCC, xlC, SunPRO, TI C, ARM DS C, ....
- romanovcode 10y agoHello World in Electron will probably be around 20mb+.
- Figs 10y agoMore like ~100MB. At least it was the last time I tried it about 6 months ago. Might have gotten better since then.