De ce atatea VisualX?

Observ ca majoritatea liceenilor isi fac soft-ul in Visual C, Visual Basic, Delphi… sau altele asemanatoare.



De ce nu Java?

Nu am vazut nici un proiect facut in java pana acum.

Din punctul meu de vedere e clar: Java se misca mai greu…

Si vad avantajul celor care fac soft in Visual: click+drag+drop+dubluclick + cod exact pt. ce te intereseaza => o noua functie a programului, accesibila printr-un buton din program.

Java este pur si simplu un limbaj mai complicat decat Basic sau C sa zicem, si apoi de ce l-am folosi, se misca mai greu, nu este foloist des ptr soft de PC. Dar daca tu vrei sa faci jocuri ptr telefoane mobile, n-ai decat sa programezi in Java. :smile:

http://www.osnews.com/story.php?news_id=5602


http://www.idiom.com/~zilla/Computer/ja … hmark.html

http://www.javaworld.com/javaworld/jw-0 … erf_p.html

De ce VisualC? De ce Delphi?

Pentru că, în primul rând, programa şcolară îl învaţă pe elev, începând cu clasa a IX-a, Borland C++ şi Borland Pascal.



Elevul pasionat de informatică şi doritor de experienţe noi nu este mulţumit cu limitările impuse de mediile de dezvoltare “cu ecran albastru”, cum le numesc eu (mă refer aici la BP 7.0, BC 3.31 sau FoxPro 2.6), aude de VisualStudio de unde deprinde arta VisualC++ sau VisualFox,pe de o parte, şi Borland Delphi pe de altă parte.



El nu este deloc interesat să înveţe un nou limbaj de programare, ci să îl perfecţioneze pe acela care i-a fost predat la orele de informatică.



Bineînţeles că există şi excepţii, care din curiozitate sau din dorinţa de a şti mai mult învaţă încă 2-3 medii de programare, dar acestea sunt rare.



Închei aici. Mă înclin (© Andi Moisescu)

Nu sunt expert in Java, dar parerea mea este urmatoarea:



In primul rand, dupa cum se observa si din link-ul lui Vivi, Java se misca mai incet. Dar sa nu luam asta ca un criteriu. Nu este vorba de ce Delphi si nu Java. Problema este de tipul proiectului pe care vrei sa il faci. De exemplu, pentru un utilitar de recuperare a datelor de pe o partitie defecta sau un antivirus (numai doua exemple) Java nu este chiar cel mai potrivit. Cand spui Java in primul rand te gandesti la Internet pentru ca peste 90% din modurile in care este utilizat sunt legate de Internet sau comunicatii mobile.



Bineinteles, “evanghelistii” Java vor spune ca bytecode-ul este foarte portabil intre diferite arhitecturi de procesoare, pentru rularea de bytecode fiind necesara numai portarea interpretorului pe arhitectura respectiva. Cu toate acestea, apar penalitati de performanta asa cum stim in cazul codului interpretat.



In concluzie, Java este utilizat in momentul in care se simte necesara folosirea acestuia.



Astept raspunsurile (avantaje/dezavantaje) celor care folosesc Java pentru altceva in afara de pagini web (JavaScript) si aplicatii pentru mobile.

In linkurile lui Vivi se spune ca Java este la fel de rapida ca si alte compilatoare actuale. ;-)



O prima concluzie (a mea) este ca Java este neglijata in liceu dintr-o lipsa de informare. JavaScriptul nu are nici o legatura cu Java, de exemplu. In rest, mi se par corecte argumentele voastre (in afara de cel cu viteza) :smile:.



Tocmai mi-a venit o idee: ati fi interesati de un seminar/workshop Java? O prezentare de argumente, ce face Java mai exact, de ce si unde se potriveste, e un limbaj greu sau nu, argumente pro si contra?

In link-urile lui Vivi se spune:



http://www.osnews.com/story.php?news_id=5602&page=3



LOWER IS BETTER Timpul este dat in secunde. In alt link se spune cum ca Java incearca sa se apropie in anumite cazuri de C++.



Vivi mai spune:



JavaScriptul nu are nici o legatura cu Java, de exemplu. [/quote:2ku2nem7]

http://www.webopedia.com/TERM/J/JavaScript.html
… it [JavaScript] shares many of the features and structures of the full Java language.


Nu am spus niciodata ca Java=JavaScript sau invers. Dar de aici si pana la a spune, Vivi, ca nu au nici o legatura una cu cealalta…e cale lunga.

[quote:2ku2nem7]Astept raspunsurile (avantaje/dezavantaje) celor care folosesc Java pentru altceva in afara de pagini web (JavaScript) si aplicatii pentru mobile.




Nu am primit nici un raspuns deocamdata…



Da, as fi interesat de un workshop.
twins

In link-urile lui Vivi se spune:
http://www.osnews.com/story.php?news_id=5602&page=3
LOWER IS BETTER Timpul este dat in secunde. In alt link se spune cum ca Java incearca sa se apropie in anumite cazuri de C++.


Din acelasi articol: If we exclude the trigonometry component, Java performed virtually identically to Visual C++, the fastest of Microsoft's languages.
twins


JavaScriptul nu are nici o legatura cu Java, de exemplu.
http://www.webopedia.com/TERM/J/JavaScript.html
... it [JavaScript] shares many of the features and structures of the full Java language.[/quote:9lqqj8l0]

Nu am spus niciodata ca Java=JavaScript sau invers. Dar de aici si pana la a spune, Vivi, ca nu au nici o legatura una cu cealalta...e cale lunga.
[/quote:9lqqj8l0]
In aceeasi Webopedia se spune Java is an object-oriented language similar to C++. Asta nu inseamna ca au vreo legatura. Iar tu ai scos propozitia respectiva din context: Although it shares many of the features and structures of the full Java language, it was developed independently.
Ai luat prea literal propozitia mea. Dar a spune ca programand JavaScript folosesti tehnologie Java este (parerea mea) o eroare.

http://www.it.utk.edu/itc/clearinghouse/java/jvsjs.html

Java:
# Can be used for various programming purposes.
# Is a compiled language.
# Code is compiled into Applets (separate from HTML).
# Is a programming language.

JavaScript
# Is used for Web programming only.
# Is not a compiled language.
# Code is embedded directly in HTML.
# Is a scripting language.

Cele doua tehnologii difera din toate punctele de vedere.

[quote:9lqqj8l0][quote:9lqqj8l0]Astept raspunsurile (avantaje/dezavantaje) celor care folosesc Java pentru altceva in afara de pagini web (JavaScript) si aplicatii pentru mobile.


Nu am primit nici un raspuns deocamdata....

Pentru mine, avantajele sunt asa:
- in primul rand portabilitate. Ce programez la mine sub Windows pot rula pe server in Linux. Daca maine voi decide sa trec pe Linux, pot in continuare sa programez si sa le dezvolt.
- este free (si desi in acest moment pentru voi poate asta nu este o problema, ceva mai tarziu poate fi un argument)
- usurinta de dezvoltare. Datorita naturii sale pur obiectuale, imi place sa imi gandesc aplicatiile in java. Poate fi un argument subiectiv.
- usurinta de intretinere. Controlul implicit si nu explicit al memoriei face aplicatiile mai usor de debugat si mai putin expuse la bug-uri datorate folosirii incorecte a pointerilor. Desi cineva ar putea argumenta faptul ca asta tine de experienta programatorului, eu il consider un fapt general valabil.

In primul rand un sfat: Accepta faptul ca oamenii pot avea pareri diferite.



Ai schimbat discutia si ai raspuns cum ca nu are nici o legatura cu C++. Multi programatori spun ca Java este usor de invatat dupa ce ai invatat C++ sau invers. Eu personal, cand lucrez cu un nou limbaj de programare, il pun in relatie cu celelalte pe care le-am folosit. Dar poate ca nu toti gandesc asa, desi un programator ar trebui sa aiba o gandire logica si care sa-i permita sa faca conexiuni intre anumite cunostinte pe care le dobandeste. Sunt astfel nevoit sa te contrazic din nou (si cred ca nu sunt singurul care ar spune asta) si sa iti raspund ca Java are legatura cu C++.



Referitor la Java si JavaScript se pare ca si aici ai deviat de la subiect. Probabil ca numele de JavaScript nu a fost ales intamplator si poate acesta ar fi primul argument cum ca cele doua au o legatura. In fine, pentru a incheia discutia iti dau dreptate.



P.S. Daca tot esti evanghelist Java, citeste (sau reciteste) putin despre istoria Java, cum a fost creat, din ce a evoluat, ce a stat la baza lui si care a fost scopul acestuia. Vei intelege mai bine anumite lucruri (inclusiv legatura cu C++).



Nu este necesar ca doua lucruri sa fie identice pentru a putea spune ca au o legatura intre ele. Oricum, discutia noastra tinde foarte tare sa devieze.



Ce aplicatii ai realizat in Java?

Acceptarea libertatii de opinie nu implica si renuntarea la argumentarea propriei pareri.



In directia in care mergi tu, toate limbajele de programare au legatura intre ele (toate folosesc aceleasi structuri de control, nu?).

Tot ce vroiam sa spun este ca nu faci bine cerand pareri despre Java celor care stiu JavaScript. Vei obtine niste pareri complet neavizate. Punct la discutia asta.



Ce am facut eu in java: o parte din agentii (robotii) care se joaca pe doizece.ro (cinci in linie, fotbal logic, whist)… si am scris niste bucati din serverul care este in spatele doizece.ro.

Sunt instructor Java in programul academic Cisco.



Am invitat pe inca cineva care programeaza ceva mai mult ca mine in Java sa se alature discutiei noastre, sper sa posteze aici curand.



Nu as vrea sa fiu inteles gresit. Nu sustin ca java ar fi cine stie ce revolutie, sau ca ar trebui sa programati numai in Java.

Cred doar ca ar trebui sa fie lasate unele mituri deoparte (ca merge greu, ca e greu de invatat, etc) si sa fie considerata o optiune pentru unele aplicatii unde se preteaza mai bine decat alte limbaje.

In directia in care mergi tu, toate limbajele de programare au legatura intre ele (toate folosesc aceleasi structuri de control, nu?).
Tot ce vroiam sa spun este ca nu faci bine cerand pareri despre Java celor care stiu JavaScript. Vei obtine niste pareri complet neavizate. Punct la discutia asta. [/quote:1fw8zxza]

Invata sa citesti mai bine. Nu am afirmat nimic din ce spui tu mai sus, asa ca te rog sa nu-mi atribui vorbe pe care nu le-am spus, doar de dragul de a-mi replica.

Ce am facut eu in java: o parte din agentii (robotii) care se joaca pe doizece.ro (cinci in linie, fotbal logic, whist)... si am scris niste bucati din serverul care este in spatele doizece.ro.


Si eu cunosc pe cineva care a scris un RPG multiplayer online in Java. Dar pentru altceva in afara de Internet l-ai folosit?

De acord ca Java nu trebuie ignorat. Si mai sunt de acord ca:

[quote:1fw8zxza]sa fie considerata o optiune pentru unele aplicatii unde se preteaza mai bine decat alte limbaje
Vivi

Tocmai mi-a venit o idee: ati fi interesati de un seminar/workshop Java? O prezentare de argumente, ce face Java mai exact, de ce si unde se potriveste, e un limbaj greu sau nu, argumente pro si contra?



DA!!! :smiley: Ar fi bestial! (si util)
Eu nu stiu prea multe despre Java dar sunt doritor sa aflu. Ma incanta portabilitatea (cross OS/machine).

Buna idee Vivi, sper sa mai avem sustinatori.

Buna tuturor,



Ma numesc Irina Dumitrascu, tocmai am terminat facultatea de Calculatoare din Politehnica Bucuresti, sunt Instructor de Java in cadrul Academiei Cisco din UPB si “persoana care programeaza mai mult in Java” pe care Vivi a invitat-o la aceasta dicutie.



O sa incep prin a comenta un pic cateva ideile expuse mai sus de catre unii din voi:

- “Java merge greu”

Dupa cum se vede si din linkurile date de Vivi, performantele Java, ca limbaj general de programare, sunt comparabile cu cele C/C++.

O diferenta exista inca la interfetele complexe cu utilizatorul, care in general in Java se incarca mai greu si se misca mai “ciudat”, lasand impresia ca Java in general merge incet (ceea ce nu este adevarat).



- “Java este folosita 90% pentru Internet si comunicatii mobile”

Intr-adevar, avantajele Java sunt mult mai relevante pentru partea server-side decat pentru client-side (aplicatiile “normale”, cu care avem in mod obisnuit de-a face). Acest lucru nu inseamna ca nu exista si programe foarte reusite dezvoltate in Java pentru client side (a se vedea si unele IDE-uri de proportii).



In ceea ce priveste comunicatiile mobile si “daca vrei sa dezvolti jocuri pe mobil, foloseste Java”, pe ultimele generatii de mobile se poate programa atat Java cat si C (pe Symbian) asa ca impatimitii ambelor limbaje. (daca va intereseaza subiectul, puteti vedea aici o comparatie intre cele doua data de Nokia).



Eu am programat Java atat server side cat si client-side. Gama de aplicatii client-side a fost cea a programelor bazate mai mult pe functionalitate decat pe interfete complexe cu utilizatorul, mergand de la retele neuronale la prelucrari asupra imaginilor 2D sau pentru modelare de evenimente. In general, am folosit Java pentru tot ce nu era cerut expres in alt limbaj :smile:.



De ce? (aici intra si argumentele la “de ce v-ar interesa pe voi sa invatati java”):

- dezvoltare mai rapida

Atat etapa de scriere a codului cat si cea de testate / debug-are sunt mult mai scurte in Java. Limbajul vine cu o serie de functionalitati gata implementate. In plus, odata ce inveti sa gandesti “orientat-obiect” dezvoltarea devine mult mai usoara decat in limbajele procedurale.



- in ceea ce priveste debug-ul, nu stiu cati dintre voi au trecut prin etapa in care c-ul da un “segmentation fault” sau programul se intrerupe anormal si totul din cauza unui pointer sau altceva. In Java exista un sistem de exceptii si fiecare eroare e raportata impreuna cu linia la care s-a produs, si cu lista tuturor apelurilor de la main la functia respectiva, lucru care usureaza enorm procesul.



Mie mi s-a intamplat sa scriu o aplicatie scurta in cateva ore in Java si apoi, aceeasi aplicatie, sa imi ia de 4-5 ori mai mult sa o scriu in C si sa mearga. (si nu programez prost in C).

Sau cazuri in care codul care merge pe o distributie Linux da crash pe alta fara motive previzibile.



- codul e mai robust si mai putin expus la erori







O sa inchei aici inainte de a ajunge la argumente prea tehnice.



Ideea cea mai importanta (pe care cineva a mentionat-o mai sus) este ca este important sa folositi limbajul potrivit la locul potrivit. Sfatul meu este sa retineti ca Java este un limbaj general de programare, nu este doar pentru Internet sau mobile, si trebui luat in calcul si pentru aplicatii client-side.

Ok! Ash fi interesat shi eu de un asemenea seminar. Daca aveti posibilitatea … nu strica.

Buna ziua tuturor



Numele meu este Tudor Popescu si la invitatia lui Vivi am sa incerc sa va spun cateva pareri despre Java. Am terminat facultatea de automatica si calculatoare in 2000 si in Java lucrez din 1998.



Cred ca primul lucru care ar trebui spus este ca Java este o umbrela foarte mare. Exista trei mari directii respectiv J2SE (standard edition), J2EE(enteprise edition) si J2ME (micro edition) fiecare cu particularilatile sale, fiecare din aceste directii avand o multime de subtehnologii. La acest nivel de segmentare s-a ajuns in urma unui proces iterativ si prin intermediul JCP (Java Comunity Process).



J2SE - clasicul JAVA, folosit pentru aplicatii stand-alone sau client-server

J2EE - pentru solutii de dimensiuni mari, arhitectura n-tier bazata pe existenta unui server de aplicatii. Se pot dezvolta atat aplicatii web based cat si aplicatii cu client solid

J2ME - aplicabila pentru programarea de terminale mobile, smart carduri etc…



Experienta mea este in zona J2EE si pot spune ca in acesta zona tehnologia Java este pe primul loc. Spun asta pentru ca ofera portabilitate (ceea ce este extrem de importat intr-un mediu de business), solutii free cat si comerciale pentru serverele de aplicatie, grad ridicat de securitate, arhitectura n-tier, usurinta in testare si mentenanta lucruri care se traduc in reducere de costuri. J2EE este complet diferit fata de J2SE si este o tehnologie destul de greu de stapanit, insa nu spune nimeni sa incepeti direct cu entity bean-uri.



Tehnologia concurenta este dotNET, marele defect al acesteia fiind ca te leaga pe viata de Microsoft.



JAVA ca si limbaj se invata mai repede decat C++ pentru ca este mai structurat si mai natural. Lipsa pointerilor, a alocarilor/dealocarilor manuale ajuta foarte mult in procesul de invatare. Insa nu rapiditatea cu care se invata un limbaj conteaza ci rapiditatea cu care stapanesti bibliotecile puse la dispozitie de respectiva tehnologie, acesta viteza depinzand de fiecare in parte. O carte excelenta pentru primii pasi in java este “Java in a nutshell” de David Flanagan.



Decizia de a folosi tehnologie JAVA pentru dezvoltarea unei aplicatii depinde de mai multe aspecte. Daca doresti sa faci un driver nu o sa folosesti niciodata JAVA insa daca vrei sa faci un sistem integrat de gestiune al unei inteprinderi atunci JAVA devine o solutie perfecta.



Cred ca ar trebui spuse si cateva cuvinte despre ce se cauta pe piata din Romania. In ultima perioada (6 luni) piata a fost invadata de proiecte J2EE (observati ca spun J2EE si nu JAVA), tehnologia fiind impusa de multe ori de catre client. Deci din punct de vedere comercial ar fi foarte bine sa stii J2EE pentru ca iti este mai usor sa gasesti de lucru.



Nu stiu cat de mult se face java in liceu insa ar fi bine sa nu va lasati influentati de cliesee gen “Java merge greu” sau “Java e greu de invat”. Cu cat incerci sa iti largesti orizontul de cunoastere cu atat o sa iti fie mai usor sa faci o alegere educata. Lumea JAVA este in crestere permanenta, ideile noi apar cu repeziciune iar experienta intr-un astfel de mediu nu poate sa fie decat benefica.



Multumesc

Tudor



PS: Java chiar nu are nici o legatura cu JavaScript

Foarte interesanta turnura pe care a luat-o discutia. As vrea sa mai cunosc câteva pareri avizate (specialisti ca Tudor sau Irina) !

PS: Java chiar nu are nici o legatura cu JavaScript


Expertii stiu mai bine... Trebuie sa fi fost intr-adevar o lipsa de inspiratie a celor de la Netscape cand au pus numele asta.

Trebuie sa ma repet. Doua lucruri nu trebuie sa fie identice pentru a spune ca exista o legatura intre ele. Pe de alta parte, Vivi si-a simtit orgoliul lezat in momentul in care a citit remarca mea (de altfel o ironie fina pe care el nu a simtit-o) in care spuneam: "cei care au folosit Java pentru altceva in afara de pagini web ([n.e. unde de fapt este vorba de]JavaScript)". Probabil cei cativa ani in plus l-au indemnat sa citeasca altfel afirmatia mea. Bineinteles, nu e prima data cand se intampla asta. Cati dintre voi nu au rezolvat o alta problema citind gresit enuntul?

Si da.. remarca mea ironica legata de JavaScript se referea tocmai la lipsa de informare (fapt observat de Irina).

Se pare ca tot Irina a fost singura care a observat esentialul afirmatiei mele: Java este folosit atunci cand este nevoie de el.

Nu am nimic legat de Vivi si pasiunea lui pentru Java. Nu am nimic nici impotriva acestui limbaj. Insa toata discutia asta a deviat de la faptul ca cineva nu a fost in stare sa citeasca si sa inteleaga.

Da, sunt si eu interesat de un seminar despre Java.

Tinand cont de faptul ca am avut proiecte in C# si nu cunosc JAVA, mi se pare ca seamana (nu ca limbaje, ci ca avantaje/dezavantaje). Sau nu?

Probabil ca C# nu e nici pe departe la fel de portabil ca JAVA (inca?).

Cel mai bun limbaj este cel pe care il stii cel mai bine :smile:



Problema este ca fiecare limbaj are citeva domenii optime de aplicare, astfel cel mai bun limbaj se evalueaza in cadrul domeniului problemei ce se vrea solutionate, unde conteaza in special suportul creat de o comunitate specifica limbajului per domeniu; aici Java bate .NET, in special in domeniul aplicatiilor web.



Poti scrie aplicatii web si in Lisp, ce poate nu vor solutiona nevoile de scalabilitate a unei aplicatii enterprise-level; dar pot solutiona altele.