home.social

#oop — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #oop, aggregated by home.social.

  1. Looking at GUI / widget libraries (GTK+, Qt, FLTK, wxWidgets, etc). The libraries I listed are mostly C++ and GTK+ is written in C, but they built an OO system (GObject) within C. I wonder, is this like the ultimate use-case for OOP? Does the hierarchy of functionality for UI elements, representing on-screen instances as objects, and communication patterns in traditional desktop software just lead, inevitably to object orientation?

    (FWIW, I think the answer is no)

    #OO #OOP #GUI #Programming

  2. Looking at GUI / widget libraries (GTK+, Qt, FLTK, wxWidgets, etc). The libraries I listed are mostly C++ and GTK+ is written in C, but they built an OO system (GObject) within C. I wonder, is this like the ultimate use-case for OOP? Does the hierarchy of functionality for UI elements, representing on-screen instances as objects, and communication patterns in traditional desktop software just lead, inevitably to object orientation?

    (FWIW, I think the answer is no)

    #OO #OOP #GUI #Programming

  3. Looking at GUI / widget libraries (GTK+, Qt, FLTK, wxWidgets, etc). The libraries I listed are mostly C++ and GTK+ is written in C, but they built an OO system (GObject) within C. I wonder, is this like the ultimate use-case for OOP? Does the hierarchy of functionality for UI elements, representing on-screen instances as objects, and communication patterns in traditional desktop software just lead, inevitably to object orientation?

    (FWIW, I think the answer is no)

    #OO #OOP #GUI #Programming

  4. Looking at GUI / widget libraries (GTK+, Qt, FLTK, wxWidgets, etc). The libraries I listed are mostly C++ and GTK+ is written in C, but they built an OO system (GObject) within C. I wonder, is this like the ultimate use-case for OOP? Does the hierarchy of functionality for UI elements, representing on-screen instances as objects, and communication patterns in traditional desktop software just lead, inevitably to object orientation?

    (FWIW, I think the answer is no)

    #OO #OOP #GUI #Programming

  5. Looking at GUI / widget libraries (GTK+, Qt, FLTK, wxWidgets, etc). The libraries I listed are mostly C++ and GTK+ is written in C, but they built an OO system (GObject) within C. I wonder, is this like the ultimate use-case for OOP? Does the hierarchy of functionality for UI elements, representing on-screen instances as objects, and communication patterns in traditional desktop software just lead, inevitably to object orientation?

    (FWIW, I think the answer is no)

    #OO #OOP #GUI #Programming

  6. API-Design

    Ab wie vielen Methoden in einem Interface habt Ihr ein schlechtes Gefühl?

    #csharp #java #oop #SoftwareDesign

  7. Finished and published the report on #helios, my C++ game engine that slowly shifted from #OOP toward DOD #ECS.
    What started as a small prototype turned into a deeper dive into #architecture, #performance and trade-offs.

    I enjoyed the ride tremendously! 🕹️

    researchgate.net/publication/4

  8. Куда идет программирование на самом деле?

    Современная разработка погрязла в driven, first и based подходах, недавно этот зоопарк пополнился еще одним заморским зверем под названием AI-driven (пусть меня простят свидетели AGI, но я сознательно не выделяю этот подход на фоне остальных и в конце объясню почему). Но не пытаются ли все эти подходы на самом деле решить одну и ту же проблему, известную еще с середины прошлого века, проблему "абстрактного перехода"?

    habr.com/ru/articles/1021822/

    #ai #ddd #tdd #api #backend #oop #architecture #go #rust #c++

  9. Is there a some general theory of object oriented programming languages that improves on "A Theory of Objects" by Abadi and Cardelli?

    #programming #cs #oop

  10. when you use #python because you like to do #oop only when it makes life easier but someone else is using #java and forces all your data structures to be serialized objects that are 100x larger than they need to be

  11. Proportional scaling (with a pluggable resize strategy object)

    #OOP #quickwire #programming

  12. Изучаем ООП на C++! В выпуске — объектная модель, инкапсуляция и жизненный цикл объектов с понятными примерами. Отлично для студентов и практиков, кто хочет укрепить базу и писать код грамотнее. Загляните и прокачайте навыки! #cpp #Cplusplus #ООП #OOP #Инкапсуляция #ОбъектнаяМодель #Программирование #Russian
    video.lernado-base.ru/videos/w

  13. Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ...

    magicmarcy.de/java-interview-f

    #java-interview #oop #kapselung #vererbung #polymorphismus #abstraktion #klassen #objekte #zugriffsmodifikatoren #komposition #konstruktor

  14. Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ...

    magicmarcy.de/java-interview-f

    #java-interview #oop #kapselung #vererbung #polymorphismus #abstraktion #klassen #objekte #zugriffsmodifikatoren #komposition #konstruktor

  15. Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ...

    magicmarcy.de/java-interview-f

    #java-interview #oop #kapselung #vererbung #polymorphismus #abstraktion #klassen #objekte #zugriffsmodifikatoren #komposition #konstruktor

  16. Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ...

    magicmarcy.de/java-interview-f

    #java-interview #oop #kapselung #vererbung #polymorphismus #abstraktion #klassen #objekte #zugriffsmodifikatoren #komposition #konstruktor

  17. Hi there, I'm looking for good #SoftwareArchitecture resources, #blog, #wiki or #community.

    I know good enough the basis of #OOP and #DesignPattern and I'm looking for something more advanced.

    One of my goal is to create #localfirst #software but anything with #network and #web archi are welcome too.

    Thank you for sharing! 🙏🤗
    #boostswelcome :)

  18. The people insisting that #LLMs are The Future Of Programming are the same kinds of people who insisted that Rigid Inheritance-Based Hierarchies Of Classes were The Future all through the 1990s. It's kind of fitting that both bankrupt ideologies managed to bookend my career in professional computing.

    youtu.be/wo84LFzx5nI

    I'm told that this 90's #OOP fallacy is still official dogma in programming courses even in this decade. That suggests that "Roll a D2E9000 to generate your function!" will probably stick around in education long after actual developers gave up on the practice outside a few specific applications.

  19. Elvis-модификатор доступа в C#

    Доброго Здоровья! Предполагается, что статья будет интересна тем, кто любит четкие контракты в своих проектах, строгость и чистоту в инкапсуляции, новые подходы в ООП. А также тем, кто уважает функциональное программирование. Эти темы и затрагиваются в предлагаемом «Elvis-модификаторе доступа», реализованным через Roslyn Analyzer. Все исходники и nuget пакеты прилагаются.

    habr.com/ru/articles/1008298/

    #C# #roslyn #oop #analyser #fp #elvis

  20. Many thanks to @Felienne Hermans for the study material of tomorrows #OOP Object-Oriented Programming lecture on Reading code and unit testing!

  21. @badrihippo modern frameworks like React, Vue, and Van.js are all very similar, but I have not seen a consistent name for this family of frameworks. I have heard it called “The Elm Architecture,” because they are loosely based on how the Elm programming language originally did GUI programming in the browser. I have also heard it called the Model-View-Update paradigm. But most people just call it “React-like” or “Reactive Programming” because they are all similar to the very popular “React.js” framework.

    Note that this should not be confused with Functional Reactive Programming (FRP), although the two are not completely different. As I understand it, React-like GUIs and FRP can both be implemented on top of a more powerful and more general computation model called “propagators” (here is the PDF of the original Propagators paper).

    @dthompson wrote a really good blog post about FRP, propagators, and React-like frameworks.

    I hope that helps, but I am not as well-versed in the theory of this stuff as I should be.

    Oh, and I should say, before React-like took over the world wide web, GUI programming was mostly intertwined with Object Oriented Programming and design, so a good place to start might be to read up on Smalltalk OOP and GUI design.

    #tech #software #GUI #ReactiveProgramming #FRP #Scheme #Haskell #SchemeLang #Propagators #ElmArchitecture #ReactJS #Smalltalk #OOP #ObjectOriented

  22. This 1984 paper introduced the basic ideas of programming with objects in various languages with examples from LOOPS, the Lisp Object-Oriented Programming System of Interlisp.

    ojs.aaai.org/aimagazine/index.

    ojs.aaai.org/aimagazine/index.

  23. Today at #OOP Object Oriented Programming, we implemented our own generic Map (for tutorial purposes) and we did we a small-scale word count demonstration. For those present that wondered why I mentioned doing this on a cluster of hundreds of machines, here's the Java code that does that: (nice example of inheritance and generics too): hadoop.apache.org/docs/current

    (No worries if you don't get this: It will be part of the course Big Data in year 3 of the bachelor Computing Science)

  24. François-René Rideau is writing "Lambda: the Ultimate Object - Object Orientation Elucidated" which is still a work in progress. The book offers a theory of Object Orientation that it elucidates in simple terms on top of Functional Programming, with examples and code in Scheme.

    fare.tunes.org/files/cs/poof/l

    #oop #scheme #lisp #books

  25. The irony is that the term "lock" is just a metaphor that produces a useful name. But, a lock in code does not model a real world lock. A lock is designed to restrict access to a resource to one process thread at a time. This is not modeling real world objects. This is organizing code by having a fixed interface and multiple different implementations. It's a code organization tool that allows code to be decoupled, not a tool for modeling real world objects. n/n

    #OOP #OO

  26. The irony is that the term "lock" is just a metaphor that produces a useful name. But, a lock in code does not model a real world lock. A lock is designed to restrict access to a resource to one process thread at a time. This is not modeling real world objects. This is organizing code by having a fixed interface and multiple different implementations. It's a code organization tool that allows code to be decoupled, not a tool for modeling real world objects. n/n

    #OOP #OO

  27. CEO and founder of Petabridge Aaron Stannard reviews ways to avoid deep inheritance hierarchies in your software projects. The article goes beyond preferring composition over inheritance and explains what Stannard calls the two deadly sins of deep inheritance, configuration toggle hell, a real world horror story, and shows what can be done instead.

    "Why Your Software Sucks: Inheritance"

    aaronstannard.com/why-your-sof

    #programming #oop #inheritance #softwarearchitecture

  28. En Programación orientada a objetos:

    ¿Si destruyo un objeto Auto, deberían destruirse también sus Ruedas? 🚗

    Esta es la gran diferencia entre Agregación y Composición.

    Si las ruedas pueden seguir rodando por ahí para otro auto, es una cosa; si son parte intrínseca de la estructura y mueren con el auto, es otra.

    En este post @andrea_navarro nos explica, con ejemplos prácticos, todos los detalles! 👇

    🔗 juncotic.com/poo-composicion-y

    #POO #OOP #Programacion #dev #DesarrolloDeSoftware #JuncoTIC #python

  29. I think I'm using the term "metaclass" incorrectly in #CTRAN.

    Is there a term for squashing all of a class's ancestors together as if they were just one parent class or superclass?

    #OO #OOP

  30. I think I'm using the term "metaclass" incorrectly in #CTRAN.

    Is there a term for squashing all of a class's ancestors together as if they were just one parent class or superclass?

    #OO #OOP

  31. I've been musing on #OOP style. I have a question for the more experienced programmers out there.

    How do you decide when a class's method doesn't actually need to be a method, but instead could just be a regular function?

    I'm not talking about functions that need to be shared between classes. I'm talking about intentionally moving a method outside of a class, even though it will only ever be used by that class.

    For example, if I've got a parser-related function that is only needed by the parser, I will normally just put it in the parser class as a method. It keeps things neat, I can make it private and lock down the class. But I've never before stopped to think whether this is the correct thing to do every time.

    After all, #Pascal (my language of choice) has the concept of units. I could just have some functions just as functions, and only have methods for things that directly need to update the class's properties.

    It would make things easier for testing, too. I wouldn't need to create an instance of a class just to test a specific function works as intended.

    But I don't know if it's the "right" way to do things in OO, or #ObjectPascal for that matter.

    #OO

  32. I've been musing on #OOP style. I have a question for the more experienced programmers out there.

    How do you decide when a class's method doesn't actually need to be a method, but instead could just be a regular function?

    I'm not talking about functions that need to be shared between classes. I'm talking about intentionally moving a method outside of a class, even though it will only ever be used by that class.

    For example, if I've got a parser-related function that is only needed by the parser, I will normally just put it in the parser class as a method. It keeps things neat, I can make it private and lock down the class. But I've never before stopped to think whether this is the correct thing to do every time.

    After all, #Pascal (my language of choice) has the concept of units. I could just have some functions just as functions, and only have methods for things that directly need to update the class's properties.

    It would make things easier for testing, too. I wouldn't need to create an instance of a class just to test a specific function works as intended.

    But I don't know if it's the "right" way to do things in OO, or #ObjectPascal for that matter.

    #OO

  33. Marlin Racing

    When I first introduced Marlin, it seemed the only OO framework which could beat its constructor in speed was the one generated by the new Perl core class keyword. Which seems fair, as that’s implemented in C and is tightly integrated with the Perl interpreter. However, I’m pleased to say that Marlin’s constructors are now faster.

    (Though also I forgot to include Mouse in previous benchmarks, […]

    #ClassTiny #marlin #Moo #Moose #mouse #oop #perl #TypeTiny

    toby.ink/blog/2026/01/11/marli

  34. 🖥️ **Lập Trình Thủ Tục vs OOP: Nên Chọn Paradigm Nào?**
    Tranh luận gắt: Thủ tục (dựa trên hàm, mô hình top-down) tốt cho hệ thống nhỏ/yêu cầu hiệu năng cao; OOP (đóng gói dữ liệu + logic trong đối tượng) phù hợp ứng dụng phức tạp, dễ bảo trì và làm việc nhóm. ✅ Quan trọng: **Chọn phương pháp phù hợp bài toán** - ngôn ngữ hiện đại thường tích hợp cả hai!

    #LậpTrình #OOP #ProceduralProgramming #LậpTrìnhHướngĐốiTượng #ProgrammingParadigms #SoftwareDevelopment #CôngNghệ #Tech #DevDebate

    https://

  35. Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ...

    magicmarcy.de/java-interview-f

    #java-interview #oop #kapselung #vererbung #polymorphismus #abstraktion #klassen #objekte #zugriffsmodifikatoren #komposition #konstruktor

  36. Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ...

    magicmarcy.de/java-interview-f

    #java-interview #oop #kapselung #vererbung #polymorphismus #abstraktion #klassen #objekte #zugriffsmodifikatoren #komposition #konstruktor

  37. Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ...

    magicmarcy.de/java-interview-f

    #java-interview #oop #kapselung #vererbung #polymorphismus #abstraktion #klassen #objekte #zugriffsmodifikatoren #komposition #konstruktor

  38. Almost every WordPress developer has written this code at some point: putting add_action() calls right inside a class constructor.

    It feels clean for small plugins. But sooner or later, this pattern starts fighting you.

    Read the complete guide here: kishanjasani.in/why-should-dev

    #WPDevelopment #PHP #OOP #SoftwareArchitecture #UnitTesting

  39. In der Programmierung gibt es verschiedenen Programmier-Paradigmen. Ein Paradigma beschreibt einen bestimmten Ansatz oder Stil, Probleme zu lösen und Software zu entwickeln. Die zwei bekanntesten Programmier-Paradigmen sind objektori...

    magicmarcy.de/liste-der-progra

    #programmier-paradigmen #pp #prozeduale-programmierung #oop #fp #funktionale-programmierung #logische-programmierung #deklarative-programmierung #ereignisgesteuerte-programmierung #event-driven-programming

  40. In der Programmierung gibt es verschiedenen Programmier-Paradigmen. Ein Paradigma beschreibt einen bestimmten Ansatz oder Stil, Probleme zu lösen und Software zu entwickeln. Die zwei bekanntesten Programmier-Paradigmen sind objektori...

    magicmarcy.de/liste-der-progra

    #programmier-paradigmen #pp #prozeduale-programmierung #oop #fp #funktionale-programmierung #logische-programmierung #deklarative-programmierung #ereignisgesteuerte-programmierung #event-driven-programming

  41. In der Programmierung gibt es verschiedenen Programmier-Paradigmen. Ein Paradigma beschreibt einen bestimmten Ansatz oder Stil, Probleme zu lösen und Software zu entwickeln. Die zwei bekanntesten Programmier-Paradigmen sind objektori...

    magicmarcy.de/liste-der-progra

    #programmier-paradigmen #pp #prozeduale-programmierung #oop #fp #funktionale-programmierung #logische-programmierung #deklarative-programmierung #ereignisgesteuerte-programmierung #event-driven-programming

  42. The Big OOPs: Anatomy of a Thirty-five-year Mistake

    Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

    This is a fantastic deep-dive into the history of object-oriented programming with 50+ years of primary sources! Even though I make information systems, not games, I really enjoyed Casey Muratori’s talk.

    https://www.youtube.com/watch?v=wo84LFzx5nI

  43. Confessions of a Software Developer: No More Self-Censorship

    I haven't published since April because I've been afraid. I also avoided social media, news aggregators, and discussion forums for months. I'm done letting fear stop me. What was I afraid of? In this post I detail every single thing I've avoided admitting on this blog. […]

    kerrick.blog/articles/2025/con

  44. Confessions of a Software Developer: No More Self-Censorship

    I haven't published since April because I've been afraid. I also avoided social media, news aggregators, and discussion forums for months. I'm done letting fear stop me. What was I afraid of? In this post I detail every single thing I've avoided admitting on this blog. […]

    kerrick.blog/articles/2025/con

  45. Confessions of a Software Developer: No More Self-Censorship

    I haven't published since April because I've been afraid. I also avoided social media, news aggregators, and discussion forums for months. I'm done letting fear stop me. What was I afraid of? In this post I detail every single thing I've avoided admitting on this blog. […]

    kerrick.blog/articles/2025/con

  46. A category is formally defined as being a group of one or more classes.

    #OOP #ObjectOriented #ObjectOrientedProgramming

    Have you heard of this use of "category" before? If so, in which context/language/compiler?

    EDIT: For context, from the #Psion SIBO C SDK's Object Oriented Programming Guide:

    A category is formally defined as being a group of one or more classes. The classes are packaged into a load module which, when loaded, occupies a single code segment. A code segment may not contain more than one category. There is, therefore, a one-to-one correspondence between a category and the executable code in a single code segment. Note that this implies that an application that occupies a single code segment may not contain more than one category.