Razlika između C i C++ jezika!

Discussion in 'Operativni sistemi, aplikacije i programiranje' started by Adi Zeljkovic, Mar 13, 2012.

  1. Adi Zeljkovic

    Adi Zeljkovic Aktivista

    U školi smo krenuli da učimo C ali mislio sam da ćemo učiti C++ tako da sam nabavio dosta knjiga te i malo učio, ali pošto ne radimo C++ interesujeme koja je razlika između C++ i C?
     
  2. maksumics

    maksumics Novi član

    Pa C je proceduralno orjentisan jezik, dok je C++ objektno orjentisan, ali ne možeš smatrati C++ nasljednikom C-a, jer to on u biti nije, iako je pokupio skoro pa sve njegove osobine, što se sintakse tiče.

    Kažeš da ste to u školi radili, pa po gradivu iz srednjih škola jedino ti razlika može biti modul stdio i iostream, tj. ispis/unos, ali to se u imalo naprednijem razlikuje i to dosta.
    Ako mene pitaš, radi C++, ja sam radio C pa sam prešao na C#.
     
  3. BoLa

    BoLa Aktivista

    Prenapredno je to za skole svakako... da bi razumio C++ moras prvo shvatiti objektno orjentisani model. Elem, ako te bas interesuje mozes istrazivat al generalno, to je nivo iznad.
     
  4. Zeleni

    Zeleni Network Ninja

    Uvijek pocnes uciti proceduralan jezik, pa tek onda OO.
    Moraju se shvatiti jednostavne stvari, kao varijable, loops, matrice, funkcije, pa tek onda OO.

    Samo mi ne ide uglavu zasto je prvi susret s programiranjem kod nas C, a ne nesto modernije kao VB ili Delphi.
    Po meni je cak i PHP bolja alternativa nego C.

    Doduse, moj nivo programiranja je poprilicno nizak, ali logicno razmisljajuci, mislim da bi imali vise koristi sa npr Delphijem.
     
  5. Neo Bahamut Zero

    Neo Bahamut Zero Veteran foruma

    Bilo bi bolje, ali nema strucnog kadra da predaje to u skolama. Ko je iskusan u tome sigurno nece raditi u prosvjeti. :D
     
  6. maksumics

    maksumics Novi član

    Ne!, zašto bi se ukaljavao drugim paradigmama kada će i ovako završiti na OO, ja kolegi savjetujem da odmah uči C# i .NET, sa njim može sve (micro.NET, mobile.NET, System.Web...)
     
  7. Zeleni

    Zeleni Network Ninja

    Lako je programeru rechi uci ovo, uci ono. Meni barem je daleko lakse bilo uciti proceduralni pa OO.
     
  8. AhmeT

    AhmeT Overclocker

    Nije zgoreg poceti i sa nekim "lijepim" jezikom, koji je lagan za nauciti, poput Pythona. MIT ga koristi u svom Intro to CS predmetu, fakticki prvoj stvari sa kojom se srecu ljudi kada odu na taj smjer, pa i to ide u prilog ka ucenju ovog. Jedini problem sto nema puno prilika za posao sa tim jezikom, pogotovo kod nas, ali bi se trebalo to popraviti u buducnosti.

    U sustini, kao sto Zeleni rece, bitno je dobiti osnovu i shvatiti te jednostavne stvari, i ako se to prodje kroz neki jezik koji to fino predstavi, kao sto je Python, ne bi trebalo biti problema sa prelaskom na nesto "ozbiljnije", za neki posao ili konkretan projekt i sl.

    Java isto nije los izbor, iako ima malo cudnih stvari za pocetnike, String []args, :), sto bude cesto pitanje odma na pocetku a odgovor obicno "polahko, doce to poslije", ali definitivno ima siroku primjenu, pogotovo poslije za razvoj za vise platformi. Zgodna stvar je sto i nije problem poslije preci na C# ako bude potrebe za tim.

    Za skolu ces svakako to morati nauciti, to sto koristi profesor, ali cim skontas neke osnovne stvari nece biti problem u bilo kojem jeziku isprintati nesto, uzeti ime prezime i tako to, napraviti obicnu petlju, sabrati neke gluposti i slicno sto obicno bude za zadacu, pa se ne sikiraj puno.


    I meni je recimo zanimljivo ovo, http://en.wikipedia.org/wiki/Hello_worl ... m_examples Tu se nalaze primjeri za obicni program koji printa "Hello world", pa se vide razlike izmedju jezika gdje se stvari nepotrebno komplikuju, a negdje je to obicna linija koda. Nije sad ovo neki problem, ali ako se po jutru dan poznaje...
     
  9. selvin

    selvin Moderator

    Kao prvo u srednjoj skoli ili na prvim godinama fakulteta sa uci C, jer se ne uci programski jezik vec ucis logiku programiranja, tako da je manje-vise svejedno koji jezik ces uciti.
    Ali ne znam sta je prednost uciti npr. VB koji je event driven i onda izgubis svu logiku programiranja misleci da je programiranje napisati message box kad kliknes na neki button.
    A osim toga, prednost C-a je sto se koristi prakticno u svemu, te ga je vrlo korisno znati. Od operativnih sistema, mikrokontrolera, vm-ova, embedded uredjaja itd. A i vrlo je lahko preci sa njega na C++, C#, pa i Javu, PHP, .NET itd.
     
  10. maksumics

    maksumics Novi član

    Da slažem se sa selvinom, C ti pruža mogućnost da naučiš kako to radi ispod haube, pokazivači recimo, C# i Java su ih puni, a za programera ih nigdje, što je dobro za korisnika, ali programer bi morao znati šta se dešava kada povuče referencu na neki objekt.
     
  11. selvin

    selvin Moderator

    Pa dobro u Javi nemas pokazivaca, imas referencu na objekat. U C-u bas imas direktni pokazivac na memoriju, sto naravno u Javi ne mozes imati, jer sve ide preko JVM.
    Ali kao sto ti rece, dobro je znati sustinu.
     
  12. maksumics

    maksumics Novi član

    Da sve ide preko JVM ili preko CLR-a ukoliko je rjec o .NET-u.
     
  13. Ninja

    Ninja Komšija

    U školi ćete učiti samo osnove programiranja, tako da neće biti neke značajne razlike za tebe. Sintaksa je identična, samo ćeš upotrebljavati drukčije funkcije za input/output i početak programa će se neznatno razlikovati. Petlje, funkcije, računske operacije, rekurzija i sl. je identično u oba jezika.

    Postoje razlike u baratanju pokazivačima, ali ako shvatiš suštinu, neće ti to predstavljati problem.