LINKS
changeset 192 a112e0e2325c
parent 187 4d300409f2fe
child 193 ae307c3de4ee
equal deleted inserted replaced
188:937c995b047a 192:a112e0e2325c
       
     1 CS quotes
       
     2 https://henrikwarne.com/2016/04/17/more-good-programming-quotes/
       
     3 https://henrikwarne.com/2017/09/16/more-good-programming-quotes-part-2/
     1 
     4 
     2 
     5 
     3 =============
     6 ===================
       
     7 “To have another language is to possess a second soul.”
     4 
     8 
     5 scala -Yrepl-class-based
     9 ― attributed Charlemagne, Emperor of the  Carolingian Empire (Western Europe)
       
    10 
       
    11 
       
    12 -------------------
       
    13 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.
       
    14 -------------------
       
    15 
       
    16 8. Forced Null-Checks
       
    17 
       
    18 In Java, the method signature of a public method does not tell you if
       
    19 a returned value can be null or not. Take this signature for instance:
       
    20 
       
    21 public List<Item> getSelectedItems()
       
    22 
       
    23 What happens when no item is selected? Does this method then return
       
    24 null? Or does it return an empty list? We do not know for sure without
       
    25 looking into the implementation of this method (except we are very
       
    26 lucky in this case that the signature has a good javadoc description
       
    27 of the return type). There are two mistakes a developer could possibly
       
    28 make: (1)fForgetting to check the return value for null when it can be
       
    29 null, resulting in the famous NullPointerException, or; (2) checking
       
    30 it for null although it never can be null, resulting in needless code.
       
    31 
       
    32 
     6 
    33 
     7 
    34 
     8 why functional programming matters
    35 why functional programming matters
     9 http://queue.acm.org/detail.cfm?id=2038036
    36 http://queue.acm.org/detail.cfm?id=2038036
    10 
    37 
    11 Louvre Abu Dhabi
    38 why pure functions
    12 https://channel9.msdn.com/Events/FSharp-Events/fsharpConf-2016/The-3D-Geometry-of-Louvre-Abu-Dhabi
    39 http://www.deadcoderising.com/2017-06-13-why-pure-functions-4-benefits-to-embrace-2/
    13 (explanation why he choose functional programming)
       
    14 =============
       
    15 some examples
       
    16 https://wibisono.github.io/fp-oops/docs/redbook/monoid.html
       
    17 
    40 
    18 =============
       
    19 
    41 
    20 BufferOverflow
    42 BufferOverflow
    21 http://seclists.org/oss-sec/2017/q2/344
    43 http://seclists.org/oss-sec/2017/q2/344
    22 
    44 
    23 Data sources
    45 ============
    24 https://www.forbes.com/sites/bernardmarr/2016/02/12/big-data-35-brilliant-and-free-data-sources-for-2016/#60d25011b54d
    46 
       
    47 wartremover
       
    48 https://blog.knoldus.com/2017/06/15/remove-scala-warts-with-wartremover/
    25 =========
    49 =========
    26 Intro Videos
    50 Intro Videos
    27 https://www.youtube.com/watch?v=ugHsIj60VfQ (30:00 slide about functions)
    51 https://www.youtube.com/watch?v=ugHsIj60VfQ (30:00 slide about functions)
    28 
    52 
    29 https://www.youtube.com/channel/UC1VAdzkoY7M2e3msbW9Ur8w/videos?shelf_id=0&view=0&sort=dd
    53 https://www.youtube.com/channel/UC1VAdzkoY7M2e3msbW9Ur8w/videos?shelf_id=0&view=0&sort=dd
    53 
    77 
    54 Source of exercises
    78 Source of exercises
    55     http://exercism.io
    79     http://exercism.io
    56     https://www.scala-exercises.org/
    80     https://www.scala-exercises.org/
    57     http://www.sofiacole.com/technology/adopting-scala-the-next-steps/
    81     http://www.sofiacole.com/technology/adopting-scala-the-next-steps/
    58    
       
    59 Reverse polish notation exercise
       
    60 http://www.codeabbey.com/index/task_view/reverse-polish-notation
       
    61 
    82 
    62 Game of 2048 (deterministic version of prefilling
       
    63 the board and not letting any new tiles in; finding the
       
    64 maximum)
       
    65 http://www.codeabbey.com/index/task_view/game-of-2048
       
    66 
    83 
    67 https://medium.com/@markcanlasnyc/scala-saturday-functions-for-the-object-oriented-4218f9ed192b#.dw8x8zxvb
    84 https://medium.com/@markcanlasnyc/scala-saturday-functions-for-the-object-oriented-4218f9ed192b#.dw8x8zxvb
    68 
    85 
    69 --------------------
    86 --------------------
    70 Map-Reduce in Scala
    87 Map-Reduce in Scala
   107 https://en.lichess.org
   124 https://en.lichess.org
   108 
   125 
   109 ---------------------
   126 ---------------------
   110 scala code quality
   127 scala code quality
   111 https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/
   128 https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/
   112 
       
   113 
       
   114 
       
   115 
       
   116 ---------------------
       
   117 Scala resources
       
   118 
       
   119 https://danielwestheide.com/scala/neophytes.html
       
   120 
       
   121 
       
   122 
       
   123 
       
   124 
       
   125 
       
   126 
       
   127 functional programming
       
   128 ----------------------
       
   129 Functional Data Structures
       
   130 https://cs.uwaterloo.ca/~plragde/flaneries/FDS/index.html
       
   131 
       
   132 Okasaki
       
   133 http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf