Ş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.

AlexandruLazar

Informatica e una, programarea e alta. Exista un corpus de cunostinte de structuri de date si algoritmi care nu vin efectiv ca parte a invatarii vreunui limbaj. Daca aceste cunostinte sunt asimilate, propriu-zis este necesara in plus doar cunoasterea sintaxei limbajului; mie unuia imi ia maxim doua saptamani sa devin productiv cu un limbaj nou.

CitatDe ce ? Pentru ca un limbaj are "logica" lui si scrierea unui cod de calitate presupune mult mai mult decat simpla cunoastere a sintaxei limbajului.

"Logica" nu apartine limbajului ci problemei. Desigur, unele limbaje au o structura care fac ceva mai dificila folosirea unui anumit tip de formulare a problemelor, insa logica nu apartine niciodata limbajului ca atare.

florin_try


O discutie aprinsa pe un fel de forum pe internet despre limbaje de programare, e fortranul mort?.

Pastez mai jos replay-ul unui forumist care m-a amuzat teribil (sursa: http://gordonwatts.wordpress.com/2006/10/14/fortran-not-dead-yet/ , al 2-lea comentariu)

"
Me love FORTRAN. Me like use punch cards, line printer. Newest guy in cave, he use C++, he always talk polymorphism, encapsulation. Me take club, me smash new guy when he debug inheritance heirarchy.
Now everyone use FORTRAN.
"

AlexandruLazar

Eu sunt unul dintre cei care foloseste Fortran. Ok, nu de placere si nu dezvolt activ programe Fortran, dar am fost pus in situatia de a scrie aplicatii care foloseau biblioteci Fortrant. De ce? Era vorba de biblioteci de metode numerice pentru calcul de inalta performanta -- sute de mii de linii de cod, optimizate pana la ultimul semn pentru platforma tinta, in decursul a cel putin zece-unsprezece ani de dezvoltare. Efortul de a rescrie asta in C e mult prea mare.

Exista o nisa in care e foarte popular si in care se lucreaza activ la compilatoare si instrumente de programare Fortran.

Adi

Citat din: florin_try din Aprilie 11, 2010, 01:38:29 AM

O discutie aprinsa pe un fel de forum pe internet despre limbaje de programare, e fortranul mort?.

Pastez mai jos replay-ul unui forumist care m-a amuzat teribil (sursa: http://gordonwatts.wordpress.com/2006/10/14/fortran-not-dead-yet/ , al 2-lea comentariu)

In fizica particulelor pot confirma ca este mort si a fost inlocuit de C++.
Pagina personala: http://adrianbuzatu.ro

astan

Citat din: AlexandruLazar din Aprilie 11, 2010, 12:48:21 AM
Daca aceste cunostinte sunt asimilate, propriu-zis este necesara in plus doar cunoasterea sintaxei limbajului; mie unuia imi ia maxim doua saptamani sa devin productiv cu un limbaj nou.

Trebuie sa marturisesc ca mie imi ia semnificativ mai mult timp ca sa ajung sa scriu cod de calitate intr-un limbaj (nici nu cunosc prea multe limbaje).

Fiecare decizie pe care o iau designerii unui limbaj are o logica in spate. O logica care justifica intr-o oarecare masura de ce anumite lucruri sunt implementate asa cum sunt, in respectivul limbaj.  La asta ma refeream mai sus, nu la logica aplicatiei. Cred ca e util ca cineva sa inteleaga astfel de lucruri, cand foloseste un limbaj. De exemplu, multe dintre deciziile de design luate in cazul limbajului C++ au fost influentate de incercarea de a fi cat mai compatibil cu limbajul C.

Despre Fortan ... Nu am scris nici o aplicatie reala in el. Am scris candva niste programele folosind g77, din curiozitate, dar nu le-as putea considera drept o experienta relevanta.
Sunt sigur ca un compilator de fortran produce cod foarte optimizat in cazul algoritmilor numerici. E in productie de ceva vreme, au avut destul timp sa tot perfectioneze compilatoarele.

AlexandruLazar

S-ar putea sa nu inteleg eu ce ai vrut să spui :). Ideea mea e următoarea: dacă ești capabil să explici modul de rezolvare al unei probleme într-un limbaj, poți să faci asta în orice limbaj căruia îi cunoști sintaxa. Desigur, cu mențiunile de rigoare referitoare la paradigma utilizată în sine (de exemplu, cineva care cunoaște sintaxa Haskell dar nu știe ce înseamnă programarea funcțională o să fie "în pom").


Dendros

#82
Am găsit, căutând pe Internet, programe matematice free, ca Freemat, Octave, Scilab, ce includ și limbaje de programare. Mi se par destul de cuprinzătoare și utile pentru cei pasionați de matematică/simulări, cum e cazul meu (am citit puțin documentația lor și mi s-au părut destul de interesante ca să le menționez aici, sper să fie utile). Dacă cineva le folosește, mi-ar plăcea să-și expună părerea vizavi de ele, sunt tentat să le folosesc. Nu prea mă atrage programarea clasică, nu am reușit să-mi însușesc C++, pur și simplu nu se prinde de mine (și am încercat, pot să vă asigur). Poate fiindcă e doar un hobby și nu mă atrage să învăț ceva profesional. Poate cu acele programe e mai ușor să-mi practic hobby-ul.

AlexandruLazar

Octave (şi într-o măsură ceva mai mică, Scilab) sunt "clone" Matlab. Sunt nişte instrumente foarte bune, te asigur, şi folosesc un limbaj ceva mai "relaxat" şi mai adaptat notaţiilor matematice.

Dendros

#84
Am instalat Octave, este într-adevăr mai uşor de învăţat şi este şi cuprinzător. Dar am făcut rost şi de PLT-Scheme, despre care am vorbit mai demult cu HarapAlb. Acum se numeşte Racket. Am făcut asta pentru că am vrut să văd cum e cu Lisp-ul.
Sigur, există şi CLisp, l-am şi încercat, dar nu are documentaţie inclusă, sau nu am ştiut eu să caut. Dar Racket include totul: un editor cu facilităţi de depanare şi verificare (DrRacket), documentaţie amănunţită, biblioteci şi framework-uri pentru crearea de interfeţe GUI şi altele, chiar şi alte limbaje (Algol60, Honu) şi bineînţeles extensii POO.

Mi se pare că Racket este flexibil. De exemplu, funcţia care ridică x la puterea y are forma:

(expt x y)

Dar cu funcţia define am putut să o reformulez:

(define (putere x y) (expt x y))

Şi să folosesc definiţia mea exact ca şi pe expt. În manual, dacă am înţeles corect, se arată că se pot redefini toate funcţiile din Racket şi de asemenea se poate crea un nou limbaj, personalizat, prin redefinire.
Chiar atât de flexibil şi extensibil să fie Racket (şi prin extensie, Lisp în general)?

Sigma2

Dendros
Daca stii unde pot gasi o varianta free a Math Type, pe net ti-as fii recunoscator.

Dendros

Dacă prin variantă free a lui Math Type înţelegeţi un echivalent open-source/freeware, atunci ar fi Sourceforge.net, unde am găsit MathCast, doar unul dintre multele programe de acest gen care se pot găsi acolo.
Dacă vreţi doar să încercaţi Math Type, există un trial, pe care îl puteţi încerca 30 de zile.

AlexandruLazar

Legat de Lisp: da. Scheme e un dialect din care lipsesc câteva din posibilitățile extreme ale Common Lisp, pe care eu unul îl găsesc a fi ceva mai flexibil decât orice implementare Scheme -- dar da, dialectele Lisp sunt faimoase pentru flexibilitatea lor.

Sigma2


Dendros

Citat din: AlexandruLazar din Iulie 24, 2010, 12:56:44 AM
Legat de Lisp: da. Scheme e un dialect din care lipsesc câteva din posibilitățile extreme ale Common Lisp, pe care eu unul îl găsesc a fi ceva mai flexibil decât orice implementare Scheme -- dar da, dialectele Lisp sunt faimoase pentru flexibilitatea lor.

De curiozitate: care ar fi acele posibilități extreme ale Common Lisp?

Citat din: Sigma2 din Iulie 25, 2010, 07:24:25 PM
Multumesc Dendros.

Mă bucur că v-am fost de folos.