C/C++/C#

NemanjaNS90

Primećen član
Poruka
629
Koji su vasi utisci i misljenje o ovim programima?

Moze li mi neko objasniti razlike?

Imate li da preporucite neku dobru literaturu za ucenje istih? (koliko znam kod knjiga tog tipa postoje razliciti nivoi, molio bih ako mi preporucujete nesto da ne bude pocetni nivo vec srednji ili napredni ako se tako zovu)
 
C ti je shit, radi pod dosom . . . uzmi C++ zato sto je bolji od C# . . .

??? shit zato sto radi pod dosom ???

c se koristi za pisanje programa za mikrokontrolere
c poseduje gomilu grafickih biblioteka
c je glavni jezik za unix

dovoljno?


i zasto je C++ bolji od C#?

po kom kriterijumu, uopste, poredjujes programske jezike?
 
??? shit zato sto radi pod dosom ???

c se koristi za pisanje programa za mikrokontrolere
c poseduje gomilu grafickih biblioteka
c je glavni jezik za unix

dovoljno?


i zasto je C++ bolji od C#?

po kom kriterijumu, uopste, poredjujes programske jezike?

pa sta ako se koristi za PIC? uglavnom svi koriste microcode studio za te svrhe, a i ti si mi kao nekad u zivotu programirao 1 kontroler . . . on sigurno nece da programira pic sa tim programima . . . uostalom, vidi sta kaze VenetianPrincess
na 1:00 :" together we'll discuss HTML and C++" a ne HTML i C# ;) LOL
 
Ajde, kad vec lajem...

C je nastao 70-ih godina, i bio je prvi visi programski jezik koji je, uprkos tome, bio u dosta bliskom kontaktu sa platformom. Pre njega imali smo na jednoj strani Pascal, koji se trudio da bude platformski nezavisan, pa su neke stvari sakrivane od programera, sto je i dobro - imali smo ugradjen tip String, ali i lose - nismo mogli da optimizujemo kod koliko smo mogli sa c-om. Na drugoj strani bio je asembler, uzas jedan za pisanje, a tek za razumevanje, platformski zavisan, od kojeg je c bio bolji po nezavisnosti (koda), ali losiji zbog smanjenja bliskosti sa platformom (cena koju mora da plati).

C++ je nastao nesto kasnije, i moze da se tretira kao objektno-orijentisani c (zbog toga i ++ u imenu, neko je bio duhovit). Za c++ vazi slicna prica kao i za c.

C# je takodje objektno-orijentisan (ko se jos bavi proceduralnim programiranjem, to je tako out :blah: )
Za njega je specificno sto su konacno uveli strogu tipizaciju, ogleda se u boolean tipu, koji u c/c++ ne postoji, vec se za to koristi int (0 je false, sve ostalo je true), a posto je, u sustini, sve int, u if je moglo da se strpa svasta (da ne pominjem petlje)). Takodje, C# omogucava neke pogodnosti sto se tice rada sa memorijom, u smislu da ima garbage collector, pa vise ne moramo da brinemo o oslobadjanju memorije, a i pokazivaci su izbaceni, uvedene su kontrole opsega nizova (pa nema vise ludih rezultata, nego IndexOutOfBounds exception) i slicne neke pogodnosti za programere.
Naravno, zbog svega ovoga placa se cena u brzini izvrsavanja programa.

Svi ovi jezici kao osnovni ulaz/izlaz u principu koriste konzolu.
Svi ovi jezici mogu da koriste graficke biblioteke i generisu graficki izlaz.
Najmanje muke oko programiranja bice sa C#
Najbrzi programi pravice se u C
(uglavnom)

C i C++ mogu da se koriste za pisanje programa na bilo kom sistemu, uz odgovarajuci prevodilac.
To sto je za graficki izlaz potrebno pomuciti se sa MFC-om, OpenGL-om ili vec necim trecim, nikako nije slabost jezika generalno, vec, mozda, na jednom polju.

Uostalom, nisu svi jezici pravljeni za istu namenu


A za:
" together we'll discuss HTML and C++" a ne HTML i C#
da je receno
" together we'll discuss HTML and qbasic" da li bi to znacilo da je qbasic bolji od C++?

zavisi gde primenjujes i sta hoces da napravis


I na kraju - najbolji jezik je onaj koji znas.
 
Za njega je specificno sto su konacno uveli strogu tipizaciju, ogleda se u boolean tipu, koji u c/c++ ne postoji, vec se za to koristi int (0 je false, sve ostalo je true)

Izvin'te, molim Vas?

bool tip u c++ postoji, a doticni jezik je takodje dobro tipiziran.

Sto se tice teme, preterano je opsirna da bi odgovor stao u pristojnu duzinu posta i neko imao dovoljno slobodnog vremena za smaranje u vidu kucanja.
Proguglaj malo.

Inace, jezik je alatka. Neces sutra birati posao sprama alata vec alat spram posla. Za ono sto budes radio uzeces jezik koji ti najvise odgovara.

Ako je svrha jezika koji biras cisto edukativna, tj ako je to prvi jezik koji ucis i nema za cilj neku direktnu primenu, odbaci C da bi odmah preso na objekatsku paradigmu (ili uci prvo C da naucis i proceduralnu, pa kasnije predji na objekte, ako hoces duzi put). C++ ce ti dati vise glavobolja u pocetku jer moras da mislis na vise stvari (pre svega na memoriju) ali ce i pruziti gotovo sve koncepte prisutne u modernim OOP jezicima ovog tipa (dakle, ne "cistim" oop jezicima). C# ima razumniji broj koncepata u jeziku, laganiji rad sa memorijom, unekoliko standardizovanu osnovu pa ce ti ucenje biti lakse na njemu. Al' vodi racuna da se ne izvrsava na fizickoj masini kao i da ima neka ogranicenja u mogucnostim u odnosu na C++.
 
C# ti je najlaksi za poceti, a posle mozes polako preci na C++.

A kako to C radi pod dosom? C je jezik, ne program. C kompajler je program i postoji vise C kompajlera. Naprimer, postoji i C++ kompajler koji radi pod dosom; zove se Turbo C++. A imas i GCC kompajler koji kompajluje i C i C++ kod na Dos, Windows i Unix sistemima. Onda od tekst editora imas Notepad++, koji radi na Windows. Imas Dev-C++, imas XCode za Mac itd itd.

Stavise, velika vecina biblioteka je napisana u C jeziku. SDL, Allegro, FMod, libpng, itd.
 
Poslednja izmena:
??? shit zato sto radi pod dosom ???

c se koristi za pisanje programa za mikrokontrolere
c poseduje gomilu grafickih biblioteka
c je glavni jezik za unix

dovoljno?


i zasto je C++ bolji od C#?

po kom kriterijumu, uopste, poredjujes programske jezike?

LJudi ja vec 3 godine idem u skolu racunara,i dosad smo radili i u c++-u i u C#,po mom kriterijumu je C# mnogo laksi i zanimljiviji,a "c" je solidan jezik , ali je slican c++-u jer ima mnogo komandi.C# je vrh!
 
cao.
program c++ je potpuno ok
ja bih molio ako mi mozete pomoci za neki link gde bih mogao skinuti mape include i lib za obradu grafike, koristim dev c++ 4.9.9.2 verziju ali imam samo setup exe file pa mi nedostaju ovi fajlovi koji su dopuna na cd,instalirao sam program i poceo vezbe ali kako sam naveo sada da bih mogao grafiku koristiti moram imati i navedene fajlove, hvala unapred
 
#include<stdio.h>
#include<stdlib.h>
void main ()
{
int i,n,j;
int a[4];
scanf ("%d", &j);
if (j<3) exit(1);
printf("\ ucitaj n ");
scanf("%d", &n);
if(n>4) exit(2);
for(i=0; i<n; i++)
a=rand()%100;
for(i=0; i<n; i++)
printf("%d ",a);
if (n==3)
printf("\n Bude Ok \n");
if (n==2)
printf("\n Nesto bude \n");
if (n==1)
printf("\n Slabo bre \n");
}
jeste prost, al ima znacenjez:plez:
 
Moze li neko da mi posalje 10-ak najprostijih zadataka iz C-a??? Evo mail: jakovljevicmarko89@gmail.com

Hvala unapred...:)


http://kondor.etf.rs/~kraus/knjige/rzc.html


da se nastavim na ovu temu

c++ se pre svega koristi da bi stekli rutinu kako da radite sa objektno-orijentisanim programiranje,i kako da razmisljate na istom.

ova druga stvar da je c# laksi od c++,pa normalno kada u c# imas milion stvari vec gotove,koje u c/c++ moras sam da napravis


druga stvar nije bas preporuka da odma pocne sa c# a da pre toga ne radi c++,mislim moze sve to fala bogu,ali ono nekako je logicno da se ide redom (cisto da se vidi kako su neke stvari nastale)
 
C# nije laksi od C/C++ primarno jer u C#-u imas sve stvari gotove.
Sve iste *gotove stvari* imas i za C/C++ u vidu biblioteka/okruzenja. Stavise, vecina biblioteka je napisano u C jeziku tako da je misao da je C# laksi jer ima sve gotovo netacna.

C# je laksi iz nekoliko razloga a jedan od njih je recimo to sto C# ima garbage collector.

Nema potrebe da se uci C i C++ pre C# -a i to sto su C i C++ nastali pre C#-a nije sjajan razlog. Takvom logikom mozemo doci do zakljucka da je najbolje prvo krenuti sa asemblerom, pa sa Fortranom, itd.
 
Poslednja izmena:
dobro,imas poentu slazem se,u neku ruku

ali iskreno,ako zelis ozbiljno da pocnes da se bavis programiranjem,znaci odma da krenes sa jezikom poput c#?

mislim ja iskreno,ne bih isao tim putem :) nisam mislio nista lose,niti se pravim pametan,daleko bilo,ali neko moje misljenje :)
 
U redu je misljenje, ne mogu ja sad da te bijem :lol:, ali samo ne razumem takva razmisljanja i onda tako odreagujem. d:

Ne vidim razloga da ne krene sa C#. Ne vidim razloga da ne krene sa Game Maker-om ili Construct-om, kamo li sa C#-om.
 
U redu je misljenje, ne mogu ja sad da te bijem :lol:, ali samo ne razumem takva razmisljanja i onda tako odreagujem. d:

Ne vidim razloga da ne krene sa C#. Ne vidim razloga da ne krene sa Game Maker-om ili Construct-om, kamo li sa C#-om.

Razlog je da ne nauči napamet komande, pa štancuje programe, već da shvati zašto se nešto dešava, da shvati suštinu i da u tančnine zna kako nešto radi. Npr. neka se igra prvo sa malloc, calloc, realloc u C, pa neka se posle u C++ igra sa lakšim komandama (new), istovremeno počinjući objektno, pa onda neka ide na C#.

Nije da pametujem, ali nama na faxu valjda nisu bezveze takav raspored stavili (još su nam čak dali prvi semestar pascal), ipak su to stručni ljudi.

aj da mi neko da jedan tutorial za C# na srpskom
hvala unapred

Jedan? Eh, biće tebi veselo. :mrgreen:
 
I ja se ne slažem. Neka počne sa C# pa ako uopšte bude imao potrebe da uči C++, onda neka ga uči. Glavna razlika je u tome što u C++ možeš direktno da dostupaš do memorije dok u C# to ne možeš i neznam zašto to jedan početnik treba, sve ostalo što možeš u C++ možeš i u C# sem što .NET zavisi od Windows sistema a C++ kod možeš da prenosiš na druge platforme. A mnogo je lakši za početnike nego C++. A komande neznam da li iko uči na pamet, zapamtiš ono što koristiš svakodnevno a za sve ostalo tu je handbook i google. U tome nema stida niti je ponos znati sve komande na pamet, to samo budale uče. Programiranje ti je umeće logičnog razmišljanja a linije koda može svako da sastavi, glavna caka je rešiti problem.

A to što u školama još uvek uče Pascal ne znači da su stručni ljudi nego da su iza vremena. U inostranstvu, što sam ja imao prilike da vidim, počinju sa Javom ili C# pa se tek onda uči C++ u drugoj godini.
 
I ja se ne slažem. Neka počne sa C# pa ako uopšte bude imao potrebe da uči C++, onda neka ga uči. Glavna razlika je u tome što u C++ možeš direktno da dostupaš do memorije dok u C# to ne možeš i neznam zašto to jedan početnik treba, sve ostalo što možeš u C++ možeš i u C# sem što .NET zavisi od Windows sistema a C++ kod možeš da prenosiš na druge platforme. A mnogo je lakši za početnike nego C++. A komande neznam da li iko uči na pamet, zapamtiš ono što koristiš svakodnevno a za sve ostalo tu je handbook i google. U tome nema stida niti je ponos znati sve komande na pamet, to samo budale uče. Programiranje ti je umeće logičnog razmišljanja a linije koda može svako da sastavi, glavna caka je rešiti problem.

A to što u školama još uvek uče Pascal ne znači da su stručni ljudi nego da su iza vremena. U inostranstvu, što sam ja imao prilike da vidim, počinju sa Javom ili C# pa se tek onda uči C++ u drugoj godini.

E vidiš, ja npr. upravo smatram da početnik treba da se upozna sa osnovama, pogotovo sa stvarima poput dodjele memorije, jer je bitno da shvati kako se to vrši dodjela, raspodjela, preraspodjela, kako se to smještaju podaci, a kad to shvati, onda će bolje razumjeti ostale stvari.

Nije da sad pretjerujem, ali beogradski elektrotehnički fakultet je trenutno vrh ponude po pitanju studiranja i koliko je jedan moj kolega upoređivao, sličan je raspored učenja i na MIT-u, pa ne znam gdje si to ti vidio da uče prvo C#, tj. zašto si siguran da je to najbolje za početnike?

Još nešto - upravo to tvoje što sam prvo boldovao je razlog zašto smo počeli sa paskalom - nema danas upotrebnu vrijednost na tržištu, ali je odličan za učenje, jer preko njega možeš proceduralni dio programiranja jako dobro shvatiti. Onda je stvar nadogradnje i sintakse, ja sam upravo na tom "zastarjelom programu" začas prešao na C. Ne mogu reći da sam neki programer, to tek trebam biti, ali imam povjerenja u nadležne da su odabrali dobru strategiju učenja i za sada se ja jako dobro snalazim.
Da još napomenem da na gorespomenutom MITu ne koriste pascal, ali ipak koriste čini mi se Phyton za početnike.

p.s. I u programiranju nekome više odgovara jedno, nekome drugo, svako ima svoje afinitete, pa ja ne kažem da je tvoj način loš, ali da je ovaj jednako dobar. Na kraju se ipak svodi na isto - preći ćeš i C i C# i C++ i Javu itd., jedino što ja smatram da je bolje prvo shvatiti osnove na niskom nivou (npr. navedeni rad sa memorijom). :)
 
Recimo u Ljubljani prvo uče Javu a u Mariboru su skoro zamenili C++ za C#. Zašto? Jer je to praktično. C++ dolazi na red drugu godinu i samo tu godinu da se upoznaju sa stvarima na detaljniji način ali sve ostaje na upoznavanju. Prosto zato da ne gube vreme učeći razne praistorijske jezike kada se to ne traži danas u svetu. Time is money. Koncept nauče za godinu dana a posle šljakaju ono što je danas najpopularnije i ja se slažem sa time.

Zašto je lakše? Zato što je lakše. Napiši dve identične GUI aplikacije, jednu u C++ a drugu u C# pa vidi koliko koda i vremena trebaš za jednu a koliko za drugu. Šta je efektivnije?

OP kaže da će malo da čačka, znači on hoće da nauči programiranje kao hobi a ne da živi od toga pa nema potrebe da trpi Isusove muke kada je tu elegantnije rešenje. Ali to je samo moje mišljenje, ja nisam rekao da je to što pišem da je 100% tačno i da je to neki "holy grail". Naravno, svako ima drugačije pristupe i svaki je dobar na svoj način.

P.S. Čini mi se da C++ tone u zaborav. Polako ali sigurno. Naravno to je ipak neka osnova koju smo svi mi učili i tu će i dalje ostati kao što je do sada Pascal ali ne vidim praktične prednosti C++a u odnosu na .NET jezike. To se može jasno videti na berzi poslova u inostranstvu kao i kod kuće.
 

Back
Top