Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
De ce nu va place (unora) programarea functionala?
Last Updated: Aug 25 2019 21:04, Started by
dani.user
, Feb 16 2019 21:31
·
0
#1
Posted 16 February 2019 - 21:31
Cu exemple unde e posibil
Edited by dani.user, 16 February 2019 - 21:41. |
#3
Posted 16 February 2019 - 21:38
Cred ca esti prea departe fata de mine si restul ca sa purtam astfel de discutii
|
#4
Posted 16 February 2019 - 21:43
#5
Posted 16 February 2019 - 22:13
se poate face o descriere a "programarii functionale" ?
|
#6
Posted 16 February 2019 - 22:15
#7
Posted 16 February 2019 - 22:26
TruculMagic, on 16 februarie 2019 - 21:38, said:
Cred ca esti prea departe fata de mine si restul ca sa purtam astfel de discutii editielimitata, on 16 februarie 2019 - 22:13, said:
se poate face o descriere a "programarii functionale" ? unbrutus, on 16 februarie 2019 - 22:15, said:
google si quora, subiectul e dezbatut pe larg si cu argumente seriose, e imposibil de purtat aici o discutie mai completa ca pe forumurile de specialitate (quora e destul de puternic pe partea de software engineering) Nu este imposibil, trebuie doar un pic de seriozitate. Va rog din nou, daca se poate, incercati sa va oferiti opinia personala privind paradigma propusa. Edited by MarianG, 16 February 2019 - 23:00. |
#8
Posted 17 February 2019 - 00:40
Greu de facut mentenanta.
Greu de citit, mai ales daca e scrisa in paradigma mixta (Clojure etc) Cred ca e suficient pana aici. Astea sunt doua argumente care conteaza foarte mult in softwrae engineering. Nu e domeniul meu, oricum. |
#9
Posted 17 February 2019 - 03:47
#10
Posted 17 February 2019 - 09:16
PF e frumoasă, când e folosită când și cum trebuie.
Problema cu PF e că îți este prezentată ca "limbaj elegant" pentru unele probleme, și chiar este. Dar din asta se nasc fanatici care vor să facă totul funcțional. Nu este absolut deloc o problemă tehnică cu FP, e vina respectivilor fanatici, dar m-am gândit că e bine de menționat. În rest, FP e perfectă când e folosită când și cum trebuie, iar soluțiile respective sunt elegante. Personal, văd FP ca paradigma complementară pentru OOP: OOP folosit ca schelet în aplicații, FP folosit în mod standard în implementarea metodelor, dar imperativ în metode care nu rezolvă probleme ce se pretează pentru funcțională. Deci: scheletul în OOP, și în metode alegi PF sau imperativ în funcție de problemă. Da, poți avea și amestec de imperativ și funcțional în aceeași metodă, dar nu e o idee rea de obicei să separi în metode (private) diferite. Nu prea îmi place amestecul consecvent de imperativ și funcțional: o linie de cod așa, linia următoare invers. De ce nu îmi place un astfel de amestec? Strică eleganța și uneori chiar și expresivitatea și mentenabilitatea codului, plus presiunea cognitivă sau uneori îmi pot imagina și că afectează performanța. Și pentru amuzament: unii folosesc FP fără să știe. Cod care e scris ca imperativ, dar folosește idei din FP. aaaa4567, on 17 februarie 2019 - 00:40, said:
Greu de citit, mai ales daca e scrisa in paradigma mixta (Clojure etc) De aceea atunci când am folosit funcțional, am preferat varianta embedded: parserul/interpretorul funcțional apelat din program. La fel și cu programarea logică, de exemplu prolog. Dar as fi dispus sa accept FP fără intermediari, dacă e o segregare strictă în cod între paradigme. Pe același calapod faci si weaving pentru AOP sau cine stie ce DSL in groovy, etc. |
|
#11
Posted 17 February 2019 - 12:06
Sunt un fan al programarii functionale... dpdv teoretic. Practic, prefer un limbaj multi-paradigma, nu-mi place sa fiu limitat.
|
#12
Posted 17 February 2019 - 16:45
Habar nu aveam de existenta programarii functionale
-Ar fi ok dpdv scalabilitate si concurenta vezi domeniul web, pure function nu se folosesc variabile ci valori, sunt imutabile mda de aici ceva avantaje, high order function aici nu prea m-am prins care e treaba, currying si pattern matching ceva legat de functii ca ar fi mai lizibile, reutilizare unei functii. -Tail recursing-recursivitatea nu prea s-a lipit de mine, se foloseste in acest caz un acumulator in loc de o stiva, ca ar fi optimizat pentru operatii recursive, binenteles pentru cine le stapaneste Lambda- care ar fi ca o functie anonima si ceva mate... -FutureType interesant asta lipsea in general limbajelor clasice. Ha acum m-am prins, dani.user ne cere parerea legata de Scala Edited by iulian_1976, 17 February 2019 - 16:50. |
#14
Posted 18 February 2019 - 00:39
Pe scurt, programarea functionala e stilul de programare care trateaza functiile ca niste simple obiecte sau valori. O functie la randul ei poate lua alta functie ca si argument si sa returneze alta functie ca si valoare. Programarea pur functionala e programare fara assignment, deci fara "state". Odata ce o valoare e declarata, ea exista si atat Asupra acestor valori se aplica transformari (sau functii), care nu modifica insa valoarea initiala . Ei, cam asta e toata povestea, iar in jurul acestor idei , iti structurezi programul. Deoarece nu exista assignment, nu poate fi vorba de while sau for, asa ca ideea de transformare succesiva este pusa in aplicare cu ajutorul recursivitatii. Tail recursion este atunci cand valoarea calculata pana la un anumit "moment" este tinuta de unul din argumentele functiei, numit uneori si acumulator, care este intors ca si valoare finala la sfarsitul procesului . Ex: o functie care aduna doua nr. a si b, cel mai simplu exemplu posibil
function aduna (a,b) if a == 0 then return b else return aduna(a-1,b+1) Linear recursion este atunci cand valoarea finala este calculata pe bucati, modelate dupa un anumit proces recursiv: function aduna(a,b) if a == 0 then return b else return 1 + aduna(a-1,b) function factorial( n) if n == 0 return 1 else return n * factorial(n-1)Bine, mai exista si tree recursion, gen functii care calculeaza numere fib . Programarea functionala permite modelarea unei probleme plecand de la forma ei generala, fapt ce incurajeaza top down appproach. Limbajele functionale tind sa fie mai abstracte decat cele imperative. De fapt, typed functional programming e un fel de OOP, dar mai abstract, mai general. |
#15
Posted 12 July 2019 - 23:10
Lisp
(defun fib (n) (if (or (= n 0) (= n 1)) n (+ (fib (- n 1)) (fib (- n 2))))) Clojure (defn fib [n] (loop [a 0 b 1 i n] (if (zero? i) a (recur b (+ a b) (dec i))))) Erlang -module(fib2). -export([fib/1]). fib(N) -> fib_iter(N, 0, 1). fib_iter(0, Result, _Next) -> Result; fib_iter(Iter, Result, Next) when Iter > 0 -> fib_iter(Iter-1, Next, Result+Next). Observi ceva? |
|
#17
Posted 24 August 2019 - 11:25
C.Lisp&restul limbajelor din familie sunt departe de a fi limbaje "retardate". Lisp este cel mai flexibil limbaj existent si unii ar zice chiar cel mai "puternic", din cauza capacitatilor de metaprogramare. In Lisp, poti sa declari variabile noi pe masura ce programul ruleaza - chiar si in mod dinamic, poti chiar sa modifici sintaxa limbajului in timp real, sa scrii programe care modifica sau analizeaza anumite portiuni de cod inainte de evaluare - de exemplu iei o expresie care incepe cu 'if' sau 'while' si sa te utiti la ea, sau sa faci type checking unei expresii, sa extinzi sintaxa limajului, sau chiar sa scrii programe care la randul lor scriu alte programe si poti sa faci chestia asta cu usurinta. In afara de asta, majoritatea implementarilor sunt multi-paradigma, deci nu esti limitat doar la programare functionala, ba din contra. Ai libertate totala sa faci ce vrei.
|
#18
Posted 24 August 2019 - 12:04
lisp (in special versiunile mai 'moderne', exemplu: https://en.wikipedia...p_Object_System ) nu este un limbaj pur functional, ci multi-paradigma: https://letoverlambd...uest/chap5.html
Sigur ca se poate programa functional in el (se poate si in C++, daca o dai in purisme), dar hai sa fim seriosi, lumea reala nu e pur obiectuala, nici pur functionala si cu programele trebuie de exemplu sa modelezi lumea reala, nu s-o dai in abstractiuni pur matematice pur detasate de univers. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users