03-08-2017, 07:15 PM
Programiram već 45 godina, ali ovo što sam doživeo u zadnjih nekoliko dana je zaista "sve i svašta", pogotovo za 21. vek.
Negde u decembru prošle godine sam započeo projekat čiji je cilj da jednu proceduralnu biblioteku koju sam napisao 2004. godine realizujem u objektno orijentisanom formatu. Ideja je bila da ja samo isporučim biblioteku, a kolege u firmi da je implementiraju, ali pošto oni nisu imali vremena, dobio sam i drugi deo projekta.
Biblioteku sam završio u januaru, prva faza implementacije je završena pre dve nedelje, a onda su počele muke sa drugom fazom.
U redu, bilo je par mojih grešaka u biblioteci, ali i kada sam ih otklonio, glavni program nikako da proradi.
Zadnja četiri dana sam se ubio tražeći grešku logičkim putem, tj. prateći rezultate proračuna i tumačeći ih sa aspekta fizike simuliranih procesa, ali sve je bilo uzalud. Naravno, pri tom je pretpostavka bila da je greška u mojoj implementaciji biblioteke, jer sa starom verzijom nema nikakvih problema.
Najveći problem je što Intel-ov "debugger" za Fortran 2003 u VisualStudio 2013 nije u stanju da mi predstavi celu strukturu objekata, već se zaustavlja na nekom nivou koji mu trenutno padne na pamet, tako da me je vratio u neke 70-te godine, na tehniku umetanja lokalnih promenljivih koje taj krš od "alatke" uspeva da mi prikaže. Prijavili smo im taj bug još pre šest meseci, ali očigledno imaju druge prioritete.
Da skratim priču, danas sam posle nekih osam sati rada konačno našao grešku i to u kompajleru. Na jednom mestu poziva se podprogram i prebacuje mu se vektor sa tri realna elementa koji se izvlače iz objekta. Pre poziva vidim da su vrednosti u redu, a kada udje u podprogram jedan od ta tri elementa povremeno ima neku bezveznu vrednost, čije efekte onda upravljačka logika glavnog programa pokušava da otkloni i tu više nema spasa.
Imam utisak da je softver za razvoj softvera postao toliko komplikovan da su pisci kompajlera i razvojnih alatki izgubili kontrolu nad njim. Pre 25 godina smo imali na raspolaganju stvari kao što su "break on change", "break on access" i sl., a danas moram da umećem pauze na svakih nekoliko redova.
Nego, bolje da prekinem pre nego što upadnem i u "žal za mladost", a onda nema kraja...
Pozdrav
Negde u decembru prošle godine sam započeo projekat čiji je cilj da jednu proceduralnu biblioteku koju sam napisao 2004. godine realizujem u objektno orijentisanom formatu. Ideja je bila da ja samo isporučim biblioteku, a kolege u firmi da je implementiraju, ali pošto oni nisu imali vremena, dobio sam i drugi deo projekta.
Biblioteku sam završio u januaru, prva faza implementacije je završena pre dve nedelje, a onda su počele muke sa drugom fazom.
U redu, bilo je par mojih grešaka u biblioteci, ali i kada sam ih otklonio, glavni program nikako da proradi.
Zadnja četiri dana sam se ubio tražeći grešku logičkim putem, tj. prateći rezultate proračuna i tumačeći ih sa aspekta fizike simuliranih procesa, ali sve je bilo uzalud. Naravno, pri tom je pretpostavka bila da je greška u mojoj implementaciji biblioteke, jer sa starom verzijom nema nikakvih problema.
Najveći problem je što Intel-ov "debugger" za Fortran 2003 u VisualStudio 2013 nije u stanju da mi predstavi celu strukturu objekata, već se zaustavlja na nekom nivou koji mu trenutno padne na pamet, tako da me je vratio u neke 70-te godine, na tehniku umetanja lokalnih promenljivih koje taj krš od "alatke" uspeva da mi prikaže. Prijavili smo im taj bug još pre šest meseci, ali očigledno imaju druge prioritete.
Da skratim priču, danas sam posle nekih osam sati rada konačno našao grešku i to u kompajleru. Na jednom mestu poziva se podprogram i prebacuje mu se vektor sa tri realna elementa koji se izvlače iz objekta. Pre poziva vidim da su vrednosti u redu, a kada udje u podprogram jedan od ta tri elementa povremeno ima neku bezveznu vrednost, čije efekte onda upravljačka logika glavnog programa pokušava da otkloni i tu više nema spasa.
Imam utisak da je softver za razvoj softvera postao toliko komplikovan da su pisci kompajlera i razvojnih alatki izgubili kontrolu nad njim. Pre 25 godina smo imali na raspolaganju stvari kao što su "break on change", "break on access" i sl., a danas moram da umećem pauze na svakih nekoliko redova.
Nego, bolje da prekinem pre nego što upadnem i u "žal za mladost", a onda nema kraja...
Pozdrav