7. Nesne Y旦nelimli Programlama, hareketli
par巽alar脹 enkaps端le ederek kodu anla脹l脹r
k脹l脹yor. Fonksiyonel Programlama ise hareketli
par巽alar脹 en aza indirgeyerek kodu anla脹l脹r
k脹l脹yor.
Michael Feathers
53. 束聴yi bir yaz脹l脹m m端hendisi olmak i巽in en uygun
teknikleri bulup bir denge salamak gerekir.
Ayr脹ca teknik olmayan yanlar ve hedefler de var.
Mesela kodun her ekip eleman脹 taraf脹ndan
anla脹labilmesi gibi.
Doru olan, en verimli yakla脹m hedeflerini net
olarak belirleyerek, teknikleri o ama巽la tutarl脹
bir ekilde kullanmaktir bence. Yoksa mesela
her For d旦ng端s端n端 Map'e 巽evirdiinizde
kodunuzun kalitesi artmaz; d端ebilir bile.損
BURAK EM聴R
Google - 聴svi巽re
Neden fonksiyonel programlamadan bahsedeceiz
Biraz tarih巽e
Konseptler genel bak脹
OOPun faydas脹
Side-effect kavram脹
Aforizmalar
Kod 旦rnekleri
Burak Ekinden mesaj
Diller - kaynaklar
Gelien programlama stillerini az 巽ok biliyoruz.
End端strimizin u an bulduu en yayg脹n 巽旦z端m Object Oriented. Kurumsal Uygulamalar脹n tamam脹 object oriented ortamlarda yaz脹l脹yor.
Peki Functional programlamadan d端nya uzaklam脹ken, neden bu ak tekrar hortlad脹?
Peki nereden geldi birden bire bu fonksiyonel ak脹?
Moda gibi s脹k脹l脹nca deitirmek istediimizden mi?
Yoksa bir eyi yanl脹 biliyorduk da yeni mi dorusunu anlad脹k
Bir ilham m脹 geldi bir yerlerden
artlar olarak deien ne?
Bu sunumda, fonksiyonel programlaman脹n OOP programc脹lar脹 i巽in ilgin巽 olan deerlerine bakaca脹z
Ve neden imdi bunlar脹n pop端lerletiini sorgulamaya 巽al脹aca脹z
Kendi tecr端belerimizden de 旦rnekler vereceiz
OO makes code understandable by encapsulating moving parts. FP makes code understandable by minimizing moving parts.
Michael Feathers
- Ve en 旦nemlisi, bir fonksiyonun 巽脹kt脹s脹, dier fonksiyonun girdisi olabilir
IP baz脹nda balant脹 say脹s脹
imdi FPnin biizm i巽in anlaml脹 olan prensiplerinden bahsedelim
SIDE EFFECT nedir?
imdi biraz fonksiyonel programlaman脹n OOP i巽in anlam ifade eden temel konseptlerine bakal脹m
State, durum olan state, fonksiyonel paradigmada kritik bir alan, sorunlu. Statein t端m端ne elbette bir d端manl脹k yok. zelde, mutable statee, yani deimeye kar脹 bir diren巽 var.
Fonksiyonel programlama, moving part s旦z端nden de hat脹rlayaca脹n脹z gibi kendini deien, k脹m脹ldayan, ayran g旦n端ll端 yap脹lardan uzak k脹lmaya 巽al脹脹yor.
Bu y端zden de s脹kl脹kla
Enemy of the state filmine at脹f yaparlar.
PEK聴 imdi statein nas脹l olutuuna bakal脹m m脹?
Immutable nesneler daha basit, tek state tutuyorsun, yarat脹ld脹脹 statede duruyor
Ve doal olarak senkronizasyon gerektirmiyor, thread-safe