Async/await I - Brief history of async/await

The async/await pattern was introduced to simplify asynchronous programming by making asynchronous code look and behave more like synchronous code. Here’s how it evolved across different programming languages.

May 3, 2025 · 3 min · Hongzhu Cui

Functional programming in Python, Java, C#

Functional programming (FP) is a paradigm that emphasizes immutability, pure functions, and higher-order functions. While Python, Java, and C# are all multi-paradigm languages (supporting both object-oriented and functional programming), they each have different levels of FP support. Here’s a comparison: 1. First-Class Functions All three languages support first-class functions, meaning functions can be assigned to variables, passed as arguments, and returned from other functions. Python: Full support for first-class functions using lambda, map(), filter(), reduce(), and list comprehensions. Java: Added functional support in Java 8 with lambda expressions and the Stream API. C#: Supports functional programming via delegates, lambda expressions, and LINQ (Language Integrated Query). 2. Higher-Order Functions A function is considered higher-order if it takes another function as an argument or returns one. ...

October 28, 2024 · 3 min · Hongzhu Cui