[ Nedeljko @ 29.04.2022. 20:46 ] @
BASIC za 8-bitne računare je apsolutni šampion kao spoj veoma lošeg i veoma uticajnog.

1. Samo globalne promenljive.
2. Prenos "argumenata" preko globalnih promenljivih.
3. Pozivni stek sadrži samo tačku povratka.
4. Nema petlji, osim for.
5. Ne omogućava dinamičke strukture osim nizova brojeva i stringova.

Edsgar Dajkstra je govorio da je ima manje problema da nauči strukturno programiranje studente koji nisu učili nikakvo programiranje, nego one koji su učili BASIC. Prvima treba samo da ubaci gradivo u glavu, a drugima prvo da iz,bije glupost iz glave, a onda da im ubaci gradivo u glavu.

Takav jezik je doživeo planetarnu popularnost. Jednom rečju, globalna katastrofa.
[ Riblja corba @ 29.04.2022. 21:11 ] @
Sve u svoje vreme.

Pod time ne mislim da je najgori u svoje vreme. Niti da je sada najgori. :P
[ Nedeljko @ 29.04.2022. 21:45 ] @
U to vreme su postojali i drugi, strukturni jezici za 8-bitne računare.

Taj BASIC nije biio nizašta. Samo štetoičina za učenje programskih jezika.
[ djoka_l @ 29.04.2022. 22:52 ] @
Evo, ja sam naučio osnove programiranja pre 40 godina na C64 BASIC-u, pa mi se nije osušila ruka, nisu usahla bedra, nisam izgubio vid...
Inače, ako izuzmemo COBOL, koji je bez konkurencije najgori programski jezik u istoriji računarstva, mnogi drugi su vrlo blizu. Recimo Perl, PHP, JavaScript. Ovo su samo neki od jezika koji su očajni, a popularni.
[ baresi @ 29.04.2022. 23:29 ] @
I Fortran je tu negdje tih godina, moj prvi jezik na Faksu, pored Basica na Spectrumu.
[ Nedeljko @ 30.04.2022. 00:40 ] @
Meni je prvi programski jezik bio BASIC na spektrumu, drugi asembler za spektrum, a treći Pascal.

Sve je bilo prosvetljenje u odnosu na BASIC.

U php-u i perl-u nisam radio, ali zašto JavaScript?
[ madamov @ 30.04.2022. 09:12 ] @
Mene je “pameti” naučio GFA Basic za Atari ST (strukturni BASIC sa lokalnim promenljivi i slično, nikada nisam koristio GO TO komandu u njemu).

Što se naslova teme tiče, evo ove godine će biti deset godina kako sam učestvovao na konferenciji na kojoj je Daglas Krokford otvorio predavanje sa dva slajda. Na prvom je pisalo: “JavaScript is the worst programming language”, onda je napravio pauzu od dobrih desetak sekundi gledajući u zbunjenu publiku, da bi onda prikazao slajd sa porukom: “JavaScript is the best programming language”.
[ Nedeljko @ 30.04.2022. 11:51 ] @
Među grozne jezike spadaju u skript jezici za administraciju *sh i PowerShell. Isti jezički konstrukt menja značenje u zavisnosti od konteksta i isto značenje se u različitim kontekstima piše različito.
[ djoka_l @ 30.04.2022. 13:26 ] @
Citat:
Nedeljko:
Meni je prvi programski jezik bio BASIC na spektrumu, drugi asembler za spektrum, a treći Pascal.

Sve je bilo prosvetljenje u odnosu na BASIC.

U php-u i perl-u nisam radio, ali zašto JavaScript?


https://medium.com/javascript-...g-with-javascript-58f440d6b3d8
[ Nedeljko @ 30.04.2022. 13:36 ] @
Ja ne volim sledeće stvari:


1. Značenje i/ili način izražavanja značenja zavise od konteksta.

2. Dinamičko tipiziranje.

3. Izvršavanje sintaksno neispravnih programa.


JS ima 2 i 3, ali to se smatra za kul u skript jezicima.
[ djoka_l @ 30.04.2022. 14:18 ] @
Pazi ovo (JS):

0 == '' (true)
0 == '0' (true)
'' == '0' (false)

Odnosno, ako je a==b i a==c ne mora obavezno da bude b==c
WTF?

broken three-state-logic

false == undefined (false)
false == null (false)
null == undefined (true)

JS nema Integer tip podatka. Nema array tip (ali ima Array klasu), ali elementi niza ne moraju da budu istog tipa !!!
[ Nedeljko @ 30.04.2022. 15:41 ] @
Polimorfni elementi nizova su potrebni.
[ MajorFatal @ 30.04.2022. 22:35 ] @
5 Megabajta, 65.500 bušenih kartica, 4 dana da se učitaju :)

[ Bradzorf012 @ 01.05.2022. 22:31 ] @
Davno sam jeo špagete.
[ Bradzorf012 @ 01.05.2022. 22:43 ] @
[ mjanjic @ 03.05.2022. 19:52 ] @
Kad se setim nekih Pecom 64 iz osnovne škole (a samo nalepnica bila 64 - 64k rama, a u stvari računari imali 32k, Srbija...), ubiješ se kucajući 50-60 linija koda ili učitavajući preko kasetofona, i onda ti neko samo "škljocne" prekidač za uključivanje :)


Citat:
djoka_l:
JS nema Integer tip podatka. Nema array tip (ali ima Array klasu), ali elementi niza ne moraju da budu istog tipa !!!

Nema Int, ima Number, ali svejedno, broj se u memoriji čuva kao 'signed 64-bit float' (52 bita za mantisu i 11 za eksponent).

Generalno, za ozbiljnije stvari, kao što je razvoj frontend aplikacija baziran na komponentama ili backend nije loša ideja koristiti neki od OOP jezika koji se transpajliraju u JS, jer uglavnom može da se odabere verzija tako da transpajler iskoristi sve prednosti najnovije EcmaScript specifikacije, sa kojom programer i ne mora da bude upoznat.
Tako je to sa programskim jezicima koji su počeli kao jednostavni skript jezici (neko pomenu i PHP), kod JS je dovoljno pogledati kod za neke od biblioteka pa da se stekne utisak koliko je "jednostavan" i "inutitivan" i da je tu najmanji problem to što nije pravi OOP jezik. Problem je to što je običan skript jezik godinama budžen i nadograđivan da podrži nove tehnologije, izbegavajući da se podrži pravi OOP koncept - što je, recimo kod PHP-a ipak na kraju prihvaćeno, ako se ne varam, od verzije 5.
[ B3R1 @ 04.05.2022. 15:07 ] @
Citat:
djoka_l:
Evo, ja sam naučio osnove programiranja pre 40 godina na C64 BASIC-u, pa mi se nije osušila ruka, nisu usahla bedra, nisam izgubio vid...

Hajde ovako ... skoro svakom yugo-klincu 80-tih osnovna skola kompjuterskih nauka je bila C64 ili Spectrum ... i BASIC koji se na njima vrteo. U mom slucaju C64. Poneki hardcore geekovi/nerdovi su vrlo brzo nakon prvih BASIC koraka shvatili da je to igracka, pa su zalutali u asembler. Medjutim, velika vecina tzv. normalnih klinaca je ionako koristila sva ta sokocala samo za igrice, a vrlo brzo su batalili basic ... iz ociglednih razloga. Eh da, naravno, postojala je i treca grupa klinaca, koje nista od toga nije zanimalo ... ti poslednji su u zivotu kasnije prosli najbolje. :->

Ali daleko od toga da basic nije imao i nekih dobrih strana. Ako nista drugo, koristio je kasnije, kada su se pojavili programabilni kalkulatori, u koje si mogao da ubacis programcice koji ti olaksavaju polaganje ispita. Opet, vecina tzv. normalnog sveta je te sprave koristila kao e-puskice, pa su ih npr. na ETF-u neki profesori zabranjivali na ispitima.

Šalu na stranu - meneer Dijkstra je bio u pravu: ko god je ucio programiranje na basicu kao da ga nije ni ucio. Takvo je bilo barem moje iskustvo - kada sam silom prilika tokom studija morao da savladam najpre Pascal, pa Fortran, pa C - hteo ne hteo, morao sam da principe strukturnog programiranja ucim od nule. Igrarije sa C64 bejzikom i asemblerom mi nisu previse pomogle. Bas kao sto je i prelazak na objekte totalno druga filozofija, sto opet zahteva korenite promene mindseta.

Zapravo, periodicne promene mindseta, a samim tim i navika (cesto onih losih), su neizostavni deo IT struke uopste, zapravo najteza stvar u struci ...
Citat:
Perl, PHP, JavaScript. Ovo su samo neki od jezika koji su očajni, a popularni.

Stvar je u tome sto su ti jezici stvoreni za sasvim druge namene, a u medjuvremenu su namene prerasle mogucnosti tih jezika.

Perl je recimo osmisljen da sistem-adminima omoguci da razne spagete od sh|awk|sed|... skripti, a neretko i one dugacke 1-line-kobasice strpane u crontab - pretoce u citljiviji kod, koji lako moze da odrzava i debaguje neki njihov kolega kada admin ode na odmor. A posto admini nisu developeri, cesto nemaju nikakvo programersko znanje, a tokom skolovanja nisu ni ucili tipove i strukture podataka, teoriju algoritama, pojam "o(n)" i ostale stvari - Larry Wall im je izasao u susret i stvorio prljavog monstruma koji ih oslobadja mnogih glavobolja kojima su bili izlozeni tadasnji pravi programeri. Izmedju ostalog - deklarisnja promenljivih, lupanja glave oko tipova podataka, pa se jedna ista promenljiva moze da tumaci i kao boolean, char, int, string, float ... zavisno od koneksta (npr. $a="2"; ++$a; print $a - dace rezultat: 3 ... $a = "XXX"; ++$a; print $a - dace rezultat: 1), nema potrebe ni za inicijalizacijom promenljivih (sve su NULL po defaultu). Kada problem preraste mogucnost tih skripti i firma mora da angazuje profi-developere da sve to razmrse i pretoce u neki npr. C++ kod - ovi cupaju sebi kosu pokusavajuci da razmrse kako ti spageti rade ...

Slicno tome i PHP - on je smisljen da zameni CGI skripte i olaksa razvoj web formi, a pretvorio se u poseban programski jezik ...
[ djoka_l @ 04.05.2022. 15:45 ] @
Nisam ja bez veze pomenuo ta tri programska jezika (Perl, PHP, JavaScript) kao najgore.

Perl se nekada koristio (i) za web programiranje. Možda si nekada koristio webmin, koji je web interfejs za sistemske operacije na Linuxu. Kompletno je napisan u Perlu. Sve je spakovano, uključujući web server i gomile funkcionalnosti. Čak sam i sam doprineo (vrlo malo) webmin-u. Svojevremno sam otkrio bug, prijavo i predložio rešenje koje je ušlo u sledeću reviziju...

Kasnije je PHP potpuno izbacio Perl iz web ekosistema, a JavaScript, koji je prvo došao kao front end jezik, počeo da se koristi i za back end. Doduše, profesionalci više koriste TypeScript za node.js razvoj, ali to je ipak, na kraju, JavaScript.

Sada, kada je web programiranje toliko popularno, PHP i JavaScript su često prvi jezici koje potencijalni programi uče (srećom, ne i Perl), a jezici su odvratni.

Meni se, recimo, najviše sviđa Ada. Nisam je mnogo koristio (ako se ne računa PL/SQL koji je, u stvari miks Ada i SQL), ali sam prvi put imao utisak da je sve napravljeno od početka, sa jasnim planom i kako treba. Svi ostali jezici, manje ili više, podsećaju na krpeže. Na primer C++ je odvratan jezik u odnosu na C# i Javu, baš zbog toga što su objekti silom nakalemljeni na klasičan C i da bi se sačuvala kompatibilnost sa C

Sada, ako neko pita koji bi programski jezik trebalo prvo da uči, ja sam u velikoj dilemi šta da preporučim. Recimo, Python bi mogao da bude dobar izbor, ali nekako rogobatan. Svi ti C-like jezici bi bili bolji kao drugi izbor, posle C, ali C, sam po sebi, može da bude loš kao izbor za prvi jezik.

Pascal je očaj. Treba ga koristiti kao jezik za učenje, ali zahvaljujući Borlandu, postao je ruglo od jezika.

A BASIC?, Pa ja i dan danas koristim to što sam naučio osamdesetih u VBA programiranju (kada moram). Mada to više nije onaj BASIC koji sam ja učio.
[ B3R1 @ 04.05.2022. 19:27 ] @
Citat:
djoka_l: Perl se nekada koristio (i) za web programiranje.

Da, ali mu to nije bila osnovna namena, kao sto sam rekao. Tacno, bio je popularan za CGI skripte. A bilo je i velikih sistema koji su ga koristili - recimo, celokupna platorma Bookinga (booking.com) je razvijena bas u Perlu i pre 10-tak godina Booking je stalno trazio Perl developere i nikada ih nije bilo dovoljno. Mada verovatno su razlog za to i neka horor-iskustva pojedinih developera koji su se upecali na "Welcome to beautiful Amsterdam" udicu i dosli da rade za njih, poput lika iz ove horor-pricice.
Citat:
Sada, kada je web programiranje toliko popularno, PHP i JavaScript su često prvi jezici koje potencijalni programi uče (srećom, ne i Perl), a jezici su odvratni.

JavaScript ne bih ucio ni da me plate u zlatu! I kada bi na ovom svetu u IT ostao samo JS i nista drugo, batalio bih IT i otvorio restoran. PHP bih mogao da svarim eventualno ... mada bih i izmedju PHP i kulinarstva verovatno izabrao ovo drugo. :-)
Citat:
Sada, ako neko pita koji bi programski jezik trebalo prvo da uči, ja sam u velikoj dilemi šta da preporučim. Recimo, Python bi mogao da bude dobar izbor, ali nekako rogobatan.

Python je dobar kao entry-level jezik, mnogi americki univerziteti su ga prihvatili bas za to. Recimo, na MIT ga uce svi undergrad studenti, ukljucujuci i one kojima Computer Science nece biti primarna struka. Uloga koju je pre par decenija imao Fortran. Softverasi kasnije uce i druge jezike, dok npr. elektronicari koriste scipy, simpy itd. Vidim da su taj princip poceli da prihvataju i na ETF-u.

Mislim da je Python dobar i kao naslednik Basic-a, jer pocetnicima omogucava da direktno pocnu s ucenjem. Nema instalacije slozenih alata, podesavanja stotine parametara, sintaksa je jednostavna i razumljiva svima. A jezik od korisnika trazi i urednost - npr. pravilnu indentaciju, inicijalizaciju promenljivih, jasno razdvajanje tipova podataka itd.
Citat:
Pascal je očaj. Treba ga koristiti kao jezik za učenje, ali zahvaljujući Borlandu, postao je ruglo od jezika.

Uhhh ... ni to! Licno znam ljude kojima je upravo Pascal, koji je bio obavezan u gimnazijama davnih 90-ih (i to skolama opsteg smera), ogadio programiranje za sva vremena. Inace, ne znam koliko ti je poznato, ali 80-ih je na ETF-u kruzila neslavna prica o tvorcu paskala - prof. Niklausu Wirthu. Lik je bio profesor na ETHZ (Cirih) i svakako autoritet u svojoj struci, ali je bio ocajno los predavac. Studenti su s njegovih casova bezali koliko god su mogli, jer je retko ko uspevao da ga prati, bio je totalno konfuzan ...
[ dejanet @ 04.05.2022. 21:04 ] @
Meni je Turbo Pascal bio sasvim OK, object pascal sam preskocio, pa sam se kasnije sa mukom adaptirao na Delphi i objektno programiranje.
Ali pravo objektno programiranje bez napora mi je bilo u Javi i kasnije u C#.

JS sam poceo da koristim kao programski jezik tek od susreta sa AJAX pozivima, tj. kada smo sve cesce pravili punu ili delimicnu Single Page App, eh 15-20 godina pre ovih Angular, React ...
[ Nedeljko @ 04.05.2022. 23:38 ] @
Ne znam, Pascal je nekada bio super za učenje strukturnog programiranja. Za to ga je Niklaus Virt i pravio. Mnogi su zavoleli programiranje preko njega, pa je Laslo Kraus napisao da je mnogima prva ljubav bio Pascal, ali da su život proveli u srećnom braku sa C-om.
[ mmix @ 05.05.2022. 08:16 ] @
Ja cu se pridruziti JS hejterima i reci da je JS stvarno najgori programski jezik ikad osmisljen. Generalno su weak typed jezici problematicni ali JS je postao infamous zbog svoje primene (ili bolje reci lose primene) u frontend-u. Toliko je ogavan da su ljudi bili primorani da naprave transpajler jezike samo da bi da koliko toliko doveli u red, sa razlicitim stepenom uspesnosti.


Pascal je naravno prva ljubav, cak sam ga i profesionalno koristio u Delphiu, ali ruku na srce stvarno je repetative i insistira na pisanju boilerplate koda, mada ni Java nije mnogo daleko od toga (iako su se skoro konacno probudili i resili da unaprede jezik malo). Jednostavno ga vreme pojelo.


Nemam ni mnogo ljubavi prema Pythonu ( i generalno svim offside jezicima koji zavise od rasporeda whitespace-ova) iako se svi loze na njega. Realno ja ga vidim samo kao akademsku zamenu za FORTRAN, ali to ne sprecava mnoge da ga trpaju u svako jelo kao mirodjiju. U realnosti, iako su tako puni sebe, Python "developeri" na kraju za bilo sta ozbiljno zavise od nekog ko zna C i ko ce im napraviti bilioteku koju ce da pozovu. Strong independent developers, lol. Mene najvise iritira zbog svog error systema koji je upotrebljiv koliko i US sistem mera ("Vas program ne radi jer 3 celava orla i 5 prepelicijih jaja")


Kad porastes i dodjes u fazu karijere gde treba da radis code review i analiziras tudje mentalne izlucevine, onda konacno shvatis veliku prednost staticnih, strukturiranih, strong-typed nominativnih jezika.
Kompajler ti ne da da pomnozis "Avion" i 2, pa si nervozan jer ti puca CI pipeline? Vidi, lave, bolje tvoje vreme nego moje...
[ Nedeljko @ 05.05.2022. 09:37 ] @
Dinamički tipizirani jezici su upotrebljivi samo za kraće, jednostavnije stvari, mada ni tu statičko tipiziranje ne bi smetalo.
[ MajorFatal @ 05.05.2022. 09:43 ] @
A zašto ljudi toliko greše kad prave programske jezike, zar ne bi mogli da slede neku kao logiku? I uopšte uzev šta će više od dva programska jezika? Čemu služi 22 programska jezika, da bi mogli da učimo jezike, a ne programiranje?

Pogledao sam onaj ć što ga reklamirali ovde, ladno piše "Uzmi a = 2" i to je dodela vrednosti, valjda bi trebalo "Neka je a = 2" ? to bi bila dodela, a ovako je "uzimanje".
[ Nedeljko @ 05.05.2022. 09:55 ] @
Da bi sledili logiku, moraju je prvo imati u glavi. Ako toga nema, onda je ne mogu ni slediti.

Ne postoji jezik koji je najpodesniji za sve namene. Lepo Linus reče: "Nothing better than C.".
[ B3R1 @ 05.05.2022. 12:33 ] @
Citat:
Nedeljko:
Ne znam, Pascal je nekada bio super za učenje strukturnog programiranja. Za to ga je Niklaus Virt i pravio. Mnogi su zavoleli programiranje preko njega, pa je Laslo Kraus napisao da je mnogima prva ljubav bio Pascal, ali da su život proveli u srećnom braku sa C-om.

Vidi, tu bih mogao da se slozim s tobom. Ja sam se s Pascalom susreo na II godini studija na ETF-u, gde mi je bas doticni Laslo (RIP - i njega je odnela korona) drzao vezbe, a prof. Jozo Dujmovic predavanja ... I da, pocinjali smo od Pascala, koji je za C64-basic-ovce bio vojnicki dril ... maltene u stilu: "Za jedan GOTO 10 sklekova za kaznu". :-) Ali Pascal je omogucavao da naucis i pojam lokalnih/globalnih promenljivih i konstanti, prenos argumenata funkcije po vrednosti i po referenci ... Naravno, jednom kada sam naucio C zaboravio sam Pascal i Fortran (77 - takodje je bio u programu predmeta) sto pre.
Citat:
MajorFatal:
A zašto ljudi toliko greše kad prave programske jezike, zar ne bi mogli da slede neku kao logiku? I uopšte uzev šta će više od dva programska jezika? Čemu služi 22 programska jezika, da bi mogli da učimo jezike, a ne programiranje?

Ljudi nisu pravili programske jezike iz hira, vec da bi resili neke vrlo konkretne probleme. Ok, istorija pamti i jezike koji su nastali iz ciste dosade ili zarad akademskih vezbi, ali velika vecina je nastala iz potrebe da se resi odredjeni problem. Takodje, imaj u vidu da su u drugoj polovini proslog veka kompjuteri nastajali u razlicitim krajevima sveta, da standardizacije nije bilo i da je svaki proizvodjac gurao svoju pricu.

Recimo, rec "FORTRAN" je skracenica slogana "FORmula TRANslation" i omogucio je matematicarima, statisticarima, fizicarima, inzenjerima ... i uopste svima koji su koristili neku vrstu matematike u svom poslu da razmisljaju samo o matematickim operacijama koje treba da obave, a da u isto vreme olaksaju posao operaterima kartičnih bušilica. Fortran je IBM-ov izum i to su gurali Ameri, ali on je omogucio apstrakciju samo prostih matematickih formula i prakticno sveo tadasnje racunare na ono sto mi danas zovemo kalkulatorima.

Medjutim, IBM nije bio usamljen u tadasnjoj kompjuterskoj industriji, a ni Ameri nisu bili jedini koji su trazili elegantnije nacine da priblize kompjutere krajnjim korisnicima. Ne znam da li ti je poznato da je cak i nasa bivsa domovina takodje proizvodila mainframe-ove - CER-10 je nastao u Institutu Mihailo Pupin 1960, jos u vreme druge (tranzistorsko-cevne, hibridne) generacije racunara. Ok, nije bio bogzna sta, ali u to vreme ni mnoge evropske zemlje nisu imale tako nesto! A Sovjeti su svoj prvi mainframe napravili tek 70-ih. A paralelno s razvojem hardvera islo se i ka razvoju programskih jezika.

Slicno je bilo i sa jezicima. Oni su se radjali na razlicitim kontinentima i svaki je resavao odredjeni problem. Fortran je bio blizak inzenjerima, ali recimo nisu ga kapirali americki oficiri, pa su za potrebe armijske administracije smislili COBOL. Holandski matematicari (Wijngaarden & Dijkstra) su otisli dalje od obicne funkcije kalkulatora i pokusali da naprave apstrakciju algoritma. Tako je nastao ALGOL. Svajcarci (grupa okupljena oko Niklausa Wirtha) je uzela ALGOL kao osnovu, a onda su mu dodali pointere, liste i stabla i tako je nastao Pascal. Inace, pointeri, liste i stabla su strukture zasnovane na indirektnom adresiranju memorije, a taj mehanizam je vec ranije postojao u programskom jeziku LISP. Francuzi su posli od apstrakcije pojma relacije, logickih operacija i uzrocno-posledicnih veza i tako je nastao Prolog. I tako dalje ...

Slicno su nastali i svi kasniji programski jezici. Programeri su trazili precice da rese konkretne probleme, bez potrebe da rade copy/paste istog koda. Tako su nastale klase i objekti s jedne strane. S druge strane, programeri (ali i ljudi koji to nisu - npr. sistem-admini) su trazili sebi precice da automatizuju svakodnevne repetitivne radnje, jer repetitivne rutinske radnje koje se obavljaju svakodnevno dovode do ozbiljnih fizickih i mentalnih problema ... iz cega su nastajali razni scripting jezici (Shell programming, AWK, Bash ... kasnije Perl). Uprkos uvrezenom misljenju da i Python spada u tu grupu, to nije sasvim tacno. Python je pisan za studente matematike i inzenjerskih nauka, nastao je na CWI ... iako Guido van Rossum to nikada nije priznao, prompt u Python shellu (>>) je slican onome u Matlabu, a i nacin inicijalizacije nekih struktura (npr. lista) je slican Matlabu, tako da mu je Matlab verovatno bio delimican uzor. Medjutim,m Python je postao popularan i medju sysadminima zato sto je - poput Perla i shellova - takodje interpretatorski (ok, nije bas ... ispod haube radi on-the-fly kompilaciju, ali korisnik ga vidi kao interpreter). Iz potrebe da korisnicima omoguci automatizuju repetitivnih radnji u Office-u, Microsoft je ugradio VBA u Office, jer su VBA vec imali razvijen i sto bi izmisljali toplu vodu?
[ BrutalCoin @ 05.05.2022. 15:41 ] @
Čuj "C64-basic-ovce" a šta bi rekao za "C64-asembler-ovce"?

Autor teme se odlučio za najgori jezik a da pri tome nije odredio kontekst.

Da li je BASIC za kućne računare 80-tih namenjen profesionalcima?
Da li je taj BASIC omogućavao pristup resursima računarskog hardvera na kome se izvršavao?
Kome je namenjen taj BASIC?

Ako u svetlu raznih konteksta pogledamo te 8-bitne "kućne ljubimce" (koje će kasnije da zamene ajfoni i kerići) onda možemo izvršiti nivelaciju poredjenja.

Commodore BASIC je sasvim solidno odgovarao hardveru Commodore mašina. Ako nikako drukčije ono sa POKE i PEEK. Mada su neki (na primer Plus/4, C16 i C116) imali i naredbe za upravljanje grafikom i zvukom.
Da ne pišem o Atariju.

Dakle, taj BASIC nije bio loš za takvu mašinu.
Porediti BASIC za 8-bitne računare sa 64KB memorije (neki samo 16KB) je pomalo apsurdno ako uzmemo da za na primer Firefox sa JavaScript je instalacija reda 100MB! 5GB operativnog sistema da ne pišem.


Za učenje programiranja za profesionalce BASIC nije dovoljan. Ali je dovoljan prosečnom učeniku/studentu koji bi na brzinu da proveri tačnost zadataka/formula dok radi domaći ili sprema ispit. A to je daleko širi krug tržišta nego da su se kućni računari odmah specijalizirali za buduće profesionalne programere.


Od kad sam čuo za tu odvalu (eto 4 decenije) se pitam u čemu je kvaka da oni koji su učili BASIC posle teško prelaze na druge programske jezike. Stvarno u čemu je kvaka?

[ ademare @ 05.05.2022. 17:46 ] @
BASIC nije nastao za kucne mikro kompjutercice , vec za velike sisteme , visekorisnicke Mejnfrejm sisteme .

Kasnije kada su se pojavili 8. bitni kompjuteri pocelo je portovanje za njih . Najpopularniji i verovatno u startu i najbolji je bio MS BASIC . To je bio njihov prvi uspesan proizvod .

Medjutim MS nikada nije bio jeftina firma , pa drugi nisu hteli da placaju njima vec su osmislili svoje verzije . MS tada nije imao Monopol .


Medjutim od svih kojekakvih verzija BASIC za C-64 je svakako bio jedan od Najgorih , ako ne i Najgori !

Zasto ?

Zato sto to uopste nije bio BASIC za C-64 koji je nastao relativno kasno i kada su 8-bitni kompjuteri vec bili na Zenitu i polako poceli da padaju , vec je to bio nekakav Zastareli PET BASIC , koji je Commodore bio razvio za 4-5 godina stare i prevazidjene PET modele !

Taj BASIC uopste nije bio Prilagodjen C-64 i nije iskoriscavao njegove mogucnosti !


Commodore je uvek bio trgovacka kuca , sa traljavim menadzmentom . Nije BASIC bio jedini biser kod C-64 , vec stari ocajni flopi , koji je bio komplikovaniji od samog kompjutera , jer je imao isti CPU svoj ?!

Onda zastareli konzervativni kasetofon sa brzinom 300 Bauda , koji je kasnije uz " Turbo " program koji nije produkt Commodora tek bio ono pravo .

Isto je bilo i za Flopi , samo su tu bili " Turbo ROM-ovi " .
[ B3R1 @ 05.05.2022. 17:59 ] @
Citat:
BrutalCoin:
Od kad sam čuo za tu odvalu (eto 4 decenije) se pitam u čemu je kvaka da oni koji su učili BASIC posle teško prelaze na druge programske jezike. Stvarno u čemu je kvaka?

Kvaka je u autoru ... :-) koji je originalno rekao:

"“It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration".

Deliicno jeste u pravu, jer su FORTRAN (dvojka i trojka) i BASIC bili jezici koji su se oslanjali na GOTO (bas u stilu ovog Brazdorfovog postera), sto je suprotno principima Dajkstrinog "čeda" Algola i strukturnog programiranja koje je on prvobitno osmislio. I ako hoces da naucis strukturno programirane tada ti BASIC i FORTRAN (starije verzije) nisu bas previse od pomoci i - hteo ne hteo - moras da predjes na neki jezik koji to podrzava i promenis navike. U tome je stvar.

Ali naravno, daleko od toga da su lose navike nepopravive. Dok je covek mlad, navike se menjaju veoma lako ... Dajkstra je, naravno, preterao, ali to je bio njegov specifican humor, koji se vidi iz arhive njegovih rukopisa, koju je Unviersity of Texas digitalizovao i stavio na javni uvid ... Ti rukopisi obiluju mesavinom humora, cinizma i sarkazma ...

Medjutim, izmedju redova tih belezaka se ocrtava nesto drugo. Profesor Dajkstra je bio tipican predstavnik tzv. klasicne akademske elite - profesor starog kova, koji je univerzitet smatrao nekom vrstom hrama nauke za koji je smatrao treba da ima vodecu ulogu u tehnoloskim inovacijama, a da industrija treba da sledi univerzitet - a ne obrnuto. Na njegovu zalost, desilo se bas obrnuto - IT industrija je jos dok je on jos bio aktivan, pocela da otima kormilo razvoja i inovacija od univerziteta i da ide svojim tokom. Bas kao sto je smatrao da je programiranje zapravo primenjena matematika, da svaki programer mora da bude bolji matematicar od matematicara, pa su njegovi casovi programiranja zapravo bili casovi suvoparne matematike - aksiome, definicije, teoreme, leme, korolari ... i tako u krug ... Americki studenti CS ga nisu preterano gotivili i uglavnom nisu birali njegove izborne predmete, vec nesto mnogo prakticnije. Na njegovu zalost, metodologija razvoja softvera je otisla nekim totalno desetim putem od onog krutog, formalno-matematickog koji je on zastupao, sto je svakim danom bockalo njegov naucnicki ego ... Vrh je bio kada mu je neki programer, bivsi student, odbrusio da mu njegova knjiga (verovatno Discipline of Proramming)ni za dlaku nije pomogla u kasnijoj karijeri ...
[ mmix @ 05.05.2022. 19:16 ] @
Citat:
B3R1:gde mi je bas doticni Laslo (RIP - i njega je odnela korona) drzao vezbe


Nisam znao za ovo :( bedak.
[ Nedeljko @ 05.05.2022. 23:45 ] @
Ne radi se o Dajkstrinom "čedu", ALGOL-u, nego o struktirnoj paradigmi programiranja. Podržavali su je ALGOL, Modula-2, Pascal i C, kao i neke varijante BASIC-a. Recimo, BASIC za BBC B je podržavao struktirno programiranje.

Strukturna paradigme je prvenstveno u vezi sa svođenjem složenijeg problema na jednostavnije potprobleme. Tome doprinose, funkcije, način prenošenja argumenata, lokalne promenljive, rekurzije i kontrolne strukture za eliminaciju potrebe za GOTO naredbama.
[ Nedeljko @ 06.05.2022. 02:34 ] @
@B3R1

U vezi Dajkstre nisi u pravu.

Dajkstra nije smatrao da industrija treba da sledi univerzitet, već da su to dva odvojena sveta, koja zapravo i ne treba da sarađuju, već da svaki obavlja svoj posao. Imaš njegov članak "Snage akademske delatnosti" na netu u prevodu na srpski.

On je dobitnik Tjuringove nagrade, koja se dodeljuje za ključne doprinose računarstvu (teorijske i praktične), a koja predstavlja najprestižnije priznanje u oblasti. Dobitnik je i drugih oprestižnih nagrada.

Autor je čuvenog članka o tome da je GOTO naredba opasna. Teorijskim putem je to pronašao, a onda našao i objašnjenje za to. Izgleda da je to prihvaćeno u najvećem delu industrije. Promovisao je strukturno programiranje.

Koautor je programskog jezika ALGOL, koji je ostvario veliki uticaj na kasnije programske jezike, uključujući Pascal, C i Scheme. To je bio jezik dizajniran za strukturno programiranje - prototip od kojeg su nastali drugi jezici.

Čik pogodi ko je izmislio mutex-e. Bavio se konkurentnim i distribuiranim progarmiranjem, koje je zaživelo danas u eri internet usluga.

Matematika i programiranje zahtevaju isti način razmišljanja. Za profi sw karijeru ne moraš znati matematiku (mada i to zavisi od sw oblasti), ali ako si u školi kuburio sa matematikom, ni od razvoja softvera se nećeš 'leba najesti. To zahteva istu vrstu klikera.
[ djoka_l @ 06.05.2022. 11:13 ] @
Citat:
MajorFatal:
A zašto ljudi toliko greše kad prave programske jezike, zar ne bi mogli da slede neku kao logiku? I uopšte uzev šta će više od dva programska jezika? Čemu služi 22 programska jezika, da bi mogli da učimo jezike, a ne programiranje?


A zašto postoji više od 2 modela automobila?
Neka se inženjeri iz svih fabrika dogovore da prave samo jedan, pa onda u isti automobil, po potrebi, možeš da strpaš 7 članova familije, kada ti se ćefne možeš da ga voziš 250 na auto putu, ponekad prevezeš metar drva ili dva živa praseta u prtljažniku, a da može da povuče i kamp prikolicu, a po potrebi, da ga voziš i van puteva.

Naravno, da možeš da ga parkiraš u 4 metra prostora i da malo troši. A kada je potreba, da može da povuče i plug...
[ B3R1 @ 08.06.2022. 10:45 ] @
[ Riblja corba @ 08.06.2022. 11:44 ] @
^ Lol
Šta su ti algoritmi... meni se to takođe nedeljama nudi kad god otvorim YT ali nešto nisam bio u fazonu da je zanimljivo.

Nema najgoreg ko što nema ni najboljeg.
[ MajorFatal @ 08.06.2022. 13:19 ] @
Citat:
djoka_l:
A zašto postoji više od 2 modela automobila?
Neka se inženjeri iz svih fabrika dogovore da prave samo jedan, pa onda u isti automobil, po potrebi, možeš da strpaš 7 članova familije, kada ti se ćefne možeš da ga voziš 250 na auto putu, ponekad prevezeš metar drva ili dva živa praseta u prtljažniku, a da može da povuče i kamp prikolicu, a po potrebi, da ga voziš i van puteva.

Naravno, da možeš da ga parkiraš u 4 metra prostora i da malo troši. A kada je potreba, da može da povuče i plug...


Taj što natrpaš 7 članova porodice, prevezeš metar drva, dva živa praseta, vuče kamp prikolicu i voziš van puteva to je sve jedan, 250 na autoputu, parking 4 metra prostora i malo troši to je drugi .. plug vuče traktor.