Re: Lära sig Linux?
Postat: 19 juni 2022, 20:00:16
Att "hålla på med Raspberry Pi" är lite ospecificerat.
Det är att "hålla på lite med Andriod" om man ringer via en android-lur. System-kunnande är något helt annat och som inte behöver inbegripa egen programmering, men gissar att det är programmering för en viss miljö som efterfrågas och vilken mån kunskap om operativet krävs för detta.
Här en intro om några vanliga operativsystem: https://www.uow.edu.au/student/learning ... g-systems/
Man installerar Windows för att kunna köra program man skriver för Windows men det är inget krav. Man kan skriva programmen på en MAC-dator i väntan på att få tillgång till tänkt hårdvara och operativsystem.
Samma för Linux eller Arduino, det är lättare att utveckla program om man har rätt miljö för att testköra det man skriver.
Mesta enklare programmering kräver inte kunskap om specifika egenskaper för operativ-systemet utan handlar om att lära sej rätt syntax för programmeringsspråket man valt att skriva i och valt operativ.
Klassikern att få en dator att skriva "Hello World" har rätt snarlik syntax oavsett programmeringsspråk eller vilket operativ man skriver för och kräver obetydlig kunskap om operativet.
Ska man däremot skriva en etta eller nolla ut på en hårdvaru-pinne för att få en lysdiod att blinka så skiljer det vilken hårdvara man använder. I Windows finns t.ex. inte längre direkt port-åtkomst medans det är en väsentlig del för många andra operativ-system.
Är det mer generella program kan man provköra sina alster i virtuell maskin. Jag har t.ex. virtuellt Android-operativ installerat i min Windows-dator för att enkelt testköra det jag programmerar.
Att skriva program, för det behövs en text-editor vilken kan finnas i vilken miljö som helst. Det går skriva program i DOS-miljö eller på mobilen för alla andra hårdvarumiljöer.
Länge sedan nu men förr skrev jag mycket på vanligt rutat papper. Det gällde främst när man programmerade hårdvarunära och där man gjorde massa sidonotationer om andra register osv.
Man fick renskriva i efterhand med en vanlig texteditor men programutvecklingen och dokumentationen var ofta på pappers-format.
Det man skriver kan vara för valfritt operativsystem och koden kan vara lågnivå assembler eller något mer hög-nivå såsom Pyton som blivit populärt eller vanlig hemside-kodning, HTML och JAVA, javascript perl, Ruby mm, som kan fungera för många operativ-system.
Vissa text-editorer har inbyggd hjälp, såsom koll av syntax, kompileringsstöd, funktion för uppladdning av mjukvara till annan dator,och kanske rent av någon form av debugging av den kod som körs.
Jag skriver kod för de flesta olika miljöer. Det mesta jag skriver är enkla saker och ett fåtal rader. Mycket skrivs med vanlig text-editor, https://notepad-plus-plus.org .
Inte för att den editorn är bra utan för att text-editorn startar på en bråkdel av en sekund och den är så pass enkel att jag begriper dess funktioner utan instruktionsbok och text-färgerna går välja för bra synlighet på bildskärmen.
Mer integrerade system kan vara tröga att starta bara för att skriva några rader kod. Delvis då det oftast löper en massa program samtidigt i min dator som gör datorn extra trög så en mer komplex programmeringsmiljö tar tid att starta.
En dator enbart för programmering kanske skulle vara mer optimalt och den skulle säkert kunna köra allt jag behöver på en RPi förutom då att jag programmerar en del i Labview som är en i huvudsak grafisk programmering-miljö som kräver stort utrymme i datorn.
Nu är det nya tider. Att börja lära sej programmering och programmerings-miljö hör forntiden till. Lite som att hacka runor i sten när opertivmiljön integrerat i grundoperativet tar emot ditt tal och omvandlar till text som direkt rättstavas och fixas till så att datorn kan reagerar i hård och mjukvara på vad du säjer.
"Siri vad är klockan?" var häftigt för några år sedan, när datorn kunde svara på sådana frågor. Numera har denna ord-förståelse tagit många mindre kliv framåt som var och en kanske inte imponerar men som tillsammans är väldigt intressant och som ser ut att ha bärighet nog att bli en del av vår framtida vardag.
Nu kan man t.ex. be datorns AI-interface att skriva ett datorprogram för en viss programmeringsmiljö och önskat språk, ett program som utför en önskad funktion.
Man slipper tidsödande debugging och leta syntax-fel då man automatiskt kan få skrivet det man vill, helt felfritt på första försöket och istället för att programmera i dagar kan man få samma sak färdigskrivet på några sekunder.
Som av en händelse så finns svaret på om Windows eller Linux är bästa valet, besvarat av samma artificiella intelligens som i samma video visar sina programmerings-förmågor:
Det är Openai / GPT-3 som är motorn bakom detta, och som redan används i många kommersiella programvaror. Exempel https://openai.com/blog/gpt-3-apps/
Openai är fritt att använda för privat bruk.
En intressant aspekt är hur komplicerade program som openai kan skriva. Svaret är att den kan allt som du förmår formulera frågan och svaret till. Den tränar sej själv att åstadkomma det konstruktiva som ligger mellan frågan och svaret tills den når målet.
De i videon visade programmeringsexemplen är för den som kan lite programmering busenkla exempel.
Det intressanta är att dessa enkla exempel visar klart att Openai är fullt kapabel att skriva grundläggande dator-program och baserat på min egen erfarenhet som programmerare, har man kommit så här långt så är man mycket självlärande och kan snabbt lära sej betydligt mer avancerad programmering.
Är det bara att kasta in handduken, ge upp att tävla mot maskinen, det är forntida att lära sej programmering?
Kanske någon gång i framtiden.
När man programmerar är 95% av tiden att leta lösningar, leta dokumentation, leta egna feltänk och verkliga programmering-produktiviteten är låg mot vad den kunde vara om jag vore felfri och visste allt om hårdvaran på förhand.
Det som skulle vara spännande vore att programmera i kompanjonskap med GPT-3 eller GPT-4, där AI tog hand om all rutin-programmering, fyllde i det saknade i programkoden och kommenterade koden såsom jag tänkt och fixade så mina felaktiga kolon blev korrigerade till semikolon, medan jag själv sysslade med de mer svår-definierade logikproblemen i programmeringen.
AI lär sej fort så tyvärr får man räkna med att situationen snart blir den omvända, man får bara syssla med grovjobbet medans maskinen funderar på hur de större logik-problemen ska lösas med effektivast möjliga kod.
Som många undrar jag var gränsen går för vad man kan formulera och få absoluta svar på från ett AI typ GPT-4.
Svaret på den yttersta frågan.... om meningen med livet, universum och allting är.... som vi vet redan besvarat men många frågor behöver inte vara av den dimensionen för att ändå svaret ska vara av stort värde.
Redan nu besitter GPT-3 många intressanta svar som vi ännu inte formulerat någon fråga för, så här finns mycket ogjort och nya affärsmöjligheter för en smart programmerare.
Det är att "hålla på lite med Andriod" om man ringer via en android-lur. System-kunnande är något helt annat och som inte behöver inbegripa egen programmering, men gissar att det är programmering för en viss miljö som efterfrågas och vilken mån kunskap om operativet krävs för detta.
Här en intro om några vanliga operativsystem: https://www.uow.edu.au/student/learning ... g-systems/
Man installerar Windows för att kunna köra program man skriver för Windows men det är inget krav. Man kan skriva programmen på en MAC-dator i väntan på att få tillgång till tänkt hårdvara och operativsystem.
Samma för Linux eller Arduino, det är lättare att utveckla program om man har rätt miljö för att testköra det man skriver.
Mesta enklare programmering kräver inte kunskap om specifika egenskaper för operativ-systemet utan handlar om att lära sej rätt syntax för programmeringsspråket man valt att skriva i och valt operativ.
Klassikern att få en dator att skriva "Hello World" har rätt snarlik syntax oavsett programmeringsspråk eller vilket operativ man skriver för och kräver obetydlig kunskap om operativet.
Ska man däremot skriva en etta eller nolla ut på en hårdvaru-pinne för att få en lysdiod att blinka så skiljer det vilken hårdvara man använder. I Windows finns t.ex. inte längre direkt port-åtkomst medans det är en väsentlig del för många andra operativ-system.
Är det mer generella program kan man provköra sina alster i virtuell maskin. Jag har t.ex. virtuellt Android-operativ installerat i min Windows-dator för att enkelt testköra det jag programmerar.
Att skriva program, för det behövs en text-editor vilken kan finnas i vilken miljö som helst. Det går skriva program i DOS-miljö eller på mobilen för alla andra hårdvarumiljöer.
Länge sedan nu men förr skrev jag mycket på vanligt rutat papper. Det gällde främst när man programmerade hårdvarunära och där man gjorde massa sidonotationer om andra register osv.
Man fick renskriva i efterhand med en vanlig texteditor men programutvecklingen och dokumentationen var ofta på pappers-format.
Det man skriver kan vara för valfritt operativsystem och koden kan vara lågnivå assembler eller något mer hög-nivå såsom Pyton som blivit populärt eller vanlig hemside-kodning, HTML och JAVA, javascript perl, Ruby mm, som kan fungera för många operativ-system.
Vissa text-editorer har inbyggd hjälp, såsom koll av syntax, kompileringsstöd, funktion för uppladdning av mjukvara till annan dator,och kanske rent av någon form av debugging av den kod som körs.
Jag skriver kod för de flesta olika miljöer. Det mesta jag skriver är enkla saker och ett fåtal rader. Mycket skrivs med vanlig text-editor, https://notepad-plus-plus.org .
Inte för att den editorn är bra utan för att text-editorn startar på en bråkdel av en sekund och den är så pass enkel att jag begriper dess funktioner utan instruktionsbok och text-färgerna går välja för bra synlighet på bildskärmen.
Mer integrerade system kan vara tröga att starta bara för att skriva några rader kod. Delvis då det oftast löper en massa program samtidigt i min dator som gör datorn extra trög så en mer komplex programmeringsmiljö tar tid att starta.
En dator enbart för programmering kanske skulle vara mer optimalt och den skulle säkert kunna köra allt jag behöver på en RPi förutom då att jag programmerar en del i Labview som är en i huvudsak grafisk programmering-miljö som kräver stort utrymme i datorn.
Nu är det nya tider. Att börja lära sej programmering och programmerings-miljö hör forntiden till. Lite som att hacka runor i sten när opertivmiljön integrerat i grundoperativet tar emot ditt tal och omvandlar till text som direkt rättstavas och fixas till så att datorn kan reagerar i hård och mjukvara på vad du säjer.
"Siri vad är klockan?" var häftigt för några år sedan, när datorn kunde svara på sådana frågor. Numera har denna ord-förståelse tagit många mindre kliv framåt som var och en kanske inte imponerar men som tillsammans är väldigt intressant och som ser ut att ha bärighet nog att bli en del av vår framtida vardag.
Nu kan man t.ex. be datorns AI-interface att skriva ett datorprogram för en viss programmeringsmiljö och önskat språk, ett program som utför en önskad funktion.
Man slipper tidsödande debugging och leta syntax-fel då man automatiskt kan få skrivet det man vill, helt felfritt på första försöket och istället för att programmera i dagar kan man få samma sak färdigskrivet på några sekunder.
Som av en händelse så finns svaret på om Windows eller Linux är bästa valet, besvarat av samma artificiella intelligens som i samma video visar sina programmerings-förmågor:
Det är Openai / GPT-3 som är motorn bakom detta, och som redan används i många kommersiella programvaror. Exempel https://openai.com/blog/gpt-3-apps/
Openai är fritt att använda för privat bruk.
En intressant aspekt är hur komplicerade program som openai kan skriva. Svaret är att den kan allt som du förmår formulera frågan och svaret till. Den tränar sej själv att åstadkomma det konstruktiva som ligger mellan frågan och svaret tills den når målet.
De i videon visade programmeringsexemplen är för den som kan lite programmering busenkla exempel.
Det intressanta är att dessa enkla exempel visar klart att Openai är fullt kapabel att skriva grundläggande dator-program och baserat på min egen erfarenhet som programmerare, har man kommit så här långt så är man mycket självlärande och kan snabbt lära sej betydligt mer avancerad programmering.
Är det bara att kasta in handduken, ge upp att tävla mot maskinen, det är forntida att lära sej programmering?
Kanske någon gång i framtiden.
När man programmerar är 95% av tiden att leta lösningar, leta dokumentation, leta egna feltänk och verkliga programmering-produktiviteten är låg mot vad den kunde vara om jag vore felfri och visste allt om hårdvaran på förhand.
Det som skulle vara spännande vore att programmera i kompanjonskap med GPT-3 eller GPT-4, där AI tog hand om all rutin-programmering, fyllde i det saknade i programkoden och kommenterade koden såsom jag tänkt och fixade så mina felaktiga kolon blev korrigerade till semikolon, medan jag själv sysslade med de mer svår-definierade logikproblemen i programmeringen.
AI lär sej fort så tyvärr får man räkna med att situationen snart blir den omvända, man får bara syssla med grovjobbet medans maskinen funderar på hur de större logik-problemen ska lösas med effektivast möjliga kod.
Som många undrar jag var gränsen går för vad man kan formulera och få absoluta svar på från ett AI typ GPT-4.
Svaret på den yttersta frågan.... om meningen med livet, universum och allting är.... som vi vet redan besvarat men många frågor behöver inte vara av den dimensionen för att ändå svaret ska vara av stort värde.
Redan nu besitter GPT-3 många intressanta svar som vi ännu inte formulerat någon fråga för, så här finns mycket ogjort och nya affärsmöjligheter för en smart programmerare.