<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx" -->

---
title: adam bien's blog | daily.dev
description: A new airhacks.fm podcast episode features Donald Raab discussing the history of Eclipse Collections' method names (select, reject, detect, collect, inject),...
canonical: https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: adam bien's blog | daily.dev
og:description: A new airhacks.fm podcast episode features Donald Raab discussing the history of Eclipse Collections' method names (select, reject, detect, collect, inject),...
og:url: https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx
og:image: https://api.daily.dev/og/posts/NwA7GwLJx.png
og:image:alt: adam bien's blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# adam bien's blog

**[Adam Bien](https://daily.dev/sources/adam-bien)** · 1 min read · 2 upvotes · 0 comments

## Summary

A new airhacks.fm podcast episode features Donald Raab discussing the history of Eclipse Collections' method names (select, reject, detect, collect, inject), tracing their origins from Clipper and Smalltalk through to Java lambdas and method references. The conversation covers the ten-year evolution from anonymous inner classes to JSR 335, which introduced lambda expressions to Java.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://adambien.blog/roller/abien/entry/select_reject_detect_collect_and_inject_airhacks_fm_podc>

## Questions this post answers

### Where do the Eclipse Collections method names select, reject, detect, collect and inject come from?

These method names trace back to Smalltalk and Clipper programming conventions predating Java. Donald Raab, creator of Eclipse Collections, explains they were carried forward as functional-style operations before Java lambdas existed, later mapping onto concepts like filter, map, and reduce once Java adopted lambda expressions and method references via JSR 335.

_Developers digging into functional collection APIs can follow language history discussions like this on daily.dev._

### What is JSR 335 and how does it relate to Java lambdas?

JSR 335 is the Java Specification Request that introduced lambda expressions and method references to Java, completing a roughly ten-year path away from anonymous inner classes as the primary way to write functional-style code. It formalized syntax for passing behavior as data, enabling libraries like Eclipse Collections to expose more concise functional APIs.

_Java developers tracking language evolution can follow specification history like this on daily.dev._

## Similar posts on daily.dev

- [Episode 44 “Java, Collections & Generics, BeJUG” – Inside.java](https://daily.dev/posts/episode-44-java-collections-generics-bejug-inside-java-wyqhtbkqn) · Inside Java · 2 upvotes · 1 comments
- [Foojay Podcast \#93: Update Your JDK, Read More Code, and Talk to Your Users: Interviews From VoxxedDays Amsterdam](https://daily.dev/posts/foojay-podcast-93-update-your-jdk-read-more-code-and-talk-to-your-users-interviews-from-voxxedd-okfmcftb4) · Foojay.io · 1 upvotes · 0 comments

---

Tags: [#java](https://daily.dev/tags/java)

[View this post on daily.dev](https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"adam bien's blog","url":"https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx"},"datePublished":"2026-09-29T18:17:01.399Z","dateModified":"2026-09-29T18:17:24.185Z","description":"A new airhacks.fm podcast episode features Donald Raab discussing the history of Eclipse Collections' method names (select, reject, detect, collect, inject),...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d365e8cabb5d95ba36aaa092c23f211d?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d365e8cabb5d95ba36aaa092c23f211d?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Adam Bien","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Adam Bien","logo":"https://media.daily.dev/image/upload/s--CInnAL-q--/f_auto,q_auto/v1773644276/logos/adam-bien?_a=BAMAMiiu0","url":"https://daily.dev/sources/adam-bien"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"java","timeRequired":"PT1M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Adam Bien","item":"https://daily.dev/sources/adam-bien"},{"@type":"ListItem","position":3,"name":"adam bien's blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/adam-bien-s-blog-nwa7gwljx#faq","mainEntity":[{"@type":"Question","name":"Where do the Eclipse Collections method names select, reject, detect, collect and inject come from?","acceptedAnswer":{"@type":"Answer","text":"These method names trace back to Smalltalk and Clipper programming conventions predating Java. Donald Raab, creator of Eclipse Collections, explains they were carried forward as functional-style operations before Java lambdas existed, later mapping onto concepts like filter, map, and reduce once Java adopted lambda expressions and method references via JSR 335. Developers digging into functional collection APIs can follow language history discussions like this on daily.dev."}},{"@type":"Question","name":"What is JSR 335 and how does it relate to Java lambdas?","acceptedAnswer":{"@type":"Answer","text":"JSR 335 is the Java Specification Request that introduced lambda expressions and method references to Java, completing a roughly ten-year path away from anonymous inner classes as the primary way to write functional-style code. It formalized syntax for passing behavior as data, enabling libraries like Eclipse Collections to expose more concise functional APIs. Java developers tracking language evolution can follow specification history like this on daily.dev."}}]}
```

