#liskov-substitution-principle

[ follow ]
JavaScript
fromInfoQ
4 days ago

C++26: Reflection, Memory Safety, Contracts, and a New Async Model

C++26 introduces reflection, enhances memory safety, adds contracts, and establishes a unified framework for concurrency and parallelism.
#python
Python
fromdeath and gravity
6 days ago

Learn Python object-oriented programming with Raymond Hettinger

Subclassing in Python is a technique for code reuse, emphasizing operational views over traditional hierarchical models.
fromPythonmorsels
2 months ago
Software development

Is it a class or a function?

In Python, both classes and functions are callable; calling a class creates an instance while calling a function executes code and may return a value.
Python
fromdeath and gravity
6 days ago

Learn Python object-oriented programming with Raymond Hettinger

Subclassing in Python is a technique for code reuse, emphasizing operational views over traditional hierarchical models.
#scala
Scala
fromMedium
1 week ago

Scala's Growth Model - Building Inward, Starving Outward

Scala's ecosystem excels internally but struggles to attract new users due to structural and cultural barriers.
fromArtima
2 months ago
Software development

A (Brief) History of Object-Functional Programming

Scala matured into a practical object-functional language embraced by industry, combining language evolution and hybrid paradigms to reach production readiness.
Scala
fromMedium
1 week ago

Scala's Growth Model - Building Inward, Starving Outward

Scala's ecosystem excels internally but struggles to attract new users due to structural and cultural barriers.
Python
fromRealpython
1 week ago

Implementing the Factory Method Pattern in Python Quiz - Real Python

The quiz tests understanding of the Factory Method Pattern in Python.
Scala
fromMedium
3 weeks ago

Breaking Scala's Nil with Java Reflection

Java reflection in Spring Data MongoDB caused a bug in Scala's Nil singleton, revealing a mismatch between Scala's guarantees and JVM behavior.
JavaScript
fromMedium
4 weeks ago

Metaprogramming: teaching the compiler to explain your data.

Contextual information enhances debugging by providing field names, types, and nested structures.
Typography
fromEvery
1 month ago

How to Design Software With Weight

Every's design process prioritizes tactile, tangible interfaces by studying physical objects like vintage radios and light switches to make digital elements feel real and touchable on screen.
Web frameworks
fromMedium
2 months ago

Is separation of concerns a goal or a lie?

Separation of concerns makes frameworks like React and Tailwind beneficial by dividing complex problems into manageable parts, improving team collaboration and long-term maintainability.
fromRubyflow
1 month ago

Servactory - Typed service objects with declarative actions for Ruby

The core idea is three separate attribute layers: inputs (what comes in), internals (working state), and outputs (what goes out). Each is a distinct declaration with its own namespace and type checking. Combined with declarative make calls that define action order, the data flow through a service is visible at a glance: class Payments::Process < ApplicationService::Base input :payment, type: Payment internal :charge_result, type: Servactory::Result output :payment, type: Payment make :validate_status! make :perform_request! make :handle_response! make :assign_payment
Java
fromInfoQ
2 months ago

Java Explores Carrier Classes to Extend Data-Oriented Programming Beyond Records

Carrier classes and carrier interfaces generalize record benefits to support flexible, record-like data abstractions without imposing rigid representation rules.
#scala-3
Ruby on Rails
fromRubyflow
2 months ago

Static typing in Ruby only works if type narrowing reflects how we actually write Rub

Type Guard in Steep enables real type narrowing for union types, framework predicates like present?, and user-defined methods, improving Rails type checking.
Software development
fromRubyflow
1 month ago

A major shift in Ruby didn't come with new syntax - it came with fewer assumptions

Cannot access external URLs; please paste the article text or excerpts so I can produce the requested structured analysis.
Python
fromRealpython
1 month ago

Duck Typing in Python: Writing Flexible and Decoupled Code Quiz - Real Python

An interactive quiz assesses understanding of duck typing in Python, covering its definition, advantages, disadvantages, behavior-based interfaces, protocols, special methods, and alternative approaches.
Software development
fromMedium
3 months ago

Pure Functions: Your First Step Toward Bug-Free Concurrency

Pure functions and immutability stabilize systems by preserving facts and ensuring deterministic business logic amid mutable, entangled state and external side effects.
Software development
fromInfoWorld
2 months ago

Is code a cow path?

AI coding agents will progressively assume writing, reviewing, and testing roles, potentially eliminating the need for human review and traditional code artifacts.
fromMedium
2 months ago

Monadris: Why Functional Design Makes Tetris Safer and Easier (Scala 3 + ZIO)

A real Tetris loop has time (ticks), concurrent inputs (keystrokes), state transitions (collision, locking, line clears), and non-determinism (piece generation). In many imperative designs, these concerns end up tangled in shared mutable state, which tends to produce bugs that are: hard to reproduce (timing-dependent), hard to test (logic mixed with effects), hard to debug (replay isn't deterministic).
Software development
[ Load more ]