Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-ca-cd:laboratoare:programare-functionala-lambda-si-streamuri [2025/12/15 11:29]
florian_luis.micu [Resurse și link-uri utile]
poo-ca-cd:laboratoare:programare-functionala-lambda-si-streamuri [2025/12/15 11:44] (current)
florian_luis.micu [Obiective]
Line 6: Line 6:
     * adăugare secțiune despre operații short-circuit.     * adăugare secțiune despre operații short-circuit.
     * adăugare secțiune [Nice to know] despre Optional.     * adăugare secțiune [Nice to know] despre Optional.
 +    * adăugare secțiune despre primitive streams.
     * menționarea boolean chaining când folosim interfețe funcționale de tip Predicate.     * menționarea boolean chaining când folosim interfețe funcționale de tip Predicate.
  
Line 21: Line 22:
  
 Aspectele **bonus** urmărite sunt: Aspectele **bonus** urmărite sunt:
-  * folosirea Optional.+  * definirea și folosirea Optional ​în programarea în stil funcțional.
   * paralelizarea codului folosind parallel streams.   * paralelizarea codului folosind parallel streams.
  
Line 29: Line 30:
 </​note>​ </​note>​
  
-======🔧 ​Programare ​funcțională======+======🔧 ​Programarea ​funcțională======
  
 +Există mai multe **paradigme de programare**,​ fiecare definind un mod diferit de a structura și exprima logica unui program. Cele mai importante sunt **programarea imperativă**,​ care descrie execuția pas cu pas, **programarea orientată pe obiecte**, care modelează aplicația prin obiecte ce combină date și comportament,​ și **programarea funcțională**,​ care pune accent pe transformări de date, funcții pure și evitarea stării mutabile.
 +
 +Majoritatea limbajelor moderne sunt **multi-paradigmă**. Java, de exemplu, combină stilul imperativ și orientat pe obiecte cu elemente de programare funcțională (lambda expressions,​ Stream API), permițând alegerea paradigmei potrivite în funcție de problemă.
 +
 +<note tip>
 +Există mai multe tipuri de paradigme de programare:
 +  * programare imperativă (ex. C, Fortran)
 +  * programare orientată pe obiecte (ex. Java, C#, C++, Python)
 +  * programare funcțională (ex. Haskell, Lisp)
 +  * programare declarativă (ex. SQL, HTML)
 +  * programare logică (ex. Prolog)
 +  * programare bazată pe evenimente (ex. JavaScript)
 +</​note>​
 =====De ce am programa funcțional în Java?===== =====De ce am programa funcțional în Java?=====
  
poo-ca-cd/laboratoare/programare-functionala-lambda-si-streamuri.1765790960.txt.gz · Last modified: 2025/12/15 11:29 by florian_luis.micu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0