Introducere in Java - Prezentari 2004 Nationala

Descriere

Istoria Java, avantaje / dezavantaje fata de limbajele de programare invatate in liceu. Mituri Java, demonstratii. De unde a pornit si incotro se indreapta.

Autor

  • Irina Dumitrașcu

pai bre vivi in primu rand ar fi bine sa repari linkul de pe /seminarii.php unde “arta&design” si “java” duc in acelasi loc… adica aici… n-as vrea sa cred ca eleganta designului este legata de java :laughing:



drumurile noastre toateee… se vor intalniii canvaaa… :wink:

declar cu mana pe inima ca dintotdeauna mi-a repugnat java. nu stiu de ce. imi dau seama ca n-ar trebui, pt ca e ceva bun. dar pur si simplu nu-mi place ideea ca paginile web sa se amestece cu programarea. sunt doua chestii diferite, fiecare cu scopul ei.



daca e nevoie de ceva frumos, eleganta si prezentare placuta ochiului, go 4 htm/php.



daca e nevoie de putere, complexitate, comunicatie, algoritmi si ceva serios, go 4 c++ & friends.



tot ce e intre astea doua nu face bine niciuneia dintre ele…



parerea mea


dar pur si simplu nu-mi place ideea ca paginile web sa se amestece cu programarea. sunt doua chestii diferite, fiecare cu scopul ei.
[/quote:16m8ntj2]
ba ar trebui sa se amestece programarea cu webul si se si amesteca. webdesign nu inseamna doar sa pui o imagine frumos in pagina si sa asezo niste tabele sau divuri ...

in general se face o confuzie si se zice ca php e scripting, flash e active script, jave e script. e tot programare. active script e doar un nume, inainte se chema lingo. java script la fel e doar un nume, la fel si server side scripting.

atunci cand scrii un cod care face o masina sa faca ce ii spui se cheama ca programezi. diferenta intre php si c e faptul ca c e compilat si si php interpretat. daca eu fac un interpretor si scriu un cod care va fi interpretat de el, tot programare se cheama.


daca e nevoie de ceva frumos, eleganta si prezentare placuta ochiului, go 4 htm/php.

e nevoie doar de htm. php ii ca sa faci ceva dinamic.

[quote:16m8ntj2]
daca e nevoie de putere, complexitate, comunicatie, algoritmi si ceva serios, go 4 c++ & friends

depinde in ce domeniu. complexitatea unui program depinde de programul respectiv si de programator. algoritmi poti face si in php, putere poti avea si acolo, complexitate la fel, comunicatie nici nu mai vb ...

concluzia e ca programare faci oricum si cand scrii php si cand scrii c. nu ar trebui sa se faca diferenta intre scripting si programare. e tot una. eventual intre script si program da, programul e compilat scriptul e interpretat. dar daca pentru unii script = nashpa atunci au o gandire proasta.

asa ca fiecare ii spune cum vrea, eu le spun programare la amandoua. folosesti unul sau altul in fuctie de domeniu. doar no sa faci un site in c++ :laughing: dar un program in php poti. vezi php gtk.

Va rog sa nu deviati de la topic.



:arrow_right: lordbyron: daca te referi la javascript, ei bine nu are nici o legatura cu Java si cu scopul acestui seminar (vezi si discutia de aici)



:arrow_right: lordbyron: spui ca daca e nevoie de putere, complexitate, comunicatie, algoritmi si ceva serios, go 4 c++ & friends. Ce te faci cand ai nevoie de putere, complexitate si lucruri serioase intr-un site web? Si aici ma refer la site-urile extrem de mari si complexe, unde ai nevoie sa controlezi si sa accesezi multe resurse, ai nevoie de comunicatie (sunt distribuite pe mai multe servere), etc. ? Raspunsul este JSP (in unele cazuri).



In java se fac aplicatii. In java se face programare serioasa si complexa. Java este limbajul ales in multe cazuri datorita usurintei de dezvoltare, de exploatare si din multe alte motive.

ok, nu deviem dar dupa mine se lega de ce spunea el … cha web si programare nu trebuie sa se amestece …

In urma discutiilor de mai sus, se reliefeaza clar cateva subcapitole necesare la “mituri despre Java”:



1) java = web.

Fals: se poate web fara java, si mai ales se poate java fara web (se pare ca mai ales a doua parte niciodata nu va fi repetata indeajuns). Bineinteles, au o parte comuna, si este foarte bine ca este asa, pentru ca o serie mare de aplicatii mari pot fi dezvoltate si intretinute mai usor.



2) java = scripting.

Fals: Java este un limbaj atat compilat (codul sursa se compileaza si se transforma in bytecode) cat si interpretat (bytecodul este interpretat de catre masina virtuala Java).



3) “putere, complexitate, comunicatie, algoritmi si ceva serios, go 4 c++ & friends”



Aproape adevarat:

- in primul rand, C++ si Java sunt “friends” cel putin dintr-un punct de vedere - sunt limbaje orientate obiect



- in toate aspectele de mai sus, ariile acoperite de cele doua limbaje sunt similare; intr-adevar, din Java nu poti avea acces direct la anumite resurse (memoria folosita de alte programe, etc), in schimb in ceea ce priveste complexitatea Java are avantajul ca fiind creat dupa C++ (si deci “invatand” din alegerile proaste facute in dezvoltarea acestuia) ofera o mai mare usurinta in programare si un sistem mai coerent, esentiale pentru aplicatii de mari dimensiuni.

irina

...din Java nu poti avea acces direct la anumite resurse (memoria folosita de alte programe, etc)...


Dar poti scrie oricand metode native intr-un limbaj low-level pe care sa le integrezi in aplicatia ta Java... :smile:
vivi


irina


...din Java nu poti avea acces direct la anumite resurse (memoria folosita de alte programe, etc)...


Dar poti scrie oricand metode native intr-un limbaj low-level pe care sa le integrezi in aplicatia ta Java...


Depinde, asta daca iti permite sistemul de operare, sunt sisteme de operare care nu permit unui program sa gestioneze memoria altor programe, acest lucru facand doar sistemul de operare.
Cum Java este un limbaj cross platform, presupun ca este un punct important, unele sisteme de operare impun anumite restrictii referitoare la memorie etc ...
Vivi

lordbyron: daca te referi la javascript, ei bine nu are nici o legatura cu Java si cu scopul acestui seminar



vivi stiu foarte bine diferenta dintre java si javascript, am citit si eu destul, si stiu ca numele e printre putinele lucruri pe care le au in comun. si mai stiu si ce zice irina, ca se poate si java fara web. afaik, java e un limbaj FOARTE portabil, atat de portabil incat sunt jocuri pe nokia scrise in java, care nu au nici o legatura cu webul. deci nu fac confuzii, stiu ce vreau sa spun.

atunci cand, cum ai zis tu, exista nevoie de ceva super complex, la site-uri mari cu multe resurse, cred ca se poate si mai elegant (adica interfata sa fie site-ul web, iar tranzactiile si operatiile sa fie facute de programe scrise in limbaje puternice (si aici nu ma refer numai la c++... si .net e o posibilitate). asta cred eu, adica fiecare jumatate (web+progr) sa faca ce stie mai bine cum poate mai bine
lordbyron

...cred ca se poate si mai elegant (adica interfata sa fie site-ul web, iar tranzactiile si operatiile sa fie facute de programe scrise in limbaje puternice (si aici nu ma refer numai la c++... si .net e o posibilitate). asta cred eu, adica fiecare jumatate (web+progr) sa faca ce stie mai bine cum poate mai bine


Java este un limbaj puternic, Java nu este o tehnologie orientata web asa cum (am senzatia ca) ai tu impresia.
Iti recomand inca o data sa citesti cele discutate aici: http://www.infoeducatie.ro/forum/viewtopic.php?t=292 mai ales ultimele mesaje.

Din punctul meu de vedere, java este o solutie foarte buna, pentru ca este portabil (windows, max, linux), si are segmente pentru orice tip de aplicatie (de la WEB - JSP, la telefoane si dispozitive embedded - J2ME, si nu in ultimul rand pt aplicatii complexe - J2EE).



Pe de alta parte principala problema Java este ca nu poate fi folosit cu succes in medii critice (gari, spitale, etc), din cauza ca nu poate fi evaluat cu exactitate timpul de rulare al aplicatiei (depinde cand intra si Garbage Collectoru, etc; idle e ceva destul de relativ).



Pe partea de WEB server, JSP este mult mai lent ca PHP, numarul de utilizatori a celei de-a 2-a solutii fiind considerabil mai mare. Se pare ca odata cu aparitia versiunii PHP5, php va acapara si segmentul business. Un plus ar fi si existenta PEAR (asemenea JFC pt java), care simplica considerabil lucrurile.

da e adevarat … java e foarte portabil… nasol este ca are interfata foarte inceata …awt-ul e incet si sa nu mai zic atuncia de swing care e bazat pe awt … dar la “low level” java …e foarte rapid … oricum ideea este ca poate fi folosit la gara si la spitale … printr-o retea …avand impelemntat destul de ok modulul de stremuri si socketuri



Se discuta putin mai sus … de a nu amesteca web designul cu programarea … vai … si ce se face acea persoana cand are de facut un site care are nevoie de o interfata user frinely si sa aiba access la baza de date si sa zicem la resursele serverului … iar cand toate acestea vor veni encapsulate intr-o structura complexa si modulara …



php 5-ul e foarte bun la oop … nu l-am incercat ca sa-mi dau cu parerea …daca e mai bun sau nu ca java …dar avand in vedere ca e limbaj de scripting (foarte puternic de altfel) ma indoiesc .

Oricum java e super la oop , nu ca c-ul de ex …bleah …eu unul am invatat oop in java si mi-a fost foarte usor sa manipulez "sculele " oop cu java.

inca o chestie …sunt putin off topic …dar PEAR cam suck … adica am incercat sa-l folosesc … si desi e oop …ar fi mai bine k baietzii sa-l rescrie in php5 1 la mana …2 la db data object tresa te obisnuiesti cu alt concept interogare a bazelor de date .. si de quick form sa nu mai zic ... tre sa fac templeturi ca sa-mi trag un design peste uratzeniile alea de imputuri ? hai sa fim seriosi …mie PEAR nu-mi place

aaa si tot o chestie off topic …zicea cineva mai sus ca php e limbaj de scripting & stuff si nu poate programa ca in C cu el …lol … permite-mi sa te contrazic … vrei sa implementezi un engine oop …numai sa shti oop …php chiar mi se pare mai ok ca si C …ma rog nu k si C# dar intzelegetzi ideea .



daca tot e topic de java …ash vrea sa ma bag si la js :stuck_out_tongue: :smiling_imp::

parerea mea e ca e foarte important pt web …cel putin pentru formuri … e un limbaj …care are functii variabile …si o structura de obiecte care numai copac nu pot sa-i spun . dar ideea e ca desi e simplu ajuta enorm la formulare la confirmarea unei actiuni …chestii simple …dar care pot scuti pagina de 1 2 refreshuri.si sa nu mai vb de DHTML … ma rog …nu e f bine sedimentat …dar parerea mea ca si aicea js joaca un rol f important … numai daca s-ar intzelege microsoftul cu ceilaltzi sa scoata un dom unic … dar de ce sa visam la utopi .





irina wrote:

…din Java nu poti avea acces direct la anumite resurse (memoria folosita de alte programe, etc)…



Dar poti scrie oricand metode native intr-un limbaj low-level pe care sa le integrezi in aplicatia ta Java…





vivi tin sa te contrazic ideea unui limbaj high livel e sa nu folosesti limbaje low level …sa nu te intereseze ce se petrece la nivel de intrerupere sau la nivel de registru …asa ca …folosing …numai java tools …cum scri un program care sa stinga compul? in C++ e usor



Oricum …ultima mea ideea in legatura cu java e ca la sock-uri si streamuri e super …la oop bestial …la viteza intervetei …sucky …desi e f usor de modificat in comparatie cu C++. Dar sa nu uitam ca java initial o fos creat pentru prajitoare de paine si pentru a rula cu resurse limitate … aparent tipi care au impelentat swingul si awt-ul au uitat asta :stuck_out_tongue:

Topicul este “ce credeti despre acest seminar si ce ati vrea sa se prezinte in el”.

Voi adauga aici cateva linkuri pentru cei care vor sa invete Java sau pur si simplu sa vada mai indeaproape “cu ce se mananca”:



<a href=“http://www.mindview.net/Books:2as4aqze]Bruce Eckel[/url:2as4aqze] - mai multe carti free; pentru initiere in Java este “Electronic book: Thinking in Java, 3rd Edition”



The Java Tutorial - A practical guide for programmers de la Sun, un tutorial bine structurat si cu multe exemple.



[url=http://java.sun.com/developer/onlineTraining/index.html”>Toate tutorialele de Java de la Sun, pe categorii tematice.





Va multumesc celor care ati participat la seminar si sper ca a fost o experienta interesanta si utila. Daca aveti intrebari sau nelamuriri va invit sa le postati aici sau pe mail.

Tutorialele de la Sun nu se pot downloada ?



Multumesc irina.

The Java Tutorial are si versiune de downloadat.

Pe celelalte nu le-am incercat pe toate, dar din cate stiu, majoritatea au si versiune offline.



Cu placere. :smile:

Am gasit :smile:. Am mai gasit si niste tutoriale interesante cu aplicatii client-server si servere multithreaded pentu download.



Multumesc din nou pentru resurse :smile:

[quote=“lordbyron”]declar cu mana pe inima ca dintotdeauna mi-a repugnat java. nu stiu de ce. imi dau seama ca n-ar trebui, pt ca e ceva bun. dar pur si simplu nu-mi place ideea ca paginile web sa se amestece cu programarea. sunt doua chestii diferite, fiecare cu scopul ei.

[/quote]

Salutare,

Paginile web ar trebui sa se amestece cu programarea.Confunzi web design cu web apps.

Am experienta in web apps (sistem de e-commerce pentru un lant de magazine virtuale,site-uri ale unor primarii,laboratoare virtuale si multe alte proiecte) si in aplicatii stand-alone( de la aplicatii de soft comercial pana la aplicatii industriale) si iti spun ca gresesti spunand ca paginile web nu ar trebui sa se amestece cu programarea.

Un site dinamic folosind java ,php sau alte limbaje si o baza de date ofera foarte multe avantaje indiferent ca este o simpla pagina personala sau o alta pagina web mai complexa.Un mare avantaj il reprezinta o administrare mai buna a informatiei ,securitate,incarcare rapida,Un exemplu ar fi un site cu multe domenii de activitate .Este mult mai elegant sa aduagi informatiile intr-o baza de date decat sa le adaugi pe fiecare fisier in parte.Nu te-ai lovit de probleme cu clienti care nu au habar de html sau alte limbaje sau scripturi .Daca le oferi un site de administrare sau un soft de administrare scapi de multe probleme.Ii lasi posibilitatea sa adauge text sau poze fara sa te mai caute ca nu stie cum sa adauge.Sfatul meu este sa folosesti cat mai mult limbajele sa faci un site dinamic.