Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Naučite programski jezik C od nule. Program od nule

Naučite programski jezik C od nule. Program od nule

Skinuti

D. Knut. Umetnost programiranja. U tri toma. Klasik programiranja. djvu.

Sveska 1. 680 str. 5,8 MB. Skinuti.

Tom 2. 790 str. 6,3 MB. Skinuti.

Svezak 3. 800 str. 6,6 MB. Skinuti.

Kernighan B.W., Ritchie D.M. C programski jezik. 3rd ed. i ispravno. 2003 355 str. PDF. 15.9 MB.
Knjiga poznatih autora, programera jezika C, revidirana i proširena uzimajući u obzir ANSI standard za jezik C, čije je 2. englesko izdanje objavljeno 1988. godine, odavno je postala klasik za sve studente i/ili korisnici i C i C++. Ruski prevod ove knjige prvi put je objavila izdavačka kuća Finance and Statistics 1992. godine i od tada je stalno tražen među čitaocima. Za ovo treće rusko izdanje, prevod je ponovo proveren sa originalom, napravljene su neke izmene i dopune, uzimajući u obzir promene terminologije koje su se ustalile tokom godina, kao i komentare koje je autor objavio na stranici http ://cm.bell-labs.com/cm/ se takođe uzimaju u obzir cs/cbook/2ediffs.html.
Za programere, nastavnike i studente.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Kernighan B.W., Ritchie D.M. Programski jezik str. 229 str. PDF. 1.3 MB.
Jezik C (izgovara se "C") je univerzalni programski jezik koji karakteriše štedljivo izražavanje, moderni tok kontrole i strukture podataka, i bogat skup operatora. Jezik "C" nije ni jezik "veoma visokog nivoa" ni "veliki" jezik i nije namijenjen za bilo koju posebnu oblast primjene. ali nedostatak ograničenja i općenitost jezika čine ga pogodnijim i efikasnijim za mnoge zadatke od jezika koji su navodno moćniji. Jezik “C”, prvobitno namijenjen za pisanje “UNIX” operativnog sistema na računaru DEC P DP-11, razvio je ovaj sistem igračaka Dennis Ritchie. Operativni sistem, C kompajler i u suštini svi UNIX aplikativni programi (uključujući sav softver koji se koristio u pripremi ove knjige) napisani su na C. Komercijalni prevodioci za "C" jezik postoje i na nekim drugim računarima, uključujući IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. "C" jezik, međutim, nije vezan za neki određeni hardver ili sistem, i lako je pisati programe u njemu koji se mogu pokrenuti bez modifikacija na bilo kom računaru koji ima "C" kompajler.
Ova knjiga je osmišljena da pomogne čitaocu da nauči programirati u C. Sadrži tutorijal čiji je cilj da novi korisnici počnu sa programiranjem što je brže moguće, odvojena poglavlja o svim glavnim karakteristikama jezika i referentni priručnik. Obuka se uglavnom zasniva na čitanju, pisanju i analizi primjera, a ne na goloj formulaciji pravila. Primjeri navedeni u knjizi su uglavnom potpuni stvarni programi, a ne pojedinačni fragmenti. Svi primjeri su provjereni direktno iz teksta knjige, gdje su odštampani u obliku pogodnom za unošenje u mašinu. Pored pružanja smjernica o tome kako učiniti upotrebu jezika efikasnijom, također smo pokušali, gdje je to bilo moguće, ilustrirati korisne algoritme i principe dobrog stila i dizajna zvuka.
Ova knjiga nije uvodni kurs u programiranje; pretpostavlja poznavanje osnovnih koncepta programiranja kao što su varijable, iskazi dodjeljivanja, petlje i funkcije. Međutim, čak i početnik u programiranju trebao bi biti u stanju da čita uzastopno i da se dobro snađe u jeziku, iako bi pomoć iskusnijeg kolege bila od pomoći.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Carrano, Pritchard. Apstrakcija podataka i rješavanje problema u C++. 3rd ed. 2003 850 str. PDF. 21.9 MB. Osim što pruža čvrstu osnovu tehnika apstrakcije podataka, naglašava razliku između specifikacije i implementacije, što je fundamentalno za objektno orijentirani pristup. Knjiga detaljno raspravlja o ključnim konceptima objektno orijentisanog programiranja, uključujući enkapsulaciju, nasljeđivanje i polimorfizam, ali fokus je uvijek na apstrakciji podataka, a ne na C++ sintaksičkim konstrukcijama. Knjiga će biti korisna svima koji su zainteresovani za dubinsko proučavanje najvažnijih aspekata OOP-a i potpuno ovladavanje odgovarajućim mogućnostima C++ jezika.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Grb Kammera. Novi složeni problemi u C++. 2005 godina. 271 str. djvu. 2.2 MB.
Ova knjiga je nastavak ranije objavljene knjige “Rješavanje složenih problema u C++-u”. Savremene metode projektovanja i programiranja u C++-u se razmatraju u formi problema i njihovih rešenja. Knjiga se ne koncentriše samo na autorovo bogato dugogodišnje programsko iskustvo u C++, već i na čitavu C++ programsku zajednicu, tako da neke od autorovih preporuka mogu izgledati neočekivano čak i iskusnim profesionalnim programerima. Autor ispituje i specifične programske tehnike, tehnike i idiome, ali glavna tema knjige je stil programiranja, u najširem smislu te riječi. Posebna pažnja u svim zadacima knjige posvećena je pitanju dizajna, koji treba da obezbedi maksimalnu pouzdanost, sigurnost, performanse i održivost kreiranog softvera.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Laszlo M. Računska geometrija i kompjuterska grafika u C++. 1997 150 duplih strana DJVU. 18,6 MB.
Knjiga opisuje glavne probleme koji se javljaju u kompjuterskoj grafici i računarskoj geometriji. Razmatraju se praktični problemi i daju se relativno jednostavne metode za njihovo rješavanje. Predstavljene su osnovne tehnike za razvoj i analizu algoritama, razmotrene su elementarne strukture podataka (liste i stabla) i načini njihove upotrebe.
Za primijenjene matematičare, diplomirane studente i studente kao udžbenik iz mašinskog dizajna, kompjuterske grafike i prepoznavanja uzoraka.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti

Laptev i dr. C++. Objektno orijentirano programiranje. Zadaci i vježbe. 2007 288 str. DJVU. 3.2 MB.
Knjiga ima za cilj da istraži mogućnosti objektno orijentisanog stila programiranja u C++. Date su informacije o sintaksi i semantici objektno orijentiranih C++ konstrukcija i standardne biblioteke STL predložaka. Knjiga sadrži potrebne teorijske podatke, vježbe i zadatke za samostalan rad, referentne informacije o najpopularnijim programskim okruženjima: C++ Builder 6 i Visual C++.NET 2003. Za nastavnike i studente, programere početnike.
Odobreno od strane Ministarstva obrazovanja i nauke Ruske Federacije kao nastavno sredstvo za studente visokoškolskih ustanova koji studiraju u oblasti priprema „Informatika i računarstvo“.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti

J. Liberty. Naučite C++ sami. 3rd ed. godine 2009. 820 str. djvu. 10.4 MB.
Knjiga opširno predstavlja mogućnosti najnovije verzije softverskog proizvoda Microsoft Visual C++. Detaljno su opisani alati i pristupi programiranju modernih profesionalnih aplikacija. Materijali knjige dopunjeni su brojnim demo programima, čiji proces razvoja maksimalno koristi mogućnosti softverskih alata Microsoft Visual Studio.
Posebna pažnja je posvećena novostima u verziji 6.0 i najnovijim tehnologijama objektno orijentisanog programiranja, uključujući upotrebu MFC biblioteke i šablona klasa, kao i kreiranje povezanih lista. Posebna lekcija posvećena je pitanjima objektno orijentisane analize i dizajna aplikacija. Sva sredstva i pristupi za konstruisanje sopstvenih prilagođenih klasa su detaljno razmotreni. Knjiga je namenjena širokom krugu čitalaca zainteresovanih za probleme modernog programiranja.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Stanley B. Lippman, Josie Lajoye. C++ za početnike. godine 2001. 1167 str. PDF. 6.1 MB.
Knjiga poznatog stručnjaka za jezik C++ Stenlija Lipmana nastala je u koautorstvu sa Džozi Lajoi, koja je aktivno učestvovala u razvoju međunarodnog C++ standarda. Uprkos naslovu, ova publikacija je sveobuhvatan vodič za učenje moderne verzije jezika C++. Autori razmatraju kako osnove jezika (struktura C++ programa, korištenje predprocesorskih naredbi i datoteka zaglavlja) tako i složenije strukture (izuzeci, klase, predlošci funkcija i klasa, preopterećenje operatora, višestruko nasljeđivanje, itd.). Tekst sadrži veliki broj primjera koji objašnjavaju prezentirani materijal. Knjiga je namenjena onima koji počinju da uče jezik C++, ali će iskusniji programeri naći i korisne informacije o funkcionisanju složenih jezičkih konstrukcija, kao i opis najnovijih inovacija u C++ standardu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Mozgovoy M.V. 85 netrivijalnih projekata, primjera i zadataka. Master klasa C++ serija. 2007 135 str. djvu. 5.1 MB.
Ova knjiga je posvećena analizi zanimljivih problema koji se susreću u svakodnevnoj praksi programiranja i koji zahtijevaju netrivijalne pristupe njihovom rješavanju. Koristeći mali broj reprezentativnih, realističnih primjera, ilustrovana je primjena važnih algoritama i tehnika programiranja. Identificirani su zadaci u kojima se mogu koristiti određeni pristupi i rješenja.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Overland. C++ bez straha. Serija "Znanje i iskustvo stručnjaka". Rybe se može čitati od nule, što znači da nisu potrebne vještine programiranja. 4.6 MB. 430 str. djvu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Pakhomov B.I. C/C++ i MS Visual C++ 2008 za početnike. Udžbenik. godine 2009. 609 strana, djvu. 9.3 MB.
Knjiga je vodič za početnike za razvoj aplikacija u Microsoft Visual C++ 2008 Express Edition. Razmatraju se osnovni elementi programskih jezika C/C++ i primjeri kreiranja najjednostavnijih klasa i programa. Navedeni su principi vizuelnog dizajna i programiranja događaja. Konkretni primjeri pokazuju glavne mogućnosti vizualnog razvojnog okruženja Visual C++ 2008 Express Edition, svrhu osnovnih komponenti i proces razvoja različitih tipova konzolnih i Windows aplikacija.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Prokhorenok N.A. Programiranje u C++ sa Visual Studio 2010 Express. 2010 229 str. djvu. 2.1 MB.
Osnovna sintaksa jezika C++ je opisana u vezi sa besplatnim okruženjem Visual Studio 2010 Express: tipovi podataka, operatori, uslovi, petlje, ugrađene funkcije, objektno orijentisano programiranje, rad sa datotekama i direktorijumima, često korišćeni moduli standardna biblioteka.
Knjiga također pokriva standardnu ​​biblioteku predložaka (STL), koja implementira dinamičke nizove, skupove, redove i stekove. Zahvaljujući velikom broju primjera, knjiga će biti korisna kao vodič za programere početnike. Čitaoci koji već imaju iskustvo u programiranju mogu koristiti knjigu kao referencu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Pavlovskaya T. A., Shchupak Yu. A. C++. Objektno orijentirano programiranje: Radionica. 2006 265 str. PDF. 7.9 MB.
Radionica je namijenjena studentima koji uče jezik C++ na seminarima ili samostalno. Klase, predlošci, nasljeđivanje, izuzeci, standardna biblioteka, UML, koncepti softverskog inženjeringa i projektni radovi su razmotreni uz primjere, popraćene potrebnom teorijskom pozadinom. Raspravlja se o algoritmima, tehnikama otklanjanja grešaka i pitanjima kvaliteta. Za svaku temu dat ću 20 varijanti zadataka. Odobreno od strane Ministarstva obrazovanja Ruske Federacije kao nastavno sredstvo za studente visokoškolskih ustanova koji studiraju u oblasti "Informatika i računarstvo".

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

T. A. Pavlovskaya. C/C++. Programiranje na jeziku visokog nivoa. Iz serije "300 najboljih udžbenika". 2003. 461 str. PDF. 9.7 MB.
Svrha ove knjige je da pruži sažet i jasan prikaz jezika C++ u skladu sa standardom ISO/IEC 14882. Namijenjena je studentima koji jezik uče od nule, ali će biti korisna i za iskusnije programere. Cilj koji je bio postavljen prilikom pisanja knjige bio je dati ispravno razumijevanje mogućnosti C++ jezika i načina na koji se one koriste, poticaj za dalje proučavanje ovog i drugih programskih jezika i ključ za razumijevanje modernog objektno orijentisanog tehnologije.
Testni zadaci o ključnim temama predstavljeni su u 20 verzija, a autor se nada da će nastavnici cijeniti brigu o njima.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Pavlovskaya T. A., Shchupak Yu. A. C++. Objektno orijentirano programiranje: Radionica. 2003 240 str. djvu. 3.2 MB.
Radionica je namijenjena studentima koji uče jezik C++ na seminarima ili samostalno. To je dodatak udžbeniku T.A. Pavlovskaja: C/C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

K. Polyakov. Programiranje u SI jeziku. 2002 4 poglavlja u zasebnim PDF datotekama. Veličina arhive 2,7 MB.
Poglavlje I. Uvod u programiranje. Poglavlje II. Čuvanje i obrada podataka. Poglavlje III. Razvoj softvera. Poglavlje IV. Dinamičke strukture podataka.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Podkur M.L. Podkur P.N. Smolentsev N.K. Programiranje u Borland C++ Builder okruženju sa MATLAB C/C++ matematičkim bibliotekama. 2006 498 str. djvu. 8.9 MB.
Ova knjiga je posvećena predstavljanju COBMeCThoro problema korišćenja bogate biblioteke vizuelnih komponenti Borland C++ Builder i mogućnosti jezika C++ sa moćnim matematičkim procedurama MATLAB@. Knjiga sadrži osnove programiranja u Borland C++ Builder-u i MATLAB-u, opis MATLAB matematičkih biblioteka za CjC++ i MATLAB kompajlere (uključujući najnoviju verziju). Razmatraju se primjeri programa u Borland C++ Builder-u koji koriste MATLAB matematičke biblioteke. Iako postoji dosta knjiga o osnovama MATLAB sistema i o programiranju u CjC++ i Borland C++ Builder-u, trenutno ne postoji nijedna knjiga koja bi pokrila pitanja zajedničkog korišćenja MATLAB-a i C/C++ i Borland C++ Builder.
Knjiga je namenjena nastavnicima i studentima specijalnosti bliskih primenjenoj matematici (matematička obuka čitaoca se podrazumeva u okviru tehničkog univerziteta), profesionalnim C++ programerima koji se suočavaju sa problemima implementacije matematičkih algoritama u C++ i MATLAB programerima koji žele da koristite fleksibilni C++ jezik i veliku biblioteku vizuelnih komponenti Borland C++ Builder za implementaciju MA TLLV algoritama u obliku kompletnih aplikacija nezavisnih od MATLAB-a.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Prata Steven. Programski jezik C++. Predavanja i vježbe. Udžbenik. 2005 godina. 1100 str. djvu. 30 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Rex Zheszke. TOLKOBBLY SILOBARb STANDARDSCH8 Y3blKA SI. 225 str. DJVU. 5.2 MB.
Rječnik je pilot u moru naziva i pojmova koji se koriste pri radu na SI jeziku: američkom (ANSI C) i međunarodnom (ISO C). Knjiga je namijenjena programerima svih nivoa poznavanja SI jezika.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti

Sutter, Herb. Novi izazovni zadaci u C++. 2005 godina. 272 str. 2,2 MB.
Ova knjiga je nastavak ranije objavljene knjige Rješavanje složenih problema u C++. Savremene metode projektovanja i programiranja u C++-u se razmatraju u formi problema i njihovih rešenja. Knjiga se ne koncentriše samo na autorovo bogato dugogodišnje programsko iskustvo u C++, već i na čitavu C++ programsku zajednicu, tako da neke od autorovih preporuka mogu izgledati neočekivano čak i iskusnim profesionalnim programerima. Autor ispituje i specifične programske tehnike, tehnike i idiome, ali glavna tema knjige je stil programiranja, u najširem smislu te riječi. Posebna pažnja u svim zadacima knjige posvećena je pitanju dizajna, koji treba da obezbedi maksimalnu pouzdanost, sigurnost, performanse i održivost kreiranog softvera.
Knjiga je prvenstveno namenjena profesionalnim programerima sa dubokim poznavanjem jezika, ali će biti korisna svima koji žele da prodube svoja znanja iz ove oblasti.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Slabzhennikov S.N. Programiranje u C++. Uchebntmk. 2004-2008. 3 PDF fajla u jednoj arhivi 880 KB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Stephens, Diggins, Turkanis, Cogswell. C++. Zbirka recepata. 2007 624 strane, djvu. 11,6 MB.
Ova knjiga pokriva sljedeće teme:
rad sa brojevima; rad sa datumom i vremenom; streaming I/O; Obrada izuzetaka; rad sa klasama i objektima; primjene u zgradama; raščlanjivanje XML dokumenata; obrada stringova i teksta; višenitna obrada; algoritmi standardne biblioteke i kontejneri; programiranje matematičkih problema; internacionalizacija; Boost.Build sistem.
Knjiga pruža stvarna rješenja koja odražavaju moderne C++ metode programiranja. Fokus je na performansama i prenosivosti, uzimajući u obzir zvanične i specifične standarde. Mnoga rješenja koriste prednosti C++ standardne biblioteke. Autori takođe pregledaju biblioteke Boost, koje odražavaju neke od najinovativnijih ideja u C++ svetu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Stevens. TEHNIKE PROGRAMIRANJA ZA TURBO SI. txt u RAR arhivi, 135 KB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Stroustrup. Dizajn i evolucija C++. Knjigu je napisao tvorac jezika C++. 2006 440 str. djvu.
2.9 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Stroustrup. C++ programski jezik. 2nd add. ed. doc u RAR arhivi. 430 KB.
Više volim ovaj PDF fajl. 2.6 MB.
Knjiga kreatora najpopularnijeg programskog jezika.
Odličan udžbenik C++ koji bi trebao biti na polici svakog C++ programera koji poštuje sebe. Autor u svojoj knjizi govori o osnovama jezika, fokusirajući se prvenstveno na objektnu orijentaciju C++-a.
Iz knjige čitalac saznaje o:
1. Koji su osnovni principi objektno orijentisanog programiranja i kako se implementiraju u C++. 2. Kako je podržana apstrakcija podataka. 3. Šta su klase i objekti. 4. Za koje se virtuelne funkcije koriste 5. Šta su predlošci tipova i šabloni klasa 5. Kako se javlja rukovanje greškama 7. Na koji način se vrši unos/izlaz podataka 8. Koje su faze objektno orijentisanog procesa projektovanja 9. Kako dizajnirati biblioteke. I mnogo više.
Knjiga će svakako biti korisna apsolutno svima koji su zainteresovani za objektno orijentisano programiranje, a posebno za jezik C++.

. . . . . . . Preuzmite doc. . . . . . . . . . . . . . . . Preuzmite PDF.

Sedgwick. Osnovni algoritmi u C++. Princeton, 3. izd. 15.4 MB. 690 str. djvu

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Tikhomirov Yu.I. MFC tutorial. godine 2000. 628 strana, PDF. 20,5 MB.
MFC biblioteka je moćan i fleksibilan alat za razvoj Windows aplikacija zasnovanih na Visual C++ jeziku. Knjiga sadrži detaljne informacije o glavnim klasama biblioteke i njihovim komponentama. Razmatraju se principi kreiranja jedno- i višedokumentnih aplikacija, svih vrsta prozora, kontrola i rada sa bazama podataka. Praktični primjeri će vam pomoći da savladate teorijski materijal i istovremeno savladate moderan stil programiranja.
U dodatku su date osnove jezika C++, što omogućava preporuku knjige ne samo obučenim programerima koji žele da se upoznaju sa MFC bibliotekom, već i početnicima.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Tan, Steeb, Hardy. Character C++. Uvod u kompjutersku algebru korišćenjem objektno orijentisanog programiranja. Per. od 2. engleskog ed. godine 2001. 622 strane, djvu. 5.2 MB.
Knjiga predstavlja pristup razvoju novog sistema kompjuterske algebre zasnovanog na objektno orijentisanom programiranju. U prvim uvodnim poglavljima izlažu se zahtjevi korisnika za takve sisteme, opisuju se neophodni matematički aparati koji su u osnovi razvoja sistema i daju pregled najpopularnijih postojećih sistema (REDUCE, MAPLE, AXIOM, MATHEMATICA, MuPAD). Zatim se razmatraju osnovni koncepti objektno orijentisanog programiranja, jezici Java, Eiffel, Smalltalk, Lisp i Oberon, ocrtani su alati jezika C++ i predstavljen je novi sistem kompjuterske algebre, SymbolicC++. Navedeni su primjeri primjene sistema na zadatke iz matematike i fizike (Gödelova numeracija, Padéova aproksimacija, tehnika Lieovog niza, Picardova metoda, Mandelbrot fraktalni skup, itd.). Knjiga sadrži popis svih komponenti sistema, što omogućava korisnicima da razvijaju i proširuju sistem u skladu sa svojim potrebama. Za studente osnovnih i postdiplomskih studija univerziteta kao udžbenik, za specijaliste računarske algebre kao referentni alat, kao i za neprofesionalce koji žele da prošire svoja znanja o mogućnostima računarske tehnologije.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Flenov M.E. DirectX i C++. 2006 195 str. djvu. 5.8 MB.
Razmatra se programiranje grafičkih efekata u C++ koristeći popularnu DirectX biblioteku. Zabavni praktični primjeri pokazuju kako se kreiraju različiti vizualni efekti (realistična vatra, električna pražnjenja, ogledala itd.) koji se koriste u izradi demo videa (Demoscene). Korištenje osnovnih DirectX metoda i sučelja opisano je korak po korak. Pokazuje kako napisati optimalan i efikasan programski kod. Velika pažnja posvećena je tehnologiji korištenja vertex i pixel shadera za stvaranje realističnih slika.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Holzner S. Visual C++ 6. Kurs obuke. 2007 575 pp. DjVu. 16.2 MB.
Popularna serija "Korak po korak" namijenjena je onima koji nove softverske proizvode uče na kursevima ili samostalno. Nakon što proučite ovu knjigu, pohađaćete osnovni kurs programiranja u Microsoft Visual Basicu 6.0. Tajna da postanete profesionalni Visual Basic programer je u pisanju programa koji od vas zahtijevaju korištenje širokog spektra Visual Basic funkcija. To uključuje: temeljno znanje i sposobnost praktične primjene standardnih kontrola na traci sa alatkama i ActiveX komponenti; sposobnost ispravnog uspostavljanja i manipulacije svojstvima, funkcijama i događajima objekta; sposobnost pisanja jasnog i sažetog programskog koda sa mogućnošću ponovne upotrebe nekih segmenata programa u budućnosti; mogućnost kreiranja vizuelnog i efikasnog korisničkog interfejsa. U svakoj od lekcija ovog kursa pažnja čitaoca je usmerena na ove principe programiranja. Otkrićete da ćete moći odmah da primenite veštine i znanje koje ste naučili iz primera u ovoj knjizi da kreirate složenije aplikacije Visual Basica za izvođenje praktičnih problema u stvarnom svetu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Hyman, Arnson. Visual C++ .NET za lutke. Dakle, odlučili ste da ozbiljno shvatite Visual C++ .NET. Ovo je dobra ideja, jer zapravo ubijate tri muve jednim udarcem: u rukama imate moćno, korisno i široko rasprostranjeno oruđe. Mnogo toga možete učiniti sa C++. Korišćen je za kreiranje proizvoda kao što su Excel i Access. Ovaj jezik se takođe koristi u razvoju upravljačkih informacionih sistema i ciljanih sistema koji se koriste za analizu aktivnosti preduzeća i donošenje odluka u oblasti poslovnog upravljanja. I, naravno, čitave armije hakera i drugih hakera koriste C++ za kreiranje alata, uslužnih programa, igara i multimedijalnih remek-djela. Znanje koje ćete steći učenjem C++ .NET jezika. će vam omogućiti da kreirate ne samo aplikacije, već aplikacije koje rade na različitim operativnim sistemima. Mogućnosti ovog jezika su praktično neograničene, a u to ćete se uvjeriti čitajući ovu knjigu. Knjiga je namenjena programerima početnicima. 3.0 MB. 280 str. PDF.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Max Schlee. Profesionalno programiranje u C++. 3rd ed. godine 2009. 863 str. djvu. 25.1 MB.
Najbolja knjiga za početno učenje višeplatformske Qt biblioteke za C++. Ako ranije niste radili sa Qt-om, nemojte ni razmatrati druge opcije. Max Schlee je vrlo detaljno i jasno opisao korištenje svih glavnih klasa biblioteke u knjizi.
Vrijedi napomenuti da se ova knjiga značajno razlikuje od slične knjige o Qt3: dosta informacija je ažurirano i dodano. Pojavile su se čak i nove sekcije, a u nekim programskim zadacima, na primjer, grafike s prelaskom sa Qt3 na Qt4, pojavili su se mnogo noviji i bolji pristupi rješavanju ovih problema, što je dovelo do pojave potpuno novih klasa (stare slične klase su sada zastarjeli, ali su zadržani, čime bi se riješili problemi kompatibilnosti, naravno, ali o njima se više ne govori u knjizi) i potpuna revizija nekih dijelova knjige! Odnosno, izvucite zaključak: knjiga o QT3 je očigledno zastarjela i još je bolje da je ne otvarate, već odmah pređite na ovu... inače ćete je morati ponovo učiti...

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

G. Shildt. C++. Vodič za početnike. 2005 godina. 669 str. djvu. 18.1 MB.
Knjiga opisuje osnovne alate jezika C++ koje programer početnik treba da savlada. Nakon što pokrije elementarne koncepte (varijable, operatori, kontrolne instrukcije, funkcije, klase i objekti), čitatelj može lako prijeći na složenije teme kao što su preopterećenje operatora, mehanizmi rukovanja izuzecima, nasljeđivanje, polimorfizam, virtuelne funkcije, izlazni kapaciteti i predlošci Autor knjige, opštepriznati autoritet u oblasti programiranja na jezicima C i C++, Java i C#, uključio je u svoju knjigu mnoge samotestove koji vam omogućavaju da brzo proverite stepen savladanosti gradiva, kao npr. kao i odeljci „pitanja i odgovori“ koji promovišu dublje učenje osnova programiranja čak i u početnoj fazi.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Yu.A. Shupak. Win32 API. Efikasan razvoj aplikacija. 2007 573 str. djvu. 22,5 MB.
Ova knjiga opisuje osnovne principe programiranja za Windows u C/C++ koristeći Win32 API. Knjiga je namijenjena širokom krugu čitalaca: od programera početnika, studenata, diplomiranih studenata i nastavnika do profesionalaca u programiranju koji žele savladati posebne Win32 API alate. Praksa pokazuje da se oni programeri koji počnu savladavati programiranje za Windows odmah na nivou MFC ili Windows Forms, a da nemaju iskustva sa Win32 API-jem, suočavaju sa ozbiljnim problemima čim dođe do kreiranja pravih aplikacija. Naprotiv, iskustvo programiranja sa Win32 API-jem omogućava vam da savladate više tehnologije mnogo skladnije i produktivnije.
Osnovno poznavanje Win32 API-ja je čvrsta osnova za vaš profesionalni razvoj u oblasti programiranja.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skinuti.

Alger. C++, biblioteka programera. Knjiga pretpostavlja da se bavite programiranjem nekoliko godina i da ste prestali da se nazivate samo programerom, već dodajete seniora, voditelja i tako dalje. Ako prepoznajete sebe, onda je ova knjiga za vas. 1.9 MB. 260 str. PDF.

Poteškoća u radu sa programerom je u tome što ne možete shvatiti šta on radi dok ne bude prekasno.


Kome je namijenjen ovaj kurs programiranja?

Ovaj odjeljak namijenjen je prilično širokom krugu čitatelja. Za one koji to žele, ali još ne znaju odakle da počnu. Za programere početnike, kao i za one koji vjerovatno ne žele postati profesionalni programeri, ali su zainteresirani za programiranje kako bi proširili svoje vidike. Za one kojima nije dovoljno samo čitati o nečemu, već imaju želju da se „lično upoznaju sa svime novim“ i „okrenu svaki novi predmet u svoje ruke“. Ukratko, tu ste možete naučiti osnove programiranja ili, kako još kažu, savladati programiranje od nule. Pa, za manje-više iskusne programere, mogu predložiti upoznavanje sa priručnikom, gdje je potrebno osnovno znanje programiranja odmah.

Nekoliko riječi o procesu programiranja

Ne biste trebali tretirati programiranje, barem ne, kao nešto složeno i podložno ljudima sa “posebnim” načinom razmišljanja. Ljudi se svakodnevno susreću sa osnovama programiranja, a ne želim ni da navodim primjere, jer je sve to banalno. Programiranje na računaru korišćenjem je samo formalizovana komunikacija sa računarskom tehnologijom kako bi mu se objasnilo šta od njega želite i da bi se iz toga postigao adekvatan rezultat. Objasnite jasno, koristeći logiku i zdrav razum.

Ima li smisla početi učiti osnove programiranja ili je "voz već otišao"?

Danas je opći trend razvoja programiranja usmjeren na i druge pristupe organizovanju distribuiranih softverskih arhitektura, ali je sam koncept nepromjenjiv u odnosu na nove tehnologije za razvoj softverskih proizvoda. Kompletnu arhitekturu kompleksa za vas će napisati kompanije koje su lideri na tržištu računarske tehnologije. Oni će vam tada prodati plodove svog rada, ali ćete i dalje morati da ispunite šablone odluka koje oni daju smislom. Ovo je slično procesima izgradnje standardnih zgrada i izvođenja individualnih renoviranja u svakoj od njih. Ovakvim pristupom praktički nema razlike između implementacije istog zadatka, koji bi u jednom slučaju trebao postati dio „desktop aplikacije“, u drugom – biti dio objavljenog, ili čak raditi kao zaseban servis. U okviru virtuelne serverske infrastrukture.Na kraju krajeva, da li je teško pronaći razliku u procesima popravke prostorija panelnih, ciglenih ili monolitnih zgrada?Posla za aplikatora uvek ima dovoljno.

Stvaranje vlastitog je vrlo popularna i korisna stvar, a komercijalni poduhvat bez njega danas je rijetkost. Nikome ne treba govoriti da svakim danom postavljaju sve više netrivijalnih zahtjeva. Ne govorimo samo o sadržaju resursa (sadržaju), već io dizajnu, jednostavnosti korištenja i drugim kvalitetnim karakteristikama. Što se pretraživači bolje ponašaju prema vašoj web-lokaciji, to će vam više posjetitelja doći sa stranica s rezultatima pretraživanja. Programeri klasnih softverskih rješenja (šabloni web stranica) nude sve širi spektar alata i tema kako bi dodali jedinstvenost rješenjima kreiranim na njihovoj osnovi, ali ponekad je mnogo lakše sami razumjeti logiku stranice. Na sreću, najčešće se takvi predlošci distribuiraju u obliku izvorni kod, a svaki kompetentan programer može prilagoditi svoj rad svojim potrebama mijenjajući nekoliko desetina redova u istom. Obraćanje organizacijama trećih strana za individualni razvoj zasebnog softverskog proizvoda (web stranica je isti softverski proizvod) ili njegovu konfiguraciju da odgovara vašim zahtjevima možda neće biti isplativo. I ne samo da je to neisplativo u novcu, nego i u smislu vremena, nerava i mnogih drugih parametara...

Kratak opis predloženog kursa o učenju osnova programiranja

Ovaj kurs programiranja sadrži primjere rješavanja malih problema. Od onih koji se nalaze u kursevima informatike i osnova programiranja u srednjoj školi i na početnim kursevima univerziteta do onih sa kojima se programeri početnici mogu susresti na poslu. Zainteresovani će moći steknu iskustvo u programiranju ne u jednom programskom jeziku, već u dva odjednom - u i . Oba ova jezika su visokog nivoa i zasnovana su na istoj softverskoj platformi. Predlaže se korištenje slobodno distribuiranog softverskog proizvoda koji ima minimalno dovoljnu funkcionalnost za postizanje ciljeva postavljenih ovim kursom programiranja. Naravno, možete koristiti okruženje za profesionalni razvoj. Početi programirati ili poznavati osnovnu sintaksu mnogo je lakše nego početi programirati u njima od nule, budući da je njihova sintaksa vrlo slična. Početi učiti programiranje na / jezicima, mislim, generalno nije obećavajuće, jer (opet, moje lično mišljenje) evolucija nije na njihovoj strani. Ali, generalno, nema velike razlike koji programski jezik početnik treba da odabere, jer su principi, pristupi i tehnike ovog zanata svuda isti.

Ako sam te u to uvjerio upoznavanje sa osnovama programiranja i algoritamizacije može vam biti od koristi, pa pročitajte... Ako ne, onda predlažem da se i vi upoznate sa ovim

Svoj put do karijere programera trebali biste započeti odgovorom na pitanje da li vam je programiranje uopće potrebno? Ovo pitanje se ne odnosi na one koji studiraju ili su studirali u specijalnosti bliskoj programiranju. Ako ste u školi bili bolji u matematici od humanističkih nauka, ako volite da provodite puno vremena za kompjuterom, ako želite da naučite nešto novo, onda je programiranje za vas.

Gdje početi

Postoji nekoliko opcija za razvoj događaja, zbog čega osoba postaje programer. Prvi su roditelji-programeri koji su svoju djecu svemu naučili. Ova djeca čak i ne moraju ići na fakultet. Druga opcija je moderna profesija programera. Nakon škole, morali smo da biramo gde ćemo ići da učimo, i izabrali smo moderan smer IT, koji nam se činilo da nam se dopao. I posljednja opcija je hobi koji je prerastao u posao.

Ako vam se ništa od gore navedenog nije dogodilo, onda imate izbor između četiri opcije:

  • Samoobrazovanje. Ova opcija se može koristiti samostalno ili u kombinaciji s drugim metodama. Internet je pun aplikacija koje vam pomažu da naučite različite programske jezike i tehnologije. Ali ovo je najteži put za početnike.
  • Univerzitet. Ako završiš školu i želiš da budeš programer, onda idi na fakultet. Ako ne zbog znanja, onda zbog kore. Može poslužiti kao bonus prilikom prijave za posao. Iako ćete steći i neko znanje. Ali ne zaboravite da se obrazujete. Odabiru univerziteta treba pristupiti vrlo odgovorno. Pažljivo proučite programe obuke i odaberite najbolje tehničke univerzitete.
  • Mentor. Bit će jako dobro ako nađete osobu koja će pristati da vam pomogne i uputi vas u pravom smjeru. On će predložiti odgovarajuće knjige i resurse, provjeriti vaš kod i dati korisne savjete. Inače, već smo pisali o tome gdje možete pronaći mentora. Mentora možete potražiti među poznatim programerima, na IT zabavama i konferencijama, na online forumima i tako dalje.
  • Specijalizovani praktični kursevi. Pokušajte potražiti kurseve u svom gradu koji će vas naučiti nekom programskom jeziku ili tehnologiji. Bio sam prijatno iznenađen brojem takvih kurseva u Kijevu, uključujući i besplatne i sa naknadnim zapošljavanjem.

Koji jezik, tehnologiju i smjer odabrati

Kada postanete programer, nakon godinu ili dvije bićete slobodni da birate jezik koji vam se sviđa. Ali pri odabiru prvog programskog jezika, početnik bi trebao uzeti u obzir sljedeće kriterije:

  • Dostupnost slobodnih radnih mjesta na tržištu. Krajnji cilj ovog puta je pronaći posao programera. A to će biti teško učiniti ako niko ne traži programere u vašem programskom jeziku na tržištu rada. Provjerite sajtove za zapošljavanje, pogledajte ko je najtraženiji, napišite desetak jezika. I prijeđite na sljedeći kriterij.
  • Nizak ulazni nivo. Ako morate da provedete dugo vremena učeći jezik, to vas može obeshrabriti od programiranja. Pročitajte više o jezicima koje ste odabrali. Pregledajte literaturu koju ćete morati pročitati da naučite ove jezike. I odaberite one koje su opisane kao lake, ili koje vam se čine lakim. Takvi jezici mogu biti PHP, Ruby, Python.
  • Uzbuđenje procesa. Ako ne uživate u pisanju koda na odabranom jeziku, nećete uživati ​​u procesu, svom poslu ili životu. Da li ti treba? Napravite prave izbore.

Također ćete morati odlučiti o smjeru programiranja. Mobilni, desktop, igre, web, programiranje niskog nivoa i tako dalje. Najpopularnije i relativno jednostavne industrije su razvoj za web, mobilne i desktop klijente. Jedan jezik može biti prikladan za svaki smjer, a drugi nikako. Odnosno, pri odabiru programskog jezika također vrijedi poći od ovog faktora.

U svakom slučaju, naučite web tehnologije. Ovo je jezik za označavanje, stilovi i koji će vašu stranicu učiniti dinamičnom. Sljedeći korak je učenje jezika na strani servera (Python, PHP, Ruby i drugi) i web okvira koji su pogodni za to. Proučite baze podataka: skoro svako radno mjesto programera spominje ovo.

Kako steći početno iskustvo

Bez iskustva nećete dobiti posao. Bez posla nećete steći iskustvo. Začarani krug stvarnog života. Ali u redu je, izvući ćemo se iz toga.

Prvo, nemojte čekati da pročitate svaku knjigu na odabranom programskom jeziku. Počnite pisati svoje prve linije koda nakon drugog poglavlja knjige. Dovršite sve zadatke iz knjiga, prekucajte primjere, razumite ih. Komplikujte primjere i zadatke iz knjiga vlastitim idejama. Kreirajte vlastite zadatke za materijal koji ste pokrili. Riješite ove probleme.

Drugo, morate pronaći svoje prve projekte. Ovo je vjerovatno najteža opcija, ali funkcionira. Morat ćete sami tražiti narudžbe, ispunjavati ih i mučiti se s plaćanjem. Za početnika je ovo izuzetno teško, ali tada će sve druge opcije izgledati kao komad torte. Završeni projekti se mogu evidentirati kao iskustvo i pokazati budućem poslodavcu. Pravi projekti su veliki plus u vašem životopisu.

Ako znate engleski, bolje je da se registrujete na berzi na engleskom jeziku. Tržište je tamo veće. Ako ne znate engleski, naučite ga. U međuvremenu, dostupne su vam berze slobodnih radnika na ruskom jeziku. Potražite male projekte koji su na ili malo iznad vašeg nivoa vještina. Prijavite se za nekoliko desetina ovih poslova. I pripremite se da primite more odbijanja. Ali ako prođe jedna ili dvije aplikacije, imat ćete priliku steći pravo iskustvo.

Još jedna dobra opcija za stjecanje stvarnog iskustva je open source. Takvi projekti uvijek trebaju nove ljude, čak i početnike. Možete tražiti greške u projektu ili pogledati u program za praćenje grešaka i predložiti metode za njihovo rješavanje. Takve projekte možete lako pronaći na GitHubu ili . Slobodno postavljajte pitanja tamo.

Četvrta opcija za sticanje iskustva je pomoć kolegama programerima. Zamolite ih da vam predaju male, jednostavne zadatke. Ako nešto ne uspije, uvijek ćete imati kome da se obratite. A istovremeno ćete učestvovati u pravom projektu.

Posljednji način su vlastiti projekti, razni hackathoni ili rad u coworking prostoru. Teško je samostalno pokrenuti svoje projekte, bolje je potražiti poznanike ili prijatelje.

Zašto odabrati Python

Hajde da pričamo malo više o izboru vašeg prvog programskog jezika. Prvi jezik bi trebao biti jednostavan i popularan na tržištu. Takav jezik jeste Python. Toplo preporučujem da ga odaberete kao svoj prvi programski jezik.

Python programski kod je čitljiv. Ne morate čak ni biti programer da biste stekli osnovno razumijevanje onoga što se dešava u programu. Zbog Pythonove nekomplikovane sintakse, biće vam potrebno manje vremena za pisanje programa nego, na primjer, u Javi. Ogromna baza biblioteka koja će vam uštedjeti mnogo truda, živaca i vremena. Python je jezik visokog nivoa. To znači da ne morate previše razmišljati o memorijskim ćelijama i o tome šta ćete tamo staviti. Python je jezik opšte namene. A tako je jednostavno da ga čak i djeca mogu naučiti.

Iskreno rečeno, vrijedno je spomenuti i druge programske jezike. Java može biti dobar izbor za početnika. Ovaj jezik je popularniji od Pythona, ali i malo složeniji. Ali razvojni alati su mnogo bolje razvijeni. Treba samo uporediti Eclipse i IDLE. Nakon Jave, bit će vam lakše preći na rad sa programskim jezicima niskog nivoa.

PHP- još jedan veoma popularan jezik. I mislim da je čak i jednostavniji od Pythona. Na forumu je vrlo lako pronaći mentora ili rješenje problema. To je zato što u svijetu postoji ogroman broj PHP programera različitih nivoa. U PHP-u nema normalnog uvoza, postoji mnogo opcija za rješavanje istog problema. A to komplikuje učenje. A PHP je dizajniran isključivo za web.

Jezici C I C# veoma teško za početnika. Ruby- dobar izbor kao drugi jezik, ali ne i prvi. JavaScript- veoma jednostavan jezik, ali vas neće naučiti ničemu dobrom. Ali zadatak prvog programskog jezika je i dalje da vas nauči nečemu ispravnom, da postavite neku vrstu logike.

Da li je engleski važan?

Bitan! Ne znam? Teach. Znaš li? Poboljšati. Naučite čitati, pisati, slušati i govoriti engleski. Fokusirajte se na tehničku literaturu. Slušajte podcaste na engleskom jeziku. Čitajte udžbenike programiranja na engleskom jeziku.

Šta treba da znate osim programskog jezika

Naravno, osim programskog jezika i engleskog, potrebno je još nešto znati. Ali šta ovisi o smjeru koji odaberete. Web programer mora poznavati HTML, CSS, JavaScript. Desktop programer podučava API-je operativnog sistema i različite okvire. Programer mobilnih aplikacija uči Android, iOS ili Windows Phone okvire.

Svako treba da nauči algoritme. Pokušajte pohađati kurs na Courseri ili pronaći knjigu o algoritmima koja vam odgovara. Osim toga, morate znati jednu od baza podataka, programskih obrazaca i struktura podataka. Također je vrijedno provjeriti spremišta kodova. Barem sa jednim. Potrebno je poznavanje sistema kontrole verzija. Odaberite Git, najpopularniji je. Morate znati alate sa kojima radite, operativni sistem i razvojno okruženje. A glavna vještina programera je da zna Google. Nećeš živjeti bez ovoga.

Poslednji koraci

Morate pripremiti životopis. Ne samo životopis, već i . Ne treba tu pisati, ali ne treba ni da ćutite o svojim veštinama. Nakon što ste pozvani na intervju, morate se pripremiti za njega. Prođite kroz materijal koji je naveden u vašem životopisu. Morate biti sigurni u svoje znanje. Pregledajte projekte na kojima ste radili, razmislite o tehnologijama koje ste koristili. I naprijed - u svijetlu budućnost sa novom profesijom programera.

/ C++ programiranje / C++ lekcije

C++ je kompajlirani programski jezik visokog nivoa. Može se koristiti u većini aplikacija. Namijenjen za razvoj raznih aplikacija. Danas je to jedan od najpopularnijih i najpoznatijih jezika.

Video lekcija:

C++ je baziran na jeziku C, koji se aktivno razvijao još 1969-1973. Kompanija je bila odgovorna za razvoj Bell Labs koju vodi glavni programer Dennis Ritchie. Deset godina kasnije, danski programer Bjarne Stroustrup, koji je nekada bio C programer, izdaje proširenu verziju jezika pod nazivom C++. Na početku svog puta, C++ je bio samo proširenje, svojevrsni dodatak C, koji je proširio mogućnosti OOP-a. Sam Stroustrup u početku je jezik posmatrao samo kao “ C sa klasama ».

C++ je rođen 1983. Iako to nije bio punopravni jezik, već samo grana C-a, ipak je imao niz korisnih funkcija. Zahvaljujući njima, programeri su mogli brže i lakše razvijati aplikacije. Sa izdavanjem C++-a, u svijetu se pojavio niz sada uobičajenih koncepata:

  • Pokretanje klasa sa objektima u OOP-u;
  • Princip nasljeđivanja;
  • Učitavanje ili brisanje funkcija iz memorije;
  • Virtualne radne funkcije;
  • Sistem izuzetaka i još mnogo toga.

Bit će zanimljivo: C ostaje popularan do danas čak i uprkos razvoju C++ i dominantnoj poziciji ovog drugog jezika u oblasti funkcionalnosti. Zašto je stariji i manje razvijen jezik popularan i danas? Jednostavno je - prenošenje programa na novi jezik je prilično skup i dugotrajan poduhvat. Neke kompanije jednostavno idu sa tokom i nastavljaju da podržavaju svoje C programe.

Na internetu mnogi stručnjaci daju savjete da je bolje početi učiti jezike nalik C-u. Kažu da je to jedini način da se bolje razumije suština C++-a. U stvarnosti, ovo je pogrešno mišljenje. Ako počnete učiti sa C++, programer će steći znanje o novijim i modernijim karakteristikama jezika. Ako se ikada pojavi potreba za prelaskom na C, to neće zahtijevati mnogo vremena i truda. Čak i sama činjenica potrebe za prelaskom na prilično stari C već izaziva ozbiljne sumnje.

Ali ako i dalje želite naučiti C prije C++, predlažemo da pogledate veliku video lekciju u kojoj se možete upoznati s ovim jezikom:

Ubrzo nakon izlaska C++-a, jezik je počeo da osvaja različite oblasti programiranja. Postupno se u njega uvodilo sve više novih funkcija, koje su ga sve više udaljavale od uloge dodatka C. Godinama kasnije, više se nije smatrao nastavkom ili proširenjem i došlo je vrijeme da se potpuno odvoji od C-a, i tada je jezik nazvan C++. Od tada su se putevi jezika razišli, postali su nezavisni ( koliko god je moguce).

Danas C++ je funkcionalan i moćan jezik koji je od C-a naslijedio mnoge ključne mogućnosti upravljanja memorijom. Iz tog razloga se aktivno koristi u sistemskom programiranju.

Nekoliko oblasti upotrebe:

  • Razvoj operativnih sistema. Čak je i sam Windows pretežno baziran na C++;
  • Kreiranje drajvera;
  • Pisanje programa od nule;
  • Razvoj i podrška antivirusnih aplikacija i ostalo.

C++ je otišao daleko dalje od samo sistemskog programiranja. Može da učestvuje u kreiranju aplikacija svih nivoa, koje se fokusiraju na brzinu i rad pod velikim opterećenjem. Koristi se za kreiranje grafičkih uređivača i aplikacija.

Prilično mnogo igrica dizajniranih da vizualiziraju ogroman svijet igara bazirano je na C++. Poslednjih godina sve više mobilnih aplikacija koristi ovaj jezik. Čak i na webu postoji mjesto za ovaj jezik. Sve vrste web aplikacija aktivno koriste C++, ne nužno kao osnovu, možda samo za implementaciju pomoćnih funkcija, ali činjenica ostaje činjenica. Da rezimiramo: teže je pronaći područja u kojima se C++ ne može koristiti nego gdje se koristi ovaj jezik.

C++ je kompajlirani jezik, što znači da kompajler modifikuje C++ kod, pretvarajući ga u mašinski jezik koristeći unapred definisane instrukcije. Sve platforme se razlikuju po nekim karakteristikama, zbog čega je nemoguće preuzeti i prenijeti program s jedne na drugu platformu. Tačnije, možete ga prenijeti, ali neće raditi tamo. U ovom slučaju, izvorni kod aplikacije se pretežno prenosi. Jedini izuzetak je korištenje specifičnih karakteristika određenog OS-a.

C++ ima kompajlere i alate za rad sa kodom na većini poznatih platformi. Ovo vam omogućava da kompajlirate izvore za bilo koju platformu.

C++ podržava pisanje programa u OOP stilu, što C ne podržava. U ovom slučaju, aplikacija postaje samo skup klasa, objekata koji mogu komunicirati s drugim elementima koda. Ovo pomaže u razvoju velikih aplikacija.

Kako se C++ razvijao korak po korak?

Razvojni koraci za C++:

  • 1979-1980 - Pojavio se C++ i pozicionirao se kao C jezik sa dodatnim klasama;
  • 1983 - jezik je počeo da se zove, kao što smo svi navikli, C++;
  • 1985 - izdanje komercijalne verzije C++. Iste godine pojavila se i prva knjiga na papiru. C++ programski jezik “, uključivao je opis funkcija, mogućnosti i pravila za korištenje jezika;
  • 1989 - objavljena je druga verzija jezika sa proširenim mogućnostima;
  • Od 1990. do 2011. - spor razvoj i dodavanje funkcionalnosti. Također je vrijedno spomenuti da su 1998. godine prvi put pokušali standardizirati jezik. Taj standard je kasnije nazvan ISO/IEC 14882:1998, danas - C++98. 2003. godine pojavila se sljedeća verzija standarda C++03;
  • 2011. - objavljivanje standarda C++11, u njemu je bilo zaista mnogo inovacija. Ažuriranje je obogatilo jezik sa obiljem korisnih funkcija;
  • 2014 - izdanje relativno malog dodatka prethodnoj verziji standarda. Dobio je nadimak C++14;
  • 2017 - posljednje veliko izdanje jezika.

Programska okruženja, kompajleri

Za pisanje programa na C++-u potreban je kompajler koji pretvara originalni kod u onaj koji je pogodan za izvršavanje u datoteci. Danas postoji bezbroj kompajlera. Oni se razlikuju po mnogo parametara, uključujući i način na koji se standardi implementiraju. U fazi odabira kompajlera, bolje je odabrati one koji se stalno podržavaju i ažuriraju.

Da biste radili sa C++, morate instalirati razvojno okruženje. Možete instalirati bilo koje okruženje koje vam odgovara ili čak koristiti online kompajler. Među najpopularnijim razvojnim okruženjima su:

C jezik su razvili Dennis Ritchie i Brian Kernighan između 1969. i 1973. godine. C je bio namijenjen za implementaciju UNIX operativne mreže, ali je kasnije našao šire primjene.

Trenutno, Xi zauzima stabilno drugo mjesto.

Zašto vam treba C?

Već smo govorili o važnosti jezika C, pa hajde da pređemo na glavne tačke.

Za početak, većina sistemskog softvera je napisana u C jeziku. Kernel najpopularnijeg Linux OS otvorenog koda napisan je u C.

Ogromna prednost C-a je da se svaka instrukcija jezika prevodi u mašinski kod na direktan i razumljiv način. Izvršava se tačno onaj kod koji programer vidi na ekranu. Međutim, u modernim kompajlerima, naravno, oni se mogu koristiti, ali u manjem broju slučajeva.

Također je vrijedno napomenuti da su najpopularniji programski jezici na ovaj ili onaj način povezani sa C. Tako, na primjer, Java i C# imaju takozvanu C-sličnu sintaksu, a C++ i Objective-C su C ekstenzije na ovaj ili onaj način.

Ako pišete kod u bilo kom dinamičkom programskom jeziku, bilo da je to PHP, JavaScript ili Python, onda su njegov interpreter, runtime i većina biblioteka uglavnom napisani u C. Stoga, da biste razumjeli karakteristike ponašanja određenog jezika, morate znati karakteristike jezika C. A ako ste prešli mogućnosti svog programskog jezika, onda ćete prije nego što to shvatite početi pisati novu ekstenziju u C.

Osim toga, poznavanje C-a omogućava programeru da istinski cijeni sve čari programskih jezika visokog nivoa, kao i ograničenja koja nastaju prilikom njihovog korištenja.

A ovo su razlozi za učenje C.

Šta je sledeće?

Sada kada smo shvatili zašto nam je potreban C, postavlja se logično pitanje: "Kako ga naučiti?"

Knjiga "Programski jezik C"

Niko vam ne može reći o C-u bolje od kreatora ovog programskog jezika. Stoga je knjiga "Programski jezik C", koju su napisali Dennis Ritchie i Brian Kernighan, nezaobilazna za sve koji su na neki način odlučili da povežu svoj život sa C.

Kurs “Kompletan C Developer kurs - Izgradite 7 uzbudljivih projekata”

Kurs pokriva kako osnovne aspekte jezika tako i one naprednije: grafičko programiranje, memorijske modele i još mnogo toga. Tokom kursa kreiraćete 7 uzbudljivih projekata, kao što su sistem za upravljanje bazom podataka i sopstveni kompjuterski virus.

Kurs je plaćen, ali svakako je vrijedan novca. Zatim nudimo besplatne materijale.

Čuveni kurs sa Harvarda "CS50"

Sada on govori. Iznad svega, CS50 će vas naučiti kako razmišljati. Neke od tema koje ćete pokriti tokom kursa su apstrakcija, algoritmi, strukture podataka, enkapsulacija, upravljanje resursima, sigurnost, razvoj softvera i web razvoj. Jezici koje ćete koristiti: C, Python, SQL i JavaScript zajedno sa HTML i CSS. I što je najvažnije, kurs je besplatan.

Besplatan kurs “C Tutorial za početnike”

Uz ovaj program naučit ćete osnove jezika C, razumjeti pokazivače, strukture i unije i naučiti kako pisati jednostavne programe.

Besplatni online C kursevi sa dva vodeća finska univerziteta

Uključuje sveobuhvatne materijale i mnoge vježbe programiranja, kao i automatizirani sistem testiranja.

Kurs su zajednički razvili Univerzitet Aalto i Univerzitet u Helsinkiju (isti onaj na kojem je nekada studirao Linus Torvalds), a materijal objašnjen u njemu u potpunosti duplira C kurseve koji se predaju na ovim univerzitetima.

Knjiga “Learn C The Hard Way”

Knjiga će vas naučiti C koji se koristi u stvarnom životu za kreiranje stvarnih projekata, a ne apstraktnih mehanizama i pedantne teorije. Također ćete naučiti nekoliko važnih tema kao što su algoritmi i strukture podataka i automatsko testiranje. Zainteresovani mogu pronaći njegov prevod na ruski. Tproger takođe često preporučuje dobre knjige o programiranju, pa pogledajte

Najbolji članci na ovu temu