Ovaj kanal je jedan od najboljih, kad je u pitanju programiranje na Ex YU prostorima. Ipak, programiranje - kao takvo - postalo je prilično ne-inteligentno
Na šta konkretno mislite ?
Pa, evo, recimo, za prenos slike ili videa - teškog i po hiljade MB - ne treba ti nikakav json - ili base64 convertor, ili de-convertor. Browser, sistem, mreža - šta god - to rade automatski
Ali za prenos varijable od 01 bt - moraš ti da se potrudiš - da je serijalizuješ - i de-serijalizuješ ručno. Čudno, zar ne ?
Jedno su binarne datoteke, koje se prenose As-Is, a drugo su strukturirani podaci, čiji tipovi vrednosti su unapred poznati, kao i imena tih polja
Objekte ne možemo prenosti kao binarnu strukturu iz memorije, jer ne znamo kakva je platforma na drugoj strani, pa zato koristimo univerzalni transferni format, kao što su JSON, XML, Yaml itd. Najčešće je to JSON
Tako na jednoj strani može biti JavaScript, a na drugoj C# i svaki će se taj JSON prepakivati u memoriji u oblik koji je adekvatan za tu platformu
Kod običnih datoteka nema promene. JPG je JPG, gde god se koristio Ne može nam neka platforma reći: Da, ja radim sa JPG, ali mora da mi bude formatiran ovako ili onako. To onda nije standardni format, već specifičan format
Zar ne bi mogao ftp sistem - kad vidi da šalje neki objekat, niz i sl - da ga pretvori u json? On sigurno zna - šta mu je sa druge strane
I još nešto - čini se da - u krajnjoj instanci - nema razlike između niza - i objekta. Sve što sadrži objekat - može da sadrži i niz - i obrnuto
U opštoj džungli sa formatima i procedurama - značilo bi čitavu stvar malo pojednostaviti
Ili - recimo u CSS-u - ako je nešto grid - i ako staviš - columns: 1fr 1fr - valjda je jasno da se radi o kolonama grida. A ne da moraš - onako debilno da ispisuješ - grid-template-columns
Nadam se da razumeš - šta je poenta. Utisak je da se developeri utrkuju u tome - ko će više da zakomplikuje život - tamo nekom drugom
FTP je za prenos datoteka. On ne analizira to što šalje ili prima. To krši svrhu tog protokola
Ovo što pričate za niz vs objekat nije tačno. Da je tako, ne bi 80+ godina terapija računarstva razlikovala liste i mape, tj. nizove i objekte (veliki broj drugačijih naziva tokom istorije razvoja računarstva)
Morate to proučiti više kako ne biste imali pogrešne ideje o tome kako se nešto koristi i da ovladate strukturama podataka i algoritmima za njihovu obradu
Ovo što pričate za CSS ne može tako. Vi sada zamišljate jedan konkretan use-case. CSS omogućava svašta da se definiše oko dizajna izgleda elemenata sajta
Ne možete gledati to tako specifično Vašem nekom primeru u kojem ste videli upotrebu određene osobine. CSS se razvija više decenija i svaka osobina postoji sa dobrim razlogom
Vidi ovako, svrha ftp protokola je - prenos podataka, ali tu svrhu je odredio Čovek, a ne Tvorac Svemira. Dakle, isti taj Čovek može tom istom protokolu reći - pretvori objekte u json
Kažeš - css se razvija više decenija. I nakon više decenija - imamo nešto kao - grid-template-columns. Za još neku deceniju imaćemeo nešto ovako - template-for-columns-of-the-above-defined-grid. Zašto ne može prosto - columns - Bog Sveti Zna
Ili - itcount - umesto - animation-iteration-count. Ili - bilo šta - umesto - scroll-padding-inline-start. Ili, recimo, getBoundingClientRect() - u javascriptu
Da me ne razumeš pogrešno, moja motivacija nije - da obezvredim čitavu stvar. Naprotiv, programiranje i programeri su - za divljenje - kao najkorisnija živa sorta na Planeti
Ali, kao da ulazite u tunele, iz kojih ne vidite ništa osim - da li nešto radi - ili ne radi
Sećam se kako je node.js imao vrlo čudne otpore u početku. U stilu - ne može to tako - zna se šta je server - a šta client. Dakle, malo više konceptualnog razmišljanja, umesto kruženja unutar nekog koncepta
Opet. U računarstvu postoji nešto što kaže - softver treba da radi jednu stvar i da je radi najbolje što može. FTP prenosi fajlove. Milioni korisnika žele da prenesu fajlove. Vi ste jedini ko traži da FTP pored prenosa radi i nekakvu konverziju i to baš koju Vi hoćete. Baš u JSON. Ne u XML, ne u ZIP arhivu, ne u nešto četvrto. Ako sada dodate zahtev i kažete, pa neka ima i te opcije, vidite u kom to smeru ide? Zašto prosto na serveru ne biste imali mini softver convert-to-json ili convert-to-xml itd, pa kada FTP uradi svoj posao i dopremi Vam taj fajl, pokrenite program za konverziju i konvertujte ga, ako imate takvu potrebu. Time osiguravate i separaciju odgovornosti. FTP je odgovoran za prenos, konverter odgovoran za konverziju
Što se tiče ovih optimizacija imena CSS osobina, to je irelevantno. Ime je ime. Šta dobijate smanjivanjem imena iz grid-template-columns u npr. gtc, ili slično? Dobijate da neko neće imati predstavu šta je gtc
A zašto ne columns, pa zato što već postoji i služi nečemu sasvim drugom. Služi za tekstualne kolone, ne grid kolone. Zato u imenu grid - ispred
Bilo je takvih ideja kakve Vi imate. I drugi su ih preporučivali na discussion forumima za razvoj CSS-a, pravili su proposal-e itd. Diskutovalo se o tome i odbačene su sve te ideje sa obrazloženjima
Savetujem da se uključite u neki discussion group za veći open source standard ili projekat i čitajte kako to ide. Biće Vam mnogo toga jasnije
Apsolutno je nebitno - koji format je u pitanju - prilikom konverzije. JSON je samo primer. Bitno je da ne moraš svaki put pisati kod za konverziju - kad nešto šalješ - i/ili primaš - na clientu/serveru
Zaista ne razumem - čemu takav otpor - tako normalnoj stvari. Separacija odgovornosti je bila filosofija internet explorera. Nešto kao - browser je tu da isporučuje sadržaj - a za pretragu - postoje pretraživači. I postojali su pretraživači, naravno - ali je explorer završio - tako kako je završio
Chrome je uspeo - jer se odlepio od te logike. Danas Google pokušava da napravi OS - u okviru browsera. Ako to uspe - a uspeće - biće to još jedna - pobeda Kreativnosti
CSS Veliš - niko neće znati - šta znači gtc. Naravno da hoće, ako jednom pročita - gtc = grid-template-columns
Ali - hajde da uzmemo - da neko i dalje ne zna - šta je gtc. Znaš koliko ljudi na planeti zna - šta znači ABBA. Ako neko zna - odlično. Ako ne zna - kakve veze ima - uživaš u pesmi - i ideš dalje. Ukucaš gtc - i ukucaš kolone - i ideš dalje. U čemu je problem?
Poenta je - zašto se odbacuju te ideje - recimo o skraćivanju naziva - ne samo u css-u. Nakon svega - jedini validan zaključak je - da je u pitanju - tipična developer sujeta
To je najranjivija tačka programerskog sveta. Jako retko ćeš čuti - ideja je super - hajde da to promenimo
Uglavnom se daju odgovori tipa - kao ovaj tvoj argument - da columns već postoji. To je zaista poražavajuće i uvredljivo za zdrav razum
I sad očekuješ - da neko sa druge strane kaže - aha, vidi stvarno, to već postoji - nisam znao - pardon..
Kao da je to stvarno problem za css - da razlikuje columns u gridu - i columns koje nisu u grid-u
HTML Ako je nešto zrelo za istoriju - to je html. To besomučno otvaranje i zatvaranje tagova je - sramota za ceo IT sektor. Ništa lakše, nego izbaciti tagove, ili pisati ih barem - bez zagrada
Primer - div.c.lorem.id.ipsum/something Umesto - <div class='lorem' id='ipsum'>something</div>
Koliko vidim - pug već koristi nešto slično
JAVASCRIPT Jquery je postao slavan - samo zahvaljujući izbegavanju onog idiotskog - document.getElementsByClassName() - i sličnih nebuloza
Dakle - najpre ću nešto da nazovem - document.getElementsByClassName() - a onda ću u editoru napraviti poseban - i to pozamašan modul (autocomplete) - da to što sam tako nazvao - ne bih morao i da kucam - slovo po slovo
Zar to nije - suludo ?
Najpre ću na krov kuće - svaliti hiljade tona crepa, a onda ću zaposliti posebnu firmu - koja će sav taj suvišan crep da skida. I nemoj slučajno - neko da kaže - nešto protiv crepa
I na kraju ću - da se pojavim na nekom seminaru - i da pričam o performansama
Gledam ovu tvoju reč - Opet - na početku tvog posta. Ako ti nije do ove diskusije - no problem - ali onda odustani ti. Nemoj od druge strane očekivati da zaćuti na argumente tipa - columns već postoji
Opšta Teorija Programiranja - ili tako nešto. Možda je to predmet koji nedostaje na IT fakultetima. Veština kodiranja je nešto - sasvim drugo
Na kraju će se sve svesti na to da li želite da naučite kako nešto da koristite, da možete to da koristite (kao alat) da radite i zaradite
Ili - želite da se bavite istraživanjem i razvojem nečega novog, što će biti hiljadu puta bolje, prema Vašoj viziji, i što će svima nama olakšati razvoj aplikacija, pa ćete nas sve ubediti da na to pređemo
Ako smatrate da Vam je ovo drugo cilj, samo napred. Ja podržavam. Nećete biti prvi koji su tako nešto probali, a već decenijama je bilo inovatora koji su i uspeli i evo, dan danas koristimo rezultate njihovog rada i inovacije
Ali morate da razumete da ima onih koji žele da nauče zanat da bi radili i zaradili. Takvi ljudi prate ovaj kanal, jer ih učim kako trenutno jeste i sa čime mogu da rade i da proizvode nešto za šta će biti plaćeni i od čega će moći da žive
Filozofija, nauka, istraživanje, računarstvo, inovacije, izumiteljstvo su plemeniti ciljevi, posebno ako želite da svojim radom kroz njih ostvarite za sebe i druge napredak i olakšate rad i razvoj, ali to nije predmet ovog kanala i nije nešto o čemu ja studentima pričam, jer oni nisu ovde za tako nešto
Ovde su da nauče state of the art. Tako da otpor je u smislu da ne želim da bunim ljude, koji čitaju ove komentare, diskusijama koje idu u pravcu šta bi bilo kad bi bilo i koliko bi to bilo bolje ili lošije od onoga što jeste, jer oni hoće i moraju da nauče kako jeste
Jer tako jeste za njih i jeste za desetine miliona drugih koji se ovime bave, a tako će ostati još dobar deo njihovog radnog veka
Možda će budući programeri učiti da columns može da bude svašta u kombinaciji sa type (umesto display), da umesto grid-template-columns postoji gtc itd.
Ali, to nisu trenutni učenici ove oblasti. Podržavam Vašu motivaciju, ali ne i stav da greše svi koji ne misle isto kao i Vi. Tu se ne slažemo
Što je takođe u redu, barem što se mene tiče
Ma ok, naravno. Ti si - u tom svom poslu - izvrstan, genijalan. I ceo kanal je dragocen svima, kojima je praksa na prvom mestu. Meni samo smeta, što ljudima poput tebe, ne smeta nešto - što bi moralo - da im smeta
Europska unija je nedavno zabranila ono ludilo sa konektorima - da maltene svaki model nekog uređaja - ima svoj poseban konektor za punjenje. Ljudima je dojadilo da beskonačno lutaju i tragaju za punjačima. Takav neki rez u programiranju - mislim da je samo pitanje vremena
Uspostaviti opštu standardizaciju u rukovanju varijablama i konstantama - to je čitava mudrost
Ukinuti ludilo - sa nepreglednom džunglom jezika, frejmova, pluginova... spustiti loptu - i demistifikovati čitavu stvar
Izabrati jedan serverski - i jedan clientski jezik - ili isti - za obe plarforme - zašto da ne. I napraviti njegovu optimizaciju - po pitanju Zdravog Razuma. Programiranje će tada da se uči u prvom osnovne - zajedno sa abecedom
To će biti takav skok na Planeti - kakav nijedan yt kanal - niti jedna obrazovna institucija, ne može napraviti, za milion godina podučavanja, u današnjem mravinjaku - zvanom Programiranje
Ne postoji niti jedna suštinska, tehnička prepreka - za takav korak - osim - prepreka u Svesti
Svojevremeno je - na Zemlji - bila popularna ideja Esperanto jezika, koja je imala u sebi ono genijalno pravilo - jedan glas - jedno slovo. To jest - piši kao što govoriš
Inercija u ljudskoj svesti - je pravila otpor. Cena koju danas plaćamo je ta - da svi moramo da učimo - ni manje ni više - nego engleski - sa gomilom neuređenih jezičkih struktura, u kojima zapravo - nema pravila. Možeš samo da nagađaš - kako se nešto izgovara - dok ti to neko ne došapne - kao Vrhunsku Tajnu
Hoću da kažem - ima nešto - u ljudskoj prirodi - što večito Koči - i Koči - ne samo u Programiranju. I to sad naravno opet - nije tema ovog kanala. Ali je problem - što nije tema - nijednog kanala
Ipak evo - zaustavljam se - da ne uzurpiram previše - ako već nisam - a jesam, očigledno
Pozdrav
* * *