Ştiri:

Vă rugăm să citiţi Regulamentul de utilizare a forumului Scientia în secţiunea intitulată "Regulamentul de utilizare a forumului. CITEŞTE-L!".

Main Menu

Limbaje de programare

Creat de alina.d, Octombrie 26, 2009, 07:01:24 PM

« precedentul - următorul »

0 Membri şi 1 Vizitator vizualizează acest subiect.

Dendros

În cele din urmă am ales limbajul C#(CSharp). După ce am căutat, am aflat că există Mono-Project, care este o implementare open-source a mediului C# și .NET (parțial). Se pare că rulează bine pe Linux, l-am instalat și funcționează. Mai rămâne să învăț C#, caut cărți despre el.

Adi

Da, am auzit ca este un limbaj foarte modern, folosit mult de firme cand construiesc chestii concrete.
Pagina personala: http://adrianbuzatu.ro

Dendros

Se pare că m-am pripit cu alegerea mea. Mono rulează, dar cu erori, se pare că din cauză că nu este nativ pe platforma Linux. Tot C++ este de bază până la urmă, din moment ce compilatorul gcc este nativ Linux şi funcţionează fără probleme. Rămân deci la C++, chiar dacă, poate, nu este aşa modern ca C# (dar e puternic, din cât am înţeles în C++ se poate face orice).
Ştie cineva o carte bună de C++ (tipărită, nu electronică, şi în limba română) care se poate găsi în librării?

HarapAlb

C# este dezvoltat de Microsoft, iti poti imagina singur ce portabilitate are  ;D

Cand invatam in facultate foloseam niste carti ("Limbajele C si C++ pentru incepatori") de la editura MicroInformatica din Cluj

Adi

Deci pana la urma e C++. Daca stii si ceva engleza, e bine si sa urmaresti tutoriale pe internet. Sunt foarte multe si pur si simplu poti cauta dupa C++ si cum se face cutare lucru si vei gasi foarte multe.
Pagina personala: http://adrianbuzatu.ro

Dendros

Citat din: HarapAlb din Noiembrie 24, 2009, 12:37:11 AM
C# este dezvoltat de Microsoft, iti poti imagina singur ce portabilitate are  ;D

Cand invatam in facultate foloseam niste carti ("Limbajele C si C++ pentru incepatori") de la editura MicroInformatica din Cluj
Da, portabilitate între ghilimele. Mulţumesc pentru link, pare să fie exact ce caut. Pentru Adi: da, până la urmă rămâne C++. Am să citesc şi tutoriale, dar pentru mine cartea tipărită este de bază. Mi-e greu să citesc pe calculator, pur şi simplu nu e acelaşi lucru cu a citi (şi învăţa) dintr-o carte.

radhoo

problema e pusa putin gresit:
nu se cauta un limbaj de dragul programarii,
ci se identifica problema si apoi se cauta limbajul potrivit pentru implementarea solutiei.

C/C++ e un limbaj robust, exista compilatoare pentru el, cam pentru orice inseamna automat/sistem de calcul: l-am folosit pentru a programa aplicatii pentru microchipuri, PDA-uri, routere de retea, sau diverse sisteme de operare pt desktop. Tehnicile de programare sunt usor de inteles, pentru ca permite accesul direct la memorie (pointeri, liste, arbori, grafuri, toate implementate dinamic), si dispune de structuri de date intuitive.

Pascal: un limbaj extrem de capabil dar inutilizabil in contextul actual, deci e o investitie proasta.

LISP orice profesor univ. isi va lauda materia :) .  e itneresant datorita naturii duale "cod vs. date", dar nu am castigat nici un ban cu LISP pana in prezent...

Visual Basic / C# / Delphi ofera clase predefinite si o sintaxa intuitiva, extrem de usor de utilizat pentru aproape oricine fara pregatirea necesara. Permit aplicatii suficient de puternice, si au o curba de invatare extrem de accesibila. Dar vor tine programatorul departe de detalii, dupa cum se si considera in aceste limbaje high-level ca programatorul nu trebuie sa le stie pe toate, el construieste un modul , care apoi se integreaza impreuna cu altele pentru a forma aplicatia. Eu personal consider un defect ignoranta (ca ignorare a detaliilor) si nu am putut sa apreciez aceste limbaje, dar le-am folosit adesea in functie de necesitati.

florin_try


LISP e pentru calcul simbolic, dar se pot face mult mai multe cu el. Matematicienii il folosesc intensiv (din cite am auzit).
La calcul simbolic Maple e suficient si mult mai prietenos pentru utilizatori de ocazie.

FORTRAN e pentru calcul numeric. Limbajul a evoluat in fortran 90/95 (implementat in practic toate compilatoarele). Nu are run-time polimorfism dar poate fi emulat. In rest are cam toate celelalte paradigme ale programarii orientate pe obiecte (OOP). Veteranii crescuti cu fortran 77 nu vor recunoaste un cod in fortran 90/95/2000.

C++ e pentru orice. As alege C++ fara ezitare.

Java e pentru interfetze, dar e leeeent; daca poti sa il eviti evita-l.
INSA: Am un apetit fantastic pentru apleturile JAVA in scopuri educationale.

Javascript e pentru web design ca sa adaugi interactivitate in partea clientului. Nu confundati Java cu JavaScript. Ca orice script, e f.f. lent (nu are compilator).

My 2 cents.

Adi

Foarte frumos evolueaza aceasta discutie.
Pagina personala: http://adrianbuzatu.ro

gheorghe1800

Dar ce s-a intamplat cu C? De ce nimeni de pe acest forum nu recomanda limbajul C simplu? O fi el destul de batran dar in nici un caz depasit.

Prin facultate l-am intrebat pe un coleg ce limbaj mi-ar recomanda sa invat mai aprofundat. Raspunsul a venit foarte prompt si oarecum surprinzator: "invata domne C chior". Era un tip foarte bun la programare care insa nu prea intelegea de ce este nevoie de C++ (mai exact programarea pe obiecte). Pana la urma ce poti sa faci cu C++ poti sa faci si cu C si ce faci cu C poti sa faci fara probleme direct in asamblare.

Deci eu recomand C. Daca inveti C bine o sa stii atatea lucruri cate ai nevoie ca sa te descurci in orice limbaj de programare (cu foarte putin efort in plus). C++ e un limbaj care incearca sa faca munca unui programator experimentat mai usoara.(<-punct) In plus, exista riscul ca daca incerci sa inveti C++ inainte de C o sa ai multe lucruri de baza in ceata pentru ca mai toate cartile de C++ considera ca stii deja cate ceva de C.

Dovada ca C este inca un limbaj viabil (si pana la urma de ce n-ar fi) este ca Linux este scris in proportie de peste 70% in C (poate chiar mai mult, nu mai stiu cifra exacta).

radhoo

evindent nimeni de aici nu are cunostinte temeinice de programare asa si discutia merge dupa "ureche"

c++ aduce un nivel superior de organizare fata de c: acces la templateuri, clase de obiecte si o suita noua de posibilitati pentru un cod modular si compact.

asa cum in C pentru a nu repeta un cod de 100 de ori se defineste o functie, si se reapeleaza functia in loc de a repeta codul, in C++ se pot defini clase de obiecte definite unui scop anume, se pot defini apoi derivate si rezultatul este un cod curat, elegant, scurt , usor de inteles si de depanat.

In aplicatiile complexe, stufoase, un limbaj ca C va necesita un cod sursa extrem de lung. Eventualele defecte (buguri) vor necesita mult timp (costuri) pentru reparare. De acea se tinde mereu inspre o organizare superioara.

Dar cum am spus de la inceput, nu se invata un limbaj doar de dragul unei preocupari, ci se identifica necesitatea si apoi se alege limbajul care o poate rezolva cel mai bine. Dezvoltarea de aplicatii nu este un hobby, este o meserie care necesita o pregatire temeinica si apoi, experienta.

Adi

Pe noi la Fermilab ne-a invatat la cursul de programare ca e chiar prost sa stii C si apoi sa treci la C++, caci ramai cu obiceiuri vechi si proaste din C. Eu am prins direct C++ si programarea pe obiecte si asa e cel mai bine. E mai puternica si face toate chestiile simple din C, plus chestii mai evoluate. Pentru un tanar elev de liceu, recomandarea mea e sa invete direct C++. Din pacate la liceul se numeste C++ si se face tot C ...
Pagina personala: http://adrianbuzatu.ro

HarapAlb

Citat din: radhoo din Martie 17, 2010, 02:19:03 PM
evindent nimeni de aici nu are cunostinte temeinice de programare asa si discutia merge dupa "ureche"
Nu merge dupa "ureche", ca dovada ca pana la urma tot la C++ s-a ajuns.  Cred ca nu ai nevoie chiar de cunostinte temeinice ca sa poti recomanda un limbaj de programare sau altul.

E "prost" sa inveti un limbaj fara obiecte inaintea unui orientat pe obiecte, asa cum este la fel de prost sa inveti un limbaj care te face sa gandesti ca o masina (C/C++ si restul...) inaintea unui limbaj in care poti scrie programele urmand gandirea umana (de exemplu LISP).

CitatDar cum am spus de la inceput, nu se invata un limbaj doar de dragul unei preocupari, ci se identifica necesitatea si apoi se alege limbajul care o poate rezolva cel mai bine. Dezvoltarea de aplicatii nu este un hobby, este o meserie care necesita o pregatire temeinica si apoi, experienta.
Tocmai ca intrebarea initiala nu se referea la nici o necesitate de a rezolva ceva concret, nu era vorba de meseria de programator, ci mai degraba de activitati in timpul liber.

gheorghe1800

Citat din: Adi din Martie 17, 2010, 09:00:24 PM
Pe noi la Fermilab ne-a invatat la cursul de programare ca e chiar prost sa stii C si apoi sa treci la C++, caci ramai cu obiceiuri vechi si proaste din C.
Sunt curios care ar fi aceste obiceiuri... Poate pentru fizicieni e mai usor sa foloseasca C++ pentru ca poti utiliza mai simplu biblioteci cu concepte de nivel inalt fara sa iti bati capul prea mult cu ce e in spate.

Citat din: Adi din Martie 17, 2010, 09:00:24 PM
Eu am prins direct C++ si programarea pe obiecte si asa e cel mai bine. E mai puternica si face toate chestiile simple din C, plus chestii mai evoluate.
Bravo tie! Pana la urma un limbaj de programare este o unealta si unealta cea mai folositoare este unealta pe care o cunosti cel mai bine. Dar ce vroiam sa spun este ca daca incepi cu C (adica o unealta mai simpla) ai sansa il inveti mai bine, decat sa incepi direct cu C++ si sa nu reusesti sa faci diferenta intre lucruri.

Citat din: Adi din Martie 17, 2010, 09:00:24 PM
E mai puternica si face toate chestiile simple din C, plus chestii mai evoluate. Pentru un tanar elev de liceu, recomandarea mea e sa invete direct C++. Din pacate la liceul se numeste C++ si se face tot C ...
C++ nu este mai puternic, in C se pot face aceleasi lucruri care se fac in C++. Pentru un elev de liceu care vrea sa invete programare cel mai bine e sa inceapa cu C. C++ este pentru avansati si mai mult pentru productia de soft la scara larga.

Adi

Citat din: gheorghe1800 din Martie 18, 2010, 01:07:32 AM
Citat din: Adi din Martie 17, 2010, 09:00:24 PM
Pe noi la Fermilab ne-a invatat la cursul de programare ca e chiar prost sa stii C si apoi sa treci la C++, caci ramai cu obiceiuri vechi si proaste din C.
Sunt curios care ar fi aceste obiceiuri... Poate pentru fizicieni e mai usor sa foloseasca C++ pentru ca poti utiliza mai simplu biblioteci cu concepte de nivel inalt fara sa iti bati capul prea mult cu ce e in spate.

Nu stiu care sunt obiceiurile, caci eu nu am lucrat niciodata in C, ci direct in C++.
Pagina personala: http://adrianbuzatu.ro