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