S-a rezolvat ce limbă alege Forum de dezvoltare și programare
Navigare
Link-uri de cercetare
Anunț
DVD-uri Ubuntu, stick-uri USB și tricouri disponibil în magazinul Vânzare gratuită

Dacă aveți probleme să rămâneți conectat, deconectați-vă, apoi reconectați-vă de la acest link bifând caseta
Conectează-mă automat la următoarele vizite.
- Acasă
- "Forum
- »Dezvoltare și programare
- " [Rezolvat] Ce limbă să alegeți ?
# 1 Pe 27.04.2009, la 14:13
[Rezolvat] Ce limbă să alegeți ?
În prezent sunt în stagiu (timp de 6 luni) și voi fi condus să codez un lucru mic (va trebui să uitați accentele, nu le pot pune cu tastatura mea germană!).
Aplicația mea va trebui să segmenteze o imagine 3D mare și bună (de ordinul a 3-4 GB), apoi să efectueze prelucrări statistice și să evalueze funcționalitățile imaginii Minkowski. Apoi va fi necesar să extrageți N mostre din imaginea mare bună și să refaceți același lucru, adică (procesarea stat` + Minkowski).
Atunci trebuie să pot lansa diverse calcule prin intermediul multi-procesoarelor.
Deci, ce zici de limbă? C ++, Fortran sau Python/Fortran ?
Ca să spun adevărul, am câteva piese precum C ++ și Fortran merge mai repede sau să folosesc ITK (ceea ce este departe de a fi o obligație, deoarece vreau să fac un prag „simplu” pe alb și negru). De asemenea, mi-e teamă de gestionarea memoriei pitonice (de parcă mi-ar fi teamă să sfârșesc cu 1235x fișierul meu de 3 GB în memorie! Chiar dacă mașina are 16 GB de memorie RAM, poate afecta rapid)
Vă mulțumesc că ați arătat cu lumină felinarul meu atât de întunecat pe această temă (nu sunt informatician prin pregătire!)
Ultima editare de Swaraj (Le 12/05/2009, la 10:58)
# 2 În data de 27.04.2009, la ora 14:20
Re: [Rezolvat] ce limbă să alegeți ?
În general, când facem procesarea imaginilor, folosim în schimb C.
Programarea obiectelor necesită multă memorie în comparație cu programarea imperativă .
Fiecare instanță a obiectului rescrie metodele din memorie, împotriva unei singure scrieri pentru o funcție
În general, în imagini, avem tendința de a dori să reducem destul de puțin dimensiunea datelor procesate, soluția utilizată adesea este să treceți la 256 de culori pe pixel și, prin urmare, să le codificați pe un caracter mai degrabă decât pe un int. Economisește multă memorie la final.
[edit] Mea Culpa, îmi place foarte bine subliniat spiridușul spațial, trebuie citit imperativ și nu funcțional. Mi-e rușine și confuz de acest schimb de termeni [/ edit]
Ultima modificare de tar_NeFyS (Le 28/04/2009, la 00:23)
# 3 27.04.2009, la 14:41
Re: [Rezolvat] ce limbă alegeți ?
Dacă am înțeles bine, în C, la început îmi sun imaginea în memorie și apoi efectuez procesarea prin funcții care au pentru parametrii indicatori ai imaginii?
Și pot face chestia mm în FORTRAN sau Python + FORTRAN (cel despre care mă simt prost) ?
soluția utilizată adesea este să treceți la 256 de culori pe pixel și, prin urmare, să le codificați pe un caracter mai degrabă decât pe un int
Schimbă ceva cu privire la viteza de execuție ?
# 4 27.04.2009, la 15:19
Re: [Rezolvat] ce limbă alegeți ?
Fiecare instanță a obiectului rescrie metodele din memorie, împotriva unei singure scrieri a funcției
Acest lucru este foarte repede spus, aș vrea să știu pe ce vă bazați pentru a spune asta. Oricum nu este pe un compilator bun. Nu pentru că la nivelul codului sunt încapsulate metodele și câmpurile, codul va fi duplicat la compilare.
În al doilea rând, C nu este un limbaj funcțional. Suportă programarea imperativă structurată, nu programarea funcțională. LISP, OCaml și Haskell sunt exemple de limbaje care susțin programarea funcțională.
Deci, ce zici de limbă? C ++, Fortran sau Python/Fortran ?
Evident, veți avea probleme de performanță, așa că evitați un limbaj interpretat: la rândul meu, vă sfătuiesc să nu folosiți Python. Fortran, C sau C ++ pot fi potrivite: aș face acest lucru în C ++, dar mai ales folosesc limbajul pe care îl cunoașteți cel mai bine.
Spiridușul spațial
Ultima editare de Le Farfadet Spatial (Le 27/04/2009, la 15:20)
# 5 În data de 27.04.2009, la ora 15:52
Re: [Rezolvat] ce limbă alegeți ?
Oricum nu este pe un compilator bun. Nu pentru că la nivelul codului sunt încapsulate metodele și câmpurile, codul va fi duplicat la compilare.
Îmi puteți da un exemplu de compilator bun pentru C ++ și/sau Fortran? În caz contrar, pot încărca imaginea în programul principal și pot folosi indicatori pentru imagine ca atribute de obiect ?
Și încă un ultim sfat, pot folosi ITK (o bibliotecă de șabloane C ++) cu cod FORTRAN ?
Recunosc că ezită brusc între C ++ și Fortran !
# 6 În data de 27.04.2009, la 20:26
Re: [Rezolvat] ce limbă alegeți ?
De fapt, depinde de arhitectura mașinii dvs. multiprocesor și de gestionarea memoriei: memorie partajată între procesoare sau nu.
limbile utilizate pe mașinile multiprocesor sunt adesea C cu bibliotecile MPI/PVM sau FORTRAN și uneori ada.
"- Un intelectual așezat merge mai puțin departe decât un smucit."
Maurice Biraud - Un taxi pentru Tobruk
Michel Audiard
# 7 În data de 27.04.2009, la 22:14
Re: [Rezolvat] ce limbă alegeți ?
Puteți să-mi dați un exemplu de compilator bun pentru C ++ și/sau Fortran ?
Gcc este excelent pentru C ++ (pentru a fi utilizat prin G ++). Pentru Fortran, am găsit că G95 este destul de bun la acea vreme. Acestea fiind spuse, pentru Fortran trebuie să spun că tind să folosesc compilatorul furnizat de constructorul de mașini. În ceea ce privește arhitectura IBM, am apreciat foarte mult Xlf. În ceea ce privește arhitectura Intel, Ifort este foarte recomandat.
limbile utilizate pe mașinile multiprocesor sunt adesea C cu bibliotecile MPI/PVM sau FORTRAN și uneori ada.
Aceasta este și experiența mea. Cu toate acestea, puteți face lucruri care funcționează bine în C ++. Singurul lucru este că C ++ durează mult mai mult pentru a învăța.
În caz contrar, pot încărca imaginea în programul principal și pot folosi indicatori pentru imagine ca atribute de obiect ?