Class constructors and destructors in C++
Class constructors and destructors in C++
Intro to Object Oriented Programming
- Classes
- Instances of class
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
- SOLID design
- Design patterns
https://kitfucoda.medium.com/the-versatility-of-call-a-python-developers-secret-weapon-a6bff776971a
Python's __call__ dunder offers a closure alternative. It manages state in a class, callable like a function, opening new code structuring possibilities.
In complex scenarios, __call__ enhances readability and maintainability. Encapsulating logic and data promotes cleaner code, improving clarity and debugging.
For pre-filling arguments, consider __call__ over functools.partial, especially with methods needing internal state. It creates a state-holding object for robust operations.
This is beneficial in large projects with complex logic. Using __call__ improves organization and maintainability, leading to efficient development.
"The mix-in revolution: How an ice cream innovator in Somerville influenced Lisp pioneers at the MIT AI Lab—and made a lasting mark on programming."
https://www.technologyreview.com/2025/02/25/1111238/the-mix-in-revolution/
El 12 de octubre de 1931, nace Ole-Johan Dahl, científico computacional noruego. Fue profesor de ciencias computacionales en la U. de Oslo y es considerado unos de los padres de Simula y la programación orientada a objetos junto a Kristen Nygaard
#retrocomputingmx #objectorientedprogramming
I hope everyone's having a good day or night. It's after 2:00 AM here, but I have no sleep schedule because #sleepDisorders. I'm sitting at my desk munching on apple slices and fruit dip, listening to music, and studying and playing #incremental #games on my computer. I'm working on lesson 9 of the Literary #Braille #Proofreading course from #NLS and #NFB and studying object oriented #programming with #JavaScript on #freeCodeCamp. What's everyone else up to?
#BrailleProofreading #technology #tech #coding #learnToCode #learningToCode #objectOrientedProgramming #incrementalGames #idleGames #gaming
Object.freeze() and Object.seal() in JavaScript
This article explains the differences between `Object.freeze()` and `Object.seal()`.
`Object.freeze()` makes an object completely immutable, preventing any changes to its properties
`Object.seal()` allows modifications to existing properties but prevents adding or removing properties
Examples and use cases are provided for both methods too.
#JavaScript Programming #OOP #ObjectOrientedProgramming
https://jsdev.space/howto/freeze-seal-js/
David A. Moon was one of the founders of Symbolics and one of the chief architects of its Lisp machines. In 1991, after he left Symbolics and joined Apple, he wrote this retrospective of Genera, "the world's first commercial object-oriented operating system": https://archive.org/details/genera-retrospective-1991
One of my favourite technologists, #AlanKay, who invented #OOP #ObjectOrientedProgramming #Smalltalk #TabletComputers, amongst other things, said:
"The best way to predict the future is to invent it"
I always found that quite inspiring.
(I know there are similar quotes attributed to others, but I'm pretty sure he used this wording).
Is it possible to get the benefits of functional programming without going all in?
This post presents "functional foundations", a set of functional programming concepts that I have found helpful in everyday programming, even for programmers not trained in functional programming.
Found an interesting article through Manuel Simoni: https://www.w3.org/People/Connolly/9703-web-apps-essay.html
"HTTP was design[ed] as a distributed realization of the Objective C (originally Smalltalk) message passing infrastructure [...]
Uniform Resource Locator is just the result of squeezing the term _object reference_ through the IETF standardization process."
This Thursday I organized the monthly meetup of Lisp Ireland and finished my talk "A Tour of Common Lisp". Thanks to https://techmeetup.space for hosting us.
You can watch the livestream's recording here: https://www.youtube.com/watch?v=J53P49SLgew
A great paper from 2004 by Richard P. Gabriel (Lucid, Inc.), Jon L White (ditto), Daniel G. Bobrow (Xerox PARC) that explains how Common Lisp Object System integrates functional and object-oriented programming: https://dreamsongs.com/Files/clos-cacm.pdf
Java will be getting value classes https://openjdk.org/jeps/8277163 in short it’s classes where instances don‘t have a unique identity. In other words == and equals() will behave the same way. It took me so long to understand the difference for traditional classes. In wonder whether this will make things more confusing because now you need to look up a class definition when you see == somewhere. Also records can be value classes…
#java #jep #confused #oop #objectorientedprogramming
It's still relevant today, you can say that the "bricks" progressed from static object systems to type systems: https://dreamsongs.com/ObjectsHaveFailedNarrative.html
Were there ever any attempts to somehow add multimethods (multiple dispatch) to Smalltalk?
Important OOP Concepts
(credits : ByteByteGo)