Cata matematica se foloseste in programare?
#56
Publicat: 15 decembrie 2017 - 23:13
Geth, on 15 decembrie 2017 - 09:29, said:
Cum nu se poate mai fals! Formulele din domeniile financiar/economic, nu sunt inventate de catre programatori. Ele fac parte din business requirements si sunt concepute de catre economisti/finantisti. Cam cum ar fi daca un programator ar inventa dupa capul sau o formula de calcul a dobanzii si ar folosi-o pe aia, in loc o sa foloseasca pe cea folosita de banca? :roflmaol: Repet, in echipe transversale ce lucreaza cu modele matematice, de ex. "quantitative analysts", mi-e greu sa cred ca lucreaza programatori fara o baza matematica si care nu pot intelege formulele de calcul, chiar daca ei se dedica mai mult la programare. Aceeasi echipa se ocupa de arhitectura librariei, de suport tehnic, etc. Modele matematice abordate sunt destul de diverse, chiar daca te dedici mai mult la programare se gasesc si chestii mai putin complexe pe care le poti dezvolta si implementa. Acum cativa ani am fost la un interviu la o firma care avea nevoie de cineva sa faca de toate: contactul cu clientul, analiza cerintelor, modelare matematica plus implementare, mentenanta etc la nucleul de calcul. Ulterior nucleul era inclus intr-un software cu interfata grafica, baza de date, scris de alta echipa. Pe un proiect lucrau doua persoane: seful de proiect si consultorul-modelatorul-programator. Aici clar aveai un rol activ in definirea si implementarea cerintelor clientului, lucrai singur. |
#57
Publicat: 16 decembrie 2017 - 10:30
Pana si pentru un post de vanzator iti trebuie bacalaureat. Explicati-mi si mie la ce i-ar trebui unui vanzator dintr-un supermarket astea:
[ https://www.youtube-nocookie.com/embed/S6imcfQe3QI?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] |
#58
Publicat: 16 decembrie 2017 - 10:35
Geth, on 15 decembrie 2017 - 09:29, said:
Foarte multa lume care n-a lucrat in domeniu subestimeaza masiv nivelul de cunostinte necesare(fara legatura cu matematica) pentru a ajunge un programator senior, sau poate un enterprise architect, pe java sau c#/.net. De exemplu nici o carte din univers n-o sa te invete cum sa rezolvi ceva de genul "eroare in browser", care poate sa insemne orice si te poate duce oriunde. Ce poate fi, ce poti face? Daca ai noroc si nu e un user / tester idiot, o sa poate sa-ti spuna exact ce a facut in momentul ala, deci in cel mai fericit caz in descrierea problemei o sa fie un use case. Te pui sa reproduci, nu reusesti. Ce faci? Te uiti in loguri. In care loguri? In fine, in cele din urma gasesti un stack trace, tre sa stii sa te uiti intr-un stack trace (stiu ca pare incredibil dar am vazut "senior" care nu stia sa se uite intr-un stack trace). Acolo vezi SQLException "ORA-00060: deadlock detected while waiting for resource" wait what? Citesti descrierea erorii la Oracle: Quote
ORA-00060: deadlock detected while waiting for resource Cause: Transactions deadlocked one another while waiting for resources. Action: Look at the trace file to see the transactions and resources involved. Retry if necessary. Oh, deci tre sa ma uit in trace file de Oracle ca sa vad ce se intimpla. Trecem peste faptul ca habar n-am ce se afla intr-un asemena trace file pentru ca nu sint un expert Oracle si nici nu exista unul prin zona si nici n-o sa existe vreodata Deci ne uitam in trace file si vedem acolo ca cica "The following deadlock is not an ORACLE error. It is a deadlock due to user error in the design of an application or from issuing incorrect ad-hoc SQL." Huh, aplicatia noastra de e cacat? Nu poate fi! Noi stim sa programam! Mai jos exista ceva denumit "deadlock graph". Dupa ce iti dai seama cam ce inseamna chestia aia, descoperi tabela problema si inregistrarea. Sigur ca nu e scrie in clar, what the fuck, tre sa stii sa gasesti o tabele folosind un object id, deci nu sint de ajuns cunostinte de SQL, ai nevoie de cunostinte de Oracle. Ok hai sa verificam codul, codul pare OK, ce dracu sa mai fac? Eroarea a aparut dupa ultimul release, hai sa vedem ce s-a schimbat intre timp. Hmm, cineva a adaugat un bitmap index pe o coloana din tabela aia, hai sa mai citim despre eroare sa vedem ce alte cauze ar putea fi, hmm un bitmap index pe o coloana asupra careia se faca multe modificari poate cauza deadlock. De ce nu se reproduce tot timplu? De-aia pentru ca nu e ceva deterministic, depinde de volumul de date, de numarul de threaduri, de dracu lacu. Ok, e timpul sa verificam teoria, incropim un stress test, vedem ca eroarea apare. Zvirlim in Somes indexul (care oricum era inutil) si rulam din nou testul, eroare nu mai apare. Uraaaaa!!! Dupa cite se vede nu are absolut nici o legatura nici cu matematica, nici cu programarea de liceu, nici cu OOP, nici cu algoritmi supercomplicati. Are legatura cu folosirea creierului si e practic mai degraba o munca de detectiv. Nimic din ce-am folosit n-a fost invatat nici in liceul de informatica, nici in cei 3+ ani de facultate dinainte de a-mi baga picioarele in ea facultate. Si totusi rezolva o problema intr-un sistem foarte important pentru o ditamai compania Acuma inchipuiti-va sa lucrezi in acelasi timp si pe Java/Oracle si pe C#/SQL Server, fiecare cu gunoaiele lui de framework-uri, de diferite versiuni si vechimi, ca sa fie cit se poate de greu sa gasesti o documentatie sau vreun raspuns la vreo problema maccip, on 15 decembrie 2017 - 20:39, said:
Geth, ce ai scris tu acolo eu o vad ca si explicatie a faptului ca softurile sunt (cam) din ce in ce mai proaste, chiar daca toolsurile de a le crea, din ce in ce mai puternice. Mai mult, fiecare tool ingreuneaza repararea bugurilor, pe vremea cind java era java, aveai o eroare de java in care ti se spunea linia la care e eroarea si care e eroarea. Daca folosesti un "tool" din-ala, n-o sa-ti mearga ce crezi tu ca tre sa mearga si nu primesti nici o eroare. Sau poate primesti un stack de 5 km care nu-ti spune nimic Oricum softurile nu sint din ce in ce mai proaste, asta se aplica doar la Android store, unde orice idiot poate pune o aplicatie si atunci omu vede 1 milion de aplicatii din care 999.900 sint pure shit si spune "meh, programarea in ziua de azi" soarce, on 15 decembrie 2017 - 23:13, said:
Repet, in echipe transversale ce lucreaza cu modele matematice, de ex. "quantitative analysts", mi-e greu sa cred ca lucreaza programatori fara o baza matematica si care nu pot intelege formulele de calcul, chiar daca ei se dedica mai mult la programare. Cum se spunea si mai sus, pentru posturile in care matematica este prioritara nu se angajeaza specialisti in programare si mai degraba matematicieni care stiu sa faca un programel. Daca ai un program complex care contine chestii strong de matematica, sint sigur ca se angajeaza echipe mixte. De exemplu, sint sigur ca la 3ds Max lucreaza niste matematicieni super bengosi, dar lucreaza si niste programatori care sint in stare sa faca o aplicatie cu jde mii de ferestre si ferestruici care comunica unele cu altele si care mai mult ca sigur nu sint aceeasi care lucreaza la partea de rendering sau de scripting. In acelasi timp, sint sigur ca matematicienii aia doxa de geometrie nu sint nici pe departe la fel de buni cind e vorba de dracu stie ce alte matematici speciale, deci pina la urma despre ce dracu de "matematica" vorbim? Nu exista programator bun la toate, e fix ca in jocuri, ai aia cu sabii, aia cu sulite, arcasi si fiecare isi face treaba lui mai bine. Programatorul suprem, care e in acelasi timp un mare matematician si fizician pur si simplu nu exista... Se lucreaza in echipa. Editat de Mosotti, 16 decembrie 2017 - 10:35. |
#59
Publicat: 16 decembrie 2017 - 11:08
maccip, on 15 decembrie 2017 - 20:39, said:
Geth, ce ai scris tu acolo eu o vad ca si explicatie a faptului ca softurile sunt (cam) din ce in ce mai proaste, chiar daca toolsurile de a le crea, din ce in ce mai puternice. . |
#60
Publicat: 16 decembrie 2017 - 11:15
Utilizez software, nu-l produc.
As da exemple, dar nu le cunosti tu. N-ai de unde. N-are rost. Ia-o ca pe o opinie. Si o recomandare. Daca tot produceti software, faceti-le bre calumea. Un pic de matimatica acolo. Deh.. matimatica e buna. Plecati de la premisa asta. Eu zic ca ti-am oferit un feedback sanatos, constructiv. Am cumparat softuri pe care nu le-am putut folosi de proaste ce erau. Au venit (bundled cum ziceti voi, dar pe bani cum zicem noi) cu hardwareul, nu prea puteam sa nu le cumpar. Si eu, care nu sunt producator de software, a trebuit sa devin producator de software. Fara sa-mi doresc asta. Pentru ca trebuia sa-mi fac treaba, clientii mei nu sunt interesati de faptul ca voi, softistii astia nu stiti matimatica. |
#63
Publicat: 16 decembrie 2017 - 19:57
maccip, on 15 decembrie 2017 - 20:39, said:
Geth, ce ai scris tu acolo eu o vad ca si explicatie a faptului ca softurile sunt (cam) din ce in ce mai proaste, chiar daca toolsurile de a le crea, din ce in ce mai puternice. maccip, on 16 decembrie 2017 - 11:15, said:
Eu zic ca ti-am oferit un feedback sanatos, constructiv. Am cumparat softuri pe care nu le-am putut folosi de proaste ce erau. Crezi ca generalizarea stupida (la care toti prostii apeleaza ca sa pretinda ca au argumente "serioase") pe baza experientelor tale limitate si proaste are vreo valoare? Nu mai cumpara softuri de cacat de la SRL-uri de cacat, ce pot sa zic... maccip, on 16 decembrie 2017 - 11:15, said:
Utilizez software, nu-l produc. maccip, on 16 decembrie 2017 - 11:15, said:
a trebuit sa devin producator de software. coolstorybro Editat de Mosotti, 16 decembrie 2017 - 19:57. |
#64
Publicat: 16 decembrie 2017 - 20:45
Mosotti, on 16 decembrie 2017 - 19:57, said:
Crezi ca generalizarea stupida (la care toti prostii apeleaza ca sa pretinda ca au argumente "serioase") pe baza experientelor tale limitate si proaste are vreo valoare? Nu mai cumpara softuri de cacat de la SRL-uri de cacat, ce pot sa zic... Era mai simplu sa ma crezi pe cuvant. Capitalismul nu-i ca-n carti de dezvoltare personala. |
|
#65
Publicat: 17 decembrie 2017 - 23:44
g0dafk, on 08 decembrie 2017 - 00:30, said:
Cata matematica iti trebuie pentru job-ul de programator. Stiu ca merg mana in mana, ca asa ni se zice la scoala, dar intr-o situatie reala, de cata matematica ai nevoie ? Vreau un raspuns de la un programator, care a fost cea mai complexa chestie de matematica de care v-ati lovit in scrierea unui program?Si despre fizica am aceeasi nelamurire. De ce mai sunt reclamele alea gen " Cu noi te faci programator in 6 luni " sau.. stiti voi. In alea 6 luni te invata si fizica si mate? Nu te uita in gura lui maccip sau a lui Laurentiu. Ei sunt ingineri... Eu am invatat matematica destul de tarziu pentru ca am avut nevoie de ea in facultate. Si pot sa zic intr-adevar, ca intelegeam mai bine lucrurile si simteam ca parca scriu mai... usor cod dupa ce am invatat-o (poate sunt eu nebun, dar mie asa mi s-a parut... anyways..). Deci, ajuta... cel putin iti dezvolta gandirea, te ajuta sa vezi mai clar lucrurile. Singura data cand am avut nevoie de matematica a fost la proiectul de licenta: 1. A trebuit sa transform din coordonate carteziene in coordonate matriceale(linie-coloana) 2. A trebuit sa dimensionez niste bucati de lemn De matematica nu ai nevoie decat pentru situatii intrinsec matematice. Spre exemplu, este esentialmente imposibil ca autocad-ul sa fie creat de echipe care nu stiu mate. Multi dadeau exemplu ca in embedded ai nevoie de matematica. Iar aici sunt de acord. Embeddedu e ceva ingineresc, e ceva mai precis, mai exact. Gandirea matematica/ideea matematica de rezolvare, ajuta. Insa, in general, in practica, de matematica e nevoie foarte rar. Iar atunci cand e nevoie, nu e niciodata ceva foarte complex. Nu e vreo integrala de n-a vazut lumea. Nu e nicio integrala... Poti sa traiesti fara matematica. Cunosc persoane care habar nu au sa rezolve o ecuatie de gradu' 2 si se descurca exceptional in cariera. Daca esti multinationalist in IT, nu ai nevoie. Deci, daca nu vrei sa inveti matematica si vrei sa plusezi pe programare, do it. Dar, daca urmezi facultate de inginerie, o sa ai in mod cert nevoie de mate ca s-o termini. Editat de crs12decoder, 18 decembrie 2017 - 00:12. |
#71
Publicat: 18 decembrie 2017 - 14:27
Citez (aproximativ) un profesor emerit la facultatea pe care am absolvit-o, care lucreaza in domeniu de 30 de ani, si totusi e si Conferentiar.
Diferenta intre un angajat cu facultate si unul fara facultate este ca, cel fara facultate nu are o viziune de ansamblu asupra mecanismelor din spatele ... a aceea ce lucreaza. Nu sunt de acord 100%, dar 80% sunt. A vrut sa spuna ca una este sa ai habar (nu sa stii!, ci sa ai o idee pe care in 2-3 zile de aprofundare sa o aduci la un nivel mediu) despre cam orice din domeniul tau largit, si una este sa te concentrezi una si buna pe o tehnologie/2 tehnologii, si in rest PAS.
Spoiler
Editat de MarianG, 18 decembrie 2017 - 15:32.
|
#72
Publicat: 18 decembrie 2017 - 15:27
Rhesus, on 18 decembrie 2017 - 14:27, said:
Diferenta intre un angajat cu facultate si unul fara facultate este ca, cel fara facultate nu are o viziune de ansamblu asupra mecanismelor din spatele ... a aceea ce lucreaza. Si un exemplu in acest sens: Sa zicem ca vrei ca un camion sa treaca prin tunel insa inaltimea acestuia este mai mare cu cativa centimetrii si nu poate trece. Se prezinta aceasta problema la 3 candidati: Primul candidat fara nici un facultate: "Pai super simplu, descarcam tot camionul , inchiriem niste dube si mutam tot continutul camionului in cele doua dube, si gata problema" Al doilea candidat cu facultare dar nu in domeniul Ingineriei Software: "Pai simplu de tot.Chemam un elicopter si ridicam camionul peste tunel si il punem inapoi pe soseau si gata problema" Al treilea canditat cu facultatea de Inginerie Software, inginer Automatist : "Cu cati centrimetrii este mai mare inaltimea camionului fata de tunel ? " "pai cu 4 cm " "Anvelopele camionului au presiune maxima ?" "da" "desfa pe rand ventilele de la anvelope si lasa sa iasa aerul, pana ajunge la jumate din presiunea initiala, astfel inaltimea camionului va scadea cu 5 centimetrii si vei putea trece" Si camionul trecu folosind zero costuri aditionale si zero resurse aditionale financiare, zero resurse aditionale de timp , zero resurse aditionale de personal , ci doar cu soferul si cu inginerul automatist de software care a pus in aplicare cele invatate in anii facultatii, in special capacitatea sa de analiza si sinteza a unei probleme, capacitatea pe care i-a format-o facultate de inginerie software. Editat de navistar_eagle, 18 decembrie 2017 - 15:28. |
Anunturi
▶ Utilizatori activi: 1
0 membri, 1 vizitatori, 0 utilizatori anonimi