airhacks.fm podcast with adam bien

From Java 8 Lambdas, Streams, Spliterators, to Default Methods


Listen Later

An airhacks.fm conversation with Stuart Marks (@stuartmarks) about:
the history of the Teletype Model 33 and punched paper tape,
Telex service and long-distance communication costs,
the connection between TTY and the teletype company name,
110 baud modems and 10 characters per second transmission,
Wang Laboratories field offices connected via Telex,
the evolution from Java Enumeration to Iterator to Iterable,
Vector.elements() and the absence of an Enumerable interface,
the introduction of Iterator and Iterable in JDK 1.2 and 1.5 respectively,
the legacy collections Vector and Hashtable and their method-level synchronization overhead,
Java 8 lambdas and streams as the major language feature,
default methods enabling compatible interface evolution,
the long-standing problem of not being able to add methods to published interfaces,
Brian Goetz as the main designer of the Spliterator concept,
Eclipse Collections and Rich Iterable as an alternative to streams,
the GS Collections to Eclipse Collections history,
C# LINQ as a competing influence that pressured Java to add streams,
the design decision to separate lazy stream operations from eager collection operations,
intermediate vs terminal operations in stream pipelines,
why streams cannot be consumed twice and the buffering problem with forking streams,
primitive specializations of streams (IntStream,
LongStream,
DoubleStream) and the original compromise of Java primitives vs objects,
Spliterator characteristics,
the subsized optimization that avoids intermediate storage and merge steps for array-based collections,
how Spliterator splitting works for parallel execution and the fork/join pool,
Amdahl's law and minimizing single-threaded setup for parallel streams,
why Spliterator.trySplit mutates in place rather than returning two new spliterators,
HashSet being sized but not subsized due to bucket distribution,
ArrayList vs LinkedList performance considerations for streams,
streams from non-collection sources like BufferedReader.lines() and String.lines(),
infinite streams with Stream.generate(),
the limitations of streams for reactive or socket-based processing,
the for-each approach as an alternative to to-list for live data sources,
the upcoming topics of fork/join pools and parallel stream configuration,
the JavaOne conference

Stuart Marks on twitter: @stuartmarks

...more
View all episodesView all episodes
Download on the App Store

airhacks.fm podcast with adam bienBy Adam Bien

  • 5
  • 5
  • 5
  • 5
  • 5

5

7 ratings


More shows like airhacks.fm podcast with adam bien

View all
The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

288 Listeners

WSJ Tech News Briefing by The Wall Street Journal

WSJ Tech News Briefing

1,649 Listeners

The a16z Show by Andreessen Horowitz

The a16z Show

1,105 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

626 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

583 Listeners

Bits und so by Undsoversum GmbH

Bits und so

26 Listeners

c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

c’t uplink - der IT-Podcast aus Nerdistan

10 Listeners

heiseshow by heise online

heiseshow

2 Listeners

REWORK by 37signals

REWORK

212 Listeners

AWS Podcast by Amazon Web Services

AWS Podcast

204 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

140 Listeners

Lanz + Precht by ZDF, Markus Lanz & Richard David Precht

Lanz + Precht

339 Listeners

Der KI-Podcast by ARD

Der KI-Podcast

19 Listeners

Foojay.io | Friends of OpenJDK and Java Programming by Foojay.io | Java and Programming Community

Foojay.io | Friends of OpenJDK and Java Programming

0 Listeners

The Economics Show by Financial Times

The Economics Show

146 Listeners