bilgisayar bilimcileri haklıymıs¸ · 2016-08-09 · i 2012 %20 functional i “lambdas in java...

47
Is it hot or is it not? Bilgisayar Bilimleri Kel Alaka? Neden Fonksiyonel Programlama? Nedir Fonksiyonel Programlama? Bilgisayar Bilimcileri Haklıymı¸ s Programlama dillerindeki son geli¸ smeler Chris Stephenson Department of Computer Science, ˙ Istanbul Bilgi University Last compiled on March 30, 2012 Chris Stephenson Bilgisayar Bilimcileri Haklıymı¸ s Slide 1 of 47

Upload: others

Post on 29-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimcileri HaklıymısProgramlama dillerindeki son gelismeler

Chris Stephenson

Department of Computer Science, Istanbul Bilgi University

Last compiled on March 30, 2012

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 1 of 47

Page 2: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I Java is the new Cobol

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 2 of 47

Page 3: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I Java is the new CobolI lambda is the new boy on the block

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 3 of 47

Page 4: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I Anahtar kelimelerI Functional,I lambda,I closure,I first class functions,I first class types,I Generic types

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 4 of 47

Page 5: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

λis the new boy on the block

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 5 of 47

Page 6: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I Yazılı gelistirme konferanslarıI Let’s Google for itI http://bit.ly/GW7GsbI Biraz tarihi olanları seçelim

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 6 of 47

Page 7: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I QCON 2010, 2011, 2012I %20 Functional Konuları

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 7 of 47

Page 8: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I QCON 2012I Simon RitterI “Java is not the new Cobol”I Sunuma bir göz atalım

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 8 of 47

Page 9: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I QCON 2012I Philip WadlerI Pizzayı kim ısmarlamıs?

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 9 of 47

Page 10: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I ACCU (C ve C++)I 2002-2007 %0 FunctionalI 2008 Özel track %10 FunctionalI 2009-2011 %10 - %15 Functional

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 10 of 47

Page 11: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I ACCU (C ve C++)I 2012 %20 FunctionalI “Lambdas in Java 8”I “Refactoring to Functional”I “Functional programming you

already know”I “Generic Types”

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 11 of 47

Page 12: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

bizde bile...

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 12 of 47

Page 13: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

bizde bile...

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 13 of 47

Page 14: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

En samimi iltifat taklittir

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 14 of 47

Page 15: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Kötü taklit olsa da

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 15 of 47

Page 16: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Kötü taklit olsa da

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 16 of 47

Page 17: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Dart and Go -Google has started to lose the plot.

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 17 of 47

Page 18: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I Diller - syntax ve semanticsI Space and time

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 18 of 47

Page 19: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

I Church - λ - motation yokI Turing Makinesi - mutationI birlestilerI Church-Turing thesis

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 19 of 47

Page 20: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

VisionIt is not the task of the University to offer

what society asks for, but to give whatsociety needs.

Edsger W Dijkstra

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 20 of 47

Page 21: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

- eski bir slayt

Vision - eski bir slayt

I FOSS - 2000I Java - 2000I Data Driven Design and functional

programming - 2003

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 21 of 47

Page 22: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerinin (eski) Türkiye Bayisinin vizyonun üç (deli)maddesi

I Java (2000)

I FOSS (2000)

I Functional programming (2003)

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 22 of 47

Page 23: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerinin (eski) Türkiye Bayisinin vizyonun üç (deli)maddesi

Java - yep yeniydi (1995)

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 23 of 47

Page 24: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerinin (eski) Türkiye Bayisinin vizyonun üç (deli)maddesi

FOSS:"We think of Linux as a competitor in the student and hobbyist

market but I really don’t think in the commercial market we’ll see itin any significant way." Bill Gates, 2001

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 24 of 47

Page 25: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerinin (eski) Türkiye Bayisinin vizyonun üç (deli)maddesi

FOSS:

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 25 of 47

Page 26: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerinin (eski) Türkiye Bayisinin vizyonun üç (deli)maddesi

FOSS:Windows Phone’i unutmayalım...

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 26 of 47

Page 27: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerinin (eski) Türkiye Bayisinin vizyonun üç (deli)maddesi

Functional Programming

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 27 of 47

Page 28: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerinin (eski) Türkiye Bayisinin vizyonun üç (deli)maddesi

Functional ProgrammingThe future is functional - the time has come.

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 28 of 47

Page 29: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

The future is functional - the time hascome.

I Scala (who is there?) Martin OderskyI ClojureI JavascriptI Whalesong

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 29 of 47

Page 30: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

The future is functional - the time hascome.

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 30 of 47

Page 31: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Neden yeni diller? Yeni yaklasımlar?Sorunlar var.

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 31 of 47

Page 32: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Tabii, Ama neden fonksiyonel?

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 32 of 47

Page 33: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Scala’dan birkaç örnek.

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 33 of 47

Page 34: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Twitter diyor ki:“ I think it may just be a property of large

systems in dynamic languages, that eventuallyyou end up rewriting your own type system,

and you sort of do it badly. You’re checking fornull values all over the place. ”

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 34 of 47

Page 35: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Twitter diyor ki:“ It is a shame to have to write all that when

there is a solution that has existed in the worldof programming languages for decades now. ”

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 35 of 47

Page 36: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Twitter diyor ki:“ .. it was wonderful to use a runtime I wasfamiliar with and be able to use functionalcombinators and closures and higher order

functions, all these things that I’ve wanted touse more in production systems. ”

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 36 of 47

Page 37: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Twitter diyor ki:“ To me, languages like Ruby, Scala, and Pythonare very high level, because you can write a few

lines of code to do what might take ten ortwenty lines in Java, or 250 lines in C. ”

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 37 of 47

Page 38: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Twitter diyor ki:“ The hardest part was just switching over from

the Ruby mentality to the Scala mentality.Trying to think more functionally. Trying to

think more immutably. Thinking about statictyping for the first time in several years.

”http://www.artima.com/scalazine/articles/twitter_on_scala.html

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 38 of 47

Page 39: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

The Guardian diyor ki:“ It took us a while to realise that most of theloops we wrote in Java were actually ’map’ or

’flatMap’ ”http://www.slideshare.net/tackers/java-to-

scala

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 39 of 47

Page 40: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Ne var?I First class functions -parametre ve

sonuç olabilirI lambdaI Static, nested, scopeI ClosuresI Comprehensions, map, filter, fold ve

saireI Mutation - yoookI (bazen) First class static types

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 40 of 47

Page 41: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Ufak örnekler:

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 41 of 47

Page 42: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bunlar da lazımI Program by DesignI Data Driven designI Test Driven Development

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 42 of 47

Page 43: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Çalısyor mu?I No mutation -> optimisationI Higher order -> optimisationI Deforesting

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 43 of 47

Page 44: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerine Ihtiyaç var.

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 44 of 47

Page 45: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Bilgisayar Bilimlerine Ihtiyaç var.video.cs.bilgi.edu.tr

courses.cs.bilgi.edu.tr(login as guest)

is Creative Commons licensed!

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 45 of 47

Page 46: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

Çünkü....Standart müfredat budur

Pieter Bruegel the Elder, 1568, The blind leading the blind

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 46 of 47

Page 47: Bilgisayar Bilimcileri Haklıymıs¸ · 2016-08-09 · I 2012 %20 Functional I “Lambdas in Java 8” I “Refactoring to Functional” I “Functional programming you already know”

Is it hot or is it not?Bilgisayar Bilimleri Kel Alaka?

Neden Fonksiyonel Programlama?Nedir Fonksiyonel Programlama?

And if you do not believe me, the news from theEuropean job market is:http://bit.ly/H31VgK

Chris Stephenson Bilgisayar Bilimcileri Haklıymıs Slide 47 of 47