New guy at my job, polish dude. He seemed decent enough, just a bit… odd… but most of us were; after all, we were the kind of people who are willing to work on ships on the wrong side of the world for weeks, sometimes months at a time.
I trained him to do the job I did, so he could run opposite of my shift, with some assistance from the chief tech and various others. The rest of the crew were pretty experienced, so it made it easier when he needed help with the more complex stuff. He did reasonably OK for a newhire. Nothing spectacularly good, but nothing spectacularly bad either.
Until the crewing department told us he had been arrested back home, multiple counts of murder, and we were unlikely to have him onboard again, so we needed to train his replacement.
Turned out he was a serial killer who killed people for their properties. He’s in prison now, and I’m sure you can google the person. I’m not sure what his actual name was, but we called him Winny. Any poles here who happen to remember the case and could link a news article? This happened roughly 10 years ago.
Edited because this was a personal and limited-time only, story about my past. I don’t want this to keep lying around forever. Ask me in person if you want to hear it again :)
Worked with a murderer who was living under a fake name, back in the 90s. But he was actually fine.
There were probably terrible people at that job, but I don’t remember… Oh, the first actual real, live creationist I ever met was at that job.
the first actual real, live creationist I ever met was at that job.
Wait, the fact that they were a creationist made them a terrible person? Not any actions, poor character traits, or a proselytiser.
Was it purely because they believed something that we don’t?
A moron who was hired to be my boss, even though they didn’t tell me that was the case – who, with a straight face, dead serious, and with an undeserved authority befitting a piece of shit, told me that Object-oriented programming was a fad. This was in 2008, 30-40 years after OOP was first introduced to the world.
But it is a fad. Rust for example is not a truly OOP language. There are more ways to do software than OOP and slowly the OOP fad is going away. It has and will have it’s uses but using OOP for everything was a fad that most people are getting over now.
Well I guess there is more than one. By that logic, literally everything in the universe is a fad. Good luck selling that bullshit :)
No, it was a fad in the sense that people got too exited about it and started using it where it didn’t fit. Later they realized that and now start moving away from it. At least that how I would understand someone saying that “OOP is a fad”. It’s not some batshit crazy statement proving that someone is an idiot you’re trying to make it out to be.
I appreciate your willingness to stand your ground and find your argument partially defensible.
There exist problems where OOP is a useful, convenient, and simple solution. Some of the zeal surrounding OOP is diminishing due to the inherent limitations concerning access and mutability, though that doesn’t make the tool less useful when it solves a class of problems simply.
OOP is not the ultimate solution many touted it as, however, it is likely to remain as a major paradigm. The fad will continue to ebb and flow, as its shortcomings are not apparent until you reach a certain level of complexity. (Such as multi-threading interactions.) That level of complexity is not required until you reach expert/researcher programming capability on problems that don’t have band-aid solutions or until you are forced to reconcile such issues by stricter compilers. Further, new programmers may not be aware of OOP until they need to solve a problem, re-introducing OOP as a cure-all.
As an unfortunate reminder, OOP has existed for 40 years, and a significant portion of advanced and capable programmers will call you a lunatic when you refuse to agree OOP is the ultimate solution. The class of problems the paradigm solves encompasses their entire career. Take the idealist or fanatic opinions with a grain of salt, thank them for their input, and let it slide off your shoulders.
A thing that complicated opinions and statements about OO is that it is not a clear cut thing. It is a collection of features that have become associated together but which don’t have to be, and not everyone agrees on which are required for something to be OO, or how important or useful (or harmful) each is.
What is most fad-like about it, IMO, is the conception that it is a coherent “paradigm”.
Please forgive the meandering reply.
As far as I’m concerned, OO is a mental model for how to handle any noun. Linux is a good example for OOP, in that, “Everything is a file.” Linux does this amazingly well; even interfaces that read data from USB ports are “files.”
However, this comes with some limitations. Kernel threads are not very accessible. If you tried to set up a single operating system over multiple computers, you would need some very severe modifications to Linux, and the implementation would likely have many sharp corners to snag on. (Where is this file? What hardware “owns/runs” it? How does Computer 2’s hardware take over, or modify a value currently in Computer 1’s CPU? Etc. As a side note, last I checked, the most common method of distributed computation with Linux is to install an OS on each computer, and have them report to a master or scheduling computer. Which, while functional, is reliant on separate components functioning on their own, independently of the scheduler.)
I’m stepping well out of my wheelhouse to give a contrasting example. Please be gentle with corrections. Kubernetes, designed to handle multiple pieces of hardware, is written
decorativelydeclaratively without OOP, I believe. Each piece of hardware becomes a node run by a control plane, which is much the same thing as an OS, but lighter, with less capabilities and independence. (?)This is not to say you can’t do the same thing with a custom Linux distro, but using an entirely OO pattern will create sharper corners.
Each paradigm has its own strengths and use-cases; and each their own weaknesses and limitations.