Jump to content

Amateri programeri


Recommended Posts

Ima li takvih danas uopšte? Tragam za srodnom dušom.

 

Hoću u stvari da podelim svoje skromno nedavno iskustvo sa forumašima koji možda razmišljaju o tome, a možda bude i nekih korisnih ideja.

Pre jedno godinu dana objavio sam jedan rad, hajde da kažem jednu vrstu leksikona, nije bitno za ovu priču. I prošlo je to OK, ali me i posle nešto teralo da dodajem i oduzimam, širim i prepravljam, tu nema kraja u principu, takva je priroda materije. Shvatio sam da bi elektronska verzija bila prava stvar jer se može modifikovati i koristiti u letu najnovija verzija. Neko drugo dopunjeno štampano izdanje je moguće ali nije verovatno u dogledno vreme.

 

Volim da se oslonim na samog sebe pa odlučim tako u trenutku da sam to iskodiram, bez programerskog backgrounda osim što sam kao klinac nešto  minimalno prčkao u Basicu negde tamo 80tih u pauzi između maltretiranja džojstika. I onda pitam par prijatelja i rođaka profi developera, kažem hoću sam da napravim desktop aplikacijicu, šta da radim. Većina mi kaže: uzmi Python. Ja se počešem po glavi, nemam pojma o tome, kažem OK.

 

I tako sednem, instaliram taj Python, poskidam s neta knjige i neke video tutorijale, uzmem jedan tefter, sednem i u slobodno vreme zapisujem i ukucavam one jednostavne primere u prost editor što sam skinuo. Jedno mesec dana tako kad i koliko sam mogao. To je bilo u oktobru prošle godine. Skapiram kako idu logičke operacije, petlje i promenljive, naučim malo i tu sintaksu i specifičnosti Pythona, isprobavam ovo i ono, naravno neprestano radi google i stackoverflow.com. Onda krenem da radim algoritam i crtam frontend rukom na papiru. I na kraju počnem da pišem i kod, istovremeno i dalje učim u letu.

 

I otkrijem neverovatno zadovoljstvo u svemu tome. Narednih par meseci sam grabio svaki slobodni trenutak, a nije ih bilo mnogo,  krećem da se igram  s tkinterom. Napravim lep mali interfejs, prozor resizable, dugmići, ikonice, liste, pretrage, istorija, browsing. Pa dodam zvuk, wow. Pa onda dodam ilustracije, wow. Napravim linkove, formate teksta, kako mi šta pada na pamet, i nastavljam da se oduševljavam kao tinejdžer, svaki problem me namuči, neki i po par dana, ali bude wow na kraju. I završim na kraju sve to ove godine, utisci profi ljudi su bili veoma dobri. Još isprogramiram jednu zabavnu igricu kao dodatak i ručno iscrtam sve sam u njoj. Mislim, moj source code je sigurno haotičan i neracionalan, sa možda ponekim čudnim rešenjem, sada bi to sigurno bolje uradio, a interfejs možda izgleda kao nešto od pre desetak godina, ali me mrzi da više prepravljam jer sve radi odlično, više ljudi je isprobavalo i tražilo bagove.

 

Sve u svemu, čitavo iskustvo je bilo istinsko uživanje i povratak u mladost. Osim što sam se na kraju zaista "opučio" da napravim od source code .exe fajl koji može samostalno da radi na svakom Windows računaru. Eeee to je bila višednevna noćna mora i nerviranje. Za te stvari Python je zaista loš.

 

Elem, ako neko misli da se ovako malo igra i uči, evo nekih mojih amaterskih zapažanja:

 

- Nisam probao druge jezike ali mislim da je Python zaista dobar izbor za učenje i za početnike, što uopšte ne znači da ćete biti ograničeni u radu. Mogućnosti su velike, pritom ja sam koristio samo osnovnu biblioteku.

- Solidno znanje engleskog jezika je važno. Nisam baš ni tražio tutorijale na srpskom, ali sam siguran da ćete se zaglaviti ako učite sami a ne znate engleski, google i stackoverflow su mi neprestano radili. Jednostavno nećete naći na srpskom rešenja za sve probleme.

- Ako ne uživate u procesu, ne vredi. Za amatersko prčkanje ovog tipa entuzijazam je apsolutni must.

- Ako ste generalno malo slabiji s logikom, biće malo teže ali praksa je mama. Matematika nije previše bitna, ali logika jeste.

- Poželjno je da imate nekog za redovne konsultacije, nije isto kao traženje info po netu. Ja to nisam imao, morao sam sve sam što mi je oduzelo vremena.

- Dobro je da to što radite ima nekog smisla, da postoji praktična korist od svega. Iako je učenje samo po sebi uvek korisno, upotrebljiv krajnji rezultat vas gura dalje, bar je tako bilo u mom slučaju. U stvari, ja želim da ponovim ovo iskustvo ali sad nemam ideju šta bi sledeće korisno za sebe mogao da uradim.

- Rešenje za svaki problem uvek postoji, ne odustajte lako. Ako volite izazove nema problema.

 

To je moja amaterska programerska priča i dokaz da se to može i bez predznanja.  Nadam se da može ohrabriti nekog ko je razmišljao o tome, a mislio da je preteško ili da ne može, da ipak proba. Ako takvih uopšte ima 😄

 

 

 

 

 

 

 

 

 

Edited by zima
  • Like 3
Link to comment
Share on other sites

Zavisi sta radis.

Ja sam radio, uglavnom, baze podataka i za neke mi je bio dovoljan Visual Fox Pro, dok je dosta puta i MS Access zavrsavao posao.

Za mala preduzeca sa jednostavnim workgroup mrezama je to sasvim dovoljno i efikasno.

Naravno, dodje se i do SQL servera ili Oracle - ali, kad im kazes cenu licence okruzenja, odma` traze ono jeftinije.

Link to comment
Share on other sites

Meni su baze velika ljubav. (:

 

Samo ne lisem cesto pure SQL a PLSQL sam radio samo na jednom predmetnu na faksu. 

 

Vise sam radio sa ORM alati(Hibernate, Fluent NHibernate, Entity Framework) i NoSQL bazama(Mongo, Redis, Neo4j, Elasticsearch).

 

Da ne skrecem mnogo s teme. Slozio bih se, SQL developeri du bitni i to treba ustraziti kad se odlucuje o usmerenju. 

Link to comment
Share on other sites

9 hours ago, zima said:

- Nisam probao druge jezike ali mislim da je Python zaista dobar izbor za učenje i za početnike, što uopšte ne znači da ćete biti ograničeni u radu. Mogućnosti su velike, pritom ja sam koristio samo osnovnu biblioteku.

 

 

Python je verovatno najbolji za apsolutne početnike i svima bih ga preporučio kao prvi jezik.

 

Quote

- Solidno znanje engleskog jezika je važno. Nisam baš ni tražio tutorijale na srpskom, ali sam siguran da ćete se zaglaviti ako učite sami a ne znate engleski, google i stackoverflow su

mi neprestano radili. Jednostavno nećete naći na srpskom rešenja za sve probleme.

 

Engleski je prvi jezik koji treba dobro savladati pre kretanja u programersku priču, bez ikakve sumnje.

 

Quote

- Ako ne uživate u procesu, ne vredi. Za amatersko prčkanje ovog tipa entuzijazam je apsolutni must.

 

Entuzijazam i sklonost ka programiranju su veoma bitni i za profesionalce. Kome su jedini i isključivi motiv finansije, neka nađe drugo zanimanje, teško da će uspeti samo sa tom motivacijom.

 

Quote

- Ako ste generalno malo slabiji s logikom, biće malo teže ali praksa je mama. Matematika nije previše bitna, ali logika jeste.

 

Programiranje je ogromna oblast i zavisi čime se neko želi baviti. Dosta početnika je uplašeno jer su klimavi što se matematike tiče, ne znaju šta da očekuju. Ako im je recimo primarni cilj data science ili pravljenje AAA igara, gde se dizajniraju kompleksni pokreti i algoritmi za njih, tada je neophodno znanje više matematike. Sa druge strane, za web programiranje je sasvim dovoljna pijačarska matematika, dakle bazična aritmetika.

 

Quote

- Poželjno je da imate nekog za redovne konsultacije, nije isto kao traženje info po netu. Ja to nisam imao, morao sam sve sam što mi je oduzelo vremena.

 

Nisam ni ja imao. Pomaže ali nije presudno. Ono što je prednost u takvoj situaciji je da čovek koji nema gurua uči da se oslanja na sebe i ne zavisi od drugih. Nije mala stvar kada se ta veština izuči.

 

Quote

- Dobro je da to što radite ima nekog smisla, da postoji praktična korist od svega. Iako je učenje samo po sebi uvek korisno, upotrebljiv krajnji rezultat vas gura dalje, bar je tako bilo u mom slučaju. U stvari, ja želim da ponovim ovo iskustvo ali sad nemam ideju šta bi sledeće korisno za sebe mogao da uradim.

 

Upravo iz tog razloga treba sebe što ranije oprobati u ringu, na konkretnom projektu. Tako se najbolje i uči i stasava.

 

Quote

- Rešenje za svaki problem uvek postoji, ne odustajte lako. Ako volite izazove nema problema.

 

Ako krenete u ovu priču, DuckDuckGo i Stack Overflow će biti vaši najbolji prijatelji.

Edited by lekoviti
  • Like 2
Link to comment
Share on other sites

Niko ne pominje Microsoftov Visual Studio 2019, koji je 100% džabe.

 

Osim što je izvanredna platforma za C, C++, C#, F# i Web development, dosta ljudi ne zna da su nove verzije izvrsne i za Python... kao i sijaset drugih jezika (R, naprimer).
Odlično razume js, jQuery, VueJS, ts etc...

Ako se ne varam, može da se koristi komercijalno, iako je džabe.


Jedino Profesionalna i Enterpise verzija se plaćaju, ali su neinteresantne za soliste i timove manje od 5 ljudi.

 

Ekstenzija VsVim podržava  sve iz "vi" editora, radi kao zmaj,  pa, ko je navikao na taj editor (kao ja), ne mora da koristi strelice, PgUp, PgDn, Home, End ili miša...


Podrška za Git out "of the box" (iako preferiram Gmaster za git).


Može da se koristi i za Android i iOS aplikacija, ima sve viša džidža budža za Business Intelligence i AI, koje planiram da isprobam kada uhvatim vremena.


Microsoftov SQL server, uključujući i Management studio su takođe džabe. Max 6 gigabajta baze podataka, nema profajlera i scheduled tasks, ali takođe sme da se koristi komercijalno.
Dobro za učenje. Problem je što je Microsoft hosting na netu uvek skuplji od Linuxa.

 

 

Za one kojima je Visual Studio preglomazan i za ljubitelje Linuxa koji neće da uče "Emacs! ili "vi" editor:  "Visual Studio Code", podseća na "Atom" i "Sublime", open source, radi i na Linux-u. Može da se koristi kao IDE za Python, dot net Core sajtove i web API-je, ali i za SQL i sijaset drugih jezika.

To su neke alatke koje olakšavaju posao.

 

Na netu ima bezbroj tečajeva i besplatnih knjiga.

A kada zaškripi, tu je dobri stari Stack Overflow 
 

Edited by yossarian
  • Like 1
Link to comment
Share on other sites

5 minutes ago, yossarian said:

Niko ne pominje Microsoftov Visual Studio 2019, koji je 100% džabe.

 

Osim što je izvanredna platforma za C, C++, C#, F# i Web development, dosta ljudi ne zna da su nove verzije izvrsne i za Python... kao i sijaset drugih jezika (R, naprimer).
Odlično razume js, jQuery, VueJS, ts etc...

Ako se ne varam, može da se koristi komercijalno, iako je džabe.


Jedino Profesionalna i Enterpise verzija se plaćaju, ali su neinteresantne za soliste i timove manje od 5 ljudi.

 

Ekstenzija VsVim podržava  sve iz "vi" editora, radi kao zmaj,  pa, ko je navikao na taj editor (kao ja), ne mora da koristi strelice, PgUp, PgDn, Home, End ili miša...


Podrška za Git out "of the box" (iako preferiram Gmaster za git).


Može da se koristi i za Android i iOS aplikacija, ima sve viša džidža budža za Business Intelligence i AI, koje planiram da isprobam kada uhvatim vremena.


Microsoftov SQL server, uključujući i Management studio su takođe džabe. Max 6 gigabajta baze podataka, nema profajlera i scheduled tasks, ali takođe sme da se koristi komercijalno.
Dobro za učenje. Problem je što je Microsoft hosting na netu uvek skuplji od Linuxa.

 

 

Za one kojima je Visual Studio preglomazan i za ljubitelje Linuxa koji neće da uče "Emacs! ili "vi" editor:  "Visual Studio Code", podseća na "Atom" i "Sublime", open source, radi i na Linux-u. Može da se koristi kao IDE za Python, dot net Core sajtove i web API-je, ali i za SQL i sijaset drugih jezika.

To su neke alatke koje olakšavaju posao.

 

Na netu ima bezbroj tečajeva i besplatnih knjiga.

A kada zaškripi, tu je dobri stari Stack Overflow 
 

 

Spominjao sam ja VS na temi o Software Developmentu. Napisah i tamo, bice jeftiniji hosting jer .NET Core moze da radise i na Linuxu. 

Link to comment
Share on other sites

22 minutes ago, stefan81888 said:

 

Spominjao sam ja VS na temi o Software Developmentu. Napisah i tamo, bice jeftiniji hosting jer .NET Core moze da radise i na Linuxu. 

 

Aaa, u redu.

U gužvi sam, zapucao sam se da napišem nešto na ovom topiku a ostale nisam iščitao. Da jesam, ne bih ponavljao ono što su drugi već rekli.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...