#generics — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #generics, aggregated by home.social.
-
A brief overview of the #generics concept in #PHP, as explained by @nunomaduro 👇
https://www.youtube.com/watch?v=3-wG-HYI3JgFor now, it’s at the "idea" stage, so you can review it, comment, and share your thoughts. For more details, refer to the RFC and pull request:
- https://wiki.php.net/rfc/bound_erased_generic_types
- https://github.com/php/php-src/pull/21969Have a good day 😎
-
Ever shipped an API and regretted your generic signatures later? Wildcards everywhere. Confusing bounds. Mental overhead. Michel Charpentier breaks down why variance matters—and why #Java still feels heavy here.
Read + apply: https://javapro.io/2026/01/27/what-i-still-miss-my-most-wanted-java-features/
-
Ever shipped an API and regretted your generic signatures later? Wildcards everywhere. Confusing bounds. Mental overhead. Michel Charpentier breaks down why variance matters—and why #Java still feels heavy here.
Read + apply: https://javapro.io/2026/01/27/what-i-still-miss-my-most-wanted-java-features/
-
Ever shipped an API and regretted your generic signatures later? Wildcards everywhere. Confusing bounds. Mental overhead. Michel Charpentier breaks down why variance matters—and why #Java still feels heavy here.
Read + apply: https://javapro.io/2026/01/27/what-i-still-miss-my-most-wanted-java-features/
-
https://www.europesays.com/dk/74107/ Generics, Pipeline Wins, and a Pivotal Earnings Report #Crossroads #Crucial #earnings #faces #generics #Nordisk #novo #NovoNordisk #pipeline #Pivotal #wins
-
https://www.europesays.com/dk/72543/ Generics, Price Wars, and a Steep Valuation Gap #faces #generics #Nordisk #novo #NovoNordisk #Perfect #price #Steep #Storm #Valuation #wars
-
Один хеш, вместо миллиона проверок: пишем Merkle Tree на Go с нуля
Представьте: у вас есть база из миллиона транзакций. Клиент спрашивает: «Моя транзакция точно в блоке?» Вы можете отдать ему все миллион записей для проверки. Или отдать 20 хешей по 32 байта - и он сам математически докажет, что его транзакция на месте. Без доверия. Без скачивания всего блока. За O(log N) Merkle tree - структура данных на которая является Bitcoin, Git, IPFS и Certificate Transparency. Посмотрим как она работает и напишем свою реализацию на Golang c ДЖЕНЕРИКАМИ йоу.
https://habr.com/ru/articles/1018186/
#merkletree #go #golang #generics #cryptography #datastructures #blockchain #proofofinclusion
-
Кастомные uuid на базе дженерика
Уже более 6 лет я использую кастомные идентификаторы - одна из классных штук, за которые обожаю go. Они незаменимы в описании бизнес-логики - невозможно перепутать порядок идентификаторов. Все вызовы становятся типобезопасными и самодокументируемыми. И писать такой легкочитаемый код очень приятно. Применяю кастомные id очень широко - от парсинга http-запроса до слоя данных. В статье подробно рассказываю: • «как было» раньше (и осталось для кадастровых номеров, например), • переход от кастомизации строк к скрепным uuid.UUID и варианты типизации, • немного запутаемся в важных условиях кастомизации, • скопипастим компактное и готовое решение • и бонусом посмотрим лаконичный синоним в коде.
-
Кастомные uuid на базе дженерика
Уже более 6 лет я использую кастомные идентификаторы - одна из классных штук, за которые обожаю go. Они незаменимы в описании бизнес-логики - невозможно перепутать порядок идентификаторов. Все вызовы становятся типобезопасными и самодокументируемыми. И писать такой легкочитаемый код очень приятно. Применяю кастомные id очень широко - от парсинга http-запроса до слоя данных. В статье подробно рассказываю: • «как было» раньше (и осталось для кадастровых номеров, например), • переход от кастомизации строк к скрепным uuid.UUID и варианты типизации, • немного запутаемся в важных условиях кастомизации, • скопипастим компактное и готовое решение • и бонусом посмотрим лаконичный синоним в коде.
-
Кастомные uuid на базе дженерика
Уже более 6 лет я использую кастомные идентификаторы - одна из классных штук, за которые обожаю go. Они незаменимы в описании бизнес-логики - невозможно перепутать порядок идентификаторов. Все вызовы становятся типобезопасными и самодокументируемыми. И писать такой легкочитаемый код очень приятно. Применяю кастомные id очень широко - от парсинга http-запроса до слоя данных. В статье подробно рассказываю: • «как было» раньше (и осталось для кадастровых номеров, например), • переход от кастомизации строк к скрепным uuid.UUID и варианты типизации, • немного запутаемся в важных условиях кастомизации, • скопипастим компактное и готовое решение • и бонусом посмотрим лаконичный синоним в коде.
-
Кастомные uuid на базе дженерика
Уже более 6 лет я использую кастомные идентификаторы - одна из классных штук, за которые обожаю go. Они незаменимы в описании бизнес-логики - невозможно перепутать порядок идентификаторов. Все вызовы становятся типобезопасными и самодокументируемыми. И писать такой легкочитаемый код очень приятно. Применяю кастомные id очень широко - от парсинга http-запроса до слоя данных. В статье подробно рассказываю: • «как было» раньше (и осталось для кадастровых номеров, например), • переход от кастомизации строк к скрепным uuid.UUID и варианты типизации, • немного запутаемся в важных условиях кастомизации, • скопипастим компактное и готовое решение • и бонусом посмотрим лаконичный синоним в коде.
-
Ever shipped an API and regretted your generic signatures later? Wildcards everywhere. Confusing bounds. Mental overhead. Michel Charpentier breaks down why variance matters—and why #Java still feels heavy here.
Read + apply: https://javapro.io/2026/01/27/what-i-still-miss-my-most-wanted-java-features/
-
The Lobsters discussion 👆🏽 had this 👇🏽informative comment:
https://lobste.rs/s/xecakg/long_season_langdev#c_xopv6b
which leads to this very interesting book / technical-report by Slava Pestov on #generics in #Swift:
“Compiling Swift Generics” (https://download.swift.org/docs/assets/generics.pdf).
-
GIMP Script-Fu ООП. Обобщённые функции
Библиотека функций к Script-fu Готовя эту статью я интересовался, что там в других языках, что там за "дженерики"? Все языки разбирать не буду, но скажу одно: Generic function использующиеся в ЛИСПе и современые дженерики различаются как НЕБО и ЗЕМЛЯ. За дженерики в современных языках в основном ратуют строго типизированные языки, всем понятно, что писать кучу однотипного кода просто глупо. Не скажу точно, кто стоит у истоков современных "дженериков", но пожалуй одним из ранних их проявлений это ШАБЛОНЫ в С++. Почему все остальные языки типа явы и ей подобных, решили назвать свои шаблоны дженериками мне не понятно. (у меня есть язвительное замечание, что хотели как в лиспе, но получилось как всегда). Но дело в том что в ПОДОБНЫХ дженериках языки с динамической типизацией просто не нуждаются. Функция list работает с любыми типами данных, ШАБЛОНЫ не нужны! А в С++ именно контейнеры стали основной побудительной силой использования дженериков, это просто хранилища которые хранят значения, если Си мы можем обойтись (void *) и потом привести тип к нужному, то С++ решил пойти по типобезопасному пути, ну немного "потолстев" в коде. Ну а что же там у современных его последователей? Рассмотрим Go. Пытаясь избавиться от типа, вводят обобщённую переменную T, но понимая, что сделать то с ней ничего нельзя(кроме как хранить и выдать обратно), пытаются как то её ТИПИЗИРОВАТЬ!!! Вводят КОНТРАКТ! А что делать когда в функции надо будет делать сложение? Надо будет к этому контракту добавить ещё контракт аддитиве? а умножение? или ещё что то? в любом случае код функции БЕДЕН! именно в силу того что мы не знаем что может прилететь нам в типе Т. Я вам расскжу что такое НАСТОЯЩИЕ ДЖЕНЕРИКИ.
-
The takeaway? Note the Dr's replies (dates between my outgoing). You are correct. There are none.
If nothing else, maybe BOOST it?
This is my attempt to communicate important life changing information to my primary care physician, of the Geisinger Family Health Network, in State College, Pennsylvania, 16803. In JULY 2024.
I'm still waiting for his reply.#Lyrica #Pregabalin #Gabapentin
#Civilrights #CivilProtection #medicalmalpractice
#FBI #Fraud #Pfizer #generics #phamaceutical #pharmacy #braindamage -
"Small" things that I highly appreciate about Kotlin coming from Java - Chapter 1
Inline functions with reified type parameters:
𝚒𝚗𝚕𝚒𝚗𝚎 𝚏𝚞𝚗 <𝚛𝚎𝚒𝚏𝚒𝚎𝚍 𝚃> 𝚍𝚘𝚂𝚘𝚖𝚎𝚝𝚑𝚒𝚗𝚐(𝚟𝚊𝚕𝚞𝚎: 𝚃)
https://kotlinlang.org/docs/inline-functions.html#reified-type-parameters
No more passing classes as parameters. No more super type tokens. It just works.
#Kotlin #Java #JVM #Generics #TypeErasure #Reification #SoftwareDevelopment
-
"Small" things that I highly appreciate about Kotlin coming from Java - Chapter 1
Inline functions with reified type parameters:
𝚒𝚗𝚕𝚒𝚗𝚎 𝚏𝚞𝚗 <𝚛𝚎𝚒𝚏𝚒𝚎𝚍 𝚃> 𝚍𝚘𝚂𝚘𝚖𝚎𝚝𝚑𝚒𝚗𝚐(𝚟𝚊𝚕𝚞𝚎: 𝚃)
https://kotlinlang.org/docs/inline-functions.html#reified-type-parameters
No more passing classes as parameters. No more super type tokens. It just works.
#Kotlin #Java #JVM #Generics #TypeErasure #Reification #SoftwareDevelopment
-
"Small" things that I highly appreciate about Kotlin coming from Java - Chapter 1
Inline functions with reified type parameters:
𝚒𝚗𝚕𝚒𝚗𝚎 𝚏𝚞𝚗 <𝚛𝚎𝚒𝚏𝚒𝚎𝚍 𝚃> 𝚍𝚘𝚂𝚘𝚖𝚎𝚝𝚑𝚒𝚗𝚐(𝚟𝚊𝚕𝚞𝚎: 𝚃)
https://kotlinlang.org/docs/inline-functions.html#reified-type-parameters
No more passing classes as parameters. No more super type tokens. It just works.
#Kotlin #Java #JVM #Generics #TypeErasure #Reification #SoftwareDevelopment
-
"Small" things that I highly appreciate about Kotlin coming from Java - Chapter 1
Inline functions with reified type parameters:
𝚒𝚗𝚕𝚒𝚗𝚎 𝚏𝚞𝚗 <𝚛𝚎𝚒𝚏𝚒𝚎𝚍 𝚃> 𝚍𝚘𝚂𝚘𝚖𝚎𝚝𝚑𝚒𝚗𝚐(𝚟𝚊𝚕𝚞𝚎: 𝚃)
https://kotlinlang.org/docs/inline-functions.html#reified-type-parameters
No more passing classes as parameters. No more super type tokens. It just works.
#Kotlin #Java #JVM #Generics #TypeErasure #Reification #SoftwareDevelopment
-
@jhx You asked for it, so I'll answer it:
Imho, C++ design is broken from the very beginning. It wanted to provide #OOP language constructs, still maintaining full #C compatibility (which already failed many years ago, cause the languages took different roads).
It combines #exceptions (IMHO generally a bad idea) with explicit resource management (an *awful* idea, forcing you to use #RAII which will in turn mandate creation of purely "technical" classes, just to manage resources).
It wanted #generics, but that's impossible without breaking C compatibility, so it came up with #templates, actually a #preprocessor on steroids.
Overloading also doesn't fit into the simple C library ABI (where #linker symbols are named just like the function), so it came up with "name mangling" ... which is especially horrific because it is *not* standardized.
Ah well, I could go on 😂