194
+ − 1
codejudge
+ − 2
+ − 3
https://www.codejudge.net/docs/reference
+ − 4
+ − 5
+ − 6
Race Track game
+ − 7
Game of life
229
+ − 8
+ − 9
===================
+ − 10
https://meta.plasm.us/posts/2013/03/28/better-scala-syntax-highlighting-for-hakyll/
194
+ − 11
+ − 12
===================
192
+ − 13
CS quotes
+ − 14
https://henrikwarne.com/2016/04/17/more-good-programming-quotes/
+ − 15
https://henrikwarne.com/2017/09/16/more-good-programming-quotes-part-2/
+ − 16
181
+ − 17
192
+ − 18
===================
+ − 19
“To have another language is to possess a second soul.â€
+ − 20
+ − 21
― attributed Charlemagne, Emperor of the Carolingian Empire (Western Europe)
191
+ − 22
+ − 23
192
+ − 24
-------------------
+ − 25
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.
+ − 26
-------------------
+ − 27
+ − 28
8. Forced Null-Checks
+ − 29
+ − 30
In Java, the method signature of a public method does not tell you if
+ − 31
a returned value can be null or not. Take this signature for instance:
+ − 32
+ − 33
public List<Item> getSelectedItems()
181
+ − 34
192
+ − 35
What happens when no item is selected? Does this method then return
+ − 36
null? Or does it return an empty list? We do not know for sure without
+ − 37
looking into the implementation of this method (except we are very
+ − 38
lucky in this case that the signature has a good javadoc description
+ − 39
of the return type). There are two mistakes a developer could possibly
+ − 40
make: (1)fForgetting to check the return value for null when it can be
+ − 41
null, resulting in the famous NullPointerException, or; (2) checking
+ − 42
it for null although it never can be null, resulting in needless code.
181
+ − 43
192
+ − 44
140
+ − 45
+ − 46
122
+ − 47
why functional programming matters
+ − 48
http://queue.acm.org/detail.cfm?id=2038036
+ − 49
192
+ − 50
why pure functions
+ − 51
http://www.deadcoderising.com/2017-06-13-why-pure-functions-4-benefits-to-embrace-2/
122
+ − 52
+ − 53
+ − 54
BufferOverflow
+ − 55
http://seclists.org/oss-sec/2017/q2/344
+ − 56
192
+ − 57
============
+ − 58
+ − 59
wartremover
+ − 60
https://blog.knoldus.com/2017/06/15/remove-scala-warts-with-wartremover/
122
+ − 61
=========
+ − 62
Intro Videos
+ − 63
https://www.youtube.com/watch?v=ugHsIj60VfQ (30:00 slide about functions)
+ − 64
+ − 65
https://www.youtube.com/channel/UC1VAdzkoY7M2e3msbW9Ur8w/videos?shelf_id=0&view=0&sort=dd
+ − 66
+ − 67
+ − 68
===============
+ − 69
Scala warts
+ − 70
http://www.lihaoyi.com/post/WartsoftheScalaProgrammingLanguage.html
+ − 71
+ − 72
https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/
+ − 73
================
+ − 74
+ − 75
+ − 76
online compiler
+ − 77
https://scalafiddle.io/
+ − 78
http://www.scala-lang.org/blog/2017/05/19/scastie.html
+ − 79
+ − 80
+ − 81
------------------
+ − 82
Book
+ − 83
http://twitter.github.io/effectivescala/
+ − 84
-------------------
+ − 85
+ − 86
Very good explanation of what being functional programming means
+ − 87
https://dotboris.github.io/2017/04/07/functional-programming/
+ − 88
+ − 89
95
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
+ − 90
Source of exercises
114
+ − 91
http://exercism.io
122
+ − 92
https://www.scala-exercises.org/
+ − 93
http://www.sofiacole.com/technology/adopting-scala-the-next-steps/
114
+ − 94
+ − 95
115
+ − 96
https://medium.com/@markcanlasnyc/scala-saturday-functions-for-the-object-oriented-4218f9ed192b#.dw8x8zxvb
+ − 97
+ − 98
--------------------
+ − 99
Map-Reduce in Scala
+ − 100
+ − 101
https://madusudanan.com/blog/scala-tutorials-part-9-intro-to-functional-programming/
+ − 102
+ − 103
+ − 104
--------------------
+ − 105
bash scripting
+ − 106
+ − 107
https://likegeeks.com/bash-script-easy-guide/
120
+ − 108
https://likegeeks.com/linux-bash-scripting-awesome-guide-part3/
+ − 109
+ − 110
+ − 111
-------------------
+ − 112
collatz
122
+ − 113
http://codepen.io/benlorantfy/pen/KWzXoX
+ − 114
+ − 115
-------------------
+ − 116
cheat sheets
+ − 117
+ − 118
https://mbonaci.github.io/scala/
+ − 119
http://alvinalexander.com/downloads/scala/Scala-Cheat-Sheet-devdaily.pdf
+ − 120
http://homepage.cs.uiowa.edu/~tinelli/classes/022/Fall13/Notes/scala-quick-reference.pdf
+ − 121
+ − 122
https://www.youtube.com/watch?v=RZEZp8fqn_0
+ − 123
+ − 124
-------------------
+ − 125
scala books
+ − 126
http://underscore.io/training/
+ − 127
+ − 128
-------------------
+ − 129
dependent types in Scala
+ − 130
https://stepik.org/course/ThCS-Introduction-to-programming-with-dependent-types-in-Scala-2294/
+ − 131
+ − 132
+ − 133
--------------------
+ − 134
chess engine in scala
+ − 135
http://marianogappa.github.io/software/2017/03/24/ostinato-a-chess-engine-written-in-scala-that-runs-on-the-browser-docker-and-the-repl/
+ − 136
https://en.lichess.org
+ − 137
+ − 138
---------------------
+ − 139
scala code quality
+ − 140
https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/