Ovaj kanal jedan je od najboljih, kad je u pitanju programiranje. 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ćemo 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 proposale 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
Dalje - 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
Koliko vidim - pug već koristi nešto slično
Jquery je postao slavan - samo zahvaljujući izbegavanju onog idiotskog - document.getElementsByClassName() - i sličnih nebuloza
Dakle - najpre ću nešto da tako da nazovem, 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 u tome - što nije tema - nijednog kanala
Ipak evo - zaustavljam se Da ne uzurpiram previše - ako već nisam - a jesam, očigledno
Pozdrav
* * *