summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJoffrey BION <joffrey.bion@gmail.com>2018-07-30 21:05:35 +0200
committerJoffrey BION <joffrey.bion@gmail.com>2018-07-30 21:05:35 +0200
commit03a755ecfe6c01186cbb3d1c94621647e697292a (patch)
tree1f65428ada302d9f43586f94e3d0cbfa56d1cb2c /doc
parentRemove useless images (diff)
downloadseven-wonders-03a755ecfe6c01186cbb3d1c94621647e697292a.tar.gz
seven-wonders-03a755ecfe6c01186cbb3d1c94621647e697292a.tar.bz2
seven-wonders-03a755ecfe6c01186cbb3d1c94621647e697292a.zip
Add history note about Kotlin migration
Diffstat (limited to 'doc')
-rw-r--r--doc/decisions_history.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/doc/decisions_history.md b/doc/decisions_history.md
index 1ae2cdd8..5090876d 100644
--- a/doc/decisions_history.md
+++ b/doc/decisions_history.md
@@ -1,5 +1,19 @@
# Technical decisions and issues log
+## 2018.07.05-10 Kotlin Migration
+[@joffrey-bion][1] — :key: *Backend, Kotlin*
+
+I recently fell in love with Kotlin, as it seems to improve the few things I disliked about Java:
+
+- no unnecessary verbosity, Kotlin is much more condensed than Java: properties, streams, data classes, etc. There
+seems to be idioms for most things developers do all the time.
+- non-nullability is enforced at compile time when using non nullable types (no more NPEs and unnecessary null checks)
+- Kotlin stdlib has 2 different interfaces for read only and mutable collections
+
+Kotlin claims complete interoperability with Java and the possibility of incremental migration, so I decided to give
+it a try and migrated the game engine and backend server of Seven Wonders to see how it goes and if I could do this
+kind of change at work. For now, this has been quite a success.
+
## 2017.08-2018.04 Livedoc development
[@joffrey-bion][1] — :key: *API, Documentation*
bgstack15