OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Software pro železniční modelářství, simulátory, ovládání, plánování....

Moderátoři: Michal Dalecký, Jarda H.

Re: OT: Jak programator prichazi o nervy (BASCOM BASIC a C++

Příspěvekod vvitty » čtv 25 říj, 2018 1:24 pm

Jediný důvod proč jsem přispěl do téhle žumpy bylo okomentování lživého tvrzení o neodsledovatelnosti co dělá přeložený kód C / C++.

Zdeno, očekávat že tě někdo bude přesvědčovat pro změnu je poněkud mimo mísu, používej si co chceš, jen by bylo dobré nešířit bludy o ostatních možnostech.
Stavebnice, díly, nářadí pro modeláře, - [url]https://www.pojezdy.eu/eshop[/url]
vvitty
 
Příspěvky: 2622
Registrován: pát 28 pro, 2007 7:11 pm
Bydliště: Praha

Re: OT: Jak programator prichazi o nervy (BASCOM BASIC a C++

Příspěvekod zdeno » čtv 25 říj, 2018 1:48 pm

vvitty píše:Jediný důvod proč jsem přispěl do téhle žumpy bylo okomentování lživého tvrzení o neodsledovatelnosti co dělá přeložený kód C / C++.
Zdeno, očekávat že tě někdo bude přesvědčovat pro změnu je poněkud mimo mísu, používej si co chceš, jen by bylo dobré nešířit bludy o ostatních možnostech.

Kazdy mame pravo na svuj nazor, mame demokraciu.
---
Proste to je moje zkusenost, kdyz jsem testoval ruzne HEXaky, ktere jsou na webu bez zdrojaku.
Asi se majitele stydi za to, co spachali a nekdy je to opravnene.
To plati hlavne na Arduino forum, co se tam prezentuje ve Wiringu, coz je klon C++.
Ono rozsvecovat a zhasinat jednu LEDku v 3 kB strojaku je fakt sila. Co tam je asi za hovadiny ?
Uživatelský avatar
zdeno
 
Příspěvky: 3003
Registrován: pon 11 črc, 2011 8:54 am

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod JOHNZ » pát 26 říj, 2018 8:58 am

zdeno: Ďakujem ti za tvoj posledný príspevok, konečne som si uvedomil, prečo sme sa tu vlastne tak dohádali.

Wiring (a celá platforma Arduino) je na to, aby programovanie zvládol človek, čo v živote jednočip nevidel a datasheet je pre ňho slovo z nejakého afrického jazyka po pol hodinovom zaškolení. To je jeho účel. Rozšíriť vývoj pre jednočipy medzi ľudí, ktorí sa tým nikdy nezaoberali. A plní ho dobre, videl som pomerne použiteľné výstupy (ovládač žalúzii) od dievčiny, ktorá síce vie zapnúť počítač, ale to je asi tak všetko. Veľkosť výstupu nikoho nezaujíma do doby, kým s do tej ATmegy alebo Cortexu nezmestí. Takisto už takéto veci nemajú žiadny vplyv na spotrebu.

A tu začína základ nepochopenia medzi mnou a tebou. V tvojom svete sa všetko meria na dĺžku zápisu programu, počet premenných a počet inštrukcii strojového kódu vo výslednom hexe. Lenže dnes už ide o úplne iné veci, rýchlosť práce, nároky na zaškolenie, udržovateľnosť a podobne. Takže v tomto smere som zasa obmedzený ja, že tento tvoj svet, už nechápem a nemôžem pochopiť, pretože už je dávno preč. Síce si matne spomínam, že keď som s programovaním začínal, tiež som sa snažil veci naprasiť tak, aby mali minimum riadkov, aby zaberali minimum pamäte, ale pomerne rýchlo ma to prešlo (síce som proti tebe mladík, ale aj tak to už bude dobrých 15 rokov).

A tak som si po tvojej výzve v dobrej viere nabehol na to, že som ten program nenaprasil na minimum riadkov a premenných, ale chcel som ti ukázať, ako sa to v tom C dá programovať tak, aby si to mal hotové za 15 minút a nie za tri dni a vyznal sa v tom aj keď sa k tomu vrátiť po troch rokoch , netrpelo to na také veci, že čo sa bude diať až niekto pridá ďalších x funkcií, a neuvedomil som si, že sme pred tým doslova "bojovali o inštrukcie" a ty len oproti tomu chceš napísať tých pár riadkov nad ktorými si rozmýšľal možno aj dni (keď si to popísal ako veľký problém) len preto aby si mohol nado mnou slávne zvíťaziť v disciplíne, v ktorej sa ani nebojovalo.

Takže áno, keď porovnáme zápis programu v C, naviac riešený tak, aby sa dal ľahko rozširovať upravovať a meniť, a zápis programu v Bascome, asi na ten Bascom spotrebujeme menej riadkov (a keďže ty uvažuješ len nad počtom riadkov, tak ti to vychádza lepšie). To, že som to mal zachvíľu bez valného rozmýšľania, a čo pre mňa robí to C výrazne lepším jazykom než Basom, to ty oceniť nedokážeš a ja som si to mal uvedomiť. Takže v rámci svojho rozmýšľania sme vyhrali obaja. Ty si presvedčený o tom, že tvoj program bude mať menej riadkov, ja o tom, že ho zvládnem napísať rýchlejšie a lepšie sa s ním bude pracovať ďalej.

Skús sa možno zamyslieť nad jednou vecou - preč okým ja som na tvoju výzvu sadol a aspoň niečo z hlavy do počítača hodil, ty si v okamihu, keď sme začali riešiť to, že ten tvoj pultík vie postaviť len jednu cestu, a ja som tvrdil, že to je málo, miesto toho aby si sadol nad to, to doprogramovať, radšej začal hľadať 100+1 argumentov prečo to nerobiť. Ak to nevyjde, nevadí.
JOHNZ
 
Příspěvky: 140
Registrován: sob 05 led, 2008 9:24 pm

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod zdeno » pát 26 říj, 2018 9:36 am

Nemas tak uplne pravdu, protoze ja nemam rad, kdyz si program dela co chce.
Nekomu to nevadi, ale mne ano, asi jsem fakt stara skola.
---
Jinak mi vyslovene vadi zkratkovitost a tak nejak "zmrsenost" syntaxe, teda, ze pokud to clovek nema opravdu zažité, tak v tom plave.
Celkem to chapem u programu do PC a jinych zarizeni, kde vubec nezalezi na velikosti pameti a rychlosti. Proste se tam drbne neco vetsi nebo rychlejsi.
Ale nechapem, kdyz takto vyslovene plytvate zdroji, proc se to neprojevi na syntaxi, teda udelat uzivatelsky prijemnejsi psani programu, aspon pro jednocipy ?
Wiring je neco strasneho !!!
---
Ten priklad neni "velky" problem, proste jsem to delal jako posledni a opravdu jsem nad tim nestravil bezesne noci ;-)
Ani to neni nijak oklamane nebo optimalizovane, proste normalni kus kodu, ktery pisem bezne.
---
Program Pultik upraveny, je tam moznost volby poctu cest, teda 1, 2, 4 na jedno zhlavi.
Udelal jsem to volitelne, to mi pripada lepsi, i kdyz to dalo vic prace.
Uživatelský avatar
zdeno
 
Příspěvky: 3003
Registrován: pon 11 črc, 2011 8:54 am

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod vvitty » pát 26 říj, 2018 10:08 am

A co Te nuti Wiring pouzivat? Neni problem psat rovnou v C/C++ a mit kod o poznani efektivnejsi.
Stavebnice, díly, nářadí pro modeláře, - [url]https://www.pojezdy.eu/eshop[/url]
vvitty
 
Příspěvky: 2622
Registrován: pát 28 pro, 2007 7:11 pm
Bydliště: Praha

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod zdeno » pát 26 říj, 2018 10:27 am

vvitty píše:A co Te nuti Wiring pouzivat? Neni problem psat rovnou v C/C++ a mit kod o poznani efektivnejsi.

a co tebe nuti psat v C/C++, kdyz existuje Bascom ? co mas radsi, makove nebo povidlove ? ;-)
---
Neexistuje nic v C/C++, co bych nedokazal v Bascomu, teda pro jednocipy.
A pokud ted zacnes tvrdit, ze vysledny kod C/C++ je lepsi nez z Bascomu, tak se zase vracime na zacatek tohoto vlakna ;-)
Uživatelský avatar
zdeno
 
Příspěvky: 3003
Registrován: pon 11 črc, 2011 8:54 am

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod vvitty » pát 26 říj, 2018 11:04 am

Ja jen ze tu vytahujes neustale jeden konkretni priklad - Wiring - a zobecnujes poznatky z neho na obecne C/C++.
Stavebnice, díly, nářadí pro modeláře, - [url]https://www.pojezdy.eu/eshop[/url]
vvitty
 
Příspěvky: 2622
Registrován: pát 28 pro, 2007 7:11 pm
Bydliště: Praha

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod JOHNZ » pát 26 říj, 2018 12:57 pm

zdeno: Dnes už sú práve ale vývojové prostriedky tak ďaleko, že priamo v tom jednočipe môžeš ladiť aj veci v C/C++ a ono ti ten program čo beží v procesore krokuje priamo v tej doske. Kolegovia napríklad naopak využívajú toho, že si naprogramovali niečo ako je to behové prostredie toho Wiringu (ale po svojom a tak aby to vyhovovalo im) a využívajú toho, že si to všetko chovanie odsimulujú na PC a potom len zmenia dva riadky v konfigurácii a preloží sa im to rovno do ARMu a funguje to (lebo to behové prostredie už majú odladené a ten vnútorný program je furt rovnaký). A ver mi, oni si musia byť sakra istí, že to bude fungovať správne, lebo keď nebude, budú umierať ľudia... (alebo už odteraz zo strachu nevlezeš do vlaku?)

Teraz to budem odhadovať, ale ten Wiring najskôr vznikol jednoducho. Parta ľudí čo to robila boli očividne nadšenci do HW, mali aj nejaké pedagogické zručnosti, ale nikto z nich nevedel písať prekladače. Tak vzali to C++ (asi že ho poznali) a sústredili sa na skôr na to, čo najviac človeka odstrihnúť od znalosti HW, pretože to je pomerne veľké kompendium znalostí, ktoré proste musíš mať, kdežto programovať v tej syntaxi ťa taktrochu "naučí" aj ten prekladač. Bude to niečo podobné ako Loconet, ktorý tiež očividne vznikol tak, že páni zrejme mali dobré znalosti elektroniky, vedeli krásne navrhovať fyzickú vrstvu zbernice, akurát zrejme moc nepestovali komunikačné protokoly. Tak použili to najjednoduchšie, čo vedeli, a znárodnili horný bit na riadenie komunikácie. Ale časom možno od Wiringu dôjdeme k niečomu ako je MicroPython (ten by sa ti mohol páčiť, tie programy sa od Basicu na pohľad toľko nelíšia, a pritom to funguje dokonca objektovo) a to sa budú potom ovládať LEDky 32kB strojáku, možno aj viac :D

A nikomu to vadiť nebude, lebo dnes už sa pojem plytvanie zdrojmi silno zrelativizoval aj v prípade jednočipov. Za 50 Kč (maloobchodne a s daňou) zoženieš SoC s Cortex M0, ktorý bude mať 8kB RAM a 64kB Flash. Za 80 Kč zoženieš Cortex M0 s 64kB RAM a 256 kB Flash. Prečo by mal človek v takomto prípade riešiť, či bude mať program o inštrukciu viac alebo menej?

Ad Pultík - tak prečo bolo okolo toľko kecov? Fakt to nebolo tým, že hrabať sa aj v pomerne jednoduchom Assemblerovom/Basicovom programe a niečo doňho dorábať je často tak trochu za trest? :wink: Aspoň mne to tak vždy prišlo. Zvlášť, keď sa človek vrátil ku kódu po dlhšej dobe. S C/C++ toto prakticky nezažívam, resp. zažívam len s niekoľko rádov zložitejšími programami než aké sa až donedávna dali napísať do jednočipu. Dnes už do jednočipu dáš skoro čokoľvek. Za 400,- si zoženieš jednočip s 2MB Flash a 512kB RAM.
JOHNZ
 
Příspěvky: 140
Registrován: sob 05 led, 2008 9:24 pm

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod zdeno » pát 26 říj, 2018 2:36 pm

Proc si myslis, ze nemuzu krokovat Bascom ?
Dokonce neni problem zavesit displej nebo USART a definovat breakpointy a posilat ven data. To vsechno lze vyuzivat, pokud to potrebujem.
Vetsinou ale vyuzivam simulatory, ktere jsou hodne dokonale a super. A da se v nich delat opravdu hodne.
---
Ad Pultik, kecy si mal akurat ty,
zmena byla pomerne trivialni, jen jsem doplnil par promennych a osetril mazani cest.
To by si musel udelat aj ty, takze z toho nedelej vedu.
Ono hodne zalezi na poskladani programu, aby to nebylo rozhazene a tak nejak modulove.
Teda pouzivat kniznice a definovane funkce. S tim nema Bascom problemy.
---
Docela se bavim nad tvrzenim, ze upravy a zmeny v Bascomu jsou slozite a tezke.
Mas pro to nejaky dukaz anebo odkaz ? Nebo si to jen myslis ;-)
Uživatelský avatar
zdeno
 
Příspěvky: 3003
Registrován: pon 11 črc, 2011 8:54 am

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod JOHNZ » pát 26 říj, 2018 8:43 pm

Zdeno: Kde vidíš, že to tvrdím, alebo že si to myslím? Ja som len reagoval na tvoje slová, že k činnosti nutne vyžaduješ progamovacie prostedie, u ktorého si schopný rozumieť výstupu až do úrovne disasemblovaného kódu a hovorím ti, že to ide aj v C/C++. Nehovorím, že to nejde v Bascome. Simulátory som považoval za samozrejmosť, pretože nad nimi ide ladiť úplne akýkoľvek jazyk, naopak v prípade, že ich spomeniem som od teba ihneď očakával protiotázku v zmysle, že čo ak sa na niečo nebude dať prísť v simulátore? Čo už v Bascome môže byť problém (ale nie neriešiteľný, je možné, že ho už autori IDE Bascomu majú nejak rozumne vyriešený) je, že kolegovia napríklad s výhodou používajú to, že nie sú odkázaní na simulátor, ale že ten kód môžu spúšťať priamo ako PC aplikáciu (a zároveň s jednočipom si tak môžu vyrábať nástroje na jeho oživovanie, testovanie, prípadne jeho simuláciu pre testy iných častí, alebo to môžu zverovať iným bez toho, aby tí potrebovali IDE s tým simulátorom alebo nejaký prototypový výrobok).

Čo sa týka Pultíku, vedu si z toho urobil akurát ty tým hľadaním argumentov, prečo tú, podľa teba triviálnu, vec nerobiť. Príde ti to normálne? Ja som to samozrejme urobil, a urobil ešte aj také veci ako paralelné spojky, variantné cesty a kopu ďalších vecí, ktoré sú ale do toho tvojho riešenia naskrz zbytočné, a preto ti ich ani nenavrhujem :wink:

Vždy záleží na tom, ako je program poskladaný, aby to nebolo rozhádzané a aby to bolo nejak rozumne modulové. Ale v tom C/C++ sa toho aspoň mne dosahuje taknejak lepšie a rýchlejšie, musíš sa aj viac snažiť, aby si si v podprograme alebo v knižnici omylom prepísal nejakú pamäť alebo register, ktorý si si prepísať nechcel, atď. Úpravy väčšinou nie sú zložité a ťažké, pokiaľ v tom neriešiš navádzanie strely s plochou dráhou letu, ale sú často (aspoň pre mňa a aspoň v porovnaní s C++) dosť nepohodlné a náchylné na zanesenie chýb. Podoprieť to môžem subjektívnym názorom svojim (v ASM som tiež niečo naprogramoval) a názorom kolegov, u ktorých sa často až divím na aké triviality sú schopní to C++ vyťahnuť (a to majú skúsenosti s programovaním v assembleri väčšie, než my obaja dohromady).
JOHNZ
 
Příspěvky: 140
Registrován: sob 05 led, 2008 9:24 pm

Re: OT: Jak moderátor prichazi o nervy (BASCOM BASIC a C++)

Příspěvekod zdeno » sob 27 říj, 2018 7:55 am

to nema cenu, ja mam svuj nazor a ty svuj.
Ty si fakt myslis, ze ten Bascom tesam do kamene ??
Proste nemam rad, kdyz se podcenuji dobre a vlastne normalni veci a podsouvaji se o tom bajky a pohadky.
---
Bascom je plnohodnotny programovaci jazyk, ktery vyuzivaji miliony lidi.
Ze je jich mene nez C/C++ je proste fakt a dukaz davem neni ferovy, jak mi bylo kolikrat napisane. ;-)
Uz jen to, ze Bascom je komercni a je nutne si ho koupit, naznacuje, ze musi byt kvalitni, jinak by byl neprodejny.
---
Jinak tva argumentace je ponekud zavadejic a tak trochu podrazacka.
Viz tvrzeni o Pultiku, kde se do mne obouvas a tvrdis veci, ktere jsem nikdy nenapisal.
Proste psani programu je nekdy kompromis mezi pranim a realitou a programator to musi rozseknout ted a hned.
A to vubec nesouvisi s pouzitym programovacim jazykem !!
Jak se pise, po bitve je kazdy general.


PS: jinak vubec neverim tomu, ze si program na obsluhu stanice natlacil do jednocipu,
podle mne to mas jako program v PC a to je uplne jina debata a vahova kategorie !!
Uživatelský avatar
zdeno
 
Příspěvky: 3003
Registrován: pon 11 črc, 2011 8:54 am

Předchozí

Zpět na Software

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků