mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.2K
active users

#oop

1 post1 participant0 posts today
Bits Kingdom<p>TypeScript takes OOP further than JavaScript ever could. In this chapter, we cover:</p><p>✅ Classes + inheritance for better structure<br>✅ Access modifiers for clean encapsulation<br>✅ Advanced typing patterns for robust design</p><p>If you’re ready to level up your TypeScript skills, Chapter 4 is for you.<br>🔗&nbsp;<a href="https://bitskingdom.com/blog/object-oriented-typescript-advanced-patterns/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">bitskingdom.com/blog/object-or</span><span class="invisible">iented-typescript-advanced-patterns/</span></a> </p><p><a href="https://mastodon.social/tags/typescript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>typescript</span></a> <a href="https://mastodon.social/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oop</span></a> <a href="https://mastodon.social/tags/advancedtypes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>advancedtypes</span></a> <a href="https://mastodon.social/tags/webdevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webdevelopment</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a>&nbsp;<a href="https://mastodon.social/tags/Development" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Development</span></a>&nbsp;<a href="https://mastodon.social/tags/advancedcode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>advancedcode</span></a> <a href="https://mastodon.social/tags/advanceddevelopers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>advanceddevelopers</span></a> <a href="https://mastodon.social/tags/bitstips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bitstips</span></a> <a href="https://mastodon.social/tags/code" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>code</span></a> ...</p>
jnkrtech<p>I’ll see your “React, Vue, Svelte, and other reactive or virtual DOM based UIs are a demonstration that functional programming is useful in practice”, and raise you a “componetized UIs are a demonstration that strictly autognostic object oriented programming is useful in practice”.</p><p>Both of them are true! Usually at the same time and in the same codebase!</p><p>(Note: I stopped doing frontend before React hooks became a thing and so I do not know how they affect this)</p><p><a href="https://social.treehouse.systems/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://social.treehouse.systems/tags/FP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FP</span></a> <a href="https://social.treehouse.systems/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a></p>
Pete Bachant<p>Programming tip: Name classes after the data they encapsulate, not the actions they perform on that data. For example, instead of SchemaProcessor, just call it Schema:</p><p>processed_schema = Schema().process()</p><p><a href="https://fediscience.org/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://fediscience.org/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oop</span></a> <a href="https://fediscience.org/tags/softwareengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwareengineering</span></a></p>
Hostvix<p>📉 New study: Students who lean heavily on ChatGPT in coding classes often score lower on tests.</p><p>AI helps with debugging &amp; examples—but overuse may hurt deeper learning.</p><p>Where do you draw the line between tool and crutch?</p><p><a href="https://dropletdrift.com/too-much-chatgpt-study-links-heavy-use-to-lower-grades-in-coding-classes/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">dropletdrift.com/too-much-chat</span><span class="invisible">gpt-study-links-heavy-use-to-lower-grades-in-coding-classes/</span></a></p><p><a href="https://mastodon.social/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a> <a href="https://mastodon.social/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a> <a href="https://mastodon.social/tags/Coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Coding</span></a> <a href="https://mastodon.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebDev</span></a> <a href="https://mastodon.social/tags/DevCommunity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DevCommunity</span></a> <a href="https://mastodon.social/tags/Programmers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programmers</span></a> <a href="https://mastodon.social/tags/CSedu" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSedu</span></a> <a href="https://mastodon.social/tags/Java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Java</span></a> <a href="https://mastodon.social/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://mastodon.social/tags/AItools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AItools</span></a> <a href="https://mastodon.social/tags/EdTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EdTech</span></a> <a href="https://mastodon.social/tags/MachineLearning" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MachineLearning</span></a> <a href="https://mastodon.social/tags/SoftwareDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDev</span></a> <a href="https://mastodon.social/tags/AIinEducation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AIinEducation</span></a> <a href="https://mastodon.social/tags/CodingLife" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CodingLife</span></a> <a href="https://mastodon.social/tags/TechStudy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TechStudy</span></a> <a href="https://mastodon.social/tags/GenerativeAI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GenerativeAI</span></a> <a href="https://mastodon.social/tags/CodeNewbie" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CodeNewbie</span></a> <a href="https://mastodon.social/tags/AcademicResearch" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AcademicResearch</span></a> <a href="https://mastodon.social/tags/TechTrends" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TechTrends</span></a></p>
Dev Leader<p>Are you learning the basics of composition in object-oriented programming?</p><p>Read more here:<br><a href="https://www.devleader.ca/2024/04/04/examples-of-composition-in-csharp-a-simple-guide-for-beginners/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">devleader.ca/2024/04/04/exampl</span><span class="invisible">es-of-composition-in-csharp-a-simple-guide-for-beginners/</span></a></p><p><a href="https://hachyderm.io/tags/Coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Coding</span></a> <a href="https://hachyderm.io/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a> <a href="https://hachyderm.io/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://hachyderm.io/tags/CSharp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSharp</span></a> <a href="https://hachyderm.io/tags/DotNet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DotNet</span></a></p>
doctorambient<p>Everything I need to know about _Linkedin Learning_ I can deduce from the antiquated topics that they constantly recommend that I learn from their auto-playing 3-5 minute videos interspersed with "bizspeak."</p><p><a href="https://mastodon.social/tags/linkedin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linkedin</span></a> <a href="https://mastodon.social/tags/youarestilldoingthatareyou" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>youarestilldoingthatareyou</span></a>? <a href="https://mastodon.social/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oop</span></a> <a href="https://mastodon.social/tags/oops" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oops</span></a> <a href="https://mastodon.social/tags/bizbullshit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bizbullshit</span></a> <a href="https://mastodon.social/tags/bullshit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bullshit</span></a> <a href="https://mastodon.social/tags/linkedinlearning" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linkedinlearning</span></a> <a href="https://mastodon.social/tags/fuckingJava" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fuckingJava</span></a>???</p>
Dev Leader<p>Are you learning the basics of inheritance in object-oriented programming?</p><p>Read more here:<br><a href="https://www.devleader.ca/2024/04/03/examples-of-inheritance-in-csharp-a-simplified-introduction-to-oop/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">devleader.ca/2024/04/03/exampl</span><span class="invisible">es-of-inheritance-in-csharp-a-simplified-introduction-to-oop/</span></a></p><p><a href="https://hachyderm.io/tags/Coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Coding</span></a> <a href="https://hachyderm.io/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a> <a href="https://hachyderm.io/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://hachyderm.io/tags/CSharp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSharp</span></a> <a href="https://hachyderm.io/tags/DotNet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DotNet</span></a></p>
nebunez <p>Just had a little realization that part of my FP struggles right now is that I’m trying to design my systems as objects too much, still. I’ve always known this is part of the basic FP learning curve, but having a realization moment is good. I wish I could articulate the realization better but I’ll give this basic example:</p>Bad<pre><code>pub type Storage(collection_type) { StorailStorage( read: fn(String) -&gt; Result(collection_type, storail.StorailError), write: fn(String, collection_type) -&gt; Result(Nil, storail.StorailError) ) /// ...more storage implementations } // Then you have to write the functions for each implementation and assign them to the created Storage record (pseudo-objects, btw) </code></pre><p>This is bad because I’m basically just trying to make objects that contain methods. It’s right there, duh. However, I’m not sure what the idiomatic solution is. That’s where I’m wandering off to now…</p><p><a class="hashtag" href="https://fuzzyroots.net/tag/gleam" rel="nofollow noopener" target="_blank">#Gleam</a> <a class="hashtag" href="https://fuzzyroots.net/tag/fp" rel="nofollow noopener" target="_blank">#FP</a> <a class="hashtag" href="https://fuzzyroots.net/tag/oop" rel="nofollow noopener" target="_blank">#OOP</a> <a class="hashtag" href="https://fuzzyroots.net/tag/programming" rel="nofollow noopener" target="_blank">#Programming</a></p>
Frontend Dogma<p>Thoughts on Object Creation, by <span class="h-card" translate="no"><a href="https://mastodon.top/@frankel" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>frankel</span></a></span>:</p><p><a href="https://blog.frankel.ch/thoughts-object-creation/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/thoughts-objec</span><span class="invisible">t-creation/</span></a></p><p><a href="https://mas.to/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mas.to/tags/softwaredesignpatterns" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwaredesignpatterns</span></a> <a href="https://mas.to/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oop</span></a></p>
Csepp 🌢OOP misuse
Holger<p>Ich hab gestern abend nur die erste Stunde geschafft aber OMG <a href="https://www.youtube.com/watch?v=wo84LFzx5nI" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">youtube.com/watch?v=wo84LFzx5nI</span><span class="invisible"></span></a> ist so ein Talk der richtig für mich gemacht ist.</p><p>"Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake"</p><p>[bin gespannt in welche Richtung die Schlussfolgerung des Talks geht und ob ich damit dann auch noch so d'accord bin]</p><p><a href="https://social.tchncs.de/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://social.tchncs.de/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://social.tchncs.de/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oop</span></a> <a href="https://social.tchncs.de/tags/bsc2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bsc2025</span></a> <a href="https://social.tchncs.de/tags/bsc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bsc</span></a></p>
minioctt<p><strong>love2d stavolta che gira, nonostante la octo-oriented programming!</strong></p><p>Sorprendentemente, appena qualche ora di <em>sonno</em> e qualche ora di <em>scrittura magica un pochino avanti e indietro</em> più tardi, e <strong>ho effettivamente trovato una soluzione </strong><strong><a href="https://octospacc.altervista.org/2025/09/04/lamore-2d-e-gli-oggetti-orientifici-ma-quello-che-accade-non-fa-divertire/" rel="nofollow noopener" target="_blank">al </a></strong><strong><a href="https://octospacc.altervista.org/2025/09/04/lamore-2d-e-gli-oggetti-orientifici-ma-quello-che-accade-non-fa-divertire/" rel="nofollow noopener" target="_blank"><em>problema problemoso</em></a></strong><strong><a href="https://octospacc.altervista.org/2025/09/04/lamore-2d-e-gli-oggetti-orientifici-ma-quello-che-accade-non-fa-divertire/" rel="nofollow noopener" target="_blank"> delle prestazioni imbarazzanti di Love2D caricato di una tale OOP</a></strong> che non gira affatto bene su una <em>viemmina</em> come quella di Lua… e, anche se come previsto il modo che ho dovuto mettere in atto è <em>abbastanza spaventoso</em>, <em>non</em> è nemmeno <em>inadatto alla produzione</em>, e anzi: <strong>è </strong><strong><em>gnammastico</em></strong>. 😳</p><p>L’obiettivo in mente era una roba del tipo: <strong>avere nel possibile una programmazione orientata ad oggetti</strong> che, per <strong>ridurre l’overhead causato da troppi lookup in tabelle e troppe chiamate di funzioni</strong> in poco tempo, fosse <strong>basata principalmente sulla composizione</strong>, desiderio che è anche comune in Lua… ma, <strong><em>volendo evitare Lua</em></strong><strong>, perché voglio invece qualcosa di fortemente tipizzato</strong>, perché altrimenti so che finisce rapidamente tutto <em>a spacc</em>. In questo senso, <a href="https://memos.octt.eu.org/m/Pc2rtyhRBV5xSKKTckLB6G" rel="nofollow noopener" target="_blank">Teal è interessante</a>, però, per motivi che ora <em>non frecano</em>, non mi convince più di tanto… e allora ho ragionato su cosa si potesse fare con TypeScript… 😨</p><p>Ecco: sorprendentemente, <strong>sfruttando semplicemente gli oggetti anonimi</strong> (uguali a quelli di JavaScript, che si mappano perfettamente a tabelle di Lua) <strong>in congiunzione con il sistema di tipi composti di TypeScript</strong> (che funzionano come le interfacce nella OOP, ma indicano tipi di oggetti), <strong>evitando completamente le classi del linguaggio…</strong> con la proprietà intrinseca degli oggetti in JavaScript (e in Lua, duh, in qualunque linguaggio interpretato) di essere componibili, ma combinati <em>coi tipi lì</em>, <strong>si riesce ad avere a livello di sviluppo tutta la sicurezza dei tipi di TypeScript, ma in output codice Lua estremamente pulito!!!</strong> (E che, per inciso, evita completamente l’uso delle <em>metatabelle</em>, anch’esse causa di rallentamenti.) 🤯</p><p>Benchmark stavolta <em>niente</em>, poiché <em>palle</em>, e anche perché i “<em><a href="https://memos.octt.eu.org/m/2HEiRTfKFKreMyBZbxourz" rel="nofollow noopener" target="_blank">fottuti rettangoli</a></em>” hanno mostrato prestazioni negative inaspettate rispetto alle 2 versioni scritte a mano ieri in Lua… ma non perché <strong>il codice </strong><strong><em>sputato fuori</em></strong><strong> da </strong><strong><a href="https://memos.octt.eu.org/m/fiDD7gpDGBJWdRvbw9grzf" rel="nofollow noopener" target="_blank">TypeScriptToLua</a></strong><strong> in questo caso</strong> sia sporco, quanto più perché <strong>ho già iniziato a reimplementare con questo nuovo paradigma il mio </strong><strong><em>motorino</em></strong><strong> desiderato,</strong> che ovviamente dell’overhead in più lo ha comunque, ma… <strong>Stavolta, la demo di Breakout sul 3DS è magicamente giocabile</strong>, non va più a <em>5 secondi al frame</em>!!! (E sul PC mi si aggira su 1-2% di CPU, che è wow.) 🗽</p><p>Ora… boh, solo <em>le pareti che mi tengono compagnia quando programmo</em> sapranno dirmi come andrà avanti questo affarino. A parte il fatto che <strong>ho dovuto già ripensare abbastanza la API da come l’avrei voluta inizialmente</strong> — dovendo farla deviare già parecchio da HaxeFlixel, perché non sembra esserci modo di avere i tipi completamente sicuri dovendo allo stesso tempo minimizzare gli oggetti nidificati e le catene di funzioni — ci sono alcuni dettagli per cui questa cosa degli oggetti <em>pseudoclassisti</em> funzionano che mi sanno <em>di strano</em>, perché praticamente devo tenere le definizioni all’effettivo completamente separate dalle implementazioni (quindi, per esempio, devo usare <code>Cacca.new()</code> per creare una nuova <code>cacca</code>, ma <code>TCacca</code> per riferirmi al tipo…), ma sarà un <em>TypeScript skill issue</em>. 😶</p><p>C’è anche da dire che con questo mio <em>accrocco</em> non c’è incapsulazione, implementarla sarebbe un casino e costerebbe (per via di come funziona Lua, che costringe ad usare funzioni anonime per implementare questa cosa; funzioni che verrebbero interamente copiate su <em>ogni singolo oggetto</em>) lo spreco di <em>un fottio di memoria</em> (termine tecnico)… ma non lo vedo come un problema; casomai dovesse servire il distinguere campi pubblici da privati, basterà <em>rubare</em> la convenzione di Python per cui le variabili che iniziano con gli underscore sono ad uso interno. E, davvero, <strong>l’unico aspetto negativo di questa </strong><strong><em>macchinazione</em></strong><strong> credo sia il fatto di non poter ottimizzare ulteriormente</strong> senza ridurre il riuso del codice, avendo svariate chiamate a funzioni miste che per quanto piccole sarebbero meglio <em>inlinate</em>, cioè copincollate dal compilatore anziché lo sviluppatore, se solo Lua lo permettesse… <s>(…E se scrivessi un </s><s><em>postprocessore</em></s><s> Lua per fare esattamente ciò???)</s></p><p><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/programmazione/" target="_blank">#programmazione</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/demo/" target="_blank">#demo</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/development/" target="_blank">#development</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/ottimizzazione/" target="_blank">#ottimizzazione</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/love2d/" target="_blank">#LOVE2D</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/lua/" target="_blank">#Lua</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/typescript/" target="_blank">#typescript</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/typescripttolua/" target="_blank">#TypeScriptToLua</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/optimizing/" target="_blank">#optimizing</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/optimization/" target="_blank">#optimization</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://octospacc.altervista.org/tag/oop/" target="_blank">#OOP</a></p>
golang“简单”不是“容易”:Go开发者应该懂的5个道理 本文永久链接 – https://tonybai.com/2025/09/04/simple-is-not-easy 大家好,我是Tony Bai。 在软件工程领域,有...<br><br><a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/技术志" target="_blank">#技术志</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/any" target="_blank">#any</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/Clojure" target="_blank">#Clojure</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/complex" target="_blank">#complex</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/easy" target="_blank">#easy</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/embedding" target="_blank">#embedding</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/Go" target="_blank">#Go</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/Golang" target="_blank">#Golang</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/Interface" target="_blank">#Interface</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/Mutex" target="_blank">#Mutex</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/OOP" target="_blank">#OOP</a><br><br><a href="https://tonybai.com/2025/09/04/simple-is-not-easy/" rel="nofollow noopener" target="_blank">Origin</a> | <a href="https://awakari.com/sub-details.html?id=golang" rel="nofollow noopener" target="_blank">Interest</a> | <a href="https://awakari.com/pub-msg.html?id=JbMixF4EcdieQGRjtjrPFmmXnjU&amp;interestId=golang" rel="nofollow noopener" target="_blank">Match</a>
Nicolas Fränkel 🇺🇦🇬🇪<p>Back in an engineering position, I come across newly written <a href="https://mastodon.top/tags/Java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Java</span></a> code that has a lot of improvement potential regarding maintainability. It works, but I imagine engineers having to update it, including the original author’s future self and me, and I’m sure I can help them. This week, I refactored code using creational <a href="https://mastodon.top/tags/DesignPatterns" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DesignPatterns</span></a>. In this post, I want to describe the issues I faced and mention how patterns helped me.</p><p>My thoughts on object creation.</p><p><a href="https://blog.frankel.ch/thoughts-object-creation/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/thoughts-objec</span><span class="invisible">t-creation/</span></a></p><p><a href="https://mastodon.top/tags/GoF" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GoF</span></a> <a href="https://mastodon.top/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a></p>
Mark Gardner<p>From bare‑bones <a href="https://mastodon.phoenixtrap.com/tags/Perl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Perl</span></a> script to a lean, testable <a href="https://mastodon.phoenixtrap.com/tags/modulino" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>modulino</span></a>—fast with Util::H2O::More. Instant accessors, built‑in <a href="https://mastodon.phoenixtrap.com/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a> parsing, and less boilerplate than <a href="https://mastodon.phoenixtrap.com/tags/Moo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Moo</span></a>.</p><p><a href="https://phoenixtrap.com/2025/08/24/testable-perl-modulinos-h2o-more/?utm_source=mastodon&amp;utm_medium=jetpack_social" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">phoenixtrap.com/2025/08/24/tes</span><span class="invisible">table-perl-modulinos-h2o-more/?utm_source=mastodon&amp;utm_medium=jetpack_social</span></a></p><p><a href="https://mastodon.phoenixtrap.com/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://mastodon.phoenixtrap.com/tags/testing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>testing</span></a> <a href="https://mastodon.phoenixtrap.com/tags/OpenSource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSource</span></a> <a href="https://mastodon.phoenixtrap.com/tags/coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coding</span></a> <a href="https://mastodon.phoenixtrap.com/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.phoenixtrap.com/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a> <a href="https://mastodon.phoenixtrap.com/tags/SoftwareDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDevelopment</span></a></p>
रञ्जित (Ranjit Mathew)<p>The talk was very nice 👌🏽:</p><p>“The Big OOPs: Anatomy Of A Thirty-Five Year Mistake”, Casey Muratori (<a href="https://www.computerenhance.com/p/the-big-oops-anatomy-of-a-thirty" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">computerenhance.com/p/the-big-</span><span class="invisible">oops-anatomy-of-a-thirty</span></a>).</p><p>On HN: <a href="https://news.ycombinator.com/item?id=44612313" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">news.ycombinator.com/item?id=4</span><span class="invisible">4612313</span></a> &amp; <a href="https://news.ycombinator.com/item?id=44596554" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">news.ycombinator.com/item?id=4</span><span class="invisible">4596554</span></a></p><p>On Lobsters: <a href="https://lobste.rs/s/rnnpqm/big_oops_anatomy_thirty_five_year_mistake" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">lobste.rs/s/rnnpqm/big_oops_an</span><span class="invisible">atomy_thirty_five_year_mistake</span></a></p><p><a href="https://mastodon.social/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://mastodon.social/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a> <a href="https://mastodon.social/tags/CPP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CPP</span></a> <a href="https://mastodon.social/tags/PLDI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PLDI</span></a></p>
Mark Gardner<p>The Util::H2O::More <a href="https://mastodon.phoenixtrap.com/tags/Perl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Perl</span></a> <a href="https://mastodon.phoenixtrap.com/tags/blog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blog</span></a> post is in the works…</p><p><a href="https://mastodon.phoenixtrap.com/tags/blogging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blogging</span></a> <a href="https://mastodon.phoenixtrap.com/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://mastodon.phoenixtrap.com/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.phoenixtrap.com/tags/coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coding</span></a> <a href="https://mastodon.phoenixtrap.com/tags/SoftwareDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDevelopment</span></a> <a href="https://mastodon.phoenixtrap.com/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a></p>
Larry Garfield<p>A survey of data modeling approaches.</p><p><a href="https://www.garfieldtech.com/blog/data-modeling" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">garfieldtech.com/blog/data-mod</span><span class="invisible">eling</span></a></p><p><a href="https://phpc.social/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://phpc.social/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://phpc.social/tags/DataModeling" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DataModeling</span></a> <a href="https://phpc.social/tags/CRUD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CRUD</span></a> <a href="https://phpc.social/tags/CQRS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CQRS</span></a> <a href="https://phpc.social/tags/EventSourcing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EventSourcing</span></a></p>
Francis Mangion (M)<p><a href="https://mastodon.social/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a></p><p><a href="https://www.facebook.com/share/p/1EQ2B3puQH/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">facebook.com/share/p/1EQ2B3puQ</span><span class="invisible">H/</span></a></p>
Mark Gardner<p>For my next <a href="https://mastodon.phoenixtrap.com/tags/Perl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Perl</span></a> <a href="https://mastodon.phoenixtrap.com/tags/blog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blog</span></a> post, should I write about:</p><p>* Util::H2O::More as an alternative to Moo for <a href="https://mastodon.phoenixtrap.com/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> modulinos, or <br>* Log::Any to log to the <a href="https://mastodon.phoenixtrap.com/tags/Apple" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Apple</span></a> <a href="https://mastodon.phoenixtrap.com/tags/macOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macOS</span></a> unified logging system?</p><p>Some background:<br>* Moo with modulinos: <a href="https://phoenixtrap.com/2025/08/03/moodulinos/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">phoenixtrap.com/2025/08/03/moo</span><span class="invisible">dulinos/</span></a><br>* Util::H2O::More: <a href="https://metacpan.org/pod/Util::H2O::More" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">metacpan.org/pod/Util::H2O::Mo</span><span class="invisible">re</span></a><br>* Log::Any: <a href="https://metacpan.org/pod/Log::Any" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">metacpan.org/pod/Log::Any</span><span class="invisible"></span></a><br>* Apple’s unified logging system: <a href="https://developer.apple.com/documentation/os/logging" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">developer.apple.com/documentat</span><span class="invisible">ion/os/logging</span></a></p><p><a href="https://mastodon.phoenixtrap.com/tags/blogging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blogging</span></a> <a href="https://mastodon.phoenixtrap.com/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.phoenixtrap.com/tags/coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coding</span></a> <a href="https://mastodon.phoenixtrap.com/tags/SoftwareDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDevelopment</span></a> <a href="https://mastodon.phoenixtrap.com/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a></p>