C - programski jezik - odakle poceti?

Zeyn

Member
Joined
Feb 17, 2016
Messages
251
Reaction score
1
Ako želiš da programiraš bez nekog posebnog znanja matematike pređi na web proogramiranje, ali ne očekuj da uopšte ne koristiš matematiku jer ćeš kad tad morati da je primeniš (mada rešenje često nećeš morati sam da implementiraš već će to biblioteka ili framework raditi za tebe).

U programiranju se najviše koristi diskretna matematika tako da ti preporučujem da to polje proučiš malo bolje ako želiš ozbiljno da se upustiš u ovo. Što se tiče matematičkih zadataka iz programiranja poput onih koja se rade u srednjoj školi i na takmičenjima (pošto dosta knjiga sadrži i takve zadatke) oni te neće pripremiti za rad na realnim projektima. Ni ja nisam bogzna kakav matematičar pa mi to ne smeta u mojoj oblasti.
 
Last edited:
S

system

Guest
Da je za programiranje potrebna matematika, programeri se ne bi bavili svojim teškim poslom, već matematikom. Sve što ti treba iz matematike možeš lako (za par sekundi) naći na internetu (wikipedia je dobra enciklopedija za skoro sve formule). Ovde se zaboravlja jedna činjenica - programiranje kao glagol je posao, radnja, a programiranje (subjekt) je već mnogo širi pojam. Velika većina programera nema pojma ili veze sa diskretnom matematikom ili matematičkom analizom. To su ljudi “pčelice” - rade svoj posao, i rade ga dobro. Mala grupa njih, koja razume matematiku, razne filozofije i metodologije programiranja, najverovatnije ni ne napišu jednu liniju koda u mesec dana - oni najčešće rade sa UML i sl (znači projektovanje i rukovođenje software-om). Da bi postao “pčelica”, moja preporuka su high level jezici (python, java script i sl) jer ćeš kroz njih steći rutinu, i neke jednostavne stvari ćeš naučiti za nedelju-dve. Kroz ove jezike ćeš i naučiti kako se koriste API-ji, kada za to dođe vreme i kad zatreba, a kroz API-je ćeš naučiti i druge stvari (kako se kreira (i šta je) komunikacija na internetu, kako se radi (i šta su to) sa bazama podataka i sl. Znači sa ovim jezicima ti ćeš da radiš, i u toku tog rada da učiš. Sa druge strane, ako se opredeliš za C/C++/C#/ObjectivC (i sl.) u startu ćeš morati da izdvojiš mnogo vremena za razumevanje osnovnih pojmova, da bi počeo nešto da radiš, trebaće ti bar godinu dana (ali nagrada je da ćeš imati malo dublje razumevanje kako uopšte računar i funkcioniše, kao i brz prelazak sa jezika na jezik tj ako znaš npr C++, za prelazak na python ti treba jedan dan ;)) Poz
 
S

system

Guest
ja vec znam php, mysql html, css ., js… ne koristim mnogo u radu, jer kazem bavim se drugim stvarima, ali hocu da krenem sa c. ma znam ja matematiku, u srednjoj sam osvojio drugo mesto u regionalnom takmicenju… ali nisam na faxu radio matematiku II malo se i pozaboravljalo, ne bezim ja od nje… ali u php mi nije nesto preterano bila potrebna, nego me smorilo pravljenje sajtova 🙂
 

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
Mysql, html i css nisu programrski jezici, to bi valjda trebalo da znaš.
 
Last edited:

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
I vožnja tramvaja sadrži neka pravila.
 
Last edited:
S

system

Guest
ovi hejtevi od strane vladimira su iz razloga sto ja vise volim serbian nego trios, no dobro, mada i nije tako, jer trios jos nisam ni probao…
 

Dragan

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
6,371
Reaction score
65
maxbord:
ovi hejtevi od strane vladimira su iz razloga sto ja vise volim serbian nego trios, no dobro, mada i nije tako, jer trios jos nisam ni probao…
Nije ti korektna primedba, ali uopšte…ne znam čemu toliki animozitet sa tvoje strane?!?
Ovo nema nikakve veze sa TRIOS-om nego sa tvojim očiglednim nerazumevanjem onoga o čemu TI pričaš…Vlada ti je samo ukazao da html, mysql i css nisu programski jezici, i šta je tu sporno?
Drugim rečima…“don’t mix grandmothers and frogs…” što bi rekla ona budaletina Vuk Drašković 😃
 
Last edited:

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
maxbord:
ovi hejtevi od strane vladimira su iz razloga sto ja vise volim serbian nego trios, no dobro, mada i nije tako, jer trios jos nisam ni probao…
Nisu “hejtovi” već opaska na tvoje elementarno nepoznavanje, čak ni tumačenje i vidno razlikovanje šta je programski jezik a šta ne.
 
Last edited:

dogriz

Member
Joined
Nov 19, 2012
Messages
84
Reaction score
0
Osnove programskih jezika se dosta brzo nauče, malo pohvataš sintaksu, algoritme, funkcije, biblioteke, objekte i možeš da kreneš sa programiranjem. Za sve nabrojano imaš mnogo resursa na internetu i odakle god da kreneš, mislim da nećeš pogrešiti. Ali, u zavisnosti od projekta/programa koji želiš da razviješ, moraš da se uputiš i u druge oblasti - ekonomiju, elektroniku, matematiku, fiziku, dizajn, ko zna šta sve. Ako želiš da budeš dobar, prihvati kontinuirani proces učenja svega i svačega dok god želiš da se baviš programiranjem.
Ako se zaposliš u nekoj programerskoj firmi gde je posao organizovan po timovima developera, možda ćeš raditi nešto usko specijalizovano pa nećeš morati da svaštariš i neće ti trebati šire znanje mimo programiranja i poznavanja programskog jezika, npr. java-e (prema kojoj ja, kao pretežno pascal i povremeno c programer imam subjektivnu averziju…).
U svakom slučaju, potrebno je mnoogo učenja i upornosti.
 
Last edited:
S

system

Guest
hvala dogriz na motivaciji, dug je zivot, naucicu nesto, ako nista drugo bar da prenesem znanje dalje, pre nego sto odem na onaj svet , hehe
 
S

system

Guest
Kad vec pricamo o licencama, da pitam, jel imam ja pravo da u okviru svog linuxa ubuntu, nešto programiram, napravim neki program, konkretno u c jeziku i kakva su moja prava nad tim programom, jel moze taj program da bude vlasnicki, tj. da ne delim source?

Inace program koji pravim nema veze sa linuxom direktno jer se isporucuje nezavisno. Koja je njegova licenca? Inace pokrece se i na windowsu i na linuxu. Samo razlicito kompajlirani. Jel su moja prava potpuna? Mogu da prodam taj program? I kako se zove ta licenca, gde je kod zatvoren 🙂 tj. nije dostupan source?
 
S

system

Guest
maxbord:
Kad vec pricamo o licencama, da pitam, jel imam ja pravo da u okviru svog linuxa ubuntu, nešto programiram, napravim neki program, konkretno u c jeziku i kakva su moja prava nad tim programom, jel moze taj program da bude vlasnicki, tj. da ne delim source?

Inace program koji pravim nema veze sa linuxom direktno jer se isporucuje nezavisno. Koja je njegova licenca? Inace pokrece se i na windowsu i na linuxu. Samo razlicito kompajlirani. Jel su moja prava potpuna? Mogu da prodam taj program? I kako se zove ta licenca, gde je kod zatvoren 🙂 tj. nije dostupan source?
Samo da postavim pitanje, ako nije problem, zašto je drugačije kompajliran? Npr gcc može da kompajlira i na Windowsu (znači samo se source prebaci).
A što se tiče licenci - da može da zavisi od kompajlera, naravno svoj kod pod close sorce, ali lib-ovi (ili dll-ovi) koji su potrebni da program i pokrene u toku runtime-a, a koji su došli sa kompajlerom za platformu, su pod licencom koja se nalazi negde u dokumentaciji kompajlera (ili je ista kao i licenca kompajlera). Zbog toga se sa svojom biloKojaMojaLicenca stavi i biloKojaLicencaZaBibliotekuKompajlera jer će se ona nalaziti u paketu sa tvojim kodom (ukoliko koristiš Open Source kompajler), ali ukoliko koristiš neki komercijalni kompajler onda pročitaj njegove uslove. Takođe, ukoliko statički linkuješ lib-ove u app, onda žestoko obrati pažnju na licencu biblioteka!
Npr. onaj ko razvija Qt app (nevezano za platformu) pod OpenSource licencom (govorim o licenci za Qt) može samo da izvrši dinamičko linkovanje, kao i da je sam njegov kod open source (mada ima primera, kao i internet rasprava, gde se delovi koda koje korisnik piše zatvara, bez neke bojazni od kazni, najčešće u vidu nezavisnih biblioteka, koje su kao fol closed source i nezavisno se kompajliraju, tj kao plug-in-ovi). Sa druge strane, komercijalna licenca za Qt dozvoljava da kreiraš programe po želji - tj možeš kreirati closed source statičko linkovani app.
 
S

system

Guest
Nesto novo sam naucio. Ipak, da kazem, nisam kompajlirao na windowsu , samo na linuxu, nisam siguran ni koja komanda ide za windows. Inace program je prost tako da od biblioteka koristi samo stdio.h , e sad, muce me mnoga druga pitanja. Posto ovaj program ne mora da se instalira, vec bih ga navodno distribuirao vec pripremljenog, ALI ako bi bila potrebna instalacija, pojma nemam, sta to sve treba da ukljuci, i kako da izdvojim ja tu stdio.h biblioteku i jos plus kompajler.

Mislim, tek sam poceo sa c jezikom, pa ucim…
 

Zeyn

Member
Joined
Feb 17, 2016
Messages
251
Reaction score
1
Program kompajliran za Linux nećeš moći da pokreneš na Windows-u i obrnuto. Proces kompajliranja za ANSI C je isti , sem što na Windows-u izlazni program ima format .exe:
gcc source.c -o program.exe
Možeš da definišeš i dodatnu direktivu ukoliko koristiš neki drugi standard:
gcc source.c -o program.exe -std=99
 
Last edited:
S

system

Guest
maxbord:
Nesto novo sam naucio. Ipak, da kazem, nisam kompajlirao na windowsu , samo na linuxu, nisam siguran ni koja komanda ide za windows. Inace program je prost tako da od biblioteka koristi samo stdio.h , e sad, muce me mnoga druga pitanja. Posto ovaj program ne mora da se instalira, vec bih ga navodno distribuirao vec pripremljenog, ALI ako bi bila potrebna instalacija, pojma nemam, sta to sve treba da ukljuci, i kako da izdvojim ja tu stdio.h biblioteku i jos plus kompajler.

Mislim, tek sam poceo sa c jezikom, pa ucim…
Nisam mislio na stdio.h (koji će preprocesor ubaciti u tvoj kod), već na Static linking vs dynamic linking .
 

Zeyn

Member
Joined
Feb 17, 2016
Messages
251
Reaction score
1
alt
Zeyn:
Program kompajliran za Linux nećeš moći da pokreneš na Windows-u i obrnuto. Proces kompajliranja za ANSI C je isti , sem što na Windows-u izlazni program ima format .exe:
gcc source.c -o program.exe
Možeš da definišeš i dodatnu direktivu ukoliko koristiš neki drugi standard:
gcc source.c -o program.exe -std=99
EDIT: Pod pokretanje sam mislio na ‘nativno pokretanje’, nisam uzimao u obzir WINE ili drugi softver za emulaciju / virtuelne mašine i sl.
 
Last edited:

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
Koga zanimaju ovakve knjige ima na Kupujemprodajem da nađe po malim cenama a u odličnom stanju.
 
Last edited:
Top