| Clarx a întrebat:

Care este diferența dintre un compilator și un mediu integrat de dezvoltare(IDE)? Mi-ați putea spune și exemple de fiecare și rolul pe care îl au? Dau fundă răspunsului care mă va lămuri cel mai bine asupra conceptelor de compilator și mediu de dezvoltare.

Răspuns Câştigător
| JackR a răspuns:

Compilator= un program care transforma codul-sursa (textul scris intr-un limbaj de programare) in cod-masina (cod care poate fi "inteles" si executat de procesor).
Mediu integrat de dezvoltare= un set de programe folosite in dezvoltarea de aplicatii software (editarea codului-sursa, depanarea codului-sursa, testarea, compilarea si generarea de executabile, generarea/scriere documentatiei).
Un mediu integrat de programare include unul sau mai multe compilatoare.

Exemple:
- Microsoft Visual Studio este un mediu integrat de dezvoltare, care permite scriere de programe in Basic, C++, C# si J#, toate limbajele folosind o interfata comuna. Permite dezvoltarea de aplicatii pentru desktop, device-uri mobile, servicii Web sau ASP.NET. In functie de limbajul folosit, editorul de cod-sursa se auto-configureaza, afisand uneltele necesare designului interfetelor programului si ofera facilitati de auto-corectare a sintaxei limbajului. Toate astea fac parte din "filozofia" numita RAD (Rapid Application Development). De-a lungul editarii, codul-sursa se poate executa, identificand cu rapiditate erorile de programare sau de executie. La final, intra in functiune compilatorul aferent limbajului ales, generand programul executabil, bibliotecile de functii (DLL), fisierele XML etc., adica toate componentele necesare functionarii corecte a aplicatiei. De asemenea, se poate genera un pachet de instalare al aplicatiei (kit de instalare), continand toate componentele generate si componentele externe folosite (biblioteci de functii specifice limbajului, framework-uri etc.).
- Pentru limbajul Pascal exista un mediu integrat de dezvoltare numit Delphi sau un add-on la Microsoft Visual Studio, care permite compilarea programelor scrise in Pascal, numit Crystall.
- Pentru limbajul Haskell nu exista un mediu integrat de dezvoltare, dar exista cateva programe care ajuta la dezvoltarea de aplicatii: GHC (Glasgow Haskell Compiler) este compilatorul, GHCi este debugger-ul (detecteaza erorile de cod-sursa sau erorile de executie), Cabal este generatorul de pachete de instalare pentru aplicatii Haskell etc.

Concluzii:
- compilatorul este programul care "traduce" limbajul de programare in limbajul inteles de procesor.
- mediul integrat de dezvoltare este o suita de programe care usureaza dezvoltarea de aplicatii software, de la idee la produs finit. Orice mediu integrat de dezvoltare contine cel putin un compilator.

4 răspunsuri:
| Clarx explică (pentru JackR):

Mulțumesc foarte frumos pentru răspuns, JackR. Tu ești persoana de la care am înțeles cel mai bine aceste lucruri! Îmi poți explica(la fel cum mi-ai explicat pentru Microsoft Visual Studio), dacă te rog eu frumos, și în cazul IDE-ului Code::Blocks cum stă acolo treaba, mai ales în legătură cu compilatoarele sale? Am un laptop Lenovo, cu Windows 7, și pe el am instalat IDE-ul Code::Blocks, versiunea 16.01. De ceva timp îmi apar niște mesaje de eroare care mă împiedică să compilez programele scrise în limbajele C și C++. Mesajele sună cam așa:
Info: "Multiple information windows with the same message have been suppresed."
Environment error: "Can't find compiler executable in your configured search path's for GNU GCC Compiler."
Al treilea mesaj: "The compiler's setup (GNU GCC Compiler) is invalid, so Code::Blocks cannot find/run the compiler. Probably the toolchain path within the compiler options is not setup correctly? (Do you have a compiler installed?)
Goto "Settings->Compiler...->Global compiler settings->GNU GCC Compiler->Toolchain executables" and fix the compiler's setup."
Am dezinstalat și apoi am reinstalat Code::Blocks, dar tot aceeași situație este. Dacă mă ajuți cu aceste două chestii, îți dau negreșit funda! Mulțumesc anticipat pentru ajutor!

| JackR a răspuns (pentru Clarx):

Nu folosesc Code::Blocks, dar cautand cateva minute pe Google am gasit urmatoarele:

"Q: What compiler can I use with Code::Blocks?
A: Code::Blocks philosophy is to be able to use any compiler on earth! Well, almost.
As a matter of fact it largely depends on the used compiler plugin. Some provided with the default Code::Blocks installation are GNU GCC (MinGW/Cygwin), MS Visual C++ Free Toolkit 2003, Borland's C++ Compiler 5.5, DigitalMars Free Compiler., OpenWatcom, Small Device C Compiler (SDCC) and others."

Ce inteleg eu din asta, este faptul ca ar trebui sa instalezi/configurezi unul dintre compilatoare (ca pe un plug-in din kit-ul de instalare (daca este inclus) sau sa descarci un plug-in).

Ce ma intriga este altceva, de ce te complici cu IDE-uri open source, atata vreme cat rulezi un sistem Windows? Microsoft Visual Studio Express (sau, mai nou, Microsoft Visual Community) este "freeware" si diferentele fata de versiunea "full" sunt nesemnificative pentru un dezvoltator "obisnuit". In plus, gasesti mii de plug-in-uri gratuite pentru el, plus comunitati intregi care iti ofera raspunsuri la orice intrebare.

| Clarx explică (pentru JackR):

Sincer, demult mă tentează să instalez și Microsoft Visual Community 2017. Am descărcat recent programul Microsoft Visual Studio Installer și de acolo pot instala Community 2017. Dar nu știu exact ce ar trebui să instalez de acolo. Mi-ai putea trimite o adresă de email într-un mesaj privat, ca să-ți pot trimite niște print-screenuri cu plug-in-urile și modulele care trebuie să le instalez ca să pot în principal să programez în C++, și eventual și în celelalte limbaje? Să-mi spui tu mai exact ce trebuie să instalez în conformitate cu cerințele mele, și dacă vrei, să-mi explici la ce folosesc și celelalte plug-in-uri. Mulțumesc anticipat!

| JackR a răspuns (pentru Clarx):

Bineinteles. Iti trimit adresa de e-mail acum.