there is a difference between knowing the path, and walking the path
--Morpheus
The Path of Java Enlightenment:
- variables / assignment
- all primitive variable types
- operators
- ---
- IF
- WHILE
- functions
- recursion
- stack vs heap
- all loops and recursive functions are interchangeable but some are just more fun
- ---
- basic classes / objects
- pointers / references / why java cant have std::swap
- primitive vs objects, auto boxing
- garbage collection
- ---
- exceptions
- ---
- arrays
- linked lists
- trees
- hash tables
- and the data structures no one cares about
- ---
- object oriented programming
- polymorphism
- inheritance
- encapsulation
- and the one I always forget: abstraction
- single vs multiple inheritance, java interfaces
- ---
- templates / generics
- ---
- leaks:
- java "memory leaks"
- closing IO resources
- Weak References
- ---
- advanced java bullshit:
- inner classes
- child classes
- anonymous classes, java's crappy alternative to:
- closures
- function pointers / delegates
- random stuff
- final, finalize, finally
- enums
- regex !!
- IO, STDIN, STDOUT, Streams
- Java EE bullshit like Servlets
- algorithms and runtime
- big o
- constant, logarithmic, linear, nlogn, polynomial, exponential
- bubble sort, quicksort, merge sort, and the one with the integers
- quicksort vs merge sort: difference between pure math and physical computers?
- fancy shit like djisktras stuff?
- comp sci graph theory?
- A.I.
- DFS
- BFS
- state machines
- design patterns
- design patterns are not a fucking fast food menu
- REST and the HTTP protocol
- good: event shit, observer
- ok: factory, builder
- immutability and concurrency
- mutability to avoid allocations
- antipattern: god class, copy & paste
- popular: MVC
- people who define new "antipatterns" on blogs are actually just assholes asserting ignorant opinions
- concurrency
- well, shit.
- security
- nothing is ever secure
- google: "best practices [noun phrase]"
- coding practices
- premature optimization is bad
- java-specific optimization problems
- iterate with small changes over something that works
- source control: git
- important
- everyone on stack overflow is a fucking idiot

No comments:
Post a Comment