Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebuii sa vindem imobiliarele...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 Noul format Jpegli iși propu...

Dade, dade

Probleme accesare nr test telefon

Parola la lock screen
 

Framework or library ?

- - - - -
  • Please log in to reply
87 replies to this topic

#73
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostBraviaAmpero, on 26 martie 2019 - 17:05, said:

Framework = un API care este gestionat prin intermediul unui mecanism denumit IoC container bazat pe DI pattern.
Atunci ori Qt nu este framework, ori trebuie sa iti mai rafinezi definitia. Indiciu: mergi mai sus in abstractizarea definitiei tale.

Ce alegi?

#74
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007

View PostMosotti, on 26 martie 2019 - 16:43, said:

Framework-ul iti controleaza aplicatia,

Bingo

#75
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Nu neaparat. Controleaza doar pluginul de UI: Baze de date embedded – exercitiu practic (pentru programatori mid-level)

Prin definitie, un framework trebuie sa fie flexibil, atat de flexibil incat il poti flexa cum ai nevoie. Din acest motiv, nu poti caracteriza un framework dupa felul in care il folosesti. Daca ai face asta, nu ai caracteriza framework-ul insusi, ci felul in care il folosesti.

Analog: cand caracterizezi un element chimic, nu il caracterizezi prin prisma unui obiect fabricat din acel element. Nu iei un ciocan si spui "fierul este patrat si are X laturi plate". Da, poti obtine cateva caracteristici asa, de exemplu "Fe. poate fi magnetizat", dar fierul are mai multe sau mai putine caracteristici fata de ciocan.

Deci daca vrei sa definesti ce e un framework, trebuie sa te uiti efectiv la cat mai multe frameworks, si sa definesti numitorul comun.

#76
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,295
  • Înscris: 21.04.2004
Evident ca va controla doar partea de aplicatie de care e responsabil :lol:



#77
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
O intrebare mai interesanta: unde se incadreaza COM?

#78
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Pana acum avem caracteristicile unui framework:

1. este compus din mai multe componente care rezolva probleme disjuncte dar au o arhitectura unitara
2. acapareaza intregul subsistem/plugin in care e folosit (fluxul de executie, de date)
3. permite extensii

La 1 intra: componente pentru UI, structuri de date, retelistica, multithreading, storage (ORM, DBAL, s.a.m.d.), tactici pentru diferite arhitecturi (exemple: aop cu un weaver, generare de cod - ex. moc din qt, un IoC, event-driven, actors), s.a.m.d.; un framework nu trebuie sa implementeze toate aceste lucruri, dar trebuie sa implementeze mai mult de unul

La 2: cum s-a spus mai sus

La 3: "extensie" inseamna ca frameworkul permite utilizatorului executia de cod propriu in cadrul fluxului de date/executie prestabilit de framework (de la punctul 2); extensii folosesc fie strategii specifice limbajului, ex subclassing, dependency injection (manuala, nu cu un IoC), fie tactici pentru diferite arhitecturi implementate pentru punctul 1, fie o combinatie a acestora


Cu siguranta imi scapa lucruri, deci va rog sa ma corectati, DAR pentru a mentine discutia focusata: veniti mereu cu exemplu de framework concret care valideaza sau invalideaza unele dintre aspectele de mai sus.

Edited by OriginalCopy, 27 March 2019 - 13:07.


#79
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Conform paginii wikipedia, si OpenCV e framework (desi i se zice 'librarie': https://opencv.org/). Nu as zice ca respecta punctul 2. Depinde insa cum o folosesti.

#80
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Pentru caracteristica 2: asta inseamna ca "frameworkul" trebuie sa aiba fie o bucla de procesare ceva (in aplicatii stateful, e.g. desktop), fie un "request lifecycle" (in aplicatii stateless, e.g. web), altfel nu are cum sa acapareze fluxul de executie. Daca nu are nici una, nici alta, atunci "frameworkul" e de fapt librarie (sau o colectie de librarii care pot interopera).

Din cate stiu eu, din acest motiv, OpenCV nu este framework. Nu vad nici unde zice pe wikipedia in engleza ca ar fi framework.

Cateva idei/intrebari care merita discutate:

- exista proiecte mari care sunt compuse din mai multe proiecte de sine statatoare; LLVM de exemplu. Are in el ceva ce poate fi considerat framework?
- conform criteriilor de mai sus, o biblioteca standard s-ar incadra (in mod gresit) la framework? De exemplu biblioteca standard python. Am ales python deoarece are ideologia de "batteries included"
- cum e cu un kernel? Conform criteriilor 1-3, e un framework? Adevarul e ca ii cedezi controlul cand apelezi un syscall, si el "te apeleaza" pe tine cand vrea el (da, nu "te apeleaza", ci iti cedeaza controlul asupra hardware-ului, desi nu il pierde niciodata pentru totdeauna - ex. prin timer interrupt), nu cand vrei tu

Sper ca daca elucidam aceste intrebari, putem sa definim mai bine ce e aia framework (si indirect apoi, ce e library).

In caz ca nu am fost clar: folosesc llvm, biblioteca standard python, si un kernel ca exemple pentru a valida/invalida/rafina caracteristicile unui framework, nu pentru a spune ca sunt sau nu sunt frameworks

View Postdani.user, on 26 martie 2019 - 20:26, said:

O intrebare mai interesanta: unde se incadreaza COM?
De COM nu m-am mai atins de 15+ ani, memoria e incetosata. Bati cumva catre unul dintre aceste trei probleme ridicate de mine?

Edited by OriginalCopy, 27 March 2019 - 13:51.


#81
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010

Quote

Nu vad nici unde zice pe wikipedia in engleza ca ar fi framework.
Am pus pe celalalt thread un link la https://en.wikipedia...tware_framework OpenCV apare acolo la exemple.

#82
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postparabellum, on 27 martie 2019 - 17:27, said:

Am pus pe celalalt thread un link la https://en.wikipedia...tware_framework OpenCV apare acolo la exemple.
Inteleg. Nu sunt de acord. In plus, a fost adaugat de un anonim: https://en.wikipedia...oldid=833988870 - un IP al unui indian idiot.

#83
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Nici eu nu sunt de acord, dar inteleg unde bate. De exemplu la dispozitie cv::namedWindow sau cv::viz::Viz3d, etc si poti sa le folosesti in asa hal incat sa poti sa zici ca apare 'inversia controlului'. Treaba e ca se folosesc doar in aplicatii mici, pentru teste, 'proof of concept', rareori in aplicatii mari.

#84
PlatonX

PlatonX

    Senior Member

  • Grup: Senior Members
  • Posts: 5,741
  • Înscris: 13.09.2009
Acest om care are Vlog de IT spune ca jQuery este: o librarie, un framework al Javascript.
Daca el spune asta - el care castiga sigur peste 1000 de euro/luna, ,are vlog si face parte din comunitatea de vlogori IT-isti de la noi din tara - cine sunt eu sa psun altfel ? Daca el spune ca jQuery este un framework al Javascript, pot eu spune altfel ?
Cu alte cuvinte, este posibil ca un programator care castiga peste 1000 de euro pe luna si are vlog sa spuna ca jQuery este un framework ?

Minutul 2:50
[ https://www.youtube-nocookie.com/embed/PvoDwEi1h5c?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

Dar ce soune Wikipedia: jQuery is a Javascript library.

Ma intreb daca unii programatori lucreaza cu unele tehnologii dar nu inteleg diferenta intre ele.

#85
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Ca jQuery e considerat framework sau library e printre cele mai inofensive/irelevante aspecte din viata de zi cu zi a unui programator.

Edited by dani.user, 16 November 2019 - 12:34.


#86
PlatonX

PlatonX

    Senior Member

  • Grup: Senior Members
  • Posts: 5,741
  • Înscris: 13.09.2009

View PostJenkins, on 26 martie 2019 - 15:19, said:

MFC sau Java Collections Framework nu sunt frameworks tocmai pentru ca nu implementeaza astfel de mai multe concerns in maniera cross-cutting.
Omul acesta care a facut parte din echipa care a creat Microsoft Foundation Classes spune ca MFC este printre altele si un framework:

Minutul 7:45
[ https://www.youtube-nocookie.com/embed/V8H7h0fOoBc?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]


View Postdani.user, on 16 noiembrie 2019 - 12:34, said:

Ca jQuery e considerat framework sau library e printre cele mai inofensive/irelevante aspecte din viata de zi cu zi a unui programator.

View Postiulian_1976, on 19 martie 2019 - 23:04, said:

Doar faptul ca se confunda o librarie cu un framework spune multe
https://forum.softpe.../#entry24426019

Edited by PlatonX, 16 November 2019 - 12:45.


#87
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,444
  • Înscris: 10.08.2005

View PostPlatonX, on 16 noiembrie 2019 - 12:30, said:

Acest om care are Vlog de IT spune ca jQuery este: o librarie, un framework al Javascript.

Ma intreb daca unii programatori lucreaza cu unele tehnologii dar nu inteleg diferenta intre ele.
sa fie sanatos, atat el si cel care il plateste,

#88
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postdani.user, on 16 noiembrie 2019 - 12:34, said:

Ca jQuery e considerat framework sau library e printre cele mai inofensive/irelevante aspecte din viata de zi cu zi a unui programator.

Problena nu e prostul in sinea lui, ci faptul ca avem novici care cred ce spune prostul, novici care îți devin colegi și pe care trebuie să îi manageriezi, să le faci code review, trainings, etc.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate