Najbolje ti je krenuti sa swiftom jer je nov jezik i bice dosta podrzan u buducnosti jedina mana je sto moras imati mac.
Najbolji programski jezik za totalnog početnika
- poruka: 134
- |
- čitano: 90.410
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
Uglavnom su poznatiji i češće korišteni jezici bazirani na C-u
Kakav crni swift... jezik buducnosti? malo sutra ako bude samo za mac jer vecina ljudi koristi a vjerojatno ce i nastaviti koristiti windowse ili linuxe... sto se tice jezika ja bi preporucio python, ne moze biti jednostavniji jezik za ucenje... iako se C-ovi najvise koriste mislim da nije stvar samo nauciti sta je cout, for petlja itd, nego nauciti kako algoritmi funkcioniraju, liste, polja, zato IMO bi najpametnije za totalnog pocetnika bilo bolje pocet u pythonu gdje nema toliko "finesa" kod pisanja pa da sto prije dobijes osjecaj za navedene pojmove, a onda lako lupas po C-u kad si upoznat sa svime i trebas samo nauciti da vise nije print nego cout
c# ili java
Čovjek (Crispy450) vjerojatno ne zna što radi kôd
10 Print "Dajte se saberite"
20 Goto 10
A vi mu preporučujete razne C-ove i plus plusove i Jave. Pa niste normalni.
Tražio je preporuku programskog jezika za TOTALNE POČETNIKE, a ne koji je najisplativiji,
koji pruža najbolju mogućnost zapošljavanja i koji ima najbolju perspektivu.
Dakle Crispy, skini si Microsoftov Small Basic, koji je Microsoft napravio da bi programiranje
približio ljudima kao što si ti.
Prouči si njihov temeljni tutorial, ako te i dalje bude
zanimalo, imaš i na njihovom sajtu brdo naprednijih primjera.
Ako si totalni noob kao što kažeš da jesi, boljeg početka nema. A onda ti vidi je li to nešto što tebe u životu zanima.
Sve ostale preporuke zanemari jer ljudi izgleda nisu shvatili što si pitao
i jer će ti se programiranje ogaditi do smrti, a ne bi trebalo.
Mislim da nije ipak toliki pocetnik cim spomije android, linux i sl.
Iskreno bih mu preporucio da krene ucit javu zbog androida, jezik je objeknno orijentiran i iskreno nije tezak za naucit.
Ali kao sto je vec receno milijun puta vazno je samo krenut ucit, jezik skoro pa nije bitan, poslije je sto puta lakse naucit bilo koji drugi jezik nakon sto se svlada logika OOP-a
Čovjek (Crispy450) vjerojatno ne zna što radi kôd
10 Print "Dajte se saberite"
20 Goto 10
Zato će naučiti. Nisam ni ja znao što radi:
shr eax, 0xA
Dok nisam pogledao i naučio.
Preživjet će, baš kao i mnogi prije njega. Petlja je petlja, i u BASIC-u i u Javi...
Tu se stvara neka fama da postoje, jelte, teški i laki programski jezici. Programski jezici nisu ni teški ni laki, programiranje kao takvo može biti teško ili lako, ovisno o problemu koji se pokušava riješiti.
Ovako, ja sam laik, ali bi ti preporučio da odabareš jedan od ova dva pristupa: od višeg prema nižem (Java >> C++ >> C) ili od nižeg prema višem (C >> C++ >> Java). :)
Ovako, ja sam laik, ali bi ti preporučio da odabareš jedan od ova dva pristupa: od višeg prema nižem (Java >> C++ >> C) ili od nižeg prema višem (C >> C++ >> Java). :)
Sigurno nebih preporucio da u slucaju da svlada javu krene ucit C, isto tako mislim da je C++ najtezi programski jezik a ne Java
QBasic - C++/C# - HTML sa JS - Java - proprogramer
QBasic - C++/C# - HTML sa JS - Java - proprogramer
Joj, daj molim te, nemoj više savjetovat. Reklo se šta se imalo reći, ja bih predložio da ova tema ide na lock a ostane na sticky i počiste ovakve gluposti. Ništa protiv tebe, ali neko će pročitati tvoju nebulozu i širit je dalje, taj put nema veze sa vezom, i sad dođe početnik i krene kucat zavjere o tome koji je lakši, a koji je teži.
Koji bi jezik preopručili šesnaestogodišnjaku koji je totalni početnik? Tija bi se bavit sa programiranjen i u budućnosti i ne očekujen da ću u godinu dana sve naučit, svjestan san činjenice da će mi tribati puno više godina, ali san spreman. Nešto san počeja sa javon ali ne znan koja je knjiga provjereno dobra ( mislin na ove što se nalaze na internetu, na hrvatskom jeziku). Ako java nije dobra za početak slobodno preporučite neki drugi.
Hvala unaprid.
Koji bi jezik preopručili šesnaestogodišnjaku koji je totalni početnik?
Mislim da ova tema daje dovoljan opis raznih programskih jezika (po popularnosti, podršci na raznim platformama, radu sa grafikom...). Pa prolistaj malo postove, ali nemoj upasti u zamku prevelikog analiziranja kao što je to napravio autor teme. Trebaš samo započeti, doista nije od prevelike važnosti s kojim će se to točno jezikom dogoditi, tako da tu nema stvarnih "promašaja".
Glede Jave i literature, nisam prava osoba za dijeliti savjete po tom pitanju, možda da prolistaš temu za literaturu, tamo ćeš naći svašta većinu toga i besplatno. Na hrvatskom jeziku su ti stvari dosta siromašne, nisam čak ni siguran postoji li knjiga za Javu na hrvatskom. Imaš nekoliko C++ knjiga (C++ analiza i primjena, Demistificirani C++, Naučite programirati uz C++), pa ako ti to predstavlja bitan faktor onda razmisli o C++-u.
Pa budući da je ogromna većina svih aplikacija na androidu pisana u Javi, rekao bih Java (iako koliko znam može i C++). Ali ne brzaj, daleko si ti još od pisanja igara, sve i da kreneš sa nekim jezikom koji uopće nije podržan na androidu, dok ti dođeš do točke kada si sposoban napisati nekakvu imalo ne trivijalnu igru, već ćeš imati dovoljno znanja da se po potrebi prebaciš na Javu bez ikakvih poteškoća (ako nisi od početka išao sa Javom). Tako da nemoj birati programski jezik *sada*, razmišljajući što ćeš raditi za cirka godinu dana. Jer *sada* ćeš programirati na PC-u, grafika je daleko, a android još dalje, stoga si trebaš odabrati neki jezik koji će ti poslužiti za učenje, a u hodu ćeš kako ti znanje bude raslo već polako dobiti jasnu sliku što zapravo želiš i koji će ti programski jezik biti potreban da ostvariš to što si naumio (ako se ispostavi da bi bilo pametno prebaciti se, često to jednostavno nije potrebno).
Da sam na tvom mjestu gledao bih koji to programski jezik mogu odabrati a da je dovoljno popularan da ću lako naći materijale iz kojih mogu učiti. Ne želiš valjda odabrati neki jezik za koji ćeš imati problema nalaziti materijale iz kojih bi mogao učiti, a kad postaviš pitanje na forumu nitko ti ne odgovori jer ne znaju taj jezik? Logika, ne?
Znan da sad pilan, ali što bi ti sad meni ka početniku reka (uzimajući u obzir o kojem jeziku ima više toga na netu, koji je bolji za početnika i ostalo) Java ili C++?
Znan da sad pilan, ali što bi ti sad meni ka početniku reka (uzimajući u obzir o kojem jeziku ima više toga na netu, koji je bolji za početnika i ostalo) Java ili C++?
Dosta su si blizu po popularnosti, ali bih ipak dao prednost C++-u, pogotovo ako misliš tražiti pomoć na ovom forumu. Plus imaš literature na hrvatskom jeziku...
Fala puno na pomoći.
Probaj PHP.
Pozdrav svima
Pročitao sam ovu temu i vidim da bi svi voljeli krenuti sa C++ ili javom i na kraju svi brzo odustanu pa moje pitanje sad glasi: Što mislite o tome da krenem sa qBasicom koji (kako samo čitao) puno lakši za naučit i onda kad sve u qbasicu pohvatam krenem sa javom ili c++? I još jedno pitanje. Da li je u qbasicu moguće izrađivati neke najjednostavnije 2D igre?
Pozdrav svima
Pročitao sam ovu temu i vidim da bi svi voljeli krenuti sa C++ ili javom i na kraju svi brzo odustanu pa moje pitanje sad glasi: Što mislite o tome da krenem sa qBasicom koji (kako samo čitao) puno lakši za naučit i onda kad sve u qbasicu pohvatam krenem sa javom ili c++? I još jedno pitanje. Da li je u qbasicu moguće izrađivati neke najjednostavnije 2D igre?
Normalno da može evo primjer za packmana xD http://www.petesqbsite.com/sections/tutorials/tutorials/basicgd.htm
A eto i malo o dizajnu igara u qbasicu http://www.petesqbsite.com/sections/tutorials/gamedesign.shtml
No osobno mislim da je bolje odmah krenuti sa C++ pa onda javom.
Pozdrav svima
Pročitao sam ovu temu i vidim da bi svi voljeli krenuti sa C++ ili javom i na kraju svi brzo odustanu pa moje pitanje sad glasi: Što mislite o tome da krenem sa qBasicom koji (kako samo čitao) puno lakši za naučit i onda kad sve u qbasicu pohvatam krenem sa javom ili c++? I još jedno pitanje. Da li je u qbasicu moguće izrađivati neke najjednostavnije 2D igre?
- svakim jezikom možeš naučiti programirati, ostalo je samo prilagodba (kao automobili) ali bitno je i vrijeme, tad je brže krenuti s jezikom koji je bliži po načinu upotrebe/sintaxi onom što ćeš ''sutra'' (kroz 5-10g) koristiti. Moja procjena da za svaku profesiju trebaš 10g učenja, nogomet, gitara, klizanje, programiranje.. pogoditi što će tad biti traženo je nemoguće. To ćeš poloviti u hodu (ili odustati kroz par dana).
- ja bi (iz nostalgije) bio za qb.. ali. To je iz vremena DOSa, bez GUIa (win/linux-DE). Po tome, imaš npr VisualStudo/Basic koji je nasljednik QBa, zajedno je i C++C#.. java je skoro identična, sve ostalo su nijanse. Naravno predpostavka da je platforma win ali može i OSX-linux (gcc, mono, .. bezbroj alata), MS daje dosta besplatnih stvari, za učenje je daleko lakše jer imaš MSDN-helpove-knjige... i bazu od +90% potencijalnih juzera/kompatibilnost.
- dali je nešto moguće? Da, čak bez ičega teoretski npr pike-pokeom, asembler itd. ali to bi bio mukotrpni put, igra bi bila gotova za cca 3.632 godina. Igre koriste (gotove) engine... prije da ćeš korsitit flash skrptiranje nego basic za igru. Pogrešna ideja-cilj, neide to baš tako. Prvi korak je 'hallo world', do izrade igre si udaljen par (svjetlosnih) godina, zapravo 99% da nećeš radit igre ako i postaneš programer.
- čemu se u QBu mučiti npr rezolucijom, umjesto (kreativnije) to vrijeme iskoristiti za nešto što je danas-sutra potrebno. Moderni alati olakšavaju (teoretski druge razlike nema, ali time ni razloga za stare alate). Dali je danas potrebno koristiti npr win95 (pa do XPa)... koriste se posljednje verzije, pogotovo ako počinješ učenje jer uz najbolju volju nećeš biti programer još par godina.
- QB može poslužiti za osnovu kao if-then, for-next .. to su osnove zajedničke svim platformama. To je 'programersko razmišljanje', logika, tok. Ali proceduralni jezici (možda lakši za početak) vs današnjih objektinih.. danas više ne moraš brinuti o low dijelu, nego samo o konkretnom tasku koji želiš (ostalo radi engine-automatika ispod haube, runtimeovi itd.). Možemo karikirano reči, da je QB dobar za prvi razred OŠ programera (kao matematika 1+1..) ali nakon toga je nedovoljan. ... -osim ako bi jednog dana radio u takvim-specifičnim app npr EEPROM, asembler .. tad može neki stariji jezik biti bliži (problematika-rješenja). Neznam kako su danas dobavljivi game-editori (npr stari Quake) možeš probati tako nešto, zapravo samo crtaš level postojećim objektima (kao minecraft), ali tako nećeš naučiti ništa od programerskog dijela, ovo je sličnije grafičarima+ACAD. Programiranje je čak i u paketima ako excel, acad, baze.. ponekad čak ne moraš tipkati ni jedno slovce koda, time se štedi vrijeme koje bi u QBu potrošio na plahte koda koji radi isto.
Za početnički nivo gdje je potrebno naučiti osnovnu logiku (uvjetne naredbe, petlje, polja, funkcije itd.) može poslužiti bilo koji programski jezik, pa čak i stariji poput qbasica. Ali opet, ne bih ga preporučio jer sintaksno ipak odstupa od trenutno najpopularnijih: c++, c#, java (ne nužno tim redoslijedom). Općenito mislim da je za taj početnički (proceduralni) dio dobar C jezik. Sintaksno je jako sličan ovim novijima koje sam spomenuo, pa se kasnije sa njega nije toliki problem prebaciti na objektno-orijentirani jezik poput C++a, C#-a ili Jave. Usto, C nudi i low-level pristup pa može biti koristan i u tom području.
Ipak, ozbiljnije programiranje se danas događa tek u objektno-orijentiranim jezicima i za rad u njima je potrebno znati objektnu paradigmu. Rad s klasama i upotreba svojstava poput enkapsulacije, nasljeđivanja, polimorfizma je svugdje ista bez obzira da li se radi u C++u, Javi ili C#-u. Kad se jednom to nauči tada je svejedno što ćeš dalje koristiti jer se ostatak svodi tek na izbor nekog od IDEa/frameworka (VS/.NET, C++Builder/VCL, Java/Swing i sl.). Općenito, za učenje objekte paradigme najčešće se koristi C++ kao nadogradnja C-a. Nakon što to naučiš u C++u eventualni prelaz na C# ili Javu je gotovo formalnost.
Mi na TVZ-u sada razmišljamo o uvođenju Pythona. Neke sheme postoje pa ćemo vidjeti da li je izvedivo. Budem osobno podržao ako se službeno predloži.
Mi na TVZ-u sada razmišljamo o uvođenju Pythona. Neke sheme postoje pa ćemo vidjeti da li je izvedivo. Budem osobno podržao ako se službeno predloži.
Tracer, možda ovo nije prikladna tema no možeš li ti opisati kako izgleda jedan ozbiljniji real-life programerski zadatak?
Možda bi bilo dobro da opišeš neki projekt na kojem si radio, s kojim si se problemima susretao i tako sve što ti padne na pamet
Na ovom forumu ti si malo više u tim programerskim temama pa ako znaš neku prikladniju temu opiši tamo ali me molim te obavijesti PPom
Ako nemaš vremena naravno nema veze!
Obavijestiti ću još i Luuku jer ste vas dvojica jedini koji mi trenutno padate na pamet
Pa evo upravo sada radim na jednom projektu za zdravstvo. Ne mogu previše detalja iznositi zbog "poslovne tajne", no riječ je o tablet aplikaciji koju koristi određeno medicinsko osoblje i u njoj bilježi podatke o pacijentima. Ono što sam ja do sada napravio na tom projektu je sljedeće:
1) Instalacija i konfiguracija SQL Server baze s imenovanom instancom i statičkim portom na Win2012 server.
Svi tableti će imaju svoju lokalnu SQL server bazu (express edition), no u konačnici sva podatkovna komunikacija se mora spremiti na centralni server gdje je SQL Server Enterprise Edition. Instalirao sam imenovanu instancu centralnog servisa tako da "fizički" razdijelim setove baza koje se koriste u različitim segmentima zdravstva te ustanove, a i radi lakše administracije kasnije. Također, da spriječim napade na bazu preko standardnog porta 1433 (hakeri vrlo često traže upravo taj port) sva podatkovna komunikacije se odvija preko nekog drugog unaprijed definiranog statičkog porta XXXX.
2) Kompletno modeliranje i normalizacija baze podataka (63 tablice)
Posao za koji mi je trebalo cca 3 mjeseca. Gomila razgovora sa osobljem, doktorima, sestrama, medicinskim tehničarima, administratorima itd itd. dok ne shvatim tok informacija, tko sa kime razgovara i prenosi informacije, koji točno podaci su potrebni itd. Tek nakon toga sam izradio tablice, napravio normalizaciju, relacije itd.. Definitivno najviše posla u ovom dijelu ima.
3) Izrada stored procedura u bazi podataka (8 stored procedura)
Specifičan problem u ovoj priči je što treba uštedjeti bandwith pri radu s centralnim serverom jer tableti koriste GSM mrežu za internet komunikaciju... Zato tableti od centralnog servera trebaju dobivati samo one podatke koji im trebaju, a ne cijele setove tablica sa svim podacima. I zato umjesto lokalnih sql upita na tabletima morao sam raditi stored procedure na centralnom serveru koje su se tamo izvršavale i tabletima slale samo one informacije mrežom koje su im potrebne. Ovo je općenito i poboljšalo performanse cijele aplikacije.
4) Aplikacijski korisnički računi u bazi
Iz sigurnosnih razloga u EXE se ne smije spremiti connection string prema bazi koji sadrži korisničke podatke koji imaju stvarne ovlasti nad bazom. Do toga se lako dođe i onda s tim korisničkim računom napadač ima puni pristup bazi. Umjesto toga, aplikacija se spaja s public korisničkim računom (nema nikakvih ovlasti), a stvarne ovlasti nad bazom aplikacija dobiva tek dodatnom verifikacijom pomoću application role korisničkog računa i pozivanjem stored procedure za autorizaciju iz same aplikacije. Puno sigurnije nego korisnički račun nad samom bazom.
5) Transakcijska replikacija (vjerojatno u oba smjera)
Baza ima 24 šifrarnika i oni se svi updejtaju na centralnom serveru, a zatim se sve te izmjene moraju proslijediti na tablet-e. Za to sam napravio transakcijsku replikaciju iz smjera centralni server->tableti, i to tek svakih 12 sati kako bi se uštedio bandwith. Još se razmišljam uvesti transakcijsku replikaciju i iz smjera tableti->centalni server, gdje bi tableti centralnom serveru slali sve logove (greške) koje se događaju pri radu s aplikacijom na tabletima, tako da je nama sve odmah vidljivo na jednom mjestu...
6) Izrada pod-sustava za upravljanje šifrarnicima
Za sve ove 24 tablice koje predstavljaju šifrarnike trebao sam napraviti i aplikaciju koja ih može mijenjati. Znači, dodati nove zapise u šifrarnike, uređivati postojeće, brisati itd.. Oko 80 formi (prozora) trenutno ima ta aplikacija.
7) Izrada DLL biblioteke za update tablet aplikacije
Kako ja koristim C++ a tablet aplikacija se radi u C#-u napravio sam DLL za update te tablet aplikacije. DLL funkcija se poziva iz C# aplikacije, a zatim provjerava lokalnu SQL server bazu da li postoji upgrade aplikacije (sve upgrade datoteke se drže u samoj bazi a replikacijom se sa centralnog servera šalju tabletima koji se onda updateaju preko ovog dll-a).
I još mi ostaje rasturiti SDK za čitač kartica koji će se implementirati u tablet aplikaciju i još par stvari poput tehničke i korisničke dokumentacije itd itd. .
Ovo je primjer projekta gdje sam morao izvući gotovo sve živo i neživo iz rukava. Najviše pozornosti posvetiti samom modeliranju baze, sigurnosti, performansama, malom bandwithu, pa onda tek na podsustave, dll itd.. A tek dio ekipe koja radi na samoj tablet aplikaciji koliko ima posla... ufff... No mnogo se tu nauči! To je možda najvrijednije od svega.
Lijepo od tebe da si me se sjetio, ali ja ti nisam neki dobar primjer za real-life primjere. Što se tiče projekata van onog što sam radio na faxu, mogu izdvojiti samo jedan na kojem radim otkad sam se zaposlio (3godine) - Njuškalo.
U tih 3 godine radio sam na puuuno dijelova aplikacije, što vezano za financije, nove funkcionalnosti, optimizacije, servise za mobilne aplikacije, razni alati u administraciji... Svaki projekt je priča za sebe, no uglavnom ima više faza razvoja:
1. Klijent napiše svoje želje i scenarije kako želi da nešto radi
2. To se s njim prođe u detalje, raspiše malo detaljnije
3. Zatim se to prođe sa kolegama da se točno vidi kako će se to tehnički izvest
4. Implementacija - slaganje tablica u bazi, implementacija same logike, while(not_good) { peerreview od kolega, refactoring }
5. Postavljanje na test klijentu
6. Ukoliko je bilo novih tablica ili novih tipova queryja dodavanje indexa na tablice ako je potrebno
Često zna biti i komunikacije s trećim stranama (porezna uprava, payway, overseas, ... ) pa i na to ode nešto vremena u fazama 1 i 2...
Ono što je konkretno na Njuškalu različito od nekih malih projekata koji se rade na faxu i nisu "real-life" je količina prometa, podataka, korisnika. Znalo se desit da nešto i napraviš, radi dobro, klijent testira, sve dobro, ode na produkciju i krš lom jer se propustio neki detalj vezan za opterećenje.
Što se tiče problema s kojima se susrećem oni su uglavnom vezani za već spomenuti veliki promet i količinu podataka. Tu onda u igru ulaze NoSQL rješenja koja smo implementirali (sphinx, redis) kao i razna cacheiranja. Problem zna izazvati i promjena zahtjeva od strane klijenta za vrijeme razvoja kad je potreban veći refactor koda.
Ne znam koliko smijem ići u detalje nekih od projekata pa bih radije ostavio ovako općenito. Nadam se da ti pomaže :)
Šta je sa PHP ili Python jezicima za početnike? Koji je bolji, mislim koji od ova dva jezika pruža više mogućnosti?
Python je bolji izbor za totalnog početnika.
Python je jezik opće namjene i može ga se početi učiti bez predznanja. Primarna namjena PHP-a je web pa je potrebno poznavanje osnova HTML-a.