southy ned 10.11.2019 20:30
trolaslavonska kaže...
Meni je demistificirani c++ ogadio taj jezik zauvijek :) moguce jer je dobra knjiga o c++ :)

Demistificirani C++ je sasvim ok knjiga za fakultete i za učenje osnova, a s druge strane je pohvalno da je netko na hrvatskom napisao knjigu od početka i da nije prijevod neke strane. Ako si napredan programer, ok, možeš je preskočiti ili dijelove letimice pročitati, no za neke je to prvi susret sa brojnim konceptima. Ako je prođeš i sve usvojiš sigurno ti neće škoditi, no to nije knjiga nakon koje možeš ići u stvarni svijet i smatrati se C++ programerom (spominjem jer sam imao kolegice na faksu koje su nakon završenog kolegija u CV stavile poznavanje C++ programiranja ).

southy ned 10.11.2019 20:54
Envy kaže...

Ja sam ga skužio pa osim što više nismo na ratnoj nozi, što se mene tiče možemo i na 

 

A sad ozbiljno, krenuo bih sa učenjem nekog od jezika pa da budem taj Junior developer, a budući da Cisco uvodi Phyton na sledećem 200-301 ispitu zanima me ovako kako početnika šta bi bilo dobro da počnem učiti.

OOP sam imao na Fakulettu Elektrotehnike pa su ga nekako izbacili jer sam Energetika tako da ništa u glavi nije ostal ood tog Objetkno Orjentisanog Programiranja,
a od


Include stdio.h

Include math.h

 

imao sam noćne more prije 18 godina. Tada me to nije zanimalo tako ali vidim da je na polju IT-ovaca koderi su puno puno traženiji od Sistemaca a isto tako i obratno što se tiče zadržavanja posla. Sistemac jednom uvaljen u fotelju kao da se uhljebio u domaćoj vladi a puno mi poznanika kodera (programera) samo mijenja neke firme i poslove.

Pa eto da ponovim još jedno (i malo skrenem sa teme) šta je za Junior ili početnika najbolje da počne da uči?

Ah ta Primjer: 
Prijateljica mi je radila u državnoj firmi [Hrvatska lutrija] i NIŠTA nije radila a imala je plaću od 10.000 kn, ode za Irsku i počne da uči (mislim) Phyton i od totalnog non-IT-ovca sada rado u fu*king Microsoftu!

Ma, Zeko je ok, ali neki put dobijem potrebu za "ispravak netočnog navoda". Što se mene tiče, mogu sa svima na i ništa sa foruma ne doživljavam osobno, to što imamo različita mišljenja zaista nije prepreka. 

 

Što se tiče tvoje dileme već sam sa par ljudi razgovarao oko toga što uzeti i učiti od programskih jezika i iako je to sve dosta individualno mislim da je najbolje početi sa Javom ili C#, ovisno o tome koji jezik ti bolje sjedne. Meni osobno Java nikad nije bila simpatična i orijentirao sam se na C#, no radio sam svašta:

- C/C++, COBOL, Pascal, Basic na faksu

- Perl, PHP, ASP, ColdFusion, Ruby, ActionScript, Flex, R za neke privatne projekte

- C#, SQL, ASP.NET, VBA, HTML5, Java, JavaScript (Angular i vuejs), Powershell, ... za redovni posao

- isprobavao sam (radio PoC) sa Pythonom, Kotlinom, Swiftom

 

Ako ćeš programirati nakon nekog vremena se izgubi važnost koji jezik koristiš jer ćeš se morati prebacivati s jednog na drugi i bitno je pohvatati koncepte, ponajviše način razmišljanja u OO svijetu. Stoga, ako krećeš učit jezik uzmi primjer OO patterna u Javi ili C#-u, bez da se orijentiraš na sam jezik jer za to uvijek imaš reference guide. To je moj prijedlog za mainstream pristup.

 

Druga varijanta je ako si orijentiran na rješavanje određenog tipa problema možda ti je najbolje odmah u startu se odlučiti za neku nišu. Npr. ako imaš sklonost statistici kao npr Zeko onda bih ti preporučio R, možda Clojure za koji je netko gore pitao,... itd., jer se za to često traže programeri. Tu je i Python također jako dobar izbor, ima puno primjena (uključujući data analize) i ima dobre literature, no meni osobno Python nije previše simpatičan za kodiranje pa mi nije prvi izbor. Uglavnom, postavi si cilj, a onda bi trebalo kombinirati praktičnost i osobne preference i na taj način se postiže najbolji rezultat.

 

 

Zechina pon 11.11.2019 00:16
southy kaže...

Inače, nemam ništa protiv tvojih komentara i zapravo ih rado pročitam, ali za neke teme znaš izvaliti gluposti od bola (ovo da C# nema budućnosti). Ne možeš izvlačiti zaključke na osnovu Xamarina (kojeg osobno nisam nikad baš prožvakao). Svejedno, drago mi je razmijeniti argumente s tobom na forumu

 

Ono što sam tebi već napisao, a moglo bi se primjeniti i mnogima ovdje: čitajte s razumijevanjem i ne izvlačite zaključke po predrasudama.

 

Gdje sam ja to napisao da C# nema budućnosti? NIGDJE.

 

Napisao sam da je "C# slijepa ulica" za klince, početnike, danas; za one koji su spremni uložiti puno (vremena, truda, novaca) na jednu kartu, nepovratno (jer izgubljeno vrijeme ne možeš vratiti).

Poanta onog što sam htio napisati, u očito premalo slova, jest da je C# platforma kompleksan projekt kojem su se ciljevi (smisao!) mijenjali prema trenutnoj političkoj volji onog koji je bio u sedlu onog koji odlučuje. Previše je promašaja kroz desetljeća ovdje bilo, nekoherencije, a danas - 20 godina kasnije - i dalje nemaš pojedine glavne standarde, fundamente.

Naprosto, mislim da je za početnika to pretežak put (learning curve), ne zbog C# kao takvog, već zbog onog što predstavlja. Gotovo da je nužna specijalizacija, a za odabrati "ispravnu" je teško do nemoguće - pitajte one koji su utrošili mjesece, pa i godine u npr UWP (windows store apps lol), naprosto logički slijedeći upute "kako bubanj kaže". Znanje će se u konačnici uvijek isplatiti, ali put bi mogao biti nepotrebno trnovit.

C# je, "centraliziranom" dosjelošću (djelomično i MS autokanibalizmom C++, VB# itd), industrijski standard danas. Također, može se reći da je preuzeo bitno od C++ i Jave (drugim riječima, prebacivanje na srodnu paralelnu platformu po potrebi nije mission impossible - uložen trud neće biti jalov). Ono što je dobro s C# jest da je "prerasao roditelje", ne ovisi više (toliko) o "Redmond guidelands".

Problem je, ugrubo skraćeno, u "smjernicama". Iz satelita se vidi da MS predugo nije znao bili piškili ili kakili. Govorim o opetovanoj najavi (pa i imperativu) "ultimativnih" tehnologija / okruženja / verzija koje bi, potom, odbacili kao da nisu postojale. Nije dovoljno reći "u tom možeš sve" - to važi i za gomilu drugih platformi (ekstenzije), a po logici stvari onda je možda bolje odabrati platformu koja je također univerzalna, bez nepotrebnih smjernica: tradicionalno (npr C++ v20 kao što je PzkPfw spomenuo) ili moderno (npr Python, pa čak i JS - ljudi rade čudesa u tome, čemu JS sigurno nije bio namijenjen... i Web Assembly neće izbaciti JS iz igre).

 

 

> cijela slika je malo šira od toga jer nije baš da svi koriste Github

Upravo to.

GitHub doista nije toliko relevantan (a pogotovo ne npr milijuni open source JS min skripti gore kao mjerila popularnosti); takve "top liste" u pravilu su "mjerodavne" za one koji tek žele okušati sreću u programiranju, dok se profesionalni programer s iskustvom na takvo što niti ne osvrće, bez obzira bila njegova platforma u top 5 ili dobiva itekako zadovoljavajući honorar u nekom "deplasiranom" C, C++, Javi, što god (...ako nije "in between jobs", naravno).

Kao prvo, gomila ljudi je pobjegla sa GitHuba kad ga je MS preuzeo (GitLab, BitBucket...), tako da je pitanje relevantnosti ovog repozitorija uopće.

Nadalje, ovdje je riječ o open source projektima. Npr samo C vrhunskih profesionalaca (počesto s vrhunskim primanjima) koji rade primjenjene, closed source stvari, ima na desetke tisuća koji uopće nisu spomenuti u tom "Top languages over time."

Tek kao primjer, u tom "Top languages over time" Swift nije spomenut (u stvari, uopće nije spomenut na toj stranici - Octoverse reportu iz članka)! Treba li spominjati koliko je Swift aktualan, odn. koliko je tu danas povoljan omjer uloženo / dobiveno. Pogotovo ako ti nije cilj uhljebiti se u neku megakorporaciju, već si mlad, kreativan i želiš sam nešto napraviti i brzo dobiti benefite od toga.

Imam svoje razloge zašto ne bih mladcu početniku preporučio Swift, ali da sam aktivni programer freelancer, sigurno bih sa strane probao uzeti quick bucks ovdje (znam ih ponekoliko koji su to uradili).

 

 - - -

Inače, nešto što u temi nije spomenuto, a indirektno se itekako tiče odabira platforme, jest tzv "big data crunching". Nije tu samo riječ o nekim Cambridge Analitics (> Facebook), Google (pa i MS) "slurpanju" i prodaji (i/ili zlouporabi) privatnih korsničkih podataka i navika. AI ovise (i dugo će ovisiti) o "machine learning", gutanju petabajta podataka.

Netko to treba "hraniti", analizirati... i naravno, ti podaci će se sve više isključivo nalaziti u "oblacima". A smisao toga jest da neki korisnik koristi te podatke (odn. interpretacije istih). To nije tek prolazni trend. To nije budućnost, to je sadašnjost. Zaključak izvedite sami...

Zechina pon 11.11.2019 00:58
southy kaže...

što uzeti i učiti od programskih jezika ...

 

Odlično napisan post, da prilično se slažem s time.

Old school u meni bi uvjetovao nekakvo prethodno bazično upoznavanje sa C i potom C++ (zbog originalnog koncepta oop), prije C#/Jave, koliko god to bilo pain in the ass, čisto zbog ... historijske vrijednosti, evolucije? No ja bih tu išao i do npr Turbo pascal, Delphi, VBA... a to je valjda ipak previše.

Klinci danas rezoniraju na drugi način; iz perspektive starih prdonja su površni i nefokusirani, "htjeli bi odmah i sve" (a tehnologija im to počesto i dopušta); no nisu u krivu imho. Tehnologija se eksponencijalno razvija i da bi se pohvatali konci "kroz povijesni uvid" odmah uvide da nema vremena za to; s druge strane "multitasking" šaltanje im je "prirođeno" (a to nije ADHD, nedostatak koncentracije itd kako se nama čini).

Tako da im neki npr Python, ili "instant plastelin" skriptni jezik, puno bolje odgovara. Pa ga rekombiniraju sa drugim, po potrebi.

Onda kad im pokažeš npr bit operacije u Pythonu ili JS, zazuje - crna magija lol; jbg, nekad si morao bar ovlaš učiti asm, pa čak i programirisati svoj procesor. A ako moraš savladti logičke operacije (a de facto moraš), pa nije to tako daleko od toga.

 

 

@"ispravak netočnog navoda":

pa fala bogu i hvala na tome, ovo nije blog već forum; iznosim mišljenja kako bih dobio feedback i korekciju po potrebi, a ne da dijelim evanđelja. To što imam gard nosoroga - a jbg, navikli ste, ne treba to previše ozbiljno uzimati. 

Smooth Operator pon 11.11.2019 18:55

Izvodim zaključak sam:
1. Ne razlikuješ programski jezik (C#) od platformi (UWP, WP, Silverlight...). Učenje C# može rezultirati APIjem koji će možda komunicirati s nekim mobile sučeljom, C# ne znači da si ograničen na desktop, nego možeš s njime raditi backend, a odnedavo frontend (Blazor - Web Asembly).
2. Nisi pročitao članak, danas je više developera na GitHubu nego kad ga je MS preuzeo, pa je možda i relevantno.

Shockwave pon 11.11.2019 19:04

Glupo mi je kad se ljude savjetuje da prvo počne učiti jedan jezik jer kao dobro ga je naučiti zbog nekih stvari, pa se onda prebaci na drugi. Neka uči ono što ga zanima i vidi koji jezik je najtraženiji za te stvari koje ga zanimaju. Npr ako ga zanima front end web development neka uči html, css, javascript i točka, nikakav c++, c, pascal itd. Nema najboljeg, zapravo je najbolje učiti ono što te zanima i kad radiš ono što voliš tako ćeš najbrže i najbolje naučiti, ma koliko god to izgledalo teško na prvu, volja i motivacija je sve i bez toga nema laganog i dobrog jezika.

Zechina pon 11.11.2019 19:26
Shockwave kaže...

Glupo mi je kad se ljude savjetuje da prvo počne učiti jedan jezik jer kao dobro ga je naučiti zbog nekih stvari, pa se onda prebaci na drugi. Neka uči ono što ga zanima i vidi koji jezik je najtraženiji za te stvari koje ga zanimaju. Npr ako ga zanima front end web development neka uči html, css, javascript i točka, nikakav c++, c, pascal itd. Nema najboljeg, zapravo je najbolje učiti ono što te zanima i kad radiš ono što voliš tako ćeš najbrže i najbolje naučiti, ma koliko god to izgledalo teško na prvu, volja i motivacija je sve i bez toga nema laganog i dobrog jezika.

 

Ma i da i ne. Sigurno je najbolja motivacija kad u nečemu uživaš, kad radiš nešto što te zanima. Samo ovdje je riječ o specifičnoj disciplini, gdje uvijek moraš naučiti prvo neka osnovna pravila, a tek onda raditi. Ne možeš naknadno naučiti osnovne logičke operacije, ili copy&pasteati klase a da ne razumiješ oop. Mislim, sve to možeš ali onda neminovno slijedi skoro nepremostiva prepreka i razočaranje (nerazumijevanje, preteško) i kreni ispočetka (ili odustani)...

Meni se već ježi od količine gramatički nepismenih (a dobrih) programera, kamo li ovo što si napomenuo - kad krenu petljati sa html/css/js jer neke fundamente ne znaju / ne razumiju / prekomplicirano im je. Ali znaju maznuti rutinu od negdje "pa to radi, bog te pita kako".

Za vrlo bazično upoznavanje s nečim, ajd. Ali one fore tipa evo klik-n-play neki gamemaker, "ne moraš ništa programirati", pa onda odjednom kad hoćeš više, odjednom moraš a k ne razumiješ...  Ono, baš za klince, sviđa mi se Scratch pristup, jer i vizualno i logički istovjetno funkcionira.

Zechina pon 11.11.2019 19:28
Smooth Operator kaže...
Izvodim zaključak sam:
1. Ne razlikuješ programski jezik (C#) od platformi (UWP, WP, Silverlight...). Učenje C# može rezultirati APIjem koji će možda komunicirati s nekim mobile sučeljom, C# ne znači da si ograničen na desktop, nego možeš s njime raditi backend, a odnedavo frontend (Blazor - Web Asembly).
2. Nisi pročitao članak, danas je više developera na GitHubu nego kad ga je MS preuzeo, pa je možda i relevantno.

 

Ništa ti ja ne razumijem i ne razlikujem, ne znam ni čitati. Sretan?

Shockwave pon 11.11.2019 21:31

Koji god jezik se odabere može ga se naučiti bez da se zna ijedan drugi, svaki je kompletan na svoj način. Važno je naći dobar tutorial koji će te kvalitetno učiti osnovne programiranja tj logike preko tog programskog jezika, a ne samo osnove tog programskog jezika, i na svakom jeziku se to može učiti. Kad samo vidim koliko se nepotrebno komplicira početnicima i daju im se stotine savjeta i preporuka za pravi programski jezik ni ne čudi što ih 99% odustane jer im sve to izgleda prekomplicirano i prije nego su počeli programirari,a ustvari je sve vrlo jednostavno.

Friday pon 11.11.2019 23:22

Mozda sam slijep ali ne vidim poantu toga da se danas netko ide ubijati sa C-om "za pocetak". U danasnje vrijeme kad se vise nego ikad mozes odabrati jedan od milijun frameworka i fokusirati se na ono bitno - business logiku (pod uvjetom da dovoljno dobro znas OOP). To mi je kao kad neka stara sofercina kaze da bi svaki vozac trebao znati popraviti vecinu kvarova na autu koji bi ga mogli zadesiti na putu.

Zechina uto 12.11.2019 18:03
Friday kaže...

Mozda sam slijep ali ne vidim poantu toga da se danas netko ide ubijati sa C-om "za pocetak". 

 

A tko je gdje ikada igdje predložio da se netko ide ubijati sa C-om za početak?

Trol bio, trol ostao...

 

Friday uto 12.11.2019 18:19
Zechina kaže...
Friday kaže...

Mozda sam slijep ali ne vidim poantu toga da se danas netko ide ubijati sa C-om "za pocetak". 

 

A tko je gdje ikada igdje predložio da se netko ide ubijati sa C-om za početak?

Trol bio, trol ostao...

 

 

Oh, ispricavam se vasa strucnosti...

 

Znaci samo da ovlas malo pohvataju osnove C-a? Kakva korist od toga jbt?

Envy uto 12.11.2019 18:32
Zechina kaže...
Friday kaže...

Mozda sam slijep ali ne vidim poantu toga da se danas netko ide ubijati sa C-om "za pocetak". 

 

A tko je gdje ikada igdje predložio da se netko ide ubijati sa C-om za početak?

Trol bio, trol ostao...

 

Ja sam rekao da sam imao noćne more od tod C jezika:

 

Include stidio.h
Include math.h
Include clock.h

 

Nisu to doduše bile noćne more ali bilo je nekih 10-tak zadataka koje su se vrtili ali baš su bili gadni za položiti te Osnovi Računarstva. 

Treba mi (Pošto mi dizajn stvarno ide od ruke) ovako nekakve kockice u koju idu podatci a ti podatci povezani sa bazom podataka. Predpostavljam da programski jeziki tako nekako rade + onaj dio koji kalkulišu (vrše izračune lega već)... Eh sad...

 

Friday kaže...
* * *

 

Znaci samo da ovlas malo pohvataju osnove C-a? Kakva korist od toga jbt?

Učiti Phyton ili ne... pitanje je sad? 

Envy uto 12.11.2019 19:55
Friday kaže...
Envy kaže...

Učiti Phyton ili ne... pitanje je sad? 

 

Ja ga ne znam ali velika vecina ga preporuca. Iako cu ga vjerojatno morati nauciti

Ako se ne varam to su sve Objektno orjentisani programski jezici? Ispravi me ako griješim.

Pa blage veze nemam kakve razlike ima PHP (džabni) op C# (Microsoftov). Mogu ljudima objasniti razliku između vektorske i restorske grafike ali ovo oko jezika ne znam.

 

Pa me zanima tvoje mišljenje eto oko tih učenje jezika. 

 

southy kaže...
Ne vjerujem da ćeš pogriješiti ako odabereš Python, ali ja bih svejedno radije C# odabrao.

Phyton mi se veže direktno na stuku tj. Networking pa izgleda da će sve priče biti da ću već sa sledećim ispitom Phyton morati početi da učim. 

Zechina sri 13.11.2019 02:46

Neka prednost Pythona bi bila da je "learning curve", bar za neke jednostavnije stvari, lakši (brži).

Druga zgodna stvar je dinamika programiranja: pošto kod možeš vrtiti direktno u interpreteru, gotovo pa real time možeš vidjeti rezultate (interaktivno, dinamički), pa je i s te strane zgodno (Python se koristi ili interaktivno ili ehm ...skriptno).

Za neki rapid development je odličan; ofrlje i brzo možeš nešto testirati, recimo da ga zato i akademska zajednica voli.

U pravilu, Python = kraći, čitljiviji kod. Nauštrb npr kontrole memorije ili brzine.

 

S druge strane, dovoljno je univerzalan (izuzetno podržan) i za najsloženije zadatke.

Međutim, kod takvih, složenijih projekata, pokazuje mane za "profi programere" (tako bar kažu) jer se kod može jednostavnije, efikasnije (pa i čitljivije -čitljivost se smatra prednošću Pythona) napisati, a vjerojatno je onda i sam rezultat brži (ili naprosto ima manje potrebe za resursima). No to je neka zajednička (relativna) "mana" svim visoko skriptnim jezicima. Zaljubljenici u Python pak kažu (što sam često čuo) da su im nerijetko programi bili jednako brzi ili čak brži od istih u npr Visual C++.

 

Ovo je moj osobni stav, naravno; možda bi bilo najbolje proguglati (dis)advantages of Python ili tako nešto.

Tu je neki friški sajt "Python osnove programirisanja" - ne da mi se gledati ali izgleda ok pa nek netko javi je li čemu.

https://pythonosnoveblog.wordpress.com/

Da: ne znam za Winse danas, ali Python dolazi predinstaliran na sve Linux distre afaik.

Zechina sri 13.11.2019 03:20
Friday kaže...
Zechina kaže...
Friday kaže...

Mozda sam slijep ali ne vidim poantu toga da se danas netko ide ubijati sa C-om "za pocetak". 

 

A tko je gdje ikada igdje predložio da se netko ide ubijati sa C-om za početak?

Trol bio, trol ostao...

 

 

Oh, ispricavam se vasa strucnosti...

 

Znaci samo da ovlas malo pohvataju osnove C-a? Kakva korist od toga jbt?

 

Pa zato jer se otale sve razvilo. Npr da njubiji uhvate što se odvija u pozadini (i zašto). Jer klinci koji krenu sa Pythonom (često, opravdano) ne razumiju distinkciju između sourcea i binary. Točnije, ne znaju što je object code (byte code), makar Python također (u pozadini) također generira tzv .pyc fajlove.

Baš ću pitati netjaka, mali neke rezultate postiže na nekim republičkim natjecanjima za osnovce. U Pythonu, ne C-u. :)

Uostalom, neće nikome kruna s glave pasti ako kompajlira "Hello world" na  stari seljački način. Ili da bar prolista "C for Dummies". 

Inače imaš ono: "Kako plavuša radi pekmez? Kupi par kila krafni pa oguli." Smij se, ali tko kaže da ne funkcionira?

 

DarkoKwon sri 13.11.2019 08:33

Ja sam naucio C# kroz Unity i smatram to ogromnom greskom. Vise bih volio da sam naucio JavaScript ili neki mobile nativni jezik. C# se uvijek koristi u nekim niche industrijama od kojih je tesko imati stabilna primanja osim ako zivite u americi ili imate hrvatski pasos (ja imam bosanski). Kao freelancer jako je tesko doci do dobrih ugovora. Java uvijek ima dobrih poslova, dok python je slabo zastupljen na balkanu i koristi se za neka data sranja ili A.I sto kod nas nijedna firma ne radi. Java > Python sto se tice zaposlenja, iako je Python trenutno cool i postao je buzzword, vjerujem da je daleko se teze sa njim zaposliti nego sa Javom. 

 

Ako zelite naci posao na balkanu ili kao freelancer JavaScript je broj 1. Tj. bilo sta vezano za web da naucite necete pogrijesiti. Cak i poznavanje WordPressa je vrijednije 10x od C#, naravno ako se znate prodati klijentu. Likovi u mom gradu (Banja Luka) koji su skontali freelancanje prije vremena i radili JavaScript su sada milioneri. Mene je sramota da WordPress developer ima istu satnicu kao i ja c# programmer ili cak i vecu. Znam da je druga prica u Americi, ali mi nismo Amerika. 

Zechina sri 13.11.2019 13:53

Glede C-a - točnije, neke mušice iz Pythona:

Iako je dosta operanda pridruživanja preuzeto iz C-a, u Pythonu nemaš klasičan inc/decrement; odn:
Možeš pridružiti 1 sa "X+=1" umj "X=X+1" (kao i u C/C++), ali NE i sa "X++" - ergo:
izraz "if X++ == 666" NE MOŽEŠ napisati u Pythonu (kao u C/C++)!

 

Je, moraš napisati "čitljivije". OK, ljudi vole čitljivost. Meni je ovo čitljivije (i kraće) ali jbg.
S druge strane, Python IMA byte / bit operacije tako da mi je ovo ipak malo fail (ali ja sam old fart, so who cares).

Bobobo-bo Bo-bobo pet 15.11.2019 15:44

Čitljivost je subjektivna stvar. "Dijagram toka" za if (x++ == 666) std::cout << x glasi

 
1. usporedi x i 666 pa zapamti rezultat usporedbe
2. uvećaj x za 1
3. ako je usporedbe iz 1. koraka bio true ispiši 667
 

Meni je to C++ mušica i s razlogom joj nije mjesto u Pythonu.

Zechina sub 16.11.2019 02:47
Bobobo-bo Bo-bobo kaže...

Čitljivost je subjektivna stvar. "Dijagram toka" za if (x++ == 666) std::cout << x glasi

 
1. usporedi x i 666 pa zapamti rezultat usporedbe
2. uvećaj x za 1
3. ako je usporedbe iz 1. koraka bio true ispiši 667
 

Meni je to C++ mušica i s razlogom joj nije mjesto u Pythonu.

 

OK baja, evo ti sad (prefix, prvo se uveća):

++x == 666

 

Sad je redoslijed čitanja valjda ispravan. ;)

 

Da, znači da su C, C++, Java, JS, Perl, PHP, Go itd mušičavi. A jbg.

Btw inc/dec je još i Pascal imao (plus TurboPascal, Delphi/Kylix, ObjectPascal; danas Lazarus&FreePascal...).

https://en.wikipedia.org/wiki/Increment_and_decrement_operators#Supporting_languages

 

Slažem se da inc/dec * pre/postfix postoji u 4 oblika, pa još raz. primjene... pa se lako zabuniti (i to nije u filozofiji Pythona, glede jednostavnosti). No opet, mogli su implementirati (bar nešto), ali ne preporučiti za čestu (pa još kompliciranu) uporabu.
Ono što se meni sviđa s Pythonom jest da brzo možeš provjeriti npr ispravnost (sintakse) neke petlje, pa onda i ovakve situacije brzo provjeriš jel ferceraju.

 

I čitljivost je definitivno subjektivna stvar. ;)

 

 

edit: sjetio sam se još jedne stvari:

for x in range (1,10) u Pythonu neće brojati do 10 (uključivši 10), za razliku od Basica, Pascala itd. 

To je OK, ali nije mi čitljivije, pogotovo kad veli "range".

No opet, neki for x := 1 to 10 u Pascalu, Basicu mi je također nategnuto ("range" bi mi tu više odgovarao kao termin), jer "to 10" zvuči kao "do 10" (ne uključivši 10).

Sa C/C++ itd nema greške: for (x = 1; x < 11; ++x)

Samo mušica, stvar navike/brzog šaltanja.

andrijam ned 22.12.2019 19:51

Koliko gluposti u ovom threadu ddd. Dakle najpopularniji nije najbolji. Al za neke trendi stvari je dovoljno dobar. Pričamo o jeziku koji svaki profesionalni programer može savladati u jedno popodne. Svoju skok vjerovatno duguje AI i IoT projektima.( O ne još aplikacija koje pale gase ledice i razlikuju jabuku od kruške). A ne joj vidi kako mogu jednostavno napraviti grananje i petlju WTF.
Moj favorit za 2020g. Je GO jezik. Sretna vam Božić i Nova Godina.

Entry Point pon 23.12.2019 09:07
andrijam kaže...
Koliko gluposti u ovom threadu ddd. Dakle najpopularniji nije najbolji. Al za neke trendi stvari je dovoljno dobar. Pričamo o jeziku koji svaki profesionalni programer može savladati u jedno popodne. Svoju skok vjerovatno duguje AI i IoT projektima.( O ne još aplikacija koje pale gase ledice i razlikuju jabuku od kruške). A ne joj vidi kako mogu jednostavno napraviti grananje i petlju WTF.
Moj favorit za 2020g. Je GO jezik. Sretna vam Božić i Nova Godina.

 (bold) Ne pričaj gluposti.

 

Za trendi stvari? Python je već 2 desetljeća go to shell jezik u *nix okruženjima. Možeš ga koristiti od low level stvari, preko web-a do neural networka i AI-a. Plus ima ogroman sustav 3rd party library-a koji postoji već dugi niz godina. Njegova fleksibilnost i široki spektar primjene je ono što ga čini popularnim, a ne zabluda da se lako nauči. Upravo AI i IoT to dokazuju.

 

Isto tako možemo reći da je GO dobio na popularnosti zbog kubernetesa (o ne još jedna aplikacija za kontejner u kontejneru).

 

Sve ima svoju primjenu, a korisnici i sam jezik određuju koji će biti najpopularniji, ma koliko ti ili ja osobno volimo nešto.

 

Osobno koristim python i go. Python dugi niz godina, go nekoliko godina. Volim raditi u oboje i svaki mi služi za nešto. Evo primjer koji sam koristio nedavno. Treba X random brojeva u nekom range-u.

 

Python:

 

import random

for i in range(1, 100)

   rand = random.uniform(1, 10)

 

-- gotovo --

 

Go:

 

import (
"math"
"math/rand"
"time"
)

func main() ....

....

for i := 1;  i<=100; i++ {

  rand.Seed(time.Now().UnixNano())

  r := 1 + (rand.Float64() * (10 - 1))

}

....

 

Go je naravno, puno brži u izvršavanju, ali ponekad je jednostavnost (i fleksibilnost) prednost pred vremenom izvršavanja ako ono nije krucijalno. Uz to treba uključiti i vrijeme razvoja i novac koji ide uz to, a u stvarnom svijetu je to itekako važno.

 

Poanta cijele ove priče je da i sam moraš biti fleksibilan i zaboraviti emocije. Koristi ono što će biti efikasno i što će ti u zadanom trenutku oduzeti najmanje vremena.

 

cumur pon 23.12.2019 10:41

pozdrav 

znam da je malo ot ,ali dosta citam ovaj forum i programiranje mi je san 

pa rekoh da se pridruzim :)

sad ot pitanjce 

svi vele js, pyth, c ovo ono ,itd 

sta mislite or jeziku ada ?

 

mislim na ada2015 (neznam da li je jos koji "update" izasao) 

ili barem spark 

gdje i kako ju nauciti jer mi se cini bas super jezik ? 

gledao sam par tih yt tutoriala za noba poput mene ali ?? 

citajuci sam skuzio da je bolje uzeti jedan i udri po njemu dok ga neskuzis ali 

kako pisu svi ti basic tutsi su za programere ne za tuduke :)

 

  

andrijam pon 23.12.2019 13:08

A gle, Python sam koristio prije 25 godina kad sam izrađivao i modificirao pluginove za Blender. U međuvremenu mi se mišljenje nije promjenilo.

Isto tako mi ne moraš objašnjavati zašto je što bolje i gdje se koristi. Jer i o tome imam svoje mišljene.

Ovi primjeri koda su u najmanju ruku glupi i pokazuje da nakon neznam koliko godina rada ne možeš razlikovati sintaksu implementiranih funkcija od strukture jezika. I zašto je jedno implementiratno na jedan način, a drugo na drugi.

I našao si se uspoređivati interpretirani dinamički jezik s sistemskim jezikom.