Hacker News new | ask | show | jobs
by juhanima 1052 days ago
32 years ago I had just finished my "erikoistyö" (a pregrad exercise) in CS at the Helsinki Uni about combining object-oriented programming with relational databases and uploaded it to nic.funet.fi for all to see and enjoy - I was that proud of it. Even promised to send a 1.4MB diskette for those who couldn't download it for whatever reason.

Cannot help feeling good of seeing it's still there. https://www.funet.fi/pub/sci/computer/oop/

Only curiosity value is left probably, but back then it felt like magic to be able to publish something like this on my own. Half a dozen people even asked for the diskette, which I sent to them.

5 comments

> Object-oriented programming techniques are slowly becoming more and more widely accepted

That is so wild to read in a time when OOP has more or less conquered the programming industry. :)

To only give up that position to functional programming?
OOP was a mistake. Functional programming has some interesting ideas, but it's not useful in practical applications. Procedural programming is the simplest and fastest way to make the computer do things.
OOP is orthogonal to FP vs procedural. You can use or not use OOP in both.

Also, OOP is fine. Class oriented programming (often called OOP by accident) is the real flawed paradigm.

OOP is how large-scale procedural programs are organized. It allows programmers to try to reason about medium-scale parts of the system. (Mesoscale programming? Is that a thing yet?)

FP is a set of guarantees (maybe even enforced by the compiler) about program behavior which enable optimizations, for the compiler, and reasoning about small parts of the system in isolation, for the programmers.

Enough FP can allow you to abstract away the procedural parts, but even a little FP in a procedural codebase can be a good thing. Ditto a little OO, which is why C programmers reinvent bits and pieces of Smalltalk every so often.

> but it's not useful in practical applications

I mean, it drives all of Whatsapp, Discord, and once upon a time, Facebook Messenger, but it's certainly not "useful"!!

Your claim is as ludicrous as ludicrous can be. About the only thing it's not (yet) good for is 3D game dev, but Rust (which is not purely functional but which has lots of opt-in functional concepts) is making good headway

OOP itself is not a misstake, but the way it is (usually) implemented probably is.
One can only hope.

Considering that literally everything is easier in it (EXCEPT for SOME of its conceptual bases), I'm surprised it's taking this long. Modularity is easier, testing is easier, there are no mutation bugs, no mutex locks, you understand program flow better (which means less bugs), you just produce fewer bugs per LOC... just scratching the surface here

Was this "M{kel{_Juhani_NOK@smail.elisa.fi" an effort to mask your address from scrappers? I cannot imagine there were many scrappers back then.
Because 7-bit ASCII didn't include accented characters used in many European langauges, there were national changes. The Finnish variant replaced {|}[\] with äöåÄÖÅ.

https://en.wikipedia.org/wiki/National_Replacement_Character...

Which, btw, is why those symbols are acceptable as IRC nicknames (and why { is lowercase [, i.e., {some|one} and [some\one] are two equivalent nicknames). IRC was invented in Finland.
One might guess the people who decided on this replacement were not Unix programmers...

The lack of brackets, caret, tilde and other ASCII special characters on various localized keyboards was a real problem in the 1980s. The C language standard solved it by introducing trigraphs:

https://en.wikibooks.org/wiki/C_Programming/C_trigraph

You can still write valid C using ??< instead of {, and so on. This feature will be removed from the C standard in a couple of years though.

Of course you could still use {} etc, they just might show up as localized characters in your source code. There was no character set conversion involved at the source code level, your terminal font just might have had the glyph for ä in the place of {.

The people who designed the Finnish keyboard layout were definitely not programmers, though: https://kbdlayout.info/KBDFI/

Ditto with the Spanish (es) layout, they layout looks more apt for journalist and writters than programmers. I just switch to the us keymap with the compose key bound to right menu/right win key, so I can type áéíóú with compose key + ' + vowel (not pressed at the same time). Ñ is more cumbersome (compose key + ~ + n) but I can adapt XCompose under BSD/Linux for that.
There is a special place in hell for the unknown inventor of the AZERTY layout still in use today in Belgium and France.

https://kbdlayout.info/kbdbe

Imagine being called to a parents' friend to fix their computer, faking a QWERTY keyboard and trying hard not to look at the keys...

You'll notice the same replacements in their signature (though you might miss it, it's off on the right).

The file was probably actually written in something like codepage 1018: 0x7B is ä there rather than {.

Looks like an decoding error for the Finnish special characters
It’s interesting to note the timestamps. I’m guessing this might trigger memories of uploading them in a particular order.
Huh. That's pretty cool. So did you write the first ORM?
Wouldn't claim so - perhaps the ideas were floating in the air. What I know for sure is that my work wasn't used for much.

What's more alarming is that it seems those 32 years old files at ftp.funet.fi are mostly unreadable by now. Back then I thought PostScript would last but alas! that is not the case. Ghostcript can show just about the cover page and that's all.

Libreoffice does a little bit better with the DOC-file but it's still not quite right.

So if there is anything to learn it's about persistent document formats. I wish I had known about LaTeX back then.

Actually PostScript did last, I was just too stupid to realize that one needs to press <enter> for every new page in gv.

Anyway: here is the pdf made by ps2pdf: https://juhani.xn--mkel-load.net/public/oodbif.pdf

Quite modern thinking when you write ‘for an intelligent human user… what she wants to do’.

Normally ‘he’ would be used, or maybe at that time. Just something interesting I saw.

Very interesting to see the files are still there!

It might be a Nordic thing? I'm from about the same era (but Sweden) and when writing documents like that, I'd also always use 'she'.
Finnish has no gender pronouns. Everyone is a hän. That’s why Finn’s often mix gender pronouns when speaking.

Not caring about your gender is baked into the language.

I'd say that assuming 'he' might be a US thing - 42 years ago when I was in Australian university math | comp sci classes a third of the students were female as were staff.

Even then I routinely used 'they' when writing about people in general, authors I had not met, etc. as there was a good chance they weren't male.

I was 6-7 at this point in time but I went from DOS to Win 3.1. I don't remember ever hearing about Win 3.0 and a quick google search makes it look like Win 3.0 and 3.1 were drastically different for some reason that I'm not really tracking down. I wonder why my dad held off until 3.1.

This was a fun watch https://www.youtube.com/watch?v=iuMeqcuTjSY

Downvoted for literally being curious to a Win API developer as to why 3.0 and 3.1 were so drastically different. I have a feeling the people who downvoted me didn't even go through this code base and realize how specific to Win 3.0 it was. Good on ya, mates. Keep reading only headlines.