Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Metropola lui Pandele se orientea...

oprirea taximetristilor pe singur...

Curatat viniluri. Cand? Cum? Cu ce?

Ajutor informații Bucure5...
 Poor Things - 2023

Delphin Palace vs Sunis Elita

Apartament 3 camere, proprietari ...

An constructie bloc din Bucuresti
 Masina de spalat rufe Slim Beko W...

Sfat achizitie telefon dimensiuni...

Setare limba tastatura laptop.

Lenovo Ideapad 3-15ALC6 LCFC HS46...
 filtru de particule benzina GPF

Rascumparare titluri de stat TEZA...

Chirie la Administratia Fondului ...

Fisuri anvelope?
 

gestiunea memoriei - alocare ~ dealocare - facuta de programator sau runtime

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

#19
BucsaMobilul

BucsaMobilul

    Bucșeanul

  • Grup: Senior Members
  • Posts: 3,839
  • Înscris: 02.11.2016

 aaaa4567, on 05 aprilie 2021 - 07:49, said:

Electronica este utila. As tranti un programator, orice porogramator, care nu e in stare sa imi spuna cum merge un automat simplu, sau o statie meteo. Care nu stie ce face un tranzistor, AO, sau alte chestii. Nu zic ce cei care lucreaza cu hardware, zic de cei care lucreaza cu software. Chestii simple, la niveld e tehnician. Ca si la altele. E un semnprost sa stii numai bucata de materie ce e scrisa la specificatii. Adica, nu te pun sa faci integrale prin parti, nici sa imi spui clase medicatie sau anii de domnie ai lui Mihai Viteazu, dar daca spui senin ca Eminescu a scris Amintiri din copilarie sau ca nu stii cat face (a+b)^2 , atunci e o problema...

Pff, degeaba studiez la matematica-informatica atunci..

#20
CryTeku

CryTeku

    Member

  • Grup: Members
  • Posts: 938
  • Înscris: 29.11.2013

 aaaa4567, on 05 aprilie 2021 - 07:49, said:

Electronica este utila. As tranti un programator, orice porogramator, care nu e in stare sa imi spuna cum merge un automat simplu, sau o statie meteo. Care nu stie ce face un tranzistor, AO, sau alte chestii. Nu zic ce cei care lucreaza cu hardware, zic de cei care lucreaza cu software. Chestii simple, la niveld e tehnician. Ca si la altele. E un semnprost sa stii numai bucata de materie ce e scrisa la specificatii. Adica, nu te pun sa faci integrale prin parti, nici sa imi spui clase medicatie sau anii de domnie ai lui Mihai Viteazu, dar daca spui senin ca Eminescu a scris Amintiri din copilarie sau ca nu stii cat face (a+b)^2 , atunci e o problema...
De ce ar ajuta un programator sa stie ce face o statie meteo? Sau ca nu stie cand a domnit Mihai Viteazu?

Astea sunt cunostinte generale si atat... nu te ajuta absolut deloc in mediul de lucru, te ajuta doar sa socializezi.

E ca si cum te-ar intreba cineva pe tine daca ai cunostinte de drept sau de medicina. Le ai?

#21
parabellum

parabellum

    Senior Member

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

Quote

De ce ar ajuta un programator sa stie ce face o statie meteo?
In cazul in care scrie ceva cod pentru statia aia, s-ar putea sa ajute.

Sau in cazul in care are ocazia sa lucreze la un model meteorologic, nu-i strica sa stie ce si cum se obtin masuratorile ce sunt intrari pentru modelul implementat. In acest caz nu-i strica deloc sa stie ceva mai mult decat atat, de exemplu fizica atmosferei. Chestii de-alea cu Navier-Stokes, etc. Cam trebuie sa stii 'ceva' mai mult decat

Quote

sa faci integrale prin parti
in asemenea situatii.


'Programatorii' nu trebuie neaparat sa scrie cod care pune frumos ceva colorat pe ecran. Codul poate sa faca chestii mult mai complicate de atat. Caz in care s-ar putea sa fie utile multe lucruri 'inutile'.

#22
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,294
  • Înscris: 21.04.2004
Atunci pune in job description “necesita cunostinte de fizica atmosferei” si asteapta sa te contacteze sute de programatori.

#23
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,439
  • Înscris: 06.01.2010
Probabil te si contacteaza. Doar ca multi nu au cunostintele alea, pe care le considera inutile.

La fel cum multi care vor sa lucreze pe IoT nu le au cu electronica si se oftica daca afla ca printre alte lucruri trebuie sa realizeze tot halu' de conexiuni, sa faca masuratori, etc.

Altii se apuca de device drivere si afla su stupoare ca device inseamna... device. O chestie electronica. Si ca uneori chiar ai nevoie sa folosesti ceva in genul unui osciloscop cu analizor logic cand lucrezi la driver-ul ala.

#24
CryTeku

CryTeku

    Member

  • Grup: Members
  • Posts: 938
  • Înscris: 29.11.2013

 parabellum, on 06 aprilie 2021 - 11:21, said:

'Programatorii' nu trebuie neaparat sa scrie cod care pune frumos ceva colorat pe ecran.
Gresit.. programatorii trebuie sa scrie un cod foarte frumos. Eu cand intru intr-o clasa care este plina de warning-uri, accesorii nu sunt grupati, constructorul este pe la jumatatea clasei, imi vine sa plang... si aplicand regula de boys scout, apuca-te si curata, pierzand timp aiurea.

Daca vrei sa programezi la NASA, sunt de acord ca trebui sa ai cunostinte in 'ale rachetei'. Dar daca esti dezvoltator intr-o firma de... creante/financiara, nu ai nevoie de asemenea cunostinte, ai nevoie de altele, economice, sa stii diferenta dintre un debit sau un credit.

PS: eu sunt programator si n-am nici cea mai mica idee cum functioneaza sau cum se "programeaza" o statie meteo. Posted Image

Edited by CryTeku, 06 April 2021 - 14:24.


#25
parabellum

parabellum

    Senior Member

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

Quote

programatorii trebuie sa scrie un cod foarte frumos.
Ce zic eu si ce intelegi tu.

Sincer, eu prefer o clasa 'urata' care functioneaza, uneia frumoase care face tampenii.

#26
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,299
  • Înscris: 10.08.2005
Provocare de la dani.user
https://forum.softpe...n-fisier-120gb/

#27
radu_me

radu_me

    Member

  • Grup: Members
  • Posts: 649
  • Înscris: 07.07.2003
Salutare tuturor,
mi se pare deosebit de interesanta discutia din acest topic.
Am angajat recent debutanti in domeniu si urmeaza sa mai angajez in curand. Sunt foarte multumit de modul cum abordeaza problemele. A rezolva o problema este una iar o rezolva elegant si in mod optim este alta. Din pacate, termenle foarte stranse pentru orice impun rezolvare rapida. Treburile ce tin de eleganta vin mai tarziu, daca mai este nevoie. Nu zic sa ne batem joc de resursele hardware dar timpurile sunt altele: nu mai conteaza asa mult. Daca vorbim de proiecte mari, sigur, situatia se schimba. Pentru o platforma ca vaccinare-covid.ro sunt convins ca orice optimizare conteaza.

Pentru a nu repeta cu alte vorbe ce s-a mai scris si pentru a nu cita posturi intregi, voi face o sinteza a afirmatiilor care mi-au placut si pe care le sustin.

Sper sa nu fie cu suparare pentru nimeni:

aaaa4567: “E tricky si pentru cineva care stie (si care e grabit, obosit), dara-mi-te pentru cinmeva care nu stie prea bine. Iar cei multi programatori nu sunt veterani in C”

buntzi: “Cu ce te afectează pe tine ca tehnician IT toate chestiile alea? Ce au scrierile lui Eminescu în mod diferit față de anii de domnie ai lui Mișu' Bătăiosu'?”

Cris007: “Facultatea ar trebui sa incurajeze programatorii sa cerceteze ce s-a facut deja, dupa ce au bazele. Sa stie ce trebuie folosit ca sa-ti atingi scopul si ca nu orice trebuie refacut de la zero.”

dani.user: “Adica desconsideri pe toti care au terminat informatica sau similare, fara studii hardware. Fiindca... de ce?”
“Pentru multe domenii s-au consolidat dealungul anilor biblioteci puternice. Folosite/testate de mii de alti dezvoltatori. Nu-mi amintesc cand a trebuit sa fac debug prin vreuna. Poate ar merita un topic separat cu ce biblioteci te-au suparat atat de tare de ai decis sa reinventezi mereu roata.”

Mosotti: “Daca m-ar intreba cineva la un interviu despre tranzistori i-as zice ca-i tampit si as pleca linistit in treaba mea.”
“Cit despre gestionarea memoriei si cit de buni sint oamenii la a face asa ceva manual, cam toate crash-urile pe care le intilnim vin de la faptul ca un geniu in gestionarea memoriei a gestionat memoria in mod fabulos.”
“Ca sa faci un simplu hello world request-ul tau poate merge prin 75000 de clase. Pina la urma e un compromis intre a merge "penibil" si a face totul de la zero in 10 ani in loc de 1 an”
“Atunci pune in job description “necesita cunostinte de fizica atmosferei” si asteapta sa te contacteze sute de programatori.”

CryTeku: “eu sunt programator si n-am nici cea mai mica idee cum functioneaza sau cum se "programeaza" o statie meteo. ”

parabellum: “Sincer, eu prefer o clasa 'urata' care functioneaza, uneia frumoase care face tampenii.”

Edited by radu_me, 06 April 2021 - 22:30.


#28
OriginalCopy

OriginalCopy

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

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

 coniac, on 04 aprilie 2021 - 20:27, said:

Poate imi explici si mie care e legatura dintre gestiunea memoriei - alocare ~ dealocare - facuta de programator sau runtime, pe de o parte, si cantitatea de memorie folosita de un program, care poate fi cel mult estimata, dupa o suma de testari care au in vedere o serie de "use-case"-uri, daca esti amabil
In Java poti specifica memoria maxima alocata procesului JVM
De exemplu
### Heap space configuration in Tomcat:


If you are using Tomcat, edit catalina.bat for windows users or catalina.sh for linux / Mac users

    in Windows
    set JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m"

    in Linux / Mac
    export JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m"


Ce treaba au pointerii aici :) ?

La management de memorie fără GC nu trebuie să specifici memoria maximă, trebuie doar să iei worst case și să calculezi câtă memorie va consuma.

Ii pui tabelul în fata utilizatorului și când va depăși limita, va ști că are nevoie de mai mult ram și nu va mai trebuie sa plătească specialiști care să-i schimbe 2 parametri (sau mai mulți, ca GC în Java știe multe).

Apropo, ce nu e GC nu e automat manual. Poți avea bine mersi fără GC și automat, cum face Rust. În rust, compilatorul știe când o variabilă nu mai aparține niciunui stack frame, și apelează destructorul.

Totul se află într-un stack, chiar și pointerii cu trei nivele alocați în main.

Asta înseamnă determinism, asta înseamnă că nu ai GC pause.

Și da, poți face lucruri inteligente cu GC în Java, dar acesta nu va bate niciodată Rust, deoarece nu are noțiunile de lifetimes și ownership.

 coniac, on 04 aprilie 2021 - 20:27, said:


Ce treaba au pointerii aici :) ?

Nu știu cu cine ai avut discuții pe forum și cu cine încerci să ți-o masori, dar programarea e totuși un domeniu al cunoașterii și înțelegerii, iar memoria de lucru e vitală în orice calculator.

Cine operează în aceasta industrie cu ignoranță e incompetent.

Eu cu incompetenții fac un lucru: îi concediez.

Tu ce faci cu ei? Stai coleg?

#29
Bamyhun

Bamyhun

    Member

  • Grup: Members
  • Posts: 318
  • Înscris: 10.04.2021

 aaaa4567, on 05 aprilie 2021 - 07:49, said:

As tranti un programator, orice porogramator, care nu e in stare sa imi spuna cum merge un automat simplu, sau o statie meteo. Care nu stie ce face un tranzistor,
Eh, trebuie sa fie "un motiv" pentru care nu esti in postura de a "tranti programatori" ... ;) nu-i greu de ghicit care..

 RedDev, on 05 aprilie 2021 - 09:11, said:

Am ceva experienta in domeniu, zic eu, si mereu am avut probleme cu biblioteci gata-facute. [...] Pana e gata un proiect (6 luni) apar alte versiuni de framework-uri si ale limbajelor si din start proiectul tau e facut pe o platforma depasita.

Anyway, am tinut interviuri si era evident in 5 minute cine a facut facultatea si cine nu.
Nu stiu in ce consta "experienta" ta, dar e destul de clar ca nu e intr-un mediu corporate, profesionist, altfel ai sti ca:
1. nu doar ca e pierdere masiva de timp si bani sa reinventezi roti inventate deja de altii, dar chestiile inventate si cu ceva utilizare larga, sunt deja testate si uneori si optimizate, adesea cu "actori" puternici in spate(google, redhat, ibm, microsoft, etc.)
2. nu se utilizeaza in productie unde ai nevoie de un minim de stabilitate/fiabilitate ultimele jucarele proaspat scoase - trebuie testate ceva timp inainte de asta

 DarthBane, on 05 aprilie 2021 - 23:11, said:

Chiar nu intelegeam de ce o gramada de aplicatii dezvoltate in Romania se misca penibil, ca sa nu zic ca se misca ca un cur, acum pricep.
Culmea e ca desi recunoasteti nonsalant ca dezvoltati si vindeti aplicatii proaste,
Vrajeli cliseice fara nicio justificare! Eu zic ca se misca foarte bine! Ca uneori incearca statul sa faca treburi ce ar necesita fonduri mult mai mari decat alea alocate, ba uneori mai tare si din fondurile de mentenanta(cum a sistat plata pentru licentele oracle la nu stiu ce sistem de sanatate), ca diversele institutii nu prea vor sa colaboreze la softuri ce ar implica impartirea de date cu alte insitututii - astea nu sunt din vina programatorilor!

#30
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
@ OriginalCopy
1 nu eu am initiat topicul, postarea a fost preluata din alt topic de un admin
2 Nu stiu Rust dar " compilatorul știe când o variabilă nu mai aparține niciunui stack frame, și apelează destructorul." ? Tare de tot Deci compilatorul actioneaza inclusiv la runtime Minunat
3 Cred ca de fapt tu nu intelegi memoria Hai sa-ti pun o poza

https://ibb.co/Pgjbj7z

Daca ai nevoie de lamuriri, sunt aici :)

#31
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,116
  • Înscris: 24.02.2007
I-o fi greu compilatorului sa-si dea seama (la compilare ca e compilator nu runtime engine) ca dupa apelul printList acea lista nu va mai fi folosita si sa introduca un apel spre a o sterge

#32
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,294
  • Înscris: 21.04.2004
Cam greu sa concediezi pe cineva daca nu stie pointeri, nu e ca in filmele americane, sa-l dai pe usa afara cu celebra cutie de carton in brate. Teoretic se poate in perioada de proba, dar daca ajunge in periada de proba si nu stie chestii esentiale pentru job, inseamna ca procesul de recrutare a fost un epic fail. In perioada de proba de obicei se dau afara aia care se descopera a fi de fapt instabili psihic sau mai mai bine zis nebuni de-a binelea. :w00t:

#33
MarianG

MarianG

    be that as it may

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

 coniac, on 20 aprilie 2021 - 10:02, said:

@ OriginalCopy
1 nu eu am initiat topicul, postarea a fost preluata din alt topic de un admin
Un moderator care te-a vazut cum ai luat-o pe aratura cu o problema complet separata de cea initiala.
Dar disociaza-te de problema propusa de tine spunand ca tu n-ai initiat topicul.

#34
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
Eu nu am propus nica
Doar ziceam ca un programator python poate si fara pointeri, atat timp cat stie care-i faza cu "scope of variables"

Compilatorul nu sterge nica, doar ajusteaza stiva la revenirea din functie
Ma rog, poate va exprimati voi intr-un fel si inteleg io gresit

#35
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,116
  • Înscris: 24.02.2007
Attached File  Untitled.png   109.08K   15 downloads

Edited by dani.user, 20 April 2021 - 18:06.


#36
TS030

TS030

    Guru Member

  • Grup: Senior Members
  • Posts: 15,193
  • Înscris: 25.06.2012

 coniac, on 20 aprilie 2021 - 10:02, said:

2 Nu stiu Rust dar " compilatorul știe când o variabilă nu mai aparține niciunui stack frame, și apelează destructorul." ? Tare de tot Deci compilatorul actioneaza inclusiv la runtime Minunat
3 Cred ca de fapt tu nu intelegi memoria Hai sa-ti pun o poza

https://ibb.co/Pgjbj7z

Daca ai nevoie de lamuriri, sunt aici Posted Image
Java, hmm? De ce nu sunt surprins?

Apelarea determinista a destructorilor e ceva foarte fain, in limbaje precum C++ si Rust. Cauta "RAII"; conceptul este banal si elegant in acelasi timp.
Compilatorul insereaza codul necesar (apelul destructorului), evident.

Java nu poate. By design. Java n-are conceptul de destructor, au incercat ulterior sa-l emuleze cu finalizerele dar a iesit o varza (neexistand nici o garantie in privinta executiei acestora).
Intr-un final au introdus try-with-resources ca o alternativa la RAII.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

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