Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Cu ce se mananca programarea?

- - - - -
  • Please log in to reply
822 replies to this topic

#1
shiva

shiva

    Nameless hero. Professional bug slayer mom.

  • Grup: Senior Members
  • Posts: 14,857
  • Înscris: 06.10.2003
Acest topic este dedicat tuturor celor care vor sa studieze programarea, indiferent de varsta si alte criterii( mai mult sau mai putin xenofobe ).

Ce este programarea?

Wikipedia said:

Programarea este o ramură foarte importantă a informaticii care se ocupă cu crearea programelor (software) necesare pentru marea majoritate a activităților realizate cu ajutorul calculatorului.

Ce este un algoritm?

Wikipedia said:

Algoritm (noțiunea are la origine numele matematicianului persan Al-Khwarizmi), în matematică și informatica teoretică, reprezintă o metodă univocă prin care se descriu, pe rând, pașii necesari pentru rezolvarea unei probleme.
De exemplu, un algoritm matematic il reprezinta conversia unui numar din baza 10 in baza 2, aflarea cmmdc-ului si al cmmmc-ului a 2 numere, etc ...

Ce este un limbaj de programare?

Wikipedia said:

Un limbaj de programare este o tehnică de comunicare standardizată pentru transmiterea de instrucțiuni către un computer. Un limbaj de programare are definit un set de reguli sintactice și semantice( ganditi-va aici la limba romana, unde avem cuvinte si ordinea lor de compunere in tr-o propozitie/fraza ). Un limbaj dă posibilitatea programatorului să specifice cu ce fel de date va lucra computerul și ce acțiuni va executa acesta în anumite situații precizate.
O lista cu limbajele de programare existente, in ordine genealogica, gasiti aici.

De unde trebuie inceput?
Pai, prima data ar trebui sa inveti engleza( daca nu ai invatat-o, inca ). Internetul este plin de informatii in limba engleza. Documentatiile limbajelor de programare sunt in engleza. Cuvintele rezervate din limbajele de programare sunt in engleza.
Apoi sa citesti acest articol.
Apoi ar trebui sa te familiarizezi cu algoritmica pentru a invata cum sa transpui cerintele in cod. Pentru asta trebuie sa-ti alegi un limbaj de programare.
Apoi ....imagination is the limit!

Cateva linkuri unde s-au mai discutat aceste lucruri:
http://forum.softped...howtopic=294761
http://forum.softped...howtopic=322631
http://forum.softped...howtopic=250599
http://forum.softped...showtopic=73744
http://forum.softped...howtopic=237923
http://forum.softped...showtopic=29719
http://forum.softped...howtopic=264113
http://forum.softped...howtopic=110081
http://forum.softped...howtopic=264113

Despre alegerea limbajului de programare:
http://forum.softped...howtopic=321679
http://forum.softped...howtopic=291530
http://forum.softped...howtopic=310656
http://forum.softped...howtopic=302746
http://forum.softped...howtopic=279006
http://forum.softped...howtopic=197870
http://forum.softped...howtopic=285990
http://forum.softped...howtopic=283143
http://forum.softped...howtopic=268097
http://forum.softped...howtopic=247912
http://forum.softped...howtopic=272067

Edited by shiva, 07 December 2007 - 14:10.


#2
manu_tmu

manu_tmu

    Junior Member

  • Grup: Members
  • Posts: 69
  • Înscris: 25.02.2007
Pai ia sa fiu eu primul ..cu prima replica...
Pai eu am inceput la scoala ...la liceu ..cu Pascal...am facut in facultate C si acuma (sunt anul 3) C++ . Si fiindca imi place aceasta latura a informaticii m-am pus sa invat de unul singur Java.
I don't know if this is the ideea of this topic ...but ... I wanted to say those things ... :mellow:

#3
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Posts: 519
  • Înscris: 04.02.2006

View Postmanu_tmu, on Dec 7 2007, 14:15, said:

Pai ia sa fiu eu primul ..cu prima replica...
Pai eu am inceput la scoala ...la liceu ..cu Pascal...am facut in facultate C si acuma (sunt anul 3) C++ . Si fiindca imi place aceasta latura a informaticii m-am pus sa invat de unul singur Java.
I don't know if this is the ideea of this topic ...but ... I wanted to say those things ... :mellow:
Io nu am facultate ...sunt tamplar si actualmente somer...parerea mea este ca tre sa o iei de la zero...si facand acolo jos de tot mici programase...poti intelege apoi mai bine toate limbajele si tot ce pc sau mcu sau win mobile...
Eu nu am cunostinte dar am realizat ceva...
http://forum.softped...howtopic=327587
As tine si un tutorial sa stie majoritatea macar cat stiu eu,si nu stiu prea multe...dar vad ca nu prea se ingramadesc multi...majoritatea se rezuma in a copia cu ochii inchisi...un copy paste...fara sa inteleaga nimic...
Eu as incepe prin a va spune ce face un procesor,cum lucreaza cu stiva,care sunt principalele instructiuni care accepta procesorul,ce e memoria ,cum se foloseste,salturile conditionate,subrutinele,mai nou... dll-urile in win 32,cum apelzi o subrutina...chestiii simple de jos...jos de tot...si apoi vei intelege de ce au aparut superlimbajele de programare,c,visual basic,delphi,java,etc
AAAA
am sa ma uit la topicurile alea... cred sigur am sa gasesc ceva pe acolo...

Edited by bobyca2003, 27 December 2007 - 15:39.


#4
ApologetX

ApologetX

    Member

  • Grup: Members
  • Posts: 890
  • Înscris: 22.03.2006
nici eu nu am facut la scoala programare ,am terminat un liceu industrial (sper sa nu gandeasca totii care au inceput de mici cu rogramarea doar ei stiu cu ce se manca asta.. sper sa fie o incurajare ptr cine vrea sa incepa de acuma!) dar am avut un amic care era pasionat de web si am inceput sa invat HTML (singur ,nu de la el) ,cand am ajuns la faculta (profil: informatica economica) am facut programare (as numio programica) ptr ca am facut din toate cate un pic (Java, VB, php/mysql, C++ ,Oracle ,Delphi) dar nimic concret ,adica am trecut peste toate intr-un an scolar ,deci ganditiva cate de superficial a fost.. ptr ca pe diploma mea scrie Economist nu inginer IT :D

Dar eu am ramas la dragostea dintai : WEB : ,asa ca am ignorat celelalte limbaje (desi acum imi pare rau dar nu puteam cu toate) si m-am dedicat mai mult pe php/mysql si chiar imi doream un job in domeniu asta... DAR dupa faculta am luat drumul europei si am lucrat in ALT domeniu decat cel al programarii ,insa mai faceam pagini dinamice ptr firme mici..(ceea ce inseamna ca in mine nu sa pierdut microbul programarii). Iar acuma lucrez intr-o companie multinationala din Europa ca programator Java (Struts 2, JSP) ,php/mysql ,sunt la inceput.. mai am multe de invatat ,dar aici am ocazia sa invat.

deci chiar nu conteaza varsta sau ce ai studiat ,poti invata o limba straina ,fie ea si Java sau Cobol ce iti place..

#5
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Posts: 519
  • Înscris: 04.02.2006
Incepe cu asm...
.Data
hello DB "Hello Romania", 0
variabila DD 0
hdc DD 0
.Code

Window1Procedure Proc Private hWnd:HWND, uMsg:ULONG, wParam:WPARAM, lParam:LPARAM
.If uMsg == WM_CREATE
      Mov hdc, y (GetDC, hWnd)
    .ElseIf uMsg == WM_COMMAND
     .If wParam == IDC_WINDOW1_BUTTON1
     Invoke GetDlgItemInt, hWnd, IDC_WINDOW1_EDIT1, 0, 0
     Add variabila, 10
     Invoke SetDlgItemInt, hWnd, IDC_WINDOW1_EDIT2, variabila, 0
     Invoke SetDlgItemText, hWnd, IDC_WINDOW1_EDIT3, Addr hello
     Invoke SetPixel, hdc, 100, 100, Red
     .ElseIf wParam == IDC_WINDOW1_BUTTON2
            Invoke MessageBox, 0, SADD("Message"), SADD("Title"), MB_OK
            .EndIf
.ElseIf uMsg == WM_CLOSE
Invoke ExitProcess, 0

.EndIf
Return FALSE
Window1Procedure EndP


Cele cateva linii fac urmatorul lucru:
Cand faci click pe buton1:
Citeste val din edit1
aduna varariabila1 cu 10
scrie rezultatul in edit2
scrie in edit 3 hello
Face pixel de la adresa 100,100 rosu
cand faci click pe buton2:
Apare un box mb_ok....

E greu?

#6
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Posts: 519
  • Înscris: 04.02.2006
Un program seamana cu un obiect plin de senzori...la orice atingere,stimul el emite un semnal...
WM_MOUSEMOVE...ne spune ca am miscat mousul...
WM_COMMAND...ne spune ca am facut click pe un buton sau pe meniu
Windows lucreaza cu mici programase gata facute,acestea sunt tinute in dll-uri(Kernel32.dll,User32.dll,etc)
GetDlgItemInt este un programash din User32.dll
El ne va zice ce valoare este scrisa intr-un editbox...
Acesstea sunt lucrurile care ar trebui sa le stiti inainte de a va apuca de programare...
Sa intelegeti cum functioneaza sistemul...
Din pacate toti vor sa treaca direct la programare de nivel inalt,sa lucreze cu platforrme cu un inalt grad de dificultate...
Eu zic ca asm te face sa intelegi mai bine,sa fii mai aproape de procesor...si daca va uitati mai sus...e chiar asa de greu de inteles?
Mie mi se pare mult mai dificil C in toate variantele lui,Pascal nici nu mai zic...nu mai e de actualitate...
Dar ma rog...fiecare incepe asa cum i-i place...

#7
tudor_turcu

tudor_turcu

    Senior Member

  • Grup: Senior Members
  • Posts: 2,377
  • Înscris: 12.09.2003

View Postbobyca2003, on Dec 28 2007, 16:44, said:

Acesstea sunt lucrurile care ar trebui sa le stiti inainte de a va apuca de programare...
Sa intelegeti cum functioneaza sistemul...
Din pacate toti vor sa treaca direct la programare de nivel inalt,sa lucreze cu platforrme cu un inalt grad de dificultate...
Eu zic ca asm te face sa intelegi mai bine,sa fii mai aproape de procesor...si daca va uitati mai sus...e chiar asa de greu de inteles?
Depinde de persoana - daca incepe studiul programarii direct de la detaliile "low-level" in sus, multe persoane sunt descurajate de complexitatea unui computer si a unui sistem de operare, mai ales cele din generatia actuala... Ca sa ajunga acolo, cineva (sau o carte) trebuie sa-i prezinte in prima faza, intr-un mod intuitiv functionarea si organizarea la modul general (high-level) a unui computer si a unui sistem de operare, incepand cu notiuni care noua ni se par simple, dar nu sunt intotdeuna intuitive pentru cineva care le aude pentru prima data: procesor, memorie, I/O, program, variabile, constante, date, instructiuni etc. (normal, nu neaparat in ordinea asta)

Toate astea, le poate "simti" cu usurinta doar daca incepe cu un limbaj simplu, care are cateva instructiuni/functii/comenzi elementare: sa poata citi ceva de la tastatura ("Read"), sa afiseze ceva pe ecran (Write/Print), sa faca niste atribuiri simple de variabile si cateva operatii aritmetice etc..
Inainte de a intelege notiuni precum evenimente, mesaje etc., cel ce porneste de la zero trebuie sa faca analogia intre un calculator si un automat programabil, care primeste o secventa de "instructiuni" si executa anumite actiuni ca raspuns la aceste "instructiuni".

Normal ca lucruile de mai sus se pot face si in ASM, dar deja cantitatea de informatii care trebuie inteleasa e mult mai mare (registrii, call stack, segmente de data/code si multe alte "mici" detalii de plumbing, pe care un limbaj un pic mai high-level le ascunde pentru un incepator, permitandu-i sa se concentreze pe un set mai mic de notiuni care trebuie sa le asimileze..

Desigur ca la momentul potrivit nu ar strica pentru oricine sa invete si putin ASM, dar e un motiv pentru care mai in orice scoala din lumea asta programarea se incepe cu un limbaj mai "didactic" si high-level, fie ca e BASIC, Pascal, Java, C# sau chiar LOGO (care era recomandat la un moment dat, in unele tari, pentru copii sub o anumita varsta).

Important e ca cel ce incepe cu unul din limbajele de mai sus sa nu ramana acolo, si sa invete si alte limbaje si tehnologii la un moment dat..

#8
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Posts: 519
  • Înscris: 04.02.2006
Si eu am fost derutat la inceput de anumite aspecte...
De cum se aloca spatiu in memorie ptr o variabila...
De ex sa declar o variabila sir de caractere si apoi sa o folosesc ca byte,word sau dword sa pot adauga un nr la adresa variabila+n sa explic ca orice variabila char are la sfarsit 0 tocmai prin asta e diferentiat un sir char...
Cel putin mie daca mi se explica asa eu cred ca intelegeam mult mai bine...
dar sa declar variabile ,sa invat pe de rost toate aceste,byte,word,dword,integer si sa nu vad ce se intampla in memorie...e greu de inteles...
sau ce se intampla practic cand apelez o subrutina... acel call ...cum se pune adresa in stiva si la primul ret sare la adresa memorata in stiva...
sau chiar parametri la apelarea unei subrutine sunt salvati in stiva...
Nu cred ca daca pui pe cineva sa invete fara sa stie cum functioneaza ceea ce face ... e ca la scoala ...invatzam o gramada de materii cu ochii inchisi... ca o sa trebuiasca mai tarziu...devenim niste tocilari...
Nu trebuie sa invete toate aspectele privind memoria si procesorul ci cateva aspecte generale...sa stie ce se intampla in memorie atunci cand declara o variabila,sau cand nu a declarat toti parametrii,etc

Edited by bobyca2003, 29 December 2007 - 06:13.


#9
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
O carte electronica pt. incepatori in java.
Ideala pt. cei care folosesc netbeans ca IDE.
Total gratuita.

http://www.javapassi...terdocument.pdf

Edited by ciuly, 29 December 2007 - 16:30.
modificat link catre sursa oficiala


#10
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Si inca un link foarte important
http://www.freebookz...p?bkcls=jw_lang

#11
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Ce vreau sa mai incerc dupa sarbatorirea anului nou!?
Sa ma inregistrez pe un site pt. lectii de java gratuite.
Daca totul era ok speram sa il postez aici, dar daca am postat si link`ul spre carte cred ar trebui sa postez si link`ul spre acel site de unde putem lua cursuri gratuite de java.

http://www.javapassion.com/javaintro/

Edited by ciuly, 29 December 2007 - 20:45.
sters continut redundant cu postul #9


#12
tudor_turcu

tudor_turcu

    Senior Member

  • Grup: Senior Members
  • Posts: 2,377
  • Înscris: 12.09.2003

View Postbobyca2003, on Dec 29 2007, 05:45, said:

De cum se aloca spatiu in memorie ptr o variabila...
De ex sa declar o variabila sir de caractere si apoi sa o folosesc ca byte,word sau dword sa pot adauga un nr la adresa variabila+n sa explic ca orice variabila char are la sfarsit 0 tocmai prin asta e diferentiat un sir char...
Cel putin mie daca mi se explica asa eu cred ca intelegeam mult mai bine...
dar sa declar variabile ,sa invat pe de rost toate aceste,byte,word,dword,integer si sa nu vad ce se intampla in memorie...e greu de inteles...
[offtopic] Asta deja e alta poveste - (din fericire) sunt multe persoane care atunci cand invata programarea nu se multumesc cu o descriere generala, si vor sa stie exact mecanismul interior - insa pentru multi e suficient daca la inceput li se explica ca o variabila in memorie are asociata o "casuta" :rolleyes: in care se stocheaza o valoare concreta.. Cum se aloca acea "casuta", cum sunt reprezentate intern diverse tipuri de date intr-un limbaj sau altul - toate lucrurile astea le va afla la momentul oportun daca il intereseaza programarea, dar nu e musai sa stie toate detaliile din prima zi..

Pentru cine stie un pic de matematica (si sa zicem ca a trecut de clasa a 7-a de ex., saucand s eexplica notiunea de multime), tipurile de date dintr-un limbaj de programare se pot explica simplu - i se spune ca sunt niste multimi ('set' in engleza), cu un domeniu posibil de elemente (valori) bine definit, impreuna cu un set de operatii definite pe acea multime (o operatie fiind echivalenta unei functii din matematica), iar o variabila de un anumit tip nu poate stoca decat elemente din acea multime (normal, asta la limbajele strongly typed..)

#13
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Posts: 519
  • Înscris: 04.02.2006

View Posttudor_turcu, on Dec 29 2007, 21:45, said:

[offtopic] Asta deja e alta poveste - (din fericire) sunt multe persoane care atunci cand invata programarea nu se multumesc cu o descriere generala, si vor sa stie exact mecanismul interior - insa pentru multi e suficient daca la inceput li se explica ca o variabila in memorie are asociata o "casuta" :rolleyes: in care se stocheaza o valoare concreta.. Cum se aloca acea "casuta", cum sunt reprezentate intern diverse tipuri de date intr-un limbaj sau altul - toate lucrurile astea le va afla la momentul oportun daca il intereseaza programarea, dar nu e musai sa stie toate detaliile din prima zi..

Pentru cine stie un pic de matematica (si sa zicem ca a trecut de clasa a 7-a de ex., saucand s eexplica notiunea de multime), tipurile de date dintr-un limbaj de programare se pot explica simplu - i se spune ca sunt niste multimi ('set' in engleza), cu un domeniu posibil de elemente (valori) bine definit, impreuna cu un set de operatii definite pe acea multime (o operatie fiind echivalenta unei functii din matematica), iar o variabila de un anumit tip nu poate stoca decat elemente din acea multime (normal, asta la limbajele strongly typed..)
Eu am deja cativa prieteni pe care nu-i cunosc direct,sunt de pe net,si mi-au spus ca mai usor invata asm decat c sau alt program.
A se intelege ca eu lucrez cu easycode pe baza lui masm32 e un visual basic in toata puterea cuvantului,facut de niste baieti care au vrut sa incerce altceva fata de variantele clasice,deci nu e un program "de lemn" asa cum gasesti prin scoli ,are multe exemple,un tutorial,un help bine pus la punct,pe mine ma fascinat din prima,deci nu vb doar de asm ci si de acest program util,si nu vreau sa para a reclama...

#14
vasile78

vasile78

    Junior Member

  • Grup: Members
  • Posts: 111
  • Înscris: 21.07.2007
Pe mine m-ar interesa sa ma apuc sa studiez C-ul, ce trebuie sa am instalat pe calculator ?
Si de ce documentatie ar fi nevoie. Mersi

#15
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Si de ce alegi C si nu C++ ?

#16
vasile78

vasile78

    Junior Member

  • Grup: Members
  • Posts: 111
  • Înscris: 21.07.2007
M-am gandit sa o iau cu inceputul. Prima data C si dupa ce ma voi descurca cat de cat, probabil voi trece la C++.

#17
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Si de ce nu faci trecerea directa ?
Nu vad rostul sa inveti C apoi C++.
Mai bine treci la treaba pe C++ daca vrei sa inveti ceva.

#18
shiva

shiva

    Nameless hero. Professional bug slayer mom.

  • Grup: Senior Members
  • Posts: 14,857
  • Înscris: 06.10.2003
Prin faculta am butonat in Borland C++. Ca si documentatie, helpul programului si cursurile. Oricum, se gasesc pe net informatii garla despre C/C++. Ca si carti de hartie, recomand volumele "Limbajele C si C++ pentru încep?tori", de la Editura Albastra.

Personal, daca m-as apuca de butonat in C/C++, as face-o in GNU C( gcc-ul din linux ).

Edited by shiva, 03 January 2008 - 18:49.


Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate