Mark Reinhold, Brian Goetz
Java: 18 years old
- static language, but many dynamic features
- many great features: gc, JIT ..
- principles Java Language
- reading code more important than writing
- simplicity
- one language, same everywhere
Java 8 features:
- lambda expressions (+ type inference)
- default methods in interfaces
- java.util.stream: aggregate / data-parallel operations
lambda expressions:
- inspiration: How to think about Parallel Programming -- Not (Guy Steele) (http://www.infoq.com/presentations/Thinking-Parallel-Programming)
- more expressive code
- instead of boilerplate of anonymous inner classes
- syntax inspired from C#
- single-method interfaces
- ´´default´´ methods
- default implementation
- fully virtual
- how stream() method was added
- more powerful:
- treat behavior as data
- "gentle turn for the functional"
- push away from mutative / imperative
- huge impact on API design
- more parallel
- aggregate operations (filter, conversions, max, etc.)
- stream() -> parallelStream() (single parallel pass on datasets)
- retrofitted Collections
next:
- value types: key enabler for
- tuples,
- user-defined primitive types
No comments:
Post a Comment