Odakle poceti sa programiranjem?

2

Odakle poceti sa programiranjem?

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12488
  • Gde živiš: Južni pol

To sve zavisi. S jedne strane imaš Microsoft Visual Studio. Ako te zanima .net i programiranje Microsoft platformi (Xbox, Windows Phone), onda bi MS VS bio na neki način logičan izbor. Problem sa ovim tehnologijama što su najčešće usko vezane za Microsoft ili Windows i nisu široko portabilne van te platforme.

Drugi problem je i što su Express varijante MS VS-a osakaćene i ne sadrže sve opcije profesonalne verzije. Ne bih ja puno slušao Vasu - on ima pristup MS softveru kroz MSDNAA i Dreamspark tako da može da se bahati i nabavlja dosta solidan izbor softvera gotovo besplatno (Razz). Ako tvoja škola ili fakultet nema ugovor sa MS-om bićeš ograničen na Express verzije.

Codelite, Codeblocks, Dev C++... Ispod haube koriste MinGW - port GNU paketa kompajlera na Windows. GNU paket kompajlera (C, C++, Objektivni C, Fortran, Ada, Java i Go) je multiplatformski i postoji za veliki broj hardverskih (x86, x86_64, IA64, Power familija, Freescale, Android, AVR, itd) i softverskh platformi (Mac OS X, iOS, FreeBSD i Linuks, napr). Iako se vrlo često isti kod (sa vrlo malim izmenama) može koristiti i na MS VS i koristeći MinGW.

Ali ako planiraš da koristiš neki alternativni operativni sistem (ili hardversku platformu) kao što su Linuks, Mac OS X ili FreeBSD, MS VS nije ni izbor. GNU paket najčešće jeste. Drugi popularan izbor je LLVM. Naravno GNU paket i LLVM su samo jedan deo cele priče.

Napr:
GNU paket kompajlera uključuje pojedinačne kompajlere. MinGW je port GNU paketa kompajlera na Windows 32 koji uključuje dodatne alate, biblioteke i datoteke zaglavlja za programiranje pod Windowsom. Neki IDE kao što su Eclipse, NetBeans, CodeBlocks, ili CodeLite u pozadini koristi MinGW. IDE samo predstavlja vizuelni interfejs koji se nadograđuje na prethodne elemente. IDE može dalje imati različite dodatke koje povećavaju produktivnost, kao što su različiti debageri ili kompletiranje koda (inteligentno ili ne).

Naravno, i MS VS ima iste elemente, ali je sve to plasirano u jednom paketu. I jedan i drugi pristup ima svoje prednosti i mane. MS VS je konzistentan i razvija ga jedna kompanija, ali je zato prilično nefleksibilan. Dok je na drugoj strani workflow jako fleksibilan (svaki element se može zameniti alternativom), ali je zato manje konzistentan i potrebno je malo truda da se sklope elementi na način koji ti najbolje odgovara.

Gde se ogleda ta fleskibilnost? Podrška za veliki broj različitih kompajlera ili debagera... Mogućnost kros-kompajliranja na različite platforme (od mikro-kontrolera do super računara). Itd. To MS VS nema.

Naravno, neki ljudi to gledaju i prema platformi. Svaka platforma ima svoje "standardno" ili najčešće korišćeno rešenje. Na Windowsu je MS VC "standard". Na Linuksu je standard GNU paket kompajlera. Dugo je bio standard i na Mac OS X-u ili FreeBSD-u, ali oni polako prelaze na LLVM.

Još jedna stvar koju treba uzeti u razmatranje je i potrebna podrška za C. C je vrlo popularan na Juniks platformi, kada je u pitanju razvoj za mikrokontrolere ili kada je u pitanju sistemsko low level programiranje na drugim platformama. Tako je na modernim Juniksolikim sistemima u paket često uključen i kompajler koji bar poštuje C99 standard, ako ne i najnoviji C11 standard (2011), dok Microsoftov C kompajler ne implementira čak ni ceo C99 standard.

Ali onda imaš Javu koja je posebna priča. Java ima svoju platformu i svoja razvojna okruženja. Eclipse, NetBeans, IntelliJ Idea, itd. MS nema razvojno orkuženje za Javu. Štaviše .NET i C# su, u stvari, Microsoftov "odgovor" na Javu. Smile

Elem, mislim da sam te samo smorio. Ti se još pitaš s čime da počneš. Smile Ako je već tako, moja preporuka je Python. Jedan vrlo fin i pristojan jezik koji je na zapadu trenutno jako popularan u edukativnim institucijama. A multiplatformski je i vrlo moćan. Stvari koje naučiš u Pythonu ćeš kasnije moći da primeniš i u drugim jezicima.

Eto, čisto da predložim nešto novo i ne toliko uobičajeno kod nas.

P.S. Hvala bogu da niko nije predložio Paskal. Oh, wait...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 26 Avg 2010
  • Poruke: 10622
  • Gde živiš: Hypnos Control Room, Tokyo Metropolitan Government Building

zoxkika2 ::Nasao sam na netu da neki preporucuju za radna okruzenja Microsoftov proizvod Visual C++.NET., a neki preporucuju Dev-C++. Sta je po vama bolje?

Dev CPP se ne održava dugi niz godina tako da njega zaobiđi. Na raspolaganju su ti Code::Blocks i Visual Studio Express C++.



offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12488
  • Gde živiš: Južni pol

Sass Drake ::zoxkika2 ::Nasao sam na netu da neki preporucuju za radna okruzenja Microsoftov proizvod Visual C++.NET., a neki preporucuju Dev-C++. Sta je po vama bolje?

Dev CPP se ne održava dugi niz godina tako da njega zaobiđi. Na raspolaganju su ti Code::Blocks i Visual Studio Express C++.


Greška. Razvoj je preuzeo novi tim pre nekoliko godina. Ovaj fork se naziva Orwell Dev C++. Iako je istina da je originalni projekat neaktivan već jako dugo, ovaj fork je aktivan i redovno izbacuje nove verzije.

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Napisano: 20 Okt 2014 17:01

bocke ::Ne bih ja puno slušao Vasu - on ima pristup MS softveru kroz MSDNAA i Dreamspark tako da može da se bahati i nabavlja dosta solidan izbor softvera gotovo besplatno (Razz). Ako tvoja škola ili fakultet nema ugovor sa MS-om bićeš ograničen na Express verzije.Istina, dostupno mi je brdo profesionalnog MS softvera potpuno besplatno. Čak sam i jedno vreme koristio VS Ultimate, licencu posedujem i dalje, ali sam prešao na VS Express. Zašto? Zato što mi u fazi učenja nije potrebno sve ono što nudi Ultimate, i sasvim mi je dovoljna Express varijanta. Nakon toga, 10GB vs 1,5GB na ne tako velikom SSD-u...znači dosta. Very Happy Zatim, zato što je jednostavniji. Sećam se kada sam se ja upoznavao sa okruženjima. Krenuo sam od NetBeans-a. Meni je kao nekome ko prvi put pokreće isti bio potreban ceo dan da ga osposobim za rad, baš sa MinGW kompajlerom. Smorio sam se samo tako. Very Happy Kod VS-a imaš dvoklik da ga instaliraš, dvoklik da ga pokreneš i već kucaš kod. Very Happy
bocke ::Gde se ogleda ta fleskibilnost? Podrška za veliki broj različitih kompajlera ili debagera... Mogućnost kros-kompajliranja na različite platforme (od mikro-kontrolera do super računara). Itd. To MS VS nema.To sve stoji, i tako nešto verovatno jeste bitno nekome ko je već iskusan programer i kome je to struka. Evo, ja sam treća godina Elektronskog fakulteta u Nišu. Dakle, dve godine "programiram" i još uvek mi nije zatrebalo ništa dalje od VS-a i Eclipse-a, a mnogo toga sam radio i mimo fakulteta. Nije nemoguće da ću vremenom dolaziti u situacije gde će mi biti potrebno nešto fleksibilnije, evo već ove godine krećemo sa Operativnim sistemima i programiranjem isključivo za Juniksolike sisteme, ali mi do sada za učenje tako nešto nije bilo neophodno. Na stranu to što veća mogućnost/fleksibilnost neretko ume da bude komplikovana i nezgodna onome ko se prvi put susreće sa tim.


Na kraju, neka ne sluša ni tebe ni mene mnogo, i neka isproba sam, pa će već videti šta mu najbolje odgovara. Very Happy

Dopuna: 18 Nov 2014 23:04

Evo prođe već mesec dana. Odakle si počeo? Very Happy

offline
  • Pridružio: 02 Jan 2008
  • Poruke: 2167

bocke ::Sass Drake ::zoxkika2 ::Nasao sam na netu da neki preporucuju za radna okruzenja Microsoftov proizvod Visual C++.NET., a neki preporucuju Dev-C++. Sta je po vama bolje?

Dev CPP se ne održava dugi niz godina tako da njega zaobiđi. Na raspolaganju su ti Code::Blocks i Visual Studio Express C++.


Greška. Razvoj je preuzeo novi tim pre nekoliko godina. Ovaj fork se naziva Orwell Dev C++. Iako je istina da je originalni projekat neaktivan već jako dugo, ovaj fork je aktivan i redovno izbacuje nove verzije.

Pa koja je onda razlika i da li uopste postoji izmedju ta dva alata?

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Sledece pitanje seminovano postavlja:
Posto je C++ nadskup jezika C, da li je potrebno prvo nauciti C. Po mojoj teoriji i vecini drugih C++ programera smatraju da nije.
Ne samo da je nepotrebno, vec nepoznavanje jezika C moze biti i prednost. Vecina tutorijala na internetu za jezik C++ nijednog trenutka ne spominje C jezik. Tako da nema sta da se opterecujes sa time. Ali neko smatra da je bolje znati C.

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Slažem se sa Ikcem. Ja sam počeo sa C++ i kada sam pokušao da pišem programe u C toliko me je smarao jezik da sam na kraju odustao i ni danas ga ne znam niti sam se trudio da ga naučim. Smatram da je nepotreban osim ukoliko hoćeš da se baviš sistemskim programiranjem ili da petljaš nešto sa hardverom (low-level programming).

@p2all, nema neke velike razlike između ta dva alata, sem što je Orwell Dev C++ svakako moderniji. Preporučujem ti ipak Visual C++ ili Eclipse CDT, oni su bolji alati.

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

_iKaC ::Ne samo da je nepotrebno, vec nepoznavanje jezika C moze biti i prednost.Kako to? Very Happy

Svakako, da se razumemo, ne smatram C obaveznim za učenje ostalih C-like jezika. Daleko od toga. Slažem se da se C++ može savladati bez poznavanja jezika C. No, meni više odgovara postepen pristup. Istina, takav pristup je sporiji, ali je i temeljniji.

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Napisano: 22 Dec 2014 18:31

Ali pazi Objective-C je trenutno placeniji od C++ (Glavni je programski jezik korišćen od strane Apple kompanije za OS X i iOS operativne sisteme i njihove aplikativno-programske interfejse)

Dopuna: 22 Dec 2014 18:33

vasa.93 ::_iKaC ::Ne samo da je nepotrebno, vec nepoznavanje jezika C moze biti i prednost.Kako to? Very Happy

Pa prosto, sto bi neki pocetnik koji zeli da uci C++ morao da gubi 2 godine na C kad moze odma da krene sa onim sto zeli. Lepo je znati ali tu logiku koju nudi C mozes da izvrtis i u C++. Sve ono sto moze C moze i C++. Lepo je znati ali sasvim nepotrebna stavka za jednog pocetnika

Dopuna: 22 Dec 2014 18:34

Vaso znas i sam druze sve to ide od coveka do coveka, neko voli ovako neko onako. Ali sam ce videti kad prevlada nekim glavnim delovima C++ da li mu je potrebno ili nije

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

To je ok. Akcenat je bio na reči "prednost". Kako nepoznavanje nekog jezika može biti prednost? Very Happy

Ko je trenutno na forumu
 

Ukupno su 1288 korisnika na forumu :: 62 registrovanih, 9 sakrivenih i 1217 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, A.R.Chafee.Jr., AC-DC, Atomski čoban, babaroga, Ben Roj, bojank, Boris Bosiljčić, Bubimir, cavatina, crnitrn, DejanSt, delrey, Dimitrise93, djboj, Djokislav, Djokkinen, Doca, Dorcolac, dragoljub11987, dule10savic, Georgius, havoc995, HogarStrashni, ikan, JimmyNapoli, kalens021, Karla, kokodakalo, Krvava Devetka, ksyyaj, kunktator, kybonacci, ljubacv, maiden6657, mačković, Mercury, milenko crazy north, milimoj, MiroslavD, mnn2, nikoladim, oganj123, opt1, panonski mornar, panzerwaffe, pein, radionica1, Romibrat, royst33, ruso, S1Mk3, Shinobi, Sićko, SR-3m, Srky Boy, stankolich, vathra, virked, wizzardone, Wrangler, zdrebac