LINKS
changeset 192 a112e0e2325c
parent 187 4d300409f2fe
child 193 ae307c3de4ee
--- a/LINKS	Wed Jul 04 14:48:05 2018 +0100
+++ b/LINKS	Fri Oct 05 11:23:15 2018 +0100
@@ -1,27 +1,51 @@
+CS quotes
+https://henrikwarne.com/2016/04/17/more-good-programming-quotes/
+https://henrikwarne.com/2017/09/16/more-good-programming-quotes-part-2/
+
+
+===================
+“To have another language is to possess a second soul.”
+
+― attributed Charlemagne, Emperor of the  Carolingian Empire (Western Europe)
 
 
-=============
+-------------------
+FP strongly discourages changing the state of a variable once initialized. This has a profound effect upon concurrency. If you can’t change the state of a variable, you can’t have a race condition. If you can’t update the value of a variable, you can’t have a concurrent update problem.
+-------------------
+
+8. Forced Null-Checks
+
+In Java, the method signature of a public method does not tell you if
+a returned value can be null or not. Take this signature for instance:
+
+public List<Item> getSelectedItems()
 
-scala -Yrepl-class-based
+What happens when no item is selected? Does this method then return
+null? Or does it return an empty list? We do not know for sure without
+looking into the implementation of this method (except we are very
+lucky in this case that the signature has a good javadoc description
+of the return type). There are two mistakes a developer could possibly
+make: (1)fForgetting to check the return value for null when it can be
+null, resulting in the famous NullPointerException, or; (2) checking
+it for null although it never can be null, resulting in needless code.
+
+
 
 
 why functional programming matters
 http://queue.acm.org/detail.cfm?id=2038036
 
-Louvre Abu Dhabi
-https://channel9.msdn.com/Events/FSharp-Events/fsharpConf-2016/The-3D-Geometry-of-Louvre-Abu-Dhabi
-(explanation why he choose functional programming)
-=============
-some examples
-https://wibisono.github.io/fp-oops/docs/redbook/monoid.html
+why pure functions
+http://www.deadcoderising.com/2017-06-13-why-pure-functions-4-benefits-to-embrace-2/
 
-=============
 
 BufferOverflow
 http://seclists.org/oss-sec/2017/q2/344
 
-Data sources
-https://www.forbes.com/sites/bernardmarr/2016/02/12/big-data-35-brilliant-and-free-data-sources-for-2016/#60d25011b54d
+============
+
+wartremover
+https://blog.knoldus.com/2017/06/15/remove-scala-warts-with-wartremover/
 =========
 Intro Videos
 https://www.youtube.com/watch?v=ugHsIj60VfQ (30:00 slide about functions)
@@ -55,14 +79,7 @@
     http://exercism.io
     https://www.scala-exercises.org/
     http://www.sofiacole.com/technology/adopting-scala-the-next-steps/
-   
-Reverse polish notation exercise
-http://www.codeabbey.com/index/task_view/reverse-polish-notation
 
-Game of 2048 (deterministic version of prefilling
-the board and not letting any new tiles in; finding the
-maximum)
-http://www.codeabbey.com/index/task_view/game-of-2048
 
 https://medium.com/@markcanlasnyc/scala-saturday-functions-for-the-object-oriented-4218f9ed192b#.dw8x8zxvb
 
@@ -109,25 +126,3 @@
 ---------------------
 scala code quality
 https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/
-
-
-
-
----------------------
-Scala resources
-
-https://danielwestheide.com/scala/neophytes.html
-
-
-
-
-
-
-
-functional programming
-----------------------
-Functional Data Structures
-https://cs.uwaterloo.ca/~plragde/flaneries/FDS/index.html
-
-Okasaki
-http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
\ No newline at end of file