Caut un C++ free

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
RomeoB
Junior
Junior
Posts: 12
Joined: 03 Jan 2011, 14:44
Judet: Bucureşti

Caut un C++ free

Post by RomeoB » 04 Jan 2011, 08:37

La multi ani la toata lumea !

1. Vreau sa instalez un mediu C++ sub windows pt un elev de liceu in clasa a IX a, altul decat Visual C++ Express. Vreau ca mediul sa aiba instrumente de depanare. Ce solutii ar fi ?
2. N-ar fi rau ca sa pot recompila acelasi cod si sub Linux-daca se poate fara modificari.
3. Visual C++ Prof 2008 contine STL ? Daca nu care distributie o contine ?

4. Am niste carti mai vechi de la Teora, care pe CD-ul care le insoteste contin un TC Lite - un fel de Borland C++ free. Mediul nu poate rula pe Windows XP nici pe Windows 7, prin urmare nu pot folosi sursele respectivelor carti.



User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Caut un C++ free

Post by Marius Bancila » 04 Jan 2011, 09:17

VC++ Express Edition are debugger. La ce intrumente de depananre te referi cand zici ca nu are?

Oricum, eu zic sa uiti de TC Lite si alte chestii din epoca de gheata. Si de C++-ul care se invata in Borland C++ e o chestie veche de atunci a evoluat mult. Uite aici niste carti de C++: viewtopic.php?f=29&t=105.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

RomeoB
Junior
Junior
Posts: 12
Joined: 03 Jan 2011, 14:44
Judet: Bucureşti

Re: Caut un C++ free

Post by RomeoB » 04 Jan 2011, 10:08

1. M-ar interesa sa-mi pot afisa vizual niste clase / biblioteci, cu metode proprietati, mostenire - mai exact sa pot vedea vizual ierarhia.

2. Deci Borland C++ a iesit de pe piata cu totul ? Dar Watcom C++ ?

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Caut un C++ free

Post by neagu_laurentiu » 04 Jan 2011, 10:23

RomeoB wrote:Dar Watcom C++ ?
Amin.

Doua compilatoare sunt relevante: Visual C++ si GNU GCC (cu versiunea MinGW pentru Windows). Daca la Visual C++ ai si mediul de dezvoltare (IDE) la pachet, pentru celalalt sunt separate (CodeLite, Code::Blocks sau NetBeans, Eclipse CDT ce stiu de UML).

RomeoB
Junior
Junior
Posts: 12
Joined: 03 Jan 2011, 14:44
Judet: Bucureşti

Re: Caut un C++ free

Post by RomeoB » 04 Jan 2011, 10:47

Pt apl Linux se procedeaza ca la Java (ca sa fii mai productiv)? De ex dezvolti in Windows (Eclipse+MinGW) si recomplilezi sub linux cu gcc ?

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Caut un C++ free

Post by neagu_laurentiu » 04 Jan 2011, 10:58

Nu am auzit de o asa practica ca sa fii mai productiv ! Acolo unde te simti in largul tau, unde esti obisnuit vei fi si productiv.

RomeoB
Junior
Junior
Posts: 12
Joined: 03 Jan 2011, 14:44
Judet: Bucureşti

Re: Caut un C++ free

Post by RomeoB » 04 Jan 2011, 11:06

Stiam ca este o practica mai raspandita in Java si in PHP: dezvolti in Windows si apoi rulezi pe Linux. Pe Windows multi se simt mai bine; mai multe unelte, mai bine puse la punct.
Ma gandeam ca si in C++ exista o majoritate care procedeaza similar-este vorba ce cei care dezvolta pt linux.

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Caut un C++ free

Post by neagu_laurentiu » 04 Jan 2011, 11:23

Depinde cum esti obisnuit. Cunosc cazuri (pe C/C++) cand sub Linux compileaza totul pentru Windows (proiectul e cross-platform, exista pachetul cu WinAPI si obtii .exe-ul nativ). Ca majoritatea programeaza exclusiv Windows, e alta poveste...

RomeoB
Junior
Junior
Posts: 12
Joined: 03 Jan 2011, 14:44
Judet: Bucureşti

Re: Caut un C++ free

Post by RomeoB » 04 Jan 2011, 11:37

neagu_laurentiu wrote:(proiectul e cross-platform, exista pachetul cu WinAPI si obtii .exe-ul nativ).
Chestia cu cross-platform imi este neclara.
Din cate stiu, 'din folclor', daca folosesti un mediu non M$ obtii un program mai putin performant decat daca folosesti un mediu M$; oricat te-ai stradui.
Visual C++ are 'pile la Windos': foloseste functii windows nedocumentate, la care nu au acces ceilalti dezvoltatori de medii de dezvoltare C++/Windows.

Prin urmare daca vrei sa obtii un program foarte performant in C++/Win una din conditii este sa folosesti Visual C++. Asta inca inainte de a apare platforma .net.

In cazul in caree lucrurile au ramas asa pana azi, mai poti fi competitiv pe Win dezvoltand un proiect cross-platform - cu medii non M$?

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Caut un C++ free

Post by neagu_laurentiu » 04 Jan 2011, 12:03

Folclor. Cantat de necunoscatori sau propovaduitori MS. Insa n-are rost sa despic acum firul in patru. Invata programare si singur o sa descoperi. Foloseste si un debugger ca sa vezi cum decurg lucrurile.

Ce nu ai dincolo si ai aici, ceva fundamental care sa te impiedice in dezvoltare ? Restul e subiectivism. Eu nu spun ca aici sau acolo e cel mai bine. Eu spun doar ca se poate oriunde. Si ca anumite aplicatii pot fi facute din start sa ruleze pe mai multe platforme. Iar functia/clasa generica are implementare nativa pe fiecare platforma in parte.

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Caut un C++ free

Post by cristianamarie » 04 Jan 2011, 13:41

RomeoB wrote: Prin urmare daca vrei sa obtii un program foarte performant in C++/Win una din conditii este sa folosesti Visual C++. Asta inca inainte de a apare platforma .net.
Serios. Si eu care credeam ca asta depinde de valoarea celui care scrie cod si a compilatorului. Incearca PellesC, de exemplu (C only). Are tot ce trebuie, debugger inclusiv, si scoate foarte bine.
RomeoB wrote: In cazul in caree lucrurile au ramas asa pana azi, mai poti fi competitiv pe Win dezvoltand un proiect cross-platform - cu medii non M$?
Sigur. Visual C++ e inca mai bun pentru ca e o cantitate enorma de efort in el, MSDN, help, documentatie, librarii bune etc.
Nuclear launch detected

User avatar
Andreas
Membru
Membru
Posts: 117
Joined: 09 Nov 2008, 12:13
Judet: Timiş
Location: Timisoara

Re: Caut un C++ free

Post by Andreas » 04 Jan 2011, 15:36

Recomand cu caldura Qt!

Cred ca satisface aproape toate cerintele... :yes:

1. Este o aplicatie cross-platforma: ruleaza pe Windows, Linux, Mac, embedded etc. Pentru PC(non embedded) exista binary-uri gata compilate care se pot instala
2. Are IDE cross-platforma, care insemna, pe langa faptul ca exista in variante executabile pentru ce am enumerat la punctul 1(mai putin pentru embedded), ca orice proiect Qt scris pe oricare din platforme, il copiezi pur si simplu pe oricare alta platforma, si fara nici o alta modificare il recompilezi pentru a obtine executabilul nativ platformei host. Asta cu o singura conditie: sa depinda doar de frameworkul Qt. Altfel, daca exista dependinte fie de api-ul nativ platformei sau third party acestea trebuiesc "rezolvate", daca este posibil.
Oricum, framework-ul Qt contine un class-library bogat care adreseaza aproape in totalitate cerintelor actuale de programare.
Hai sa zicem ca e mai incet decat solutiile MS, insa acest lucru trebuie privit cu siguranta in mod relativ, adica pentru majoritatea cazurilor este mai mult decat suficient. Probabil cel mai elocvent exemplu din framework este cel al mecansimului de "semnale si sloturi". Fara a intra in detalii acesta este diferit de mecanismul callback-urilor(folosirea de pointeri la functii pentru "inregistrarea" de handler-e a care trateaza aparitia unor evenimente), si presupune "cautari si apeluri" ale unor functii slot care corespund ca semnatura functiilor semnal, si deci prin urmare acest mecanism este mai incet. Cat de incet? cat sa nu poata fi sesizat de utilizator ;)(milioane de apeluri pe secunda ale aceluiasi slot!)

Ar fi multe de spus despre Qt, ca de exemplu cross-debugging, sa faci debug la o aplicatie care ruleaza pe device-ul embedded si sa ai backtrace in IDE(QtCreator) pe masina de dezvoltare via cablu de retea! Astfel programarea pentru embedded devine o mare delectare!

User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Caut un C++ free

Post by Marius Bancila » 04 Jan 2011, 16:59

RomeoB wrote:Din cate stiu, 'din folclor', daca folosesti un mediu non M$ obtii un program mai putin performant decat daca folosesti un mediu M$; oricat te-ai stradui.
Visual C++ are 'pile la Windos': foloseste functii windows nedocumentate, la care nu au acces ceilalti dezvoltatori de medii de dezvoltare C++/Windows.
De chestia asta inca n-am auzit si sigur nu e adevarata.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

User avatar
zlatomir
Membru++
Membru++
Posts: 282
Joined: 04 Jul 2009, 23:59
Location: Arad
Contact:

Re: Caut un C++ free

Post by zlatomir » 04 Jan 2011, 17:20

Intrebarile au cam primit raspuns, mai incerc si eu cateva completari:
Raspuns la intrebarea 3:
Visual C++ chiar si Express contine STL, ceea ce nu contine Express-ul e MFC (framework Microsoft in special pentru GUI, dar contine si multe alte "bunatati")

Recomand si eu Qt, dupa cum spunea si Andreas e multi-platform, are multe librarii pe langa cele de GUI (cu designer vizual): concurrency, networking, Sql, webkit fiind doar cateva exemple.
As adauga (oarecum contrar marketing-ului oficial care zice ca nu trebuie prea mult C++) ca trebuie sa stii destul C++, OOP, sa intelegi pointerii si alocarea memoriei (chiar daca aici Qt are niste mecanisme care simplifica putin lucrurile) si abia apoi e foarte usor de invatat/folosit.

Oricum pe Windows (adica cele mai multe job-uri din Ro) Visual Studio e "baza", deci eu ti-as recomanda sa te "joci" cu (sau si cu) Visual Studio, e un IDE excelent + un compilator C++ pe masura, si in plus in cariera poti ajunge sa scrii cod si in alte limbaje de ex C#, oricum cu siguranta nu o sa strice faptul ca esti obisnuit cu IDE-ul Visual Studio.

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Caut un C++ free

Post by cristianamarie » 04 Jan 2011, 17:36

Qt ar fi si bun daca ar merge bine. Din pacate, are mari probleme cu debugger-ul si cu Win64. La fiecare instalare am patit-o. Apoi, debug-ul nu determina bine contextul, nu intra in Qt internals intotdeauna... mai au de lucrat cu mediul lor.
Nuclear launch detected

Post Reply