Sunteți pe pagina 1din 4

Visual C CBuilder C_C++ C++_Java

C, C++
Fara amanunte principalele legaturi intre aceste limbaje:

1 limbajul C++ a fost construit pe baza limbajului C (diferenta este ca intre


limba vorbita si cea literara);

2 C-ul este un limbaj structurat (principala componenta este functia,


limbajele mai vechi nu au nici acest lucru

3 de exemplu BASIC), C++ este un limbaj pe "Obiecte" (Programarea


Orientata Obiect este cel mai nou concept folosit acum in toate mediile
de programare).
C, C++, Java
Lasind la o parte faptul ca Java seamana foarte mult cu C++, mai ales avind
in vedere ca foloseste tot OOP (Object Oriented Programming), citeva asemanari:
Codul functiei main:
C:
int main(argc,argv)
int argc;
char *argv[];
{
/* ... */
return 0;
}
C++:
int main(int argc, char *argv[])
{
// ...
return 0;
}
JAVA:
class main{
public static void main(String[] argv){
// ...
}
}
Includerea fisierelor header
C:
#include /* Not search at present directory */
#include "fn.h" /* Search at present directory */
C++: similar to C, may have .hh header files
JAVA:
import java.io.PrintStream;
Input si output
C:
C++: similar to C, may have .hh header files
JAVA: import java.io.PrintStream;
Exceptii
C:
C++: declared by
throw ;
caught by
try{
// possible exception here
}catch(ExceptionTypeA& a){
// treat case a
}catch(ExceptionTypeB& b){
// treat case b...
try{
throw; // rethrow to catch below
}catch(...){
// ...
}
}
Implementarea Claselor
C++:
IfrRawdata rawdata;
// Implicit implementation IfrRawdata()
rawdata.read();
JAVA:
IfrRawdata rawdata;
// No implicit implementation IfrRawdata()
//...
rawdata = new IfrRawdata(eventsFile);
or
IfrRawdata rawdata = new IfrRawdata(eventsFile);
Diferenta intre Visual C++ si Standardul C++
C++ este un limbaj standard care nu este detinut de un developer de
compilatoare important. Sunt citeva companii care produc compilatoare de C++.
Aceste compilatoare compileaza programe pentru anumite sisteme de operare.
Confuzia vine din faptul ca compilatoarele pentru Windows sau Macintosh pot
compila numai programe pentru GUI (graphical user interface). Adevarul este ca
multe din compilatoare suporta asa zisele aplicatii consola. O aplicatie consola
este o aplicatie care ruleaza intr-o fereastra care este creata de compilator si
sistemul de operare. Microsoft Visual C++ este un mediu de dezvoltare de
programe cum se spune "state-of-the-art compiler", care poate crea aplicatii
"mature" pentru Windows. Acest lucru implica un GUI puternic si un debugger
puternic. Include o librarie speciala de functii numite MFC (Microsoft Foundation
Classes ) care permit scrierea unor aplicatii avansate pentru Windows. In orice
caz, compilatorul permite si executarea codului scris in C++ standard intr-o
fereastra consola. Deci, raspunsul la intrebare pe scurt este ca Visual C++ este un
compilator care compileaza standardul C++ si mult mai mult decit atit.
Bineinteles ca se poate invata C++-ul si sub Visual C++, acesta avind un
help foarte bine documentat in aceasta privinta. Eu am invatat C++-ul pe un
compilator vechi (BC3.1) si pot spune ca nu este o mare diferenta (ma refer la
faptul de a scrie aplicatii consola in Visual C++ sau BC3.1, mai departe e altceva).

Visual C++, C++Builder, Borland C++


De multa vreme ma framinta aceasta problema. In general, pot spune ca tot
ce se poate face in Visual C++ se poate face si in C++Builder si invers. Exista
totusi mici
mari diferente de care trebuie tinut cont inante de a concepe un program. Acest
mic ghid nu tine loc de butonat (lucru efectiv in aceste programe).
Ca sa nu pierd vremea o sa le insir punctual cu mici comentarii:

Asemanari:
1 Reducerea efortului de a scrie aplicatii in Windows, minimizarea codului;

2 Usurinta de a folosi Windows API cu C++ si nu cu C;

3 Usurinta de a folosi abilitati puternice cum ar fi ActiveX, suport pentru baze


de date, toolbar, printare etc.;
4 cel mai important este faptul ca folosesc acelasi limbaj de programare C++-
ul (nu mai putem vorbi de C pentru ca acum nu se mai pot concepe
programe fara clase cu toate ca s-a mentinut aceasta compatibilitate);

5 incepind cu versiunea 4.0 C++Builder contine Class Explorer-ul echivalentul


sau in Visual C++ este ClassView-ul. Programatorii de Visual C++ nu cred
ca-si pot inchipui cum ar putea sa lucreze fara ClassView (care este ca
un centru de comanda). Ei, eu pot spune ca avind in vedere
implementarea cu succes a conceptului de RAD (Rapid Application
Development) in Builder se pot dezvolta aplicatii mult mai repede si fara
Class Explorer-ul (pina acum am lucrat in C++Builder 3.0 care nu avea
acest lucru);

6 in amindoua mediile se poate lucra cu baze de date (dar intre noi fie vorba
este de o mie de ori mai usor in Builder);

7 in Visual C++ avem MFC-ul (Microsoft Fundation Classes), in Builder avem


"componentele" in spatele carora se afla bineinteles clase. Aici este o
diferenta de concepte si de aceea o sa le explic pe rind;

8 in Visual C++ avem Class Wizzard, in Builder avem Object Inspector. Cu


toate ca sunt total diferite in amindoua putem "vedea" functii (metode),
proprietati ale unui anume obiect (aici daca intram in amanunte nu ne
ajunge toata revista);
Visual C++
1 Visual C++ este un program foarte bine documentat (MSDN), cu exceptia
documentatiei pentru incepatori(cei care incep de la 0). Ce-i aia
MESSAGE MAP, cum se implementeaza o simpla metoda (functie) unui
simplu dialog box sunt lucruri care nu le stii cind incepi lucrul cu Visual
C++ si totusi nu sunt descrisi acesti pasi decit in alte manuale nu in
help. Oricum, dupa primele programe acest lucru poate fi depasit foarte
usor si nu mai sunt probleme.
C++ Builder
1 C++Builder implementeaza RAD din VCL (Visual Component Library) scris in
Object Pascal. C++ si Object Pascal difera putin in felul prin care
creeaza, initializeaza, copie sau distruge obiectele. Nu o sa intru in
amanunte, dar pot spune ca C++Builder le foloseste amindoua metodele;

2 conceptul de componenta care este un bloc construit pentru oricare


aplicatie de baza VCL. Un lucru foarte important aici este faptul ca
aceste componente pot fi downloadate de pe Internet (inceracati la un
motor de cautare "Components for CBuilder"). Ce sunt de fapt aceste
componente? Sunt clase care implementeaza un anumit obiect de
exemplu. Pot fi componente visual (cum ar fi un popup menu, un buton,
un radio button

3 tineti cont ca puteti crea asemenea obiecte pentru a le putea apoi folosi in
oricare alta aplicatie) sau nonvisual (cel mai simplu exemplu este un
timer);

4 in C++Builder multe evenimente (de exemplu) sunt pre-programate, pentru


a raspunde unui anume "event handler". Programul nu trebuie sa
determine daca evenimentul s-a produs ci prin simpla scriere a functiei
(rutinei) (De exemplu, OnClick()

5 la apasarea unui buton). Un lucru care mi-a placut in C++Builder este


multitudinea de evenimente pre-programate. In Visual C++ aceste
evenimente trebuie "prinse" de programator muncind suplimentar
(multe dintre ele necesitind munca multa).
Borland C++
1 este fratele mai mare al programelor amintite mai sus;

2 in versiunea 3.1 se poate programa si pentru DOS (asemanator programelor


"consola" din Visual C++ si C++Builder) si pentru Windows API. Puteti
incerca niste programe pentru Windows API asa cum sunt in Visual C++

3 non-MFC program;

4 versiunile ulterioare permit mai multe facilitati.

ScoalaOnline
Scoala2001@yahoo.com

S-ar putea să vă placă și