diff -r 937c995b047a -r a112e0e2325c LINKS --- 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 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