Hacker Newsnew | past | comments | ask | show | jobs | submit | zerr's commentslogin

I'd love to get some gigs in retro software development for OS/2, MS-DOS, Motif/CDE, etc...

To make it fair, did you also inquire into firing your colleagues? :)

Interesting, how many ex-users of Clojure are in the comments. Everyone is praising it, but also everyone moved to something else?

It’s a real statistical outlier, nearly every language people have moved on from gets negative reviews. Me, it was fun but it wasn’t for me and eventually I concluded a number of the fundamental design decisions were wrong.

Can elaborate which design decisions were wrong and why in your view?

Here’s one: Mike Rettig wrote a great post about this in the early days, long since lost to time. Didn’t take that much note of it at the time but grew increasingly convinced over time: shared memory primitives are a bad idea. We would have been better off with an architecture that prioritised message passing. (Not that you can’t do message passing in Clojure, just that it isn’t privileged the way STM is.)

Can you expand on that a bit? What language do you use now?

These days, it’s mostly C#. It’s got one of the most sophisticated list processing modules of any language I know of, you can fairly easily write heavily immutable code. It’s a bit niche because Microsoft but it’s nonetheless solid.

My downsides compared to Clojure: no destructuring in parameter declaration. No immutable by default.

But it turns out I prefer typed languages. Which isn’t a thing I’m going to argue about!


Less ex-user, more like: never really managed to get to use it at work I guess (just like it is for me). It is still a niche language (compared to the big ones) after all.

Besides custom outter shapes, you can as well have holes in your windows.

When it comes to PL implementations, there are lesser materials about creating relevant tools besides compilers: linkers and especially debuggers. Are there any coursers/books that go into implementing these tools?

There is "Building a Debugger"[0].

[0]: https://nostarch.com/building-a-debugger


All of the reactions are valid, including the 2nd one if that's a sarcasm.

I'd say modern C++ is high level and ergonomic enough to stop considering any language with a GC.

Does C++ have build in memory management now?

It's a part of the Standard Library - Smart Pointers.

It lacks hardware acceleration.


Does it need it?


Good point. Akin to Qt Widgets - it doesn't really need it on desktop. HW acceleration is crucial on mobile, but WinForms doesn't have a story there.


Didn't Apple restrict language interpreters on App Store?


They restricted JIT, interpreters are fine afaik. See also dart etc.

Edit: JIT is under a flag, https://developer.apple.com/documentation/bundleresources/en...


So no JIT conversion to byte code either?


This is HN, so please share same war stories, tech stuff, etc... Thanks!


Since we had to shift (i.e. copy) blocks of data around in order to dynamically resize partitions that were formatted with FAT, NTFS, or HPFS file systems; we had to know the internal structures of each of them.

It's been a long time, but I seem to remember that there were a few areas that were not documented well by Microsoft and we had to guess what certain fields meant.

Because we often had to move file contents around, some files became more fragmented while others became less fragmented since we tried to be smart about where we moved file blocks.

My biggest takeaway was understanding file system architecture. For some features, I was impressed by what their architects designed. For others, I wondered why on Earth they did it 'that way'. I started keeping a list of things I wanted to be different and eventually incorporated many of them in my new object store design.

http://www.didgets.com


Our UI guy (a good friend of mine from college) did a really good job of making our DOS app look like a windows app.

The first version of our disk imaging product (Drive Image) was not so polished because I was the only one working on both the engine code and the UI layer. Once that started selling we'll, they assigned someone to help me with later versions.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: