Great Cow BASIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9127
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Great Cow BASIC

Inlägg av AndersG »

Jag tycker det är fascinerande i den här tråden att se hur Basic-förespråkarna blir påhoppade från två håll:-)

Dels blir de påhoppade från ASM-dyrkarna, som anser att Basic döljer för mycket för programmeraren.

Dels blir de påhoppade från C-fanatikerna, som tror att Basic är interprerat och inte går att använda för strukturerad programmering.
Varför skriver du själv "ASM-dyrkarna" och "C-fanatikerna", medan du skriver "Basic-förespråkarna"?? Snacka om att använda värdeladdade ord. Problemet tror jag är att de som bara kan ett språk har litet tunt skinn och tar det personligt då man kritiserar deras språkval. Om man kan flera så kanske ens omdömen blir mera nyanserade, eller??

Poängen är att inget språk passar för alla uppgifter. Det är vidare inte omöjligt att skriva strukturerade program i BASIC, men det är enklare i språk som är konstruerade för strukturerad programmering från början.

Och igen, bara "for the record": Jag har aldrig sagt att BASIC är "oanvändbart", "skit", "värdelöst" eller "interpreterande". Jag programmerar själv i olika varianter av BASIC då jag måste.
Nerre
Inlägg: 27257
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Great Cow BASIC

Inlägg av Nerre »

AndersG skrev: Varför skriver du själv "ASM-dyrkarna" och "C-fanatikerna", medan du skriver "Basic-förespråkarna"??
Därför att det är så jag upplever argumenteringen från dessa:-)

Som jag skrev, prova att byta ut ordet "basic" mot "C", "assembler", "pascal", "fortran" eller vad du vill.


Eller som en norrlänning en gång sa: Hur fan kan du blanda in fakta i en skoterdiskussion?



För att förtydliga: Jag menar inte att alla som propapgerar för C är "C-fanatiker", men vissa argumenterar just som "C-fanatiker" istället för "C-förespråkare".
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9127
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Great Cow BASIC

Inlägg av AndersG »

Därför att det är så jag upplever argumenteringen från dessa:-)

Som jag skrev, prova att byta ut ordet "basic" mot "C", "assembler", "pascal", "fortran" eller vad du vill.
Men då visar du samtidigt att du tagit ställning och poängen är att språken du listar inte är utbytbara...

"C och Pascal är byggda för strukturerad programmering i grunden" är ett sant påstående

"BASIC är byggd för strukturerad programmering i grunden" är ett falskt påstående
Nerre
Inlägg: 27257
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Great Cow BASIC

Inlägg av Nerre »

Det har inte fallit dig att just du kanske inte tillhör de som sorterar in under "C-fanatiker"?

Sen var det ju främst "mot"-argumenten som jag menade att man skulle ändra på, inte "för"-argumenten.

Men "Assembler är byggd för strukturerad programmering i grunden" är också ett falskt påstående.


Det är så väldigt många som framför sina egna åsikter som om det vore fakta. Åsikter är åsikter, fakta är något helt annat.


Och jag har inte tagit ställning i sakfrågan, jag har bara tagit ställning i debatt-tekniken. Man kan argumentera genom att lägga fram konkreta fakta, eller man kan argumentera genom att idiotförklara motståndaren. Det senare är ingen särskilt konstruktiv debatt-teknik.
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9127
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Great Cow BASIC

Inlägg av AndersG »

Och jag har inte tagit ställning i sakfrågan, jag har bara tagit ställning i debatt-tekniken. Man kan argumentera genom att lägga fram konkreta fakta, eller man kan argumentera genom att idiotförklara motståndaren. Det senare är ingen särskilt konstruktiv debatt-teknik.
Det håller jag med om. Debattera i sak och inte person. Dock tycker jag att eventuella "idiotförklaringar" är "in the eye of the beholder", dvs man tar lätt illa upp, bara för att någon kritiserar ens val.

Allt här är för övrigt åsikter, dock är naturligtvis mina, synnerligen väl underbyggda :)
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Re: Great Cow BASIC

Inlägg av v-g »

Glenn:Kan bara tala för mig själv och jag har varit i BASIC träsket och vänt(innan PIC) dock har jag ingen anledning att testa det hela igen. Har heller inte sagt att det är värdelöst att göra program i BASIC eller C. Funkar det så funkar det hur man kom dit är ointressant när man tittar på produkten.

Och JA jag har fattat att det genereras ASM som sen kompileras, men denna sk ASM kod ger jag inte mycket för då genererad kod ofta är väldigt svårläsbar även om det går. Jag har försökt felsöka sån kod och lätt var det inte. Enkelt kan man säg att det är som att försöka förstå det någon annan kodat utan riktiga namn på variabler utan snarare cv2, cv3 osv. samt helt utan kommentarer om det nu inte fungerar som AndersG säger.

Interprenterat som i tex BS2 är ju än mer kasst. Men detta skulle aldrig fungera i en PIC då man knappt får plats med något pga "runtimen". Det fungerar ju däremot bra i datorer där man har gott om kraft och minne att tillgå.

Ditt kodexempel (potentiometer) är solklart enkelt, men vet du vad som genereras eller storleken på detta? Kan du återanvända variablerna? Vad händer vid interupt? Vad händer om du samtidigt vill kunna avbryta för inkommande seriell kommunikation eller ett knapptryck? Hur felsöker du om det inte fungerar? Hur många cykler tar din rutin?

Kan lösa det i ASM inga probs alls men det tar ju en stund då databladet måste konsulteras.

Vad gäller kassa programmerare så är det ju inte assembler som sätter gränsen då eller hur? Skillnaden här är att i BASIC vet du inte vad som genereras, i ASM jobbar du parallellt med HEXfilen, det är tom ett sätt att felsöka.

Tror faktist inte att jag/vi kommer nåt längre då jag känner att jag redan lagt fram de flesta argumenten redan.

En del vill gena så enkelt är det men chansen är ju att man istället hamnar i ett träsk istället för att åka motorvägen runt.

Språket strukturerar inte ett skit det är vi nog överens om men vissa språk, tex. C, inbjuder till detta. Sen hur programmeraren gör är upp till denne. Men alla tjänar på att koda på ett "snyggt" sätt. Kommentarer är aldrig överflödiga (nästan ;) )


Kontentan av det jag vill säga är att ASSEMBLER inte är svårt. Den föregående meningen innefattar SPRÅKET ASM. Att sen skriva ASM för en PIC är svårare, man måste konsultera databladet, men fortfarande så är inte språket något som helst hinder annat än direkt i början men där är BASIC/C precis lika svårt om man inte kan kommandona.

Att lära sig en sak från grunden är ju inte fel om man ska hålla på med något mer än en gång. Men man behöver ju inte gå hela byggprogrammet för att slå i en spik för den skull heller.

Gör det som passar er bäst så blir alla glada. Dock brukar det löna sig att lyssna på de som är erfarna även om de(även inkluderat mig) inte alltid har rätt.
Användarvisningsbild
AndLi
Inlägg: 18312
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Great Cow BASIC

Inlägg av AndLi »

>>Interprenterat som i tex BS2 är ju än mer kasst. Men detta skulle aldrig fungera i en PIC då man knappt får plats med något pga "runtimen". Det fungerar ju däremot bra i datorer där man har gott om kraft och minne att tillgå.

I alla fall de tidiga BS2:orna var ju just PIC basserade...
Nerre
Inlägg: 27257
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Great Cow BASIC

Inlägg av Nerre »

AndersG skrev: Det håller jag med om. Debattera i sak och inte person. Dock tycker jag att eventuella "idiotförklaringar" är "in the eye of the beholder", dvs man tar lätt illa upp, bara för att någon kritiserar ens val.
Nu minns jag inte om det förekommit i den här tråden, men argument som "Det är ingen mening med att förklara för dig" eller "Jag har förklarat flera gånger men du verkar inte fatta" är ju typiskt idiotförklarande. Eller argument i stil med "Har man varit med ett tag så har man lärt sig".
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9127
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Great Cow BASIC

Inlägg av AndersG »

Eller för att citera en berömd dator, HAL 9000: "This conversation serves no purpose. Gooodbye"

Har man varit med så länge som jag :) försöker man undvika att vara alltför kategorisk eller att idiotförklara någon. Däremot kan man försöka, konstruktivt givetvis, upplysa om att det finns bättre alternativ...
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Re: Great Cow BASIC

Inlägg av Walle »

AndLi skrev:>>Interprenterat som i tex BS2 är ju än mer kasst. Men detta skulle aldrig fungera i en PIC då man knappt får plats med något pga "runtimen". Det fungerar ju däremot bra i datorer där man har gott om kraft och minne att tillgå.

I alla fall de tidiga BS2:orna var ju just PIC basserade...
Stämmer bra det, BS1 använder en PIC16C56a och BS2 använder en PIC16C57c, dock använder ju dessa ett externt seriellt EEPROM som användarens kod lagras i. Själva PICen innehåller en BASIC-tolk.
Användarvisningsbild
Glenn
Inlägg: 36780
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Great Cow BASIC

Inlägg av Glenn »

v-g skrev: Och JA jag har fattat att det genereras ASM som sen kompileras, men denna sk ASM kod ger jag inte mycket för då genererad kod ofta är väldigt svårläsbar även om det går.
Poängen är ju iofs att det inte är MENINGEN att man ska felsöka i den, man felsöker i .bas filen. Visst, det kan kanske vara bra att kunna kolla i asm-filen *också* men det händer nog ganska sällan, att den finns där är ju mer en bonus, dessutom gör den att man kan välja vilken asm man vill använda. (MPASM tex, vilket inte är default för de flesta picar)
Jag har försökt felsöka sån kod och lätt var det inte. Enkelt kan man säg att det är som att försöka förstå det någon annan kodat utan riktiga namn på variabler utan snarare cv2, cv3 osv. samt helt utan kommentarer om det nu inte fungerar som AndersG säger.
Som jag skrev så kan man få kompilatorn att försöka överföra kommentarer, och variabelnamn överförs per default vad jag har sett..

Om jag tittat på den genererade asm-filen från mitt lilla program så blir tex "resist0" "_resist0".
Ditt kodexempel (potentiometer) är solklart enkelt, men vet du vad som genereras eller storleken på detta? Kan du återanvända variablerna? Vad händer vid interupt? Vad händer om du samtidigt vill kunna avbryta för inkommande seriell kommunikation eller ett knapptryck? Hur felsöker du om det inte fungerar? Hur många cykler tar din rutin?
Du missar målet, det mesta av detta är HELT ointressant, speciellt i den lilla snutten jag skrev.. varför behöver jag veta hur många cykler det tar, när det inte är tidskritiskt ? interupter hanteras, seriekommunikation funkar alldeles utmärkt, men det är ju inget som behövs i den där lilla "fläktkontrollern" eller vad man ska kalla mitt snabbhackade program.

Vill jag läsa av ett knapptryck, ja då lägger jag förslagsvis in en enkel ifsats i min main: loop, typ "if porta.0 = 0 then xxx" där xxx antingen är ett kommando direkt eller en subrutin. Jag kan också använda en inteupt, "on interupt goto xxx" och sen definera en subrutin xxx som den ska hoppa till vid interupt, och sen "resume" för att hoppa tillbaka.

Hur man felsöker, ja nu fungerade det ju på första försöket, vilket det troligen inte hade gjort om jag skrivit det i asm ;) ..hade det inte fungerat hade jag väl felsökt genom att försöka förstå varför det inte funkade.. gav det ett felmeddelande vid kompileringen ? exakt vad är det som inte funkar ? ..kanske lagt till en lysdiod på en pinne och använt som debug, eller en LCD (tar ju bara nån rad kod vettu..)

..Dessutom har jag ju alltid asm-koden tillhands om jag verkligen (mot förmodan) vill se den..
Kan lösa det i ASM inga probs alls men det tar ju en stund då databladet måste konsulteras.
Jag tvivlar inte på att det går, min poäng är att det tar mycket mer kod och tid i anspråk.

Min kod kan ju f.ö användas på i princip alla PIC'ar med hårdvaruPWM, bara att kompilera den med rätt flagga så spottar den ur sej kod för rätt pic,
detta är ju också väldigt smidigt då man kanske mitt i bygget inser att den picen man började med inte räcker till, den kanske har för få analogingångar,
eller för lite minne, aha, men då tar jag en vassare pic och kompilerar för den, klart! ..jaha, minnet behövde bankswitchas, vilken tur att PBP tog hand om det automagiskt då. ..Borde väl iofs inte vara så speciellt svårt att porta mellan olika picar i asm heller, men mer jobb iaf.
En del vill gena så enkelt är det men chansen är ju att man istället hamnar i ett träsk istället för att åka motorvägen runt.
Jag förstår fortfarnde inte varför du tjatar om det där träsket, det är ju en genväg som funkar ? jag kommer dit jag ska,. och problemet är löst.

På dej låter det som att det är vardagsmat att man först skriver en basicapplikation, och sedan ska man försöka lappa ihop den genom manuella ändringar i den genererade asm-filen, varför skulle man göra det ? man ändrar förstås i den ursprungliga källkoden och kompilerar om.. ifall det är saker som inte går att lösa i basic, ja då löser man det normalt med att inkludera små asm-slingor rakt i BASIC-koden.

..Ungefär som man skulle gjort i C också fär den delen.
Kontentan av det jag vill säga är att ASSEMBLER inte är svårt. Den föregående meningen innefattar SPRÅKET ASM. Att sen skriva ASM för en PIC är svårare, man måste konsultera databladet, men fortfarande så är inte språket något som helst hinder annat än direkt i början men där är BASIC/C precis lika svårt om man inte kan kommandona.
Allt är svårt om man inte kan det, men det är lite lättare att förstå 'lcdout "hejsan"' än 25 rader (räcker det ?) asm som gör samma sak.. tröskeln för att få det att fungera blir oändligt mycket lägre.
Användarvisningsbild
Maxx
Inlägg: 62
Blev medlem: 24 december 2008, 02:27:59
Ort: Skåneland

Re: Great Cow BASIC

Inlägg av Maxx »

Synd att tråden blev så OT! Google rankar den som 7a! :D

Är inte GC BASIC nördigt, vad är det då!? :? 8)

Här är några länkar för vidare studier! :) /M

http://gcbasic.sourceforge.net/news.html

http://gcbide.googlepages.com/

http://sourceforge.net/forum/?group_id=169286

Re; återkommer i ämnet, då jag haft tid att studera länkarna!

Till alla: Love, peace and understanding (som hippien sa)... :) /M
Senast redigerad av Maxx 9 januari 2009, 19:57:03, redigerad totalt 1 gång.
Användarvisningsbild
Maxx
Inlägg: 62
Blev medlem: 24 december 2008, 02:27:59
Ort: Skåneland

Re: Great Cow BASIC

Inlägg av Maxx »

Swech skrev:kanske tråden skall byta namn till
Great Saw BASIC
Var bara tvungen att kommentera! Detta är humor, i min smak! :D Tror dock att det får bli; "Great Saw, BASIC Massacre"! :D :) /M

Ps. Kan fö rekommendera filmen från 1974! :wink:
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9127
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Great Cow BASIC

Inlägg av AndersG »

OK. För att föra tillbaka tråden till vad den handlade om egentligen....

Om jag förstår dig rätt så är det bara du här på forumet som använder Great Cow. På sourceforge verkar den ha en liten och inte speciellt aktiv supporterskara. Om du har tid över så ta för all del och bidra. Om du behöver utveckla något för ett konkret projekt och har en betalande kund så välj en kommersiell produkt i stället.

Mera information om Great Cow hittar du om du googlar. Du hittar även många trådar som spårar ur, som denna. Samma typ av fråga dyker upp här litet nu och då förresten..
Skriv svar