Actualizat acum

(P) O istorie cu viitor

de     Smile Media
Joi, 11 februarie 2016, 16:03 DB Global Technology

​Povestea relatiei mele cu programarea incepe cu ceva vreme in urma. Mai exact, prin vara lui ‘98, cand am avut prima slujba de programator. Intrasem la facultate, trecusem de primul an si… aveam nevoie de o ocupatie.

Era pe vremea cand programarea Web abia se inventa. PHP, ASP-ul de la Microsoft (cel vechi, nu acesta nou si fancy, pe baza de CLR), Java abia aparusera. Server-side-ul era C sau C++.

Dupa cateva incercari cu PHP, C si C++, am decis sa raman la Java. Uitandu-ma retrospectiv, motivul a fost legat de acea dorinta fundamentala si nestavilita din sufletul oricarui programator de a construi lucruri stralucitoare si complicate. Pe de alta parte, oamenii construiau catedrale cu mult inainte de a se descoperi programarea. Banui ca aceasta aspiratie nu este specifica breslei noastre.

Java imi oferea aproape aceeasi putere si expresivitate ca si C++, fara bataile de cap ale celui din urma. Java, ca si limbaj, a reusit sa nimereasca balanta aproape perfecta intre flexibilitate si convenienta, putere si simplitate.

Am ramas in ecosistemul Java pentru ca lucruri exceptionale si surprinzatoare au continuat sa se intample in acest spatiu: performanta de top sub tutela GC; o adoptie excelent integrata a conceptelor de programare functionala, si altele.

Ultimul eveniment major care a avut loc este „ascensiunea” JVM-ului ca si tehnologie de sine statatoare. Evolutia a fost discreta si multi nu au sesizat-o. Insa JVM-ul a iesit incet-incet de sub tutela limbajului Java si a devenit o tehnologie independenta. Acum ruleaza mai multe limbaje de programare, inclusiv simultan; ofera abilitati precum „invokedynamic” etc. Din multe puncte de vedere, JVM-ul a evoluat mai repede si mai departe chiar si decat limbajul Java.

Cealalta calitate esentiala a Java este bogatia si varietatea ecosistemului de librarii si unelte ce a luat nastere in jurul limbajului. Un ecosistem bogat a ajutat foarte mult cu toate activitatile conexe dezvoltarii de software – testing & quality management, release management, continuous integration, code metrics etc.

Ceea ce ma aduce la conceptul de „software engineering” din Deutsche Bank – concept mult diferit de „software development”. Foarte multe companii fac „dezvoltare de soft” sau „programare”. Din pacate, este o diferenta fundamentala intre o „bucata de cod” si un „software product”. Centrul global de tehnologie al Deutsche Bank din Bucuresti este unul dintre locurile in care se face software engineering „ca la carte” – gasesti aici infrastructura, uneltele si organizatia necesare in acest scop.

Mai mult, compania incurajeaza activitatile de coaching si mentoring, dinspre seniori spre colegii mai tineri, inclusiv prin programe formale de dezvoltare profesionala, cum ar fi noul proiect „Java School”, adresat studenților aflați în ultimul an de studiu și masteranzilor facultăților cu profil IT&C.

Ioan Barbulescu este Sub-domain Lead RAI in cadrul DB Global Technology.



Citeste mai multe despre   
4601 vizualizari
  • +2 (2 voturi)    
    Server-side-ul (Vineri, 12 februarie 2016, 13:54)

    DrInOrice [utilizator]

    "Server-side-ul era C sau C++". huh? Dar PHP sau ASP? Sunt vreun fel de html sau javascript, ruleaza cumva pe statia clientului, poate nu stiu eu bine :))
    • +2 (2 voturi)    
      Nu stii tu bine... (Vineri, 12 februarie 2016, 15:15)

      Maica Reteza [utilizator] i-a raspuns lui DrInOrice

      Nu stii tu bine, nu ti-a spus omul ca numai Deutsche Bank stie cum merge treaba asta cu softul?
      Cum poti sa pui la indoiala spusele specialistului care s-a oprit la Java crezand ca gata, a atins nirvana?
  • +1 (1 vot)    
    not challenging enough (Vineri, 12 februarie 2016, 22:02)

    Serj [utilizator]

    De ce ar vrea cineva sa lucreze la niste proiecte plictisitoare cum ar fi cele dintr-o banca ? Banca care desi e imensa, nu are cel mai bun renume ... Numai ca sa foloseasca Java?!?!? Sau niste unelte ?!?!? Ar fi util la inceput de cariera ca sa-ti completezi cunostintele din facultate. Sau pentru bani, dar in general nemtii sunt zgarciti - probabil ca salariile nu sunt nici macar 10k euro net pe luna ....
  • +2 (2 voturi)    
    C/++ vs Java (Sâmbătă, 13 februarie 2016, 9:58)

    VladAlexandru [anonim]

    Ca programator C++ din 1995, am avut si eu o experienta de 2 ani cu Java in 2005-2007. Este placut si usor, vine in intampinarea programatorului cu o multime de facilitati si "are grija" ca "scaparile" sa nu conteze foarte mult. Am renuntat insa imediat dupa ce am terminat proiectul, si m-am intors la C/C++. Motivul ? In afara de perfromanta NET superioara ( am participat la implementarea unor backend-uri in mediul financiar care necesitau o viteza de procesare ce nu ar fi putut fi atinsa de un limbaj (semi)interpretat gen Java ), imi lipsea controlul pe care mi-l oferea C/C++. Daca esti organizat, nu ai nevoie de un trash collector - dimpotriva, orice "leaks"-uri te ajuta sa gasesti un bug care altfel ar fi scapat neobservat; obiectele oferite de diverse biblioteci ( gen MFC ) pot fi editate sau inlocuite daca se observa ca genereaza bottleneck-uri pe undeva; poti insera chiar bucati intregi de asamblare in punctele cheie. Java are intr-adevar avantajul considerabil al lejeritatii in programare si al portabilitatii, de aceea ramane ancorat foarte bine in nisa lui, insa in ceea ce priveste backend-uri C100K sau mai mult unde ai nevoie de hyper low latency si control asupra resurselor, este departe de a fi o alternativa viabila pentru C.

    In ceea ce priveste Deutsche Bank, nu pot decat sa imi amintesc de experienta amara a lipsei de profesionalism a unui intervievator care mi-a spus ca "sunteti exact ce cautam, va sunam maine sa stabilim detaliile", si care nu a mai putut fi contactat dupa aceea...
    • +2 (2 voturi)    
      forget it (Sâmbătă, 13 februarie 2016, 14:54)

      Maica Reteza [utilizator] i-a raspuns lui VladAlexandru

      Ce, că nu te-a mai sunat Deutsche Bank? Păi vezi aici, de fapt, cam ce caută: juniori, nu seniori.
      Marea problemă a acestor centre (venite în RO puțin cam târziu) este că le pleacă oamenii, n-au ce face cu un senior care primește 5 oferte pe zi de la 5 companii de-afară și care pleacă mâine. (sau au ce face dar le trebuie numai 3-4, pe când indieni supuși... ehee, le trebuie 50-100, fără număr)

      În loc de un senior, mai degrabă angajează 2 (poate chiar 3) juniori pe care-i pregătesc și, dacă le oferă și-o certificare, poate stau în companie măcar 2 ani. Nu vor ajunge juniorii la cine-știe-ce performanțe însă nici nu e nevoie, 90% din task-uri sunt relativ simple, de reparat bug-uri în aplicații web scrise în Java acum 10-15 ani și cârpite de-atunci încoace de sute de ori, de sute de alți juniori, fără prea multă documentație (în pofida organizării și metodologiilor exemplare expuse de domnu autor colea).

      (iar apropos de C++... Stai liniștit, în bănci aplicațiile care să necesite eficiență supremă sunt una-două, marea masă sunt aplicații web de gestionat chestii, sute de pagini web cu tabele, filtre și mult SQL. Din acest punct de vedere, normal că le scriu în Java, .NET, PHP, Ruby, Node.JS, whatever, d-astea în care e ușor să faci web-uri. Le e mult mai util să fie ușor de scris cu oameni ieftini decât să aibă performanța supremă)
  • 0 (0 voturi)    
    E usor a scrie "versuri" cand ai semnul [P] (Duminică, 14 februarie 2016, 23:07)

    clint [utilizator]

    lipit de articol... Mi-aduce aminte de reclamele alea de la TV ale unor firme obscure gen Petrom sau Rebu care nu promoveaza nici un produs sau serviciu, ci doar platesc bani grei sa se spele in ochii publicului caruia ii baga efectiv pe gat produsele.

    Ca programator mai low level de C/C++, experienta intalnirii cu Java a fost 100% pozitiva. Clasele inner, checked exceptions, ce frumos....

    Pana intr-o zi cand am vrut sa implementez un biet TCP server cu pool-uri de thread-uri, cu pool-uri de conexiuni la baza de date, samd. Facusem asta in C++ iar in Java concluzia este ca ... nu poti scrie asa ceva. Ori folosesti o clasa "de-a lor" ori, daca o faci in C++ style iti iese ceva foarte lent si costisitor dpdv al resurselor. In acea zi, visul frumos s-a terminat. N-am vrut sa raman un programator cu ochelari de cal, desi Java nu are nici o vina. Se vrea ceva frumos si usor, totusi vine cu un pret. "Daca nu ne dau ei o clasa, ceva, atunci nu exista", pare sa fie logica care din pacate se opune inovatiei reale. Vrem lucruri simple si usor de folosit, "sa nu reinventam roata", folosim un anume tip de roata si aia e.
    Sa folosesti o clasa "de-a lor" mi se pare o dependenta si un opus al inovatiei.

    De aceea, Java si .NET sunt la putere in organizatii mari, monopoliste, fie ca fac afaceri cu statul sau cu alte firme tot la fel de mari si unde nu inovatia primeaza. Nu este inovatie acolo desi programatorii cred ca isi merita banii aia multi. Ei se scalda in framework-uri 3rd party, dar nu vor sa vada evidenta. Ca banii nu vin din desteptaciunea lor, ci pentru ca firmele la care lucreaza fac in esenta chestii imorale si de acolo vin banii.
  • 0 (0 voturi)    
    . (Luni, 15 februarie 2016, 9:38)

    Bazil.the.3rd [utilizator]

    Ce frumos e scris articolul ... pentru mine am pierdut speranta ,dar copii au sansa sa creasca intr-o lume fara java si flash. Haideti sa le oferim asta macar.
  • +1 (1 vot)    
    Java fashion (Luni, 15 februarie 2016, 11:07)

    VrannaiStefan [anonim]

    Da, Java este acum la moda, asa cum, cu nu putin timp in urma a fost Delphi. Mai inainte a fost la moda FoxPro, si simai inaintea lui a fost adorat Dbase III+ si Clipper. Moda vine, moda trece. Asa va fi si cu Java, cand va aparea un alt limbaj mai la indemana programatorului lenes. Lucrez ca programator din 1974 si pot spune ca am vazut si am lucrat cu multe limbaje de programe. In toti acesti ani am simtit un trend de indobitocire a programatorilor. Daca limbajele mai vechi(Cobol, Fortran, Assembler, C) iti cereau o atentie sporita si o inteligenta mult mai mare cu un potential de creatie mult mai sporit, in limbajele moderne construiesti programele din "caramizi prefabricate". Daca nu ti se pune caramida potrivita la dispozitie, "ai pus-o". Dar aceasta este si cerinta marilor corporatii, sa angajeze juniori, mai slab pregatiti si ca atare platiti mai slab, dar care pot lucra mult, si daca gresesc pe undeva, vine "colectorul de gunoaie" si drege treaba. Nu vreau sa jignesc pe nimeni, toti programatorii sunt utili, si cei creativi si acei juniori "negrii de pe plantatie", dar fiecare la locul lui.
    Apropos banci, in Java se fac doar interfetele, care comunica cu mainframe-ul, pe care ruleaza tot batranul Cobol. Toata "inteligenta" aplicatiilor este concentrata in aceste programe Cobol, care le indica clientului Java pana si culoarea cu care sa afiseze datele pe ecran. Cam atat despre utilitatea Java in banci.


Abonare la comentarii cu RSS

Hotnews
Agenţii de ştiri

Siteul Hotnews.ro foloseste cookie-uri. Cookie-urile ne ajută să imbunatatim serviciile noastre. Mai multe detalii, aici.
hosted by
powered by
developed by
mobile version
Sâmbătă