Biblioteca Baza de date webmaster

Alegerea mediului de limbă și de programare

În primul rând, aș dori să obțină doar din planul disputei pe tema ponosită „limba în care este mai bine“, „pe ceea ce ai nevoie pentru a programului“ etc. Ele reflectă întotdeauna vedere prea îngustă, părtinitoare a problemei. Limba nu poate fi un panaceu, calitățile sale bune pentru anumite sarcini (sau persoane) pot fi rău pentru altul.

În al doilea rând, este necesar să se facă distincția limbajul de programare (Basic, Pascal) de la punerea sa în aplicare, care este de obicei prezentat ca parte a mediului de programare (Quick Basic, Pascal Virtual) - un set de instrumente pentru editarea codului sursă de generare de cod executabil, depanare, management de proiect, și așa mai departe. d. Sintaxa și semantica limbajului de programare este fixat în limba standard de. Fiecare mediu de programare oferă propriul interpret sau compilator acestui limbaj, ceea ce permite adesea utilizarea construcțiilor, nici un standard fix.

Mai mult, foarte mult, în ce scop, limba - învățarea programării sau pentru aplicații specifice. În primul caz, limba ar trebui să fie ușor de înțeles, și mai stricte posibil lipsită de „gotchas.“ În al doilea - deși complicat, dar eficient și expresiv instrument pentru profesionistul care stie ce vrea.

Desigur, în practică, formarea nu poate fi separabile de problemele reale. Așa-numitele probleme educaționale suferă adesea de abstract excesivă și inaplicabile la viață. Stăpânirea limbii (sau mediul de programare), în sine, nu poate fi considerat obiectiv, să fie exact - este abordarea foarte neproductivă. Dezvoltarea limbajului eficientă este posibilă numai pe exemple din lumea reală. Pe de altă parte, soluții problemă completă „Life“ de programare la etapa inițială a achiziției limbii este o sarcină care ar putea descuraja, mai degrabă decât un interes.

În rezolvarea aplicații specifice, în majoritatea cazurilor, limbajul și mediul de programare nu pot fi selectate și setați din exterior - client, cap, etc. În acest caz rar în cazul în care puteți alege, imi vin in minte, ar trebui să fie dintre următoarele condiții (în ordinea priorității): a) natura cerințelor tehnice și a problemelor; b) instrumentele acumulate și bibliotecile disponibile pentru un mediu dat; c) disponibil în instrumentele de programare de limbă și de mediu. Adesea, această alegere de act strict, dimpotrivă, prima decide ce vor fi programate pe obiecte, și apoi - ceea ce obișnuia să fie o astfel de bibliotecă, și apoi personaliza de cerințele tehnice, explicând toate că clientul nu știe ce vrea.

aplicabilitatea limbii pentru o anumită sarcină depinde de ceea ce set de concepte pe care le operează în cadrul unor concepte (paradigme), vă permite să lucrați, care sunt comune bibliotecile standard și personalizate, etc.

Pe un set de concepte de limbi în două grupuri de nivel scăzut și înalt. Prima de a oferi un nivel ridicat de abstractizare de hardware-ul, al doilea - un nivel scăzut, în apropierea mașinii.

Din punct de vedere dacă a făcut într-un set special de concepte, obiecte specifice zonei subiect, sunt împărțite în limbi universale (procedurale) și specializate. Acestea din urmă includ Prolog, Lisp. limbi universale permit să pună în aplicare orice algoritm, folosind un set standard de desene sau modele. Cu acest cod într-o limbă poate fi destul de ușor portate de la un limbaj procedural la altul cu ajutorul unor modificări conservatoare.

Aici sunt conceptele de bază introduse în aceste sau alte limbi utilizate în mod obișnuit, și concepte legate de: - structuri / date de tipizare Orice limbă este caracterizată printr-un set de _bazovyh tipov_, capacitățile realimentarea stabilite printr-o serie de _konstruktorov_: matrice, înregistrare (structura), uniunea. În unele limbi, există un tip universal (variantă în Delphi și Visual Basic), utilizate în mod liber ca oricare dintre tipurile de bază. tipul de grad de control poate fi foarte diferite - de la nici foarte greu. prezență importantă (probabil ca o bibliotecă) structuri de date de lungime variabilă, cum ar fi matrici dinamice. - apeluri de subprograme și de a reduce diferențele de limbi pentru metodele de determinare a procedurilor și funcțiilor, parametrilor de realizare de trecere, caracteristici determină tipul de date de procedură prezența și proceduri recursive. - Tipuri de memorie și disponibilitatea unei clasificări largi de tipuri de memorie face posibilă gestionarea eficientă a distribuției sale, dar, de asemenea, face complexitatea care necesită programator într-o relație mai strânsă. De obicei, izolate registre (interval maxim), la nivel mondial, locale și variabile dinamice. - Module Disponibilitatea grupurilor de asociere logice de proceduri / funcții / variabile vă permite să lucrați cu proiecte mari, simplificând structura sa. O proprietate importantă - abilitatea de a descrie inițierea procedurilor și finalizarea modulului. - Abordarea obiect Combinarea structurilor și metodele de prelucrare a acestora (_inkapsulyatsiya_) creează confort considerabil în timpul programării. Posibilitatea _nasledovaniya_ permite plumb într-un set de structuri. solicită în mod automat constructori și destructori simplifică urmărirea relațiilor. Toate acestea este un instrument convenabil pentru a descrie conceptele și acțiunile de aplicare. - Portabilitate - independența față de hardware, implementat cu ajutorul semantica, nu depinde de o anumită mașină și introducerea în limba unui număr de concepte specifice - cum ar fi tipul de bază de dimensiuni nefixate (int în C).

În ceea ce privește eficiența, este important ca un program executabil - o interpretare coerentă a textului sursă (interpretul) sau direct de executarea codului finit (compilator). Interpretul trebuie utilizat numai în cazul în care interpretarea viteza nu este un impact prea mare asupra eficienței programului. Interpretarea în continuare și compilarea unor posibile soluții intermediare pentru generarea de pseudocod. care diferă de textul original de la interpretarea de mare viteză sau alte proprietăți utile (de exemplu, pentru a executa pe mașinile de arhitecturi diferite - cum ar fi Java).

Luați în considerare populare limbi și medii software în ceea ce privește capacitatea de adaptare la diferite clase de probleme.

BASIC (scopuri universale Instrucțiunea Simbolice Codul începători) Născut în anii '60 în Statele Unite ale Americii (de exemplu iubește soluții simple), BASIC a fost conceput ca un simplu limbaj de dezvoltare ușor. BASIC a devenit standardul de facto pentru microcomputer tocmai datorită simplității sale în dezvoltare și în punerea în aplicare. Cu toate acestea, pentru a realiza această calitate a unui număr de decizii au fost adoptate (tastarea, linia de numerotare și nestructurale goto, etc) care afectează stilul de învățare de programare. În plus, lipsa mijloacelor de exprimare a dus la un număr foarte mare de dialecte care nu sunt compatibile între ele. Versiunea modernă, specializată de bază (cum ar fi Visual Basic) în ciuda achiziționarea de „structurale“ au toate aceleași neajunsuri, în primul rând - neglijență în ceea ce privește tipurile și descrieri. Potrivit pentru utilizarea în etapa inițială de formare ca mijloc de automatizare (în cazurile în care este încorporat în sistemul adecvat) sau ca instrument de dezvoltare rapidă a aplicațiilor.

Pascal proiectat de renumitul teoretician N.Virtom bazat pe ideile lui Algol-68, Pascal a fost conceput în principal pentru predare de programare. Construit pe principiul „necesare și suficiente“, acesta este un constructe puternic tipizat pentru a descrie structuri de date arbitrare, set mic, dar suficient de operatori de programare structurate. Din păcate, partea din spate a simplitate și austeritate sunt descrieri greoaie de construcții ale limbajului. Cel mai faimos implementare - Turbo / Borland Pascal - în ciuda diferențelor de standardul Pascal, este un mediu și un set de biblioteci, formarea lingvistică este realizat din sistem industrial pentru dezvoltarea de programe în mediul MS-DOS.

Assembler Aceasta este cea mai strălucitoare reprezentant al limbilor _nizkogo urovnya_, un set de concepte, care se bazează pe punerea în aplicare a hardware-ului. Acest instrument de automatizare pentru programarea direct la codurile de procesor. instrucțiuni mașină sunt descrise în forma operațiunilor mnemonice, pentru a obține un cod destul de mare să fie modificat. Deoarece setul de comenzi pe diferite procesoare este diferit, atunci și nu se poate vorbi de compatibilitate. Utilizarea de asamblare indicat în cazurile în care aveți nevoie pentru a interacționa direct cu echipamentul, sau pentru a obține mai eficientă pentru o parte a programului ca urmare a unui control mai mare asupra de generare a codului.

C și C ++ Baza limbajului C - cerințele de sistem programator: acces deplin și eficient la toate resursele unui calculator, o instrumente de programare de nivel înalt, portabilitatea programelor între diferite platforme și sisteme de operare. C ++, menținând compatibilitatea cu C, face programarea orientată pe obiecte, ideea de a exprima clasă (obiect) ca un tip definit de utilizator. Datorită acestor calități, C / C ++ limbaj a luat o poziție universală pentru orice sarcină. Dar utilizarea sa poate deveni ineficiente în cazul în care doriți să obțineți gata de utilizare rezultatul cât mai curând posibil, sau în cazul în care acesta devine neprofitabilă pentru sine abordare procedurală.

Delphi După o luptă lungă în partea din față a mediilor de programare pentru Windows, Borland (acum Inprise) a fost pe piață pentru sistemele corporative. Delphi - acest lucru nu este urmasul lui Borland Pascal / Borland C, nișa - așa-numitul Dezvoltarea rapidă a aplicațiilor (Dezvoltarea Rapid Application, RAD). Aceste instrumente vă permit să cât mai curând posibil, pentru a crea un program de lucru de componente pre-construite, fără a cheltui o mulțime de efort pe lucruri mici. Un loc aparte în aceste sisteme ocupă oportunități de a lucra cu baze de date.

Java ca un exemplu viu de specializare, limbajul Java a fost creat ca răspuns la nevoia de programe perfecte de limba portabile, care sunt executate în mod eficient pe client WWW. Având în vedere specificul mediului, Java poate fi o alegere bună pentru un sistem bazat pe tehnologia Internet / Intranet.

În concluzie, observăm că din punct de vedere profesional nu este atât de important ce limbă și în ce mediu funcționează ca un programator, dar pe masura ce se face treaba. Schimbarea hardware si sisteme de operare. Există noi provocări dintr-o varietate de domenii. Lucru din trecut și noi limbi. Dar sunt oameni - cei care scriu și cei pentru care scrie programe noi și ale căror cerințe de calitate sunt aceleași, indiferent de aceste schimbări.

Din distribuția de programare în C ++ Workshop pentru Windows