Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java vs OOP

1,505 views

Published on

JavaDay Minsk 2016; Minsk, Belarus; 11 June 2016. Video is here: https://www.youtube.com/watch?v=cGcCcxx4xrg (in English) and here: https://www.youtube.com/watch?v=6hOBfjJ2bpw (in Russian with English subtitles).

Published in: Software
  • Be the first to comment

  • Be the first to like this

Java vs OOP

  1. 1. /27@yegor256 1 Java vs OOP Yegor Bugayenko
  2. 2. /27@yegor256 2 long video showing Clojure 8000+ lines Java class
  3. 3. /27@yegor256 3 Java books frameworks Google OOP
  4. 4. /27@yegor256 4 if it works,
 it’s good if it’s good,
 it works
  5. 5. /27@yegor256 5 “Just make $1B with something instead of ORM and you will be right” — Victor
  6. 6. /27@yegor256 6 enemy #1: books
  7. 7. /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”
  8. 8. /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
  9. 9. /27@yegor256 9 “A class is a collection of data fields that hold values and methods that operate on those values” - page 98
  10. 10. /27@yegor256 10 “An object is some memory that holds a value of some type” - page 40
  11. 11. /27@yegor256 11 “An object consists of some private memory and a set of operations.” - page 6
  12. 12. /27@yegor256 12 “An object is the equivalent of the quanta from which the universe is constructed” - page 66
  13. 13. /27@yegor256 13 enemy #2: languages
  14. 14. /27@yegor256 14 static public null final return instanceof .class @
  15. 15. /27@yegor256 15 final - immutability - setters - anemic model - data structures - procedural thinking
  16. 16. /27@yegor256 16 static - utility classes - singletons - procedural thinking
  17. 17. /27@yegor256 17 instanceof - reflection API - no polymorphism - no encapsulation - procedural thinking .class
  18. 18. /27@yegor256 18 @ - split objects apart - anemic model - procedural thinking
  19. 19. /27@yegor256 19 enemy #3: frameworks
  20. 20. /27@yegor256 20 JAX-RS JPA Play Spring JavaBeans Apache Commons Guava JDK JAXB
  21. 21. /27@yegor256 21 JAX-RS @Path(“/”) public class Index { @GET @Produces(“text/plain”) public String get() { return “hello, world!”; } }
  22. 22. /27@yegor256 22 Apache Commons text = FileUtils.readFileToSTring(f); StringUtils.abbreviate(“hello, world!”); DigestUtils.md5(“some text”);
  23. 23. /27@yegor256 23 JPA @Entity(table = “book”) public class Book { @Id public int id; @Column public String title; }
  24. 24. /27@yegor256 24 enemy #4: Google
  25. 25. /27@yegor256 25 Android SDK android.app.Activity 200+ methods it’s a shame
  26. 26. /27@yegor256 26 time to change sides!
  27. 27. /27@yegor256 27 $20 for JavaDay shop@yegor256.com

×