YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Java vs OOP

/27@yegor256 1

Java vs OOP

Yegor Bugayenko

Page 2: Java vs OOP

/27@yegor256 2

long video showing Clojure 8000+ lines Java

class

Page 3: Java vs OOP

/27@yegor256 3

Javabooks

frameworks

Google

OOP

Page 4: Java vs OOP

/27@yegor256 4

if it works, it’s good

if it’s good, it works

Page 5: Java vs OOP

/27@yegor256 5

“Just make $1B with something instead of ORM and you will be right”

— Victor

Page 6: Java vs OOP

/27@yegor256 6

enemy #1:

books

Page 7: Java vs OOP

/27@yegor256 7

“Objects may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods”

Page 8: Java vs OOP

/27@yegor256 8

“Each object looks quite a bit like a little computer — it has a state, and it has operations that you can ask it to perform” - page 16

Page 9: Java vs OOP

/27@yegor256 9

“A class is a collection of data fields that hold values and methods that operate on those values” - page 98

Page 10: Java vs OOP

/27@yegor256 10

“An object is some memory that holds a value of some type” - page 40

Page 11: Java vs OOP

/27@yegor256 11

“An object consists of some private memory and a set of operations.” - page 6

Page 12: Java vs OOP

/27@yegor256 12

“An object is the equivalent of the quanta from which the universe is constructed” - page 66

Page 13: Java vs OOP

/27@yegor256 13

enemy #2:

languages

Page 14: Java vs OOP

/27@yegor256 14

static

publicnull

final

return

instanceof

.class

@

Page 15: Java vs OOP

/27@yegor256 15final

- immutability - setters - anemic model - data structures - procedural thinking

Page 16: Java vs OOP

/27@yegor256 16

static

- utility classes - singletons - procedural thinking

Page 17: Java vs OOP

/27@yegor256 17

instanceof

- reflection API - no polymorphism - no encapsulation - procedural thinking

.class

Page 18: Java vs OOP

/27@yegor256 18

@

- split objects apart - anemic model - procedural thinking

Page 19: Java vs OOP

/27@yegor256 19

enemy #3:

frameworks

Page 20: Java vs OOP

/27@yegor256 20

JAX-RSJPAPlay

Spring

JavaBeans

Apache Commons

Guava

JDK JAXB

Page 21: Java vs OOP

/27@yegor256 21

JAX-RS

@Path(“/”) public class Index { @GET @Produces(“text/plain”) public String get() { return “hello, world!”; } }

Page 22: Java vs OOP

/27@yegor256 22

Apache Commons

text = FileUtils.readFileToSTring(f); StringUtils.abbreviate(“hello, world!”); DigestUtils.md5(“some text”);

Page 23: Java vs OOP

/27@yegor256 23

JPA

@Entity(table = “book”) public class Book { @Id public int id; @Column public String title; }

Page 24: Java vs OOP

/27@yegor256 24

enemy #4:

Google

Page 25: Java vs OOP

/27@yegor256 25

Android SDK

android.app.Activity

200+ methods

it’s a shame

Page 26: Java vs OOP

/27@yegor256 26

time to change sides!

Page 27: Java vs OOP

/27@yegor256 27

$20

for JavaDay

[email protected]