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() 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 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 ============ 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) https://www.youtube.com/channel/UC1VAdzkoY7M2e3msbW9Ur8w/videos?shelf_id=0&view=0&sort=dd =============== Scala warts http://www.lihaoyi.com/post/WartsoftheScalaProgrammingLanguage.html https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/ ================ online compiler https://scalafiddle.io/ http://www.scala-lang.org/blog/2017/05/19/scastie.html ------------------ Book http://twitter.github.io/effectivescala/ ------------------- Very good explanation of what being functional programming means https://dotboris.github.io/2017/04/07/functional-programming/ Source of exercises http://exercism.io https://www.scala-exercises.org/ http://www.sofiacole.com/technology/adopting-scala-the-next-steps/ https://medium.com/@markcanlasnyc/scala-saturday-functions-for-the-object-oriented-4218f9ed192b#.dw8x8zxvb -------------------- Map-Reduce in Scala https://madusudanan.com/blog/scala-tutorials-part-9-intro-to-functional-programming/ -------------------- bash scripting https://likegeeks.com/bash-script-easy-guide/ https://likegeeks.com/linux-bash-scripting-awesome-guide-part3/ ------------------- collatz http://codepen.io/benlorantfy/pen/KWzXoX ------------------- cheat sheets https://mbonaci.github.io/scala/ http://alvinalexander.com/downloads/scala/Scala-Cheat-Sheet-devdaily.pdf http://homepage.cs.uiowa.edu/~tinelli/classes/022/Fall13/Notes/scala-quick-reference.pdf https://www.youtube.com/watch?v=RZEZp8fqn_0 ------------------- scala books http://underscore.io/training/ ------------------- dependent types in Scala https://stepik.org/course/ThCS-Introduction-to-programming-with-dependent-types-in-Scala-2294/ -------------------- chess engine in scala http://marianogappa.github.io/software/2017/03/24/ostinato-a-chess-engine-written-in-scala-that-runs-on-the-browser-docker-and-the-repl/ https://en.lichess.org --------------------- scala code quality https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/