--- 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