Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
RMN Decontat

Jgheab clasic forma "U"- ...

Reparatie plafoniera LED

Problema PC - se blocheaza sau re...
 Notebook HP 840G2 - Upgrade RAM, ...

Defect ciudat Videorecorder Panas...

lege de reglementare a shrinkflat...

Care este cota parte la succesiun...
 Camera auto DVR PNI Voyager S2600...

Cartelul din Carpati - mafia PNL ...

Trecut: Europa versus S.U.A. la c...

Garantie apartament dezvoltator
 Aplicație GPS cu zoom automa...

Ipad Pro & Air 2024

Service si revizii reprezentanta

Ati returnat produse pe aliexpres...
 

C++ vs. Java

- - - - -
  • Please log in to reply
32 replies to this topic

Poll: Ce să aleg? (62 member(s) have cast votes)

Care l-ați alege?

  1. C++ (35 votes [56.45%])

    Percentage of vote: 56.45%

  2. Java (20 votes [32.26%])

    Percentage of vote: 32.26%

  3. Altul (7 votes [11.29%])

    Percentage of vote: 11.29%

Vote Guests cannot vote

#1
m3th0dman

m3th0dman

    Senior Member

  • Grup: Senior Members
  • Posts: 9,269
  • Înscris: 03.01.2007
În curând se termină sesiunea, se termină primul an și ar cam trebui să mă pun și eu să învăț ceva POO pe la vară. N-am eu de gând să încep decât peste vreo lună, o lună jumate, dar ar trebui să știu de ce să mă apuc până atunci.

1.Java
Avantaje:
- îl voi studia destul de mult la facultate;
- sunt mai multe locuri de muncă în domeniu;
- aplicațiile realizate au o securitate mai mare;
Dezavantaje:
- n-are pointeri.

2.C++
Avantaje:
- tinde să îmi placă mai mult la o primă vedere;
- știu C;
- are pointeri, deci pot lucra cum vreau cu memoria.
- este mai rapid;
Dezavantaje:
- nu cred că-l voi studia deloc la facultate.


Desigur există mai multe avantaje/dezavantaje. Ideea ar fi să aleg în ce voi lucra în viitori 5 ani, să zicem.
Ar fi destul de important C# astfel încât să-l iau în considerare?
Voi ce ați alege, și cel mai important de ce?
În care se învață mai ușor POO?

L.E.: Sper să nu mai fie topicuri de genu' că, n-am căutat.

Edited by m3th0dman, 01 June 2010 - 20:40.


#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,258
  • Înscris: 24.02.2007
Ambele, fiecare isi are rolul sau.

#3
errai

errai

    Senior Member

  • Grup: Validating
  • Posts: 3,154
  • Înscris: 08.05.2010
eu o sa le invat pe amandoua, nu strica, oricum mai am pana ajung la facultate

#4
m3th0dman

m3th0dman

    Senior Member

  • Grup: Senior Members
  • Posts: 9,269
  • Înscris: 03.01.2007
Okay; Care să-l învăț primul?
În care se învață mai ușor POO?

#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,258
  • Înscris: 24.02.2007
Eu zic sa incepi cu C++, dupa ce vei stapani bine oop din c++, java va parea foarte usor.
In timp ce inveti OOP in C++ te-as sfatui sa inveti si un framework gen Qt sa vezi cum au gandit ei clasele.

Edited by dani.user, 01 June 2010 - 20:42.


#6
tudor_turcu

tudor_turcu

    Senior Member

  • Grup: Senior Members
  • Posts: 2,377
  • Înscris: 12.09.2003

 m3th0dman, on 1st June 2010, 21:30, said:

Desigur există mai multe avantaje/dezavantaje. Ideea ar fi să aleg în ce voi lucra în viitori 5 ani, să zicem.
Cum au zis si altii - daca esti inca in facultate, ai timp si merita sa inveti ambele limbaje (si nu numai - poti sa arunci o privire si peste C# si Delphi, cel putin).
Oricum, un limbaj nu e un scop in sine - mai mult dureaza sa devii productiv cand e vorba de un framework/API/SDK, nu limbajul in sine e problema.

#7
Nenea Zap

Nenea Zap

    Zuperman

  • Grup: Senior Members
  • Posts: 17,090
  • Înscris: 10.04.2006
Ce numesti "sa invat java" ? Crezi ca daca ai trecut peste cursurile profului de la facultate ai invatat limbajul? La nivel foarte basic, ambele sunt la fel. Un for va merge in ambele limbaje, ce conteaza mai mult e sa stii particularitatile limbajului. Cat de 'adanc' ai intrat in C daca spui ca il stii? Cat de adanc esti dispus sa mergi in C++? Destul cat sa nu ti se mai para atat de usor lucrul cu pointeri si alocari/dealocari de memorie? :D
Daca nu ma insel, esti la FII? Daca da, invata intai cartea lui Frasinaru si apoi daca o stii pe toata aia foarte bine, abia apoi invata alte chestii pe care le poti face cu Java.

#8
wirespot

wirespot

    Senior Member

  • Grup: Senior Members
  • Posts: 6,654
  • Înscris: 23.09.2002
Mie mi se pare că într-un fel deja ești înclinat spre C++. Poate ar trebui să mergi unde te trage inima, altfel lucrezi cînd îți face plăcere ceea ce faci.

Sînt cam echivalente dpdv "valoric", n-o să pierzi nimic mergînd spre unul sau spre celălalt.

Ca viabilitate, lui Java i se mai pune la îndoială viitorul ocazional însă lui C/C++ foarte rar. Deține cea mai mare masă de cod de pe planetă și este un limbaj foarte flexibil.

Material de lectură: C++ criticism, Java vs C++ (wikipedia), Java vs C++ (c2).

#9
m3th0dman

m3th0dman

    Senior Member

  • Grup: Senior Members
  • Posts: 9,269
  • Înscris: 03.01.2007
Chiar nu mă așteptam ca majoritatea să recomande C++.
Este ceva carte de referință a limbajului Java, ca și The C++ Programming Language de Stroustrup sau bine-cunoscuta The C Programming Language de K&R? Nu că m-aș apuca să învăț Java de-acolo, dar ar fi utilă.

 dani.user, on 1st June 2010, 21:41, said:

Eu zic sa incepi cu C++, dupa ce vei stapani bine oop din c++, java va parea foarte usor.
In timp ce inveti OOP in C++ te-as sfatui sa inveti si un framework gen Qt sa vezi cum au gandit ei clasele.
Noted legat de QT. Ar fi o idee prostească sa încep cu WinAPI sau este altceva mai simplu pentru început (asta după ce învăț limbajul și conceptele POO) ?

 errai, on 1st June 2010, 21:39, said:

eu o sa le invat pe amandoua, nu strica, oricum mai am pana ajung la facultate
Problema este că nu poți ajunge foarte bun în toate. Mai bine bun în ceva decât să știi de toate și nimic.
Acum desigur trebuie să învăț și Java, să-mi iau examenle (ceea ce înseamnă că voi ști și ceva Java).

 Nenea Zap, on 1st June 2010, 22:05, said:

Ce numesti "sa invat java" ?
Crezi ca daca ai trecut peste cursurile profului de la facultate ai invatat limbajul?
La nivel foarte basic, ambele sunt la fel. Un for va merge in ambele limbaje, ce conteaza mai mult e sa stii particularitatile limbajului.
Cat de 'adanc' ai intrat in C daca spui ca il stii?
Cat de adanc esti dispus sa mergi in C++? Destul cat sa nu ti se mai para atat de usor lucrul cu pointeri si alocari/dealocari de memorie? :D
Daca nu ma insel, esti la FII? Daca da, invata intai cartea lui Frasinaru si apoi daca o stii pe toata aia foarte bine, abia apoi invata alte chestii pe care le poti face cu Java.
Să învăț să creez aplicații utile în Java.
Dacă iei examenul și-ți livrezi proiectele, cred că știi cât de cât limbajul.
Eu nu vreau să rămân la nivel foarte de bază astfel încât să nu conteze diferențele.
N-am scris cod low-level în C. Mare lucru nu știu despre compilatorul C. Deci per-total nu-l prea știu.
Cât de adânc se poate. (presupun că până în a te "juca" cu codul din compilator)
Nu sunt la FII presupun (presupun că Facultatea de Informatica Iași (nu știam ce-i cu doi de i inițial)). Sunt la calculatoare. Să fim serioși; sunt cărți mult mai bune în limba engleză ale unor autori consacrați; la o căutare pe google autorul respectiv nici n-are doctorat.

 wirespot, on 1st June 2010, 22:40, said:

Mie mi se pare că într-un fel deja ești înclinat spre C++. Poate ar trebui să mergi unde te trage inima, altfel lucrezi cînd îți face plăcere ceea ce faci.

Sînt cam echivalente dpdv "valoric", n-o să pierzi nimic mergînd spre unul sau spre celălalt.

Ca viabilitate, lui Java i se mai pune la îndoială viitorul ocazional însă lui C/C++ foarte rar. Deține cea mai mare masă de cod de pe planetă și este un limbaj foarte flexibil.

Material de lectură: C++ criticism, Java vs C++ (wikipedia), Java vs C++ (c2).
Yep; aveam dubii că C++ este dead technology, sau va fi în curând (cel puțin pe piața din Ro) și că nu voi face la facultate.

Standardul C++0x trebuie să apară în curând, și-i va mai rezolva din probleme; și partea bună e că va fi aproape 100% compatibil cu actualele standarde.

Pe wiki m-am uitat și înainte. Trebuie să învăț conceptele POO să pot să-mi dau seama de multe din diferențe.

 tudor_turcu, on 1st June 2010, 21:48, said:

Cum au zis si altii - daca esti inca in facultate, ai timp si merita sa inveti ambele limbaje (si nu numai - poti sa arunci o privire si peste C# si Delphi, cel putin).
Oricum, un limbaj nu e un scop in sine - mai mult dureaza sa devii productiv cand e vorba de un framework/API/SDK, nu limbajul in sine e problema.
Cam trebuie și alte limbaje, dar la ofertele de locuri de muncă în marea lor parte sunt: Junior Java Developer sau Junior C++ Developer nu Junior Java/C++ Developer, de exemplu.

#10
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,632
  • Înscris: 30.07.2003

 m3th0dman, on 2nd June 2010, 00:09, said:

aveam dubii că C++ este dead technology, sau va fi în curând (cel puțin pe piața din Ro)
Si cu cine-l inlocuiesti ? Nu ai astazi cu ce si nici in viitorul previzibil (adica sa fie si imbratisat de lumea larga).

Eu as merge numai pe cross-platform. Asa ca ambele intra.

Edited by neagu_laurentiu, 01 June 2010 - 23:31.


#11
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,258
  • Înscris: 24.02.2007
WinAPI e procedural, rar te ajuta cu ceva in ziua de azi. Utilizarea Qt e mult mai rapida, frumoasa si e un framework cross-platform (si ai si RAD pentru GUI sa-l faci cu drag&drop)

#12
m3th0dman

m3th0dman

    Senior Member

  • Grup: Senior Members
  • Posts: 9,269
  • Înscris: 03.01.2007

 neagu_laurentiu, on 2nd June 2010, 00:29, said:

Si cu cine-l inlocuiesti ? Nu ai astazi cu ce si nici in viitorul previzibil (adica sa fie si imbratisat de lumea larga).
Având în vedere că

 wirespot, on 1st June 2010, 22:40, said:

Sînt cam echivalente dpdv "valoric", n-o să pierzi nimic mergînd spre unul sau spre celălalt.
și că principalul dezavantaj al C++ este "prea complex", lucru reparat oarecum în Java.

Oricum, aveam dubii.

 dani.user, on 2nd June 2010, 00:43, said:

WinAPI e procedural, rar te ajuta cu ceva in ziua de azi. Utilizarea Qt e mult mai rapida, frumoasa si e un framework cross-platform (si ai si RAD pentru GUI sa-l faci cu drag&drop)
Eu pentru GUI vroiam WinAPI, dar dacă are GUI cu drag&drop sună foarte bine.

#13
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,258
  • Înscris: 24.02.2007
Exemplu care trateaza si partea de cross-platform: [ https://www.youtube-nocookie.com/embed/Rb43gnZI1A0?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] Vezi partea de inceput deocamdata.

#14
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,632
  • Înscris: 30.07.2003

 m3th0dman, on 2nd June 2010, 02:07, said:

...
Dincolo de chestiunea cu OOP, cand am zis ca nu ai cu ce-l inlocui ma refeream la segmentul sau de aplicatii native pe diferite platforme. Sigur ca in functie de aplicatii poti renunta la el, dar sunt momente/specificatii cand el e singurul disponibil (daca vrei, ASM-ul e inclus in el).
Legat de OOP, in C++ o sa gasesti notiuni ceva mai flexibile decat in Java.

#15
andrei_0

andrei_0

    fishy

  • Grup: Moderators
  • Posts: 3,990
  • Înscris: 15.02.2006
Presupun ca vrei sa inveti un limbaj de programare pentru a urma o cariera in domeniu. Alegerea limbajului pe care sa il inveti trebuie sa o faci in functie de domeniul programarii spre care vrei sa te indrepti. Daca vrei sa faci aplicatii web, C++ cam iese din discutie. Daca vrei sa lucrezi pe partea de antivirusi/securitate/sisteme de operare/drivere, Java si C# se vor dovedi inutile. In domeniul enterprise Java e pe cai mari. Acuma probabil ca o sa vina unii care or sa imi dea contraexemple (da, se pot face si site-uri web si in C++), dar presupun ca o sa vrei sa te angajezi si sa faci si ceva bani din asta, nu sa fii tu calaretul singuratic care face site-uri web in C++ si pe care nu-l angajeaza practic nimeni. Asa ca dilemele de genul "are pointeri", "e mai rapid", "e cross platform", "e mai cu mot in frunte" sunt defapt false probleme, pentru ca in firma in care lucrezi nu tu o sa stabilesti limbajul in care se implementeaza un proiect sau altul, ci seful de proiect, arhitectul sau chiar clientul. Si chiar daca ajungi sa fii tu sef de proiect, tot ai mainile legate, fiindca daca tu in firma ai disponibili oameni care stiu doar limbajul X, ghici in ce o sa implementezi? Toate anunturile de angajare sunt de forma "Angajam programatori in limbajul X". Sa-l vad eu pe ala care merge la interviu cu un text de genul "da, dar eu stiu limbajul Y, care e mai tare fiindca e mai rapid, e cross platform, permite mostenire multipla are closures si permite si AOP!!!" si e angajat :D

In ceea ce priveste intrebarea ta "in ce se invata cel mai usor OOP", eu zic ca in Java. Sunt ok si celelalte, dar C++ te lasa sa trisezi si s-o iei pe aratura procedurala. C# ca si limbaj e extrem de asemanator cu Java, dar parca Visual Studio te ajuta prea mult si nu ajungi sa experimentezi suficient. In Java totul trebuie sa fie in clase, sintaxa e foarte stricta, si trebuie sa scrii o tona de cod cu mana, iar experienta din asa ceva se acumuleaza.

Pe de alta parte, dpdv. didactic eu zic ca e foarte bine sa abordezi la un moment dat limbajele unmanaged (C/C++). Nu sa fii expert in ele (adica sa stii nustiuce API-uri sau  framework-uri), ci daca ai avut de a face cu managementul memoriei eu zic ca e suficient. Daca te-ai jucat cu asa ceva in C, cred ca e ok si ca poti trece la limbaje managed :)

 m3th0dman, on 2nd June 2010, 00:09, said:

Este ceva carte de referință a limbajului Java, ca și The C++ Programming Language de Stroustrup sau bine-cunoscuta The C Programming Language de K&R?
Da, cartea lui James Gosling: Java Programming Language. James Gosling e creatorul limbajului Java. Cartea se adreseaza in exclusivitate limbajului Java "pur": trateaza in amanunt sintaxa limbajului si modul de lucru al masinii virtuale, deci nu e prea potrivita pentru introducerea in Java decat daca esti deja expert in alt limbaj.

Edited by andrei_0, 02 June 2010 - 11:33.


#16
mafy

mafy

    Member

  • Grup: Banned
  • Posts: 951
  • Înscris: 22.12.2006
Interesant topic. Si eu sunt oarecum in aceasi situatie. Insa intrebarea mea ar fi: cum stiu cand trebuie sa trec la POO. Altfel spus cum imi dau seama ca m-am jucat destul cu pointerii si memoria ? Unde gasesc si eu niste exercitii dupa care sa spun : gata cu pointerii, hai sa incep POO.
Multumesc.

#17
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,258
  • Înscris: 24.02.2007
Daca treci la OOP nu inseamna ca nu te mai joci cu pointerii si memoria (in C++).

Edited by dani.user, 03 June 2010 - 11:49.


#18
mafy

mafy

    Member

  • Grup: Banned
  • Posts: 951
  • Înscris: 22.12.2006
Aham..deci ma apuc de POO si daca imi prind urechile in pointeri ma intorc la ei si ii studiez mai bine. Gresesc sau e bine?

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate