Börja knacka kod...
Re: Börja knacka kod...
Sodjan, det har du i.o.f.s. rätt i. Jag är alltid petnoga med indenteringen oavsett vilket språk jag kodar i (även om jag är ungefär lika kass i samtliga språk).
Det är nog så att jag tycker det känns märkligt utan { och } för att jag är van att använda dom.
I stort så kvittar det ju ändå vilket språk man lär sig först, syntaxen är ju ändå bara just syntax. Det är "programmeringstänket" som är det viktiga, och det kan man i princip lära sig med papper och penna (även om det kanske finns bättre metoder).
Det är nog så att jag tycker det känns märkligt utan { och } för att jag är van att använda dom.
I stort så kvittar det ju ändå vilket språk man lär sig först, syntaxen är ju ändå bara just syntax. Det är "programmeringstänket" som är det viktiga, och det kan man i princip lära sig med papper och penna (även om det kanske finns bättre metoder).
Re: Börja knacka kod...
Nu var det ju inte den visuella njutbarheten av en välgjord indentering som avsågs, utan att indentering gjorts till en del av språket.sodjan skrev:> Detta är ju helt olikt de allra flesta andra språk,
Nej, alla eller de allra flesta språk vinner på en tydlig indentering
av koden, ungefär så som man tvingas till med Python.
Syntaxregeln verkar vara "indentera som du vill bara du är konsekvent".
Re: Börja knacka kod...
> Är inte Python lite som BASIC som behöver en interpreter medskickad...
Nja, det är mer likt Java i så fall.
> @Sodjan. Förklara gärna det där med Python-kompilerade script så en novis på Python förstår.
När man kör ett Python script med t.ex "> python min-python-fil.py" eller liknande
kommando så sker en "kompilering" av .py filen, det är denna kod som sedan
körs av Python miljön. Det sparas även (om man har skrivrättigheter) en .pyo
fil som sedan körs vid nästa tillfälle (om inte .py filen har senare datum).
En .pyo fil går lite snabbare att köra än en .py fil.
Men det gå även att kompilera Python kod. Det är ganska populärt
för moduler som man dels vill ha så snabba som möjligt och som
kanske även har C/C++ kod integrerat. http://cython.org/
Sedan kan det finnas andra "overhead" som t.ex att öppna länkar till
databaser o.s.v. I den miljö där jag kör så sparas hela processen i ett
viloläge under 5-10 minuter (eller vad det nu är satt till), så att nästa
webb-anrop går (betydligt) snabbare.
> Och BASIC behöver inte nödvändigtvis en interpreterare medskickad.
Ingen professionell Basic är interpreterande. De har varit kompilerade
hur länge som helst. Och ur prestandasynpunkt har det ingen som
helst betydelse om man väljer Basic eller något annat i det fallet.
Ca 100 maskin-instruktioner totalt i EXE'n.
Nja, det är mer likt Java i så fall.
> @Sodjan. Förklara gärna det där med Python-kompilerade script så en novis på Python förstår.
När man kör ett Python script med t.ex "> python min-python-fil.py" eller liknande
kommando så sker en "kompilering" av .py filen, det är denna kod som sedan
körs av Python miljön. Det sparas även (om man har skrivrättigheter) en .pyo
fil som sedan körs vid nästa tillfälle (om inte .py filen har senare datum).
En .pyo fil går lite snabbare att köra än en .py fil.
Men det gå även att kompilera Python kod. Det är ganska populärt
för moduler som man dels vill ha så snabba som möjligt och som
kanske även har C/C++ kod integrerat. http://cython.org/
Sedan kan det finnas andra "overhead" som t.ex att öppna länkar till
databaser o.s.v. I den miljö där jag kör så sparas hela processen i ett
viloläge under 5-10 minuter (eller vad det nu är satt till), så att nästa
webb-anrop går (betydligt) snabbare.
> Och BASIC behöver inte nödvändigtvis en interpreterare medskickad.
Ingen professionell Basic är interpreterande. De har varit kompilerade
hur länge som helst. Och ur prestandasynpunkt har det ingen som
helst betydelse om man väljer Basic eller något annat i det fallet.
Kod: Markera allt
$
$ type test.bas
PROGRAM test
DECLARE INTEGER CONSTANT var1 = 12
DECLARE INTEGER CONSTANT var2 = 14
declare integer var3
open "tt" for output as file #2%
var3 = var1 * var2
print #2, var1; "*"; var2; "="; var3
$ basic test
$ link test
$ run test
12 * 14 = 168
$
Kod: Markera allt
$ d/since test
TEST.BAS;7 0.50KB 7-JAN-2015 14:53:11.50
TEST.BAS;6 0.50KB 7-JAN-2015 14:52:54.08
TEST.BAS;5 0.50KB 7-JAN-2015 14:51:54.58
TEST.EXE;39 3KB 7-JAN-2015 14:53:34.20
TEST.EXE;38 3KB 7-JAN-2015 14:53:15.87
TEST.EXE;37 3KB 7-JAN-2015 14:52:58.03
TEST.OBJ;47 3KB 7-JAN-2015 14:53:31.54
TEST.OBJ;46 3KB 7-JAN-2015 14:53:13.85
TEST.OBJ;45 3KB 7-JAN-2015 14:52:56.00
Total of 9 files, 22KB
$
Re: Börja knacka kod...
Vad gäller C som nybörjarspråk så skulle jag inte rekommendera det då tröskeln är mycket högre än t.ex. Python. Skulle man ändå välja att ta sig över den tröskeln så har man mycket ut av det. Och då rekommenderar jag varmt den klassiska C-boken:
"The C Programming Language, 2nd Edition: Brian W. Kernighan, Dennis M. Ritchie"
"The C Programming Language, 2nd Edition: Brian W. Kernighan, Dennis M. Ritchie"
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Börja knacka kod...
Att Python är en vital del av RPi-projektet tycker jag är en bra indikation på att det är ett bra nybörjarspråk. RPi skapades ju som ett verktyg att lära ungdomar om datorer.
En kompis till mig som är en briljant, knappast en överdrift, programmerare älskar Python. Under de år jag känt honom har han använt, och pratat om, massor av språk jag möjligen har hört talas om men aldrig sett.
Själv har jag försökt komma igång med Python några gånger men har svårt för konceptet objektorienterad programmering. Har tittat på C++ och skulle aldrig ens försöka lära mig det även om jag tror tröskeln från C inte är så stor.
För mig är det C och assembler som gäller. I en lagom mix, 0,01% assembler och 99,99% C.
Vore kul med lite Python också...
Edit: pbgp: "K&R, the one and only!"
En kompis till mig som är en briljant, knappast en överdrift, programmerare älskar Python. Under de år jag känt honom har han använt, och pratat om, massor av språk jag möjligen har hört talas om men aldrig sett.
Själv har jag försökt komma igång med Python några gånger men har svårt för konceptet objektorienterad programmering. Har tittat på C++ och skulle aldrig ens försöka lära mig det även om jag tror tröskeln från C inte är så stor.
För mig är det C och assembler som gäller. I en lagom mix, 0,01% assembler och 99,99% C.
Vore kul med lite Python också...
Edit: pbgp: "K&R, the one and only!"
Re: Börja knacka kod...
Man kan ganska enkelt komma igång med Python utan att använda
de mest objektorienterade funktionerna. Det går bra att köra det
med vanliga "normala" variabler eller enkla listor. Sedan kan man
kolla på "dictionarys" och andra lite mer kryptiska konstruktioner.
När det gäller RPi så är nog C direkt olämpligt för stora delar av det
som många använder Python till.
En sak som inte ska undervärderas är att man kan testa sina
koddelar interaktivt innan man bygger in det i ett Python script.
de mest objektorienterade funktionerna. Det går bra att köra det
med vanliga "normala" variabler eller enkla listor. Sedan kan man
kolla på "dictionarys" och andra lite mer kryptiska konstruktioner.
När det gäller RPi så är nog C direkt olämpligt för stora delar av det
som många använder Python till.
En sak som inte ska undervärderas är att man kan testa sina
koddelar interaktivt innan man bygger in det i ett Python script.
Re: Börja knacka kod...
Google GO är ganska skoj också. Det finns fina interaktiva tutorials för GO på nätet.
-
- EF Sponsor
- Inlägg: 970
- Blev medlem: 26 maj 2014, 12:54:35
- Ort: Karlskoga
Re: Börja knacka kod...
Hej alla!
Intressant att ett sådant här ämne nästan alltid blir till ett språk-krig. Jag får väl kasta mig in också.
Under mina 46 år på jorden har jag lärt mig programmera minst fem gånger. Ingen av dom har det egentligen handlat om något specifikt programspråk! En skicklig programmerare kan skriva Fortran i vilket språk som helst brukar det sägas och så är det också. Tror det var Walle som påpekade detta tidigare också. Programmering handlar inte så mycket om ett programspråk. Det är bara ett medel för att få en apparat att förstå vad du vill att den skall göra.
Tittar man på vad professionella utbildare använder för nybörjarverktyg så tror jag inte något nämnts tidigare i tråden. Men kolla gärna den här länken:
http://karinskod.blogspot.se/p/bra-lankar.html
Jag kan kanske tycka att dom börjar väl tidigt i åldrarna, men det kanske är rätt. Själv började jag gissningsvis i 10-årsåldern. På papper. Och efter någon vecka i assembler för 8085 på en SDK85 om någon sett en sån. Sedan dess har ytterligare minst 11 språk passerat. Bara C++ hänger kvar för tillfället (and I hate it with a passion som det heter) Tycker jag något av dessa är lämpligt för en total nybörjare? Inte en chans.
Näst efter att förstå vad du vill att datorn skall göra är att förstå i grunden hur datorer jobbar. Språket är sen bara ett (komplicerat) sätt att översätta dina kunskaper till datorns lagar. Och det beror helt på vilket problem man vill lösa vilket språk som är mest lämpligt.
Det viktigaste för en nybörjare tror jag är låga trösklar på alla fronter. En oerhört enkel miljö som man inte behöver sätta upp 1000 saker i innan man kan trycka på knappen och köra. Inget att deklarera. Inget kompilerande och länkande (som syns). Snabb feedback. Inga obegripliga felmeddelanden om undeclared forward et.c.
Basic med radnummer på ABC80 var nog inte så dumt ändå. Får min röst trots allt. Error 11 till exempel.
Lycka till.
Intressant att ett sådant här ämne nästan alltid blir till ett språk-krig. Jag får väl kasta mig in också.
Under mina 46 år på jorden har jag lärt mig programmera minst fem gånger. Ingen av dom har det egentligen handlat om något specifikt programspråk! En skicklig programmerare kan skriva Fortran i vilket språk som helst brukar det sägas och så är det också. Tror det var Walle som påpekade detta tidigare också. Programmering handlar inte så mycket om ett programspråk. Det är bara ett medel för att få en apparat att förstå vad du vill att den skall göra.
Tittar man på vad professionella utbildare använder för nybörjarverktyg så tror jag inte något nämnts tidigare i tråden. Men kolla gärna den här länken:
http://karinskod.blogspot.se/p/bra-lankar.html
Jag kan kanske tycka att dom börjar väl tidigt i åldrarna, men det kanske är rätt. Själv började jag gissningsvis i 10-årsåldern. På papper. Och efter någon vecka i assembler för 8085 på en SDK85 om någon sett en sån. Sedan dess har ytterligare minst 11 språk passerat. Bara C++ hänger kvar för tillfället (and I hate it with a passion som det heter) Tycker jag något av dessa är lämpligt för en total nybörjare? Inte en chans.
Näst efter att förstå vad du vill att datorn skall göra är att förstå i grunden hur datorer jobbar. Språket är sen bara ett (komplicerat) sätt att översätta dina kunskaper till datorns lagar. Och det beror helt på vilket problem man vill lösa vilket språk som är mest lämpligt.
Det viktigaste för en nybörjare tror jag är låga trösklar på alla fronter. En oerhört enkel miljö som man inte behöver sätta upp 1000 saker i innan man kan trycka på knappen och köra. Inget att deklarera. Inget kompilerande och länkande (som syns). Snabb feedback. Inga obegripliga felmeddelanden om undeclared forward et.c.
Basic med radnummer på ABC80 var nog inte så dumt ändå. Får min röst trots allt. Error 11 till exempel.
Lycka till.
Re: Börja knacka kod...
Asmone på Amiga är väl det rätta svaret för dig!?Repaterion skrev:Tjo!
Tänkte försöka mig på detta igen, har ingen kunskap alls i detta ämne så ett språk med relativt snäll inlärningskurva på är väll att föredra.
Har bara sett några rader från php, ASM och Python varav Python såg ganska läsligt ut, om nu det gör det lättare vet jag inte.
Vet inte riktigt vad jag skall knåpa ihop än men tjenare världen är väll en bra början antar jag.
Så vad har ni för tips, råd, synpunkter på denna fråga?
//Hannes
Re: Börja knacka kod...
kodar-holger skrev:Det viktigaste för en nybörjare tror jag är låga trösklar på alla fronter. En oerhört enkel miljö som man inte behöver sätta upp 1000 saker i innan man kan trycka på knappen och köra. Inget att deklarera. Inget kompilerande och länkande (som syns). Snabb feedback. Inga obegripliga felmeddelanden om undeclared forward et.c.
Med tanke på det så kanske Processing kan vara en bra start. Det är noll arbete för att komma igång (ladda ner gratis och kör, massvis med exempel finns), inget kompilerande. Dock är syntaxen väldigt lik C (Java, men det ska gå att köra i Python-mode också), och man måste deklarera variabler. Men jag ser inte deklarationer av variabler som något negativt, snarare tvärt om. Med variabeldeklarationer får man enklare överblick över vilka variabler som används i ett program, om man nu inte strösslar ut deklarationerna i koden.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Börja knacka kod...
kodar-holger: Språkkrig? Märklig tolkning. Jag tycker snarare att det handlar om att folk kommer med förslag på språk de tror kan vara användbara för en nybörjare.
SDK85 känner jag väl till. Den var verktyget i två universitetskurser jag gick 1980-81.
SDK85 känner jag väl till. Den var verktyget i två universitetskurser jag gick 1980-81.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
-
- Inlägg: 1409
- Blev medlem: 29 januari 2011, 21:06:30
- Ort: Lapplandet
Re: Börja knacka kod...
Personligen tycker jag att man ska börja med ett språk utan inbyggd GC. Absolut inget fel på python, jag använder det själv ganska ofta. Men jag tror det är lätt att plocka upp "fula" (läs; ineffektiva) ovanor om man kan slänga runt objekt överallt utan att behöva tänka på minneshantering. Själva "programmeringstänket" lär man sig vilket språk man än väljer.
Visst, det kan säkert kännas jobbigare att börja med ett lågnivåspråk men jag tror att man tjänar på det i längden. Och det är nog lättare att lära sig python om man redan kan C(++) än att gå motsatta vägen.
Fast å andra sidan så om man vet att man aldrig kommer att behöva kunna lågnivåprogrammering så ser jag inga problem med att börja med ett högnivåspråk. Fast det är nog svårt att veta det som nybörjare
Visst, det kan säkert kännas jobbigare att börja med ett lågnivåspråk men jag tror att man tjänar på det i längden. Och det är nog lättare att lära sig python om man redan kan C(++) än att gå motsatta vägen.
Fast å andra sidan så om man vet att man aldrig kommer att behöva kunna lågnivåprogrammering så ser jag inga problem med att börja med ett högnivåspråk. Fast det är nog svårt att veta det som nybörjare

- Lennart Aspenryd
- Tidigare Lasp
- Inlägg: 12607
- Blev medlem: 1 juli 2011, 19:09:09
- Ort: Helsingborg
Re: Börja knacka kod... När då
två sidor med många synpunkter, alla vet hur , men ingen, inte ens TS, vet vart.
Så när får vi svaret.
Vart är vi på väg! Först då kan vi komma på rätt spår?
Så när får vi svaret.
Vart är vi på väg! Först då kan vi komma på rätt spår?

Re: Börja knacka kod...
Python till PIC/ATmega känns helt och totalt fel. Och vi ska inte ens prata om huruvida det är möjligt.
C till PC-miljö är onödigt tungt utan en hel del visuella hjälpmedel.
Så frågan är: vad vill TS hålla på med?
Är det PC-miljö med fönster, snygga grafer osv. kan python ganska säkert vara mycket användbart.
Är det µC är C väldigt bra.
Att sedan sättet att lösa funktioner på är mycket lika är ju grunden i programmering liksom uppbyggnaden av program oavsett språk.
C till PC-miljö är onödigt tungt utan en hel del visuella hjälpmedel.
Så frågan är: vad vill TS hålla på med?
Är det PC-miljö med fönster, snygga grafer osv. kan python ganska säkert vara mycket användbart.
Är det µC är C väldigt bra.
Att sedan sättet att lösa funktioner på är mycket lika är ju grunden i programmering liksom uppbyggnaden av program oavsett språk.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Börja knacka kod...
I fjärde inlägget meddelade Repaterion att han avsåg att köpa en RPi. Jag tror inte han har nämt PIC/AVR.