Se afișează postările cu eticheta limbaj. Afișați toate postările
Se afișează postările cu eticheta limbaj. Afișați toate postările

sâmbătă, 4 ianuarie 2014

Despre limbajul C

Iniţializare în programare


Acesta este unul dintre cele mai simple programe scrise în C++. În primul rând orice în acest limbaj de programare este o funcție, la fel este și programul principal. Acesta este o funcție care mereu trebuie să aibă denumirea main (în programele Windows este WinMain). Ea întoarce o valoarea întreagă și primește două argumete: argn, ce este un număr întreg, și reprezintă numărul de argumente primite de la linia de comandă, și argv ce reprezintă argumentele în sine (șirurile de caractere). Mai multe despre argv în capitolul următor.
Și ca pentru orice funcție, ca ea să aibă sens, și fiindcă nu facem altceva momentan în program, returnăm valoarea 0. De ce 0? Zero are o semnificație aparte. Ne spune că totul a mers cu bine.

C  oferă o gamă largă de operatori. Operații de genul incrementare cu o unitate/decrementare, și orice operație de tiparul variabilă ia valoarea variabilă și ceva, fie că e adunare, înmulțire, etc. poate să fie scrisă mult mai ușor. Nu e mult, dar de ce avem calculatoare dacă nu să ne facă treaba mai ușoară?

 În categoria lucrurile hulite la C cad o mulțime de puncte iar asta e o consecință directă a faptului că C îți permită o libertate mult mai mare ca alte limbaje. Cel mai afurisit lucru mi se pare verificarea oricărui apel de funcție. C se bazează foarte mult pe librăriile adiționale, parcă e făcut numai din ele, iar aceste librării vin cu funcțiile și tipurile specifice de date. Ei bine, după apelul fiecărei funcții va trebui să se verifice dacă nu a dat vreo eroare. Nu e mare scofală, dar pentru fiecare linie de cod scrisă, vor mai fi alte cel puțin 4 pentru verificare.
Cand se scrie codul unui program, practic se comunica calculatorului pasii pe care trebuie sa-i urmeze pentru a ajunge la un anumit rezultat. Aceasta succesiune de pasi poarta numele de algoritm. Algoritmul este descris cu ajutorul instructiunilor si sintaxelor specifice fiecarui limbaj de programare.
Datele ce vor fi comunicate programului in timpul executiei pentru a ajunge la rezultatul final se numesc date de intrare si vor fi introduce de utilizator printr-un dispozitiv de intrare care poate fi tastatura, mouse si chiar un fisier text.
Datele sau rezultatele obtinute de program in timpul executiei sale se numesc date de iesire si vor fi furnizate utilizatorului printr-un dispozitiv de iesire.
Algoritmul este o notiune primara fara definitie, insa din punct de vedere intuitiv admitem ca un algoritm este o succesiune de operatii realizabile, care au ca scop obtinerea intr-un timp finit a rezultatelor unei probleme, pentru orice set de date de intrare.
Încă de la apariţia sa la începutul anilor '70 limbajul C s-a impus ca lider de necontestat pentru programarea de sistem. Aceasta din urmă cuprinde o clasă largă de programe care interacţionează foarte strîns cu calculatorul şi a căror performanţă o afectează pe a tuturor celorlalte. Un exemplu tipic de astfel de program este sistemul de operare. (El este singurul program care -- de exemplu -- interacţionează cu discul. Toate celelalte programe cer serviciile lui pentru acest scop, prin funcţiile de lucru cu fişiere. De aceea el ``interacţionează strîns cu calculatorul''.)
C are mai multe calităţi care îl fac atît de apreciat de către programatorii de sistem (şi nu numai). Una dintre ele, de care ne vom ocupa în parte în acest articol, este suportul pe care îl oferă pentru dezvoltarea de programe mari, eventual lucrate în echipă. Acest suport este oferit prin nişte mecanisme extrem de simple, dar a căror existenţă are adesea un impact foarte important asupra limbajului însuşi.

 O calitate importantă a obiectelor în C este vizibilitatea.
 Vizibilitatea unui obiect este totalitatea liniilor din program în care el poate fi referit.

Finante si Afaceri  Eu si sotul meu sunt într-adevăr luptă acest salariu.

Ce să mai citim?

Robotul ADN ar putea ucide celulele canceroase

SARS a fost o boală relativ rară; la sfârșitul epidemiei, în iunie 2003

Fii propriul tău nutriționist

INIȚIERE

Daca vrei sa te apuci de programare, o sa ai un drum lung de urmat, care la inceput o sa iti para frustrant de greu.
Partea de inceput :
– Sa te orientezi catre un limbaj mai usor de invatat, si bine documentat cu o comunitate puternica in spate. C++ e mai greoi dar iti faci o baza solida de cunostiinte cu el. C# este mai prietenos cu progamatorul, la fel si Java. PHP este si el destul de usor de invatat.
– Trebuie sa inveti sintaxa si instructiunile limbajului, apoi sa experimentezi, sa te obisnuiesti cu erorile si semnificatia lor, iar apoi sa inveti cum sa le repari.
– Sa incerci sa experimentezi cu tot felul de algoritmi si sa ii intelegi, apoi sa incepi sa intelegi tot felul de paradigme si tehnici de programare si structurare a codului, cunoscute ca “best practice”.
– Sa iti faci mici progamele, dupa idei proprii si nu numai. Doar facand exemple practice sau amuzante vei avea satisfactie. E o greseala sa te avanti la un proiect urias, pentru ca te vei bloca la un momenta dat, si vei renunta la proiect si poate chiar la programare .
– Sa te axezi doar pe un limbaj, abia dupa ce capeti experienta sa treci la altele.
– Sa incerci sa te angajezi pe un post de junior la vre-o firma. Chiar daca e prost platit la inceput, conteaza foarte mult ca o sa lucrezi intr-un mediu organizat, nu o sa ai timp de pierdut pe facebook/blog/9gag/youtube, dar cel mai important lucru este ca vei avea pe langa tine oameni care te pot ajuta cu atunci cand nu vei avea solutii la probleme ce le vei intampina. Ei iti vor face review la cod, iti vor da sfaturi despre cum poti sa il imbunatatesti sau ce algoritmi/paradigme sa folosesti . Conteaza foarte mult sa ai oameni cu experienta pe langa tine.
In continuare :
– Dupa ce ai aprofundat un limbaj, vine timpul sa te uiti si peste alt limbaj. O sa vezi ca unele sunt foarte asemantoare ca sintaxa (C# si Java), unele sunt mai ciudatele si mai greu de invatat . Desi sintaxa difera, conceptele si algoritmii suntasemanatoare, ceea ce te va ajuta sa inveti mai rapid un nou limbaj de programare, pentru ca trebuie sa iti bati capul doar cu sintaxa si erorile specifice acelui limbaj.
Exista mai multe tipuri de aplicatii in functie de care poti sa iti alegi limbajul de programare.
– Aplicatii Embeded : faci aplicatii ce functioneaza pe microcontrolere si echipamente hardware (automotive/retelistica/telecumnicatii) . Limbajele cele mai des folosite sunt : C,C++,Pyton. Ce e mai urat si demotivant la aceste limbaje e ca nu iti ofera un rezultat imediat vizual al codului scris de tine, iar efectul il poti observa daca echipamentul pentru care ai scris cod functioneaza bine . Ex :daca franele unei masini,controlate de un microcontroller, functioneaza cum trebuie. Un releul GSM livreaza pachetele de date bine .. etc

Planet REBOOT

Votăm un Deputat BUN

Ttatăl fondator al Uniunii Europene. 

Colonizarea de pe Marte !

– Aplicatii Desktop : faci aplicatiipentru Windows,Linux,Mac. In marea majoritate trebuie sa proiectezi si interfete grafice . Partea frumoasa la astfel de aplicatii este ca obtii destul de repede ceva ce functioneaza si arata a program . Limbaje folosite des : C#,C++,Java,Python .
– Aplicatii web : faci aplicatii ce ruleaza pe un server, si livreaza un rezultat intr-un browser. Aici cele mai populare sunt PHP, ASP.net, Ruby. De obicei la aplicatiile web trebuie sa cunosti HTML si CSS pentru partea de prezentare/aspect , PHP/ASP.NET/Ruby pentru partea ce livreaza rezultatele unor procesari de date si Javascript pentru chestii fancy ce poti sa le faci in browser.
– Aplicatii pentru servere sau servicii : De obicei sunt programe ce ruleaza in background-ul sistemului de operare, si ideplinesc diferite functii. Un server web de exemplu e un programel care ruleaza in background si livreaza rezultate atunci cand cineva il acceseaza. De obicei el nu are interfata grafica, ci penutr ele se fac programele auxiliare ce au interfata grafica. Astfel de programe/aplicatii tin lumea moderna in miscare.
Daca te apuci de programare si constati ca nu iti place, poti oricand sa te orientezi catre QA sau Testare si Validare.
Orice firma care are dezvolta aplicatii in mod profesionist, are si un departament de testare. Lumea ii numeste “testeri” pe cei care lucreaza in domeniul acesta.
Aici trebuie sa testezi functionalitatea unui program dupa anumite scenarii, sa descoperi bug-uri si sa le raportezi. E o munca nu foarte grea, dar destul de monotona, pentru ca sunt cazuri in care in fiecare saptamana testezi acelasi produs, aceleasi scenarii.
O sa ajungi sa inveti proiectul si de aici poti s avansezi catre Support . Oamenii care lucreaza aici, ofera suport tehnic si consultanta pentru cei ce folosesc proiectul. Aici e mai dinamica treaba, pentru ca apar mereu situatii diferite.
O paine buna in IT poti sa mananci ca System Administrator, fie pe Linux, fie pe Windows.
Salariile in cazul celor de la QA sau System Administrator sunt mai mici decat ale unui programator, dar oricum mult peste salariul mediu din Romania.
Oricarea ar fi directia pe care o sa o urmezi daca vrei sa intrii in industria IT, sa o faci cu entuziasm si curiozitate. Daca nu iti place o tehnologie sau un limbaj cauta altul care iti place. Nu are rost sa iti tocesti neuronii si nervii cu ceva ce nu iti place.
Eu lucrez in domeniu de 7 ani, am trecut prin toate etapele si majoritatea limbajelor enumerate de mine mai sus. Am schimbat tehnologii si limbaje cand nu mi-a mai placut, deoarece scade productivitatea cand faci ceva ce nu iti place, si afecteaza si salariu si starea de spirit.
Recomand și TreeHouse pentru a face primii pași în programare: HTML, CSS, JS și PHP la nivel intermediar, Ruby și Java pentru Android de la cel mai de jos nivel la nivel mai avansat.
Uite, dacă deja știi blogging, poate întrebări de computational linguistics te-ar interesa, ori pur și simplu baze de date. Vezi ce anume te interesează și ce ar putea fi nou, apoi nu-ți mai rămâne decât să-ți alegi instrumentele potrivite (Python, SQL, ce-o fi).
Cumva legat de domeniul in care lucrez eu :
http://www.payscale.com/research/US/Job=SAP_ABAP_Programmer/Salary
Se aseamana un pic cu SQL si se cauta intr-o veselie.
La noi la facultate, sunt destul de interesati sa ne faca “buni de angajat”, ca doar de-aia studiem business administration cu focus pe business information management. in timpul bachelorului ne-au invatat Java si putin SQL, iar acum, la master, continuam cu SQL, dar ne concentram si pe UML, care e un pic altceva. am inteles de la o prietena care s-a angajat intre timp (ca project manager pe information systems, cu salariul peste nivelul pietei) ca cel mai bine i-a prins UML si il foloseste mai mult decat ce am invatat la arhitectura IT, de exemplu.
Conteaza sa iesi din inertia in care te gasesti in punctul zero si sa te pui in miscare deprinzand nu detaliile unor limbaje ca Java sau C#, ci abilitati de gandire care sa te ajute sa construiesti programe in orice limbaj. Odata deprinse fundamentele, trecerea de la un limbaj la altul va fi o treaba destul de usoara
Mai multe despre acest subiect am vorbit aici: http://igotopia.ro/vreau-sa-invat-programare-cum-sa-fac-4-pasi/  (^– nu e doar teorie, ai acolo tutoriale amuzante (in limba romana) pe care le poti testa imediat in browser)

Ideea e urmatoarea:
  1. Intai invata “literele” (adica instructiunile de baza pe care le cunoaste un calculator).
  2. Si invata cum poti lega “literele” in “cuvinte” valabile (adica cum poti grupa instructiunile de baza pentru a scrie programe corecte).
  3. Iar apoi invata cum poti lega “cuvintele” in “fraze” (adica cum poti lega intre ele diverse programe pentru a construi programe mai complexe).
  4. Si abia la urma, dupa ce vei stapani astfel “limba”, iti vei putea pune problema utilizarii unui anumit “stil literar” (gen C++, Java, sau PHP). Altfel te arunci intr-un bazin de cinci metri fara sa stii sa inoti.
Dacă sunteți un programator incepator Java decât am recomanda BlueJ deoarece este conceput pentru a preda programare de bază. Este un pic tăiat în jos, inclusiv doar caracteristicile de bază, dar are toate elementele esențiale și are o componentă vizuală frumos, care este util pentru a ajuta începători înțeleagă conceptele de obiecte, de coeziune și de cuplare. De asemenea, a verifica afară Java Tutoriale .Dacă sunteți în căutarea pentru un IDE complet, mi-ar merge pentru NetBeans .


Ce software-ul este folosit pentru programare Java?
Sunt pe cale de a învăța de programare Java și vreau să știu ce software-ul se instalează astfel încât i se poate începe practicarea a avea un start cap înainte de începerea mele de școlarizare.
Dacă tocmai ați început să învețe, atunci e mai bine să nu utilizeze nici un IDE întâi. Începe de la bază. Prima descărca și instala JDK 1.6 de la http: //java.sun.com/javase/downloads/wid ... 
După ce îl instalați, setați calea, astfel încât Windows va fi capabil să găsească compilator java. Path este setat ca aceasta: Start -> Panou de control -> Sistem -> Advanced Click pe Variabile de Mediu, în conformitate cu variabile de sistem, găsi PATH, și faceți clic pe ea.In Editare ferestre, modifica PATH prin adăugarea de locația directorul bin din JDK nou instalat la valoarea de PATH, de exemplu, C: \ Program Files \ Java \ jdk1.6.0 \ bin, Închideți fereastra. Scrie o clasă HelloWorld java. Compilarea și rulați-l de la linia de comandă. Noroc!

Principalul lucru care aveți nevoie este kit-ul Java devlopment pe care le descărcați de la http://sun.java.com. Că vă oferă instrumentele de care aveți nevoie linia de comandă, javac (compilatorul) si Java (runtime). Orice altceva este opțională. Ai putea cod în Notepad, dacă ai vrut să (de fapt, ai putea face asta cu orice limbaj de programare, dar aproape nimeni nu face asta). Dacă doriți o cu drepturi depline IDE, uita-te la fiecare Eclipse sau NetBeans. Dacă doriți un editor de text cu unele funcții mai avansate, uita-te pentru Notepad ++
Mulți oameni folosesc Eclipse de la www.eclipse.org. Cu toate acestea, există de tone de (medii de dezvoltare integrate) IDE de acolo. Puteți chiar pur și simplu folosi doar Notepad și instala JDK pe mașina dvs. și rulați-l prin linia de comandă. Presupun că utilizați Windows. Eclipse functioneaza pe Linux prea, nu sunt sigur despre mac.  http: //en.wikipedia.org/wiki/Java_Develo ...
Vă recomandăm să vizitați site-ul Sun Java Tutorial. Ea are un link de descărcare NetBeans IDE și utilizează ca exemple săi.http://java.sun.com/docs/books/tutorial/ nu doar face pe JDK, NetBeans primi. Veți vedea link-ul de pe acea pagina. 
Puteți obține detalii despre JAVA aici, http://en.wikipedia.org/wiki/Java_ (progr ...
JDK (kit de dezvoltare Java) pe site-ul sun.microsoft care este interfață bazată pe caracter .. (folosind notepad) sau pentru IDE, fasole net ... 
Cele mai bune 2 compilatoare gratuite l-am folosit au fost Eclipse și NetBeans




PHP-ul se invata relativ usor, cata vreme intelegi niste concepte de baza si ai posibilitatea de-a asimila cunostinte rapid si “din mers”.  Daca alegi sa faci web development, poti merge de exemplu pe combinatia PHP / MySQL / HTML / CSS / JavaScript / Ajax. Par multe – dar de invatat le inveti pe parcurs, pas cu pas – si inveti sa combini deseori tehnologiile ca sa obtii rezultatul dorit. Cele mai bine plătite sunt: C++, PHP-MySql şi Java (nu neapărat în ordinea asta).
Oricum, din clipa în care ai început să înveţi un limbaj de programare ajungi să înveţi câte puţin din fiecare.
Aşa că, de exemplu, dacă vrei să înveţi PHP, o să ajungi să trebuiască să cunoşti şi MySql, HTML, CSS, JavaScript, jQuery, jSon, XML şi alte câteva.
Dacă nu te sperie toate denumirile astea, un început bun e site-ulhttp://www.w3schools.com. Aia e baza. Apoi, treci la ceva mai avansat.
MDN e o alegere mult mai buna. Si poti foarte bine sa-i intrebi direct pe oamenii care fac standardele. Multi sunt pe twitter si garantez ca sunt foarte abordabili si foarte dispusi sa ajute daca te vad ca faci un efort.
Dar daca vrei sa incerci sa vezi ce ti-ar placea, ai la dispozitie o multime de cursuri online. Daca te tenteaza programarea web, poti sa incepi prin a te uita sub capota blogului si a te juca pe acolo. In momentul in care strici ceva, o sa ai un motiv al dracului de bun sa inveti cum sa modifici.
lucruri de baza in programare pentru analiza pe cod  
Limbajul de programare e doar un fel de interfata, care se poate invata mai repede sau mai incet. Mai greu si mai important este sa inveti niste lucruri precum algoritmi, functii. Or, lucrurile astea se invata prin foarte mult exercitiu, incepand de la lucruri foarte simple. Un exemplu simplu ar fi de exemplu, sa gasesti mai multe metode de generare si afisare a sirului Fibonacci in acelasi limbaj de programare. Multe exercitii https://projecteuler.net/
la nivel global nu stiu sa fie ceva mai bine platit decat Objective C. Aici se poate vedea foarte bine axioma cu cererea si oferta. Cu cat sunt mai putini specialisti pe un anumit limbaj, cu atat se va plati mai bine.
Limbajele depind foarte mult unele de altele, pentru ca obiectul lor difera, iar intr-un proiect mai mare va trebui sa se lucreze cu mai multe limbaje de programare.
Pentru cei care vor sa se apuce de invatat, eu as recomanda sa inceapa cu C# pentru fundamente. Apoi multe, multe probleme de pe project-euler. Apoi trebuie ales un anumit limbaj in functie de interesele celui care vrea sa invete. Daca vrea sa se axeze pe web atunci ASP.NET, php, mysql, css, html, java, python etc. Daca atractia e mai mare pentru partea de software C++, SQL, JSON, Objective C.

Java nu are nevoie de nimic special pentru a începe. Ai putea descărca codul SDK, tipul în editorul de texte favorit și tu ești sus și să fie difuzate. Sunt presupunând că mă întrebi despre un IDE, deși, care vă permite să organizați fișierele în proiecte, are evidențierea sintaxei, cod de finalizare, etc. Aceasta depinde de ceea ce folosește școala dumneavoastră. Unul populare folosite în școli aici este numit Eclipse ( http://www.eclipse.org/ ).


Daca inveti PHP vei invata imediat si HTML, CSS, JAVA, MYSQL pentru ca vei avea nevoie, asa vei invata pe plus 4 limbaje asemanatoare si vei sti cum sa le pui in ordine pentru ca au legatura .