Hur gör man för att börja programmera en dator? Där ute finns ett vimmel av programmeringsspråk som man kan hämta hem.

Själv började jag programmera för länge sedan – under 1990-talet. Då var ‘Qbasic’ flugan, och det följde med gratis när man installerade Windows. Jag tycker fortfarande att det är ett av dom bästa språken. Enkelt att lära sig och mycket strukturerat. Vidare kom man till ‘Turbo Pascal’ sedan ‘Delphi’ och nu är det ‘Lazarus’ som gäller. Alla dom nämnda språken är mycket lika – nästintill identiska.

Förr var det oftast mycket dyrt att köpa ett programmeringsspråk, därför fick man ta det som kom med tidskrifter – på cd skivor, oftast i beskärda versioner. T.ex. ‘Delphi’ var mycket dyrt till en början, men jag köpte en tidning med gratisversionen – ‘Delphi3’.

Lazarus kom jag på av en slump och detta språket är identiskt med   ‘Delhi3’. Dock är Lazarus gratis.

Så vad söker man i ett programmeringsspråk? Lazarus som finns gratis att ladda ned är en mycket bra lösning. När jag började programmera var komponenter till språket en fetisch. Jag laddade ned knappar, menyer, bildbehållare diagramkomponenter osv. Problemet var att… för att efter några år öppna programmet i programmeringsspråket, så gick det inte. Man var tvungen att ha alla komponenterna installerade. Och vart man hade dom – tja dom tappade man bort med tiden. T.ex. när man ominstallerade kommandotolken och språket.

Faktum är att jag för en tid sedan praktiserade som Lärarassistent i Datakunskap. Där lärde man sig ett språk som heter Python. Python är mycket populärt nu. Personligen tycker jag inte speciellt mycket om det. För det första… för att installera alla tillbehör behöver man leta på nätet. Det blir samma strul med komponenter, bibliotek och tillbehör. Jag, en erfaren programmerare, hade svårt för att göra dom enklaste sakerna som t.ex. installera editorn. Ja – Python kommer utan de enklaste sakerna såsom t.ex. En editor. Man får så att säga själva motorn, men utan höljet.

I Lazarus har man tagit hänsyn till allt detta. Först och främst så kommer Lazarus med allt man behöver, knappar, bildbehållare o.s.v. Varför exempelvis installera en komplicerad diagramkomponent, när allt man behöver är en bild och lite matematisk kunskap för att åstadkomma samma resultat. Vidare – så är Lazarus ett grafiskt språk, så allt man behöver för att skapa en knapp eller bild är att rita upp den på skärmen. I Python och många andra språk måste man skriva loopar föra att hantera knapptryckningar och speciella händelser. I Lazarus och Delphi (som är visuella – grafiska språk) är detta väldigt enkelt och överskådligt. Så jag upplever att Lazarus och Delphi är gjort för den enkla människan. Man får hjälp med kommandon, när man drar över texten med sin mus, samt med kod-komplettering. T.ex. vill man rita en cirkel så räcker det med att skriva ‘Image1. Canvas. ellipse’ så får man upp en liten ruta med vilka parametrar som krävs för att rita upp ellipsen eller cirkeln. Man får så att säga mer tid att ägna åt det man vill göra, t.ex. matematik i programmen –  än att fokusera på enkla knappar o.s.v.

Jag har undvikit att tala om språket C och C++. Det är ett väldigt populärt språk bland arbetsgivarna. Men jag har tyvärr lyckats undgå närmare kontakt med det. C finns också som en visuell , ‘grafisk’ variant såsom Delphi och Lazarus. Tidigare var också Visual Basic ett alternativ men det var långsamt och krävde att man hade med stora bibliotek för att de skapade programmen skulle fungera när man distribuerade programmen.

Så vad vill man göra med ett programmeringsspråk? Varje programmerare vill säkert skapa en Sprite Editor. Ett ritprogram som fokuserar på att skapa små animationer som sedan går att använda i bl.a. spel. Jag har själv ägnat mycken tid åt att skapa ett sådant program. Nästan all tid som man gör programmet, går åt att göra de enklaste saker – som att rita pixlar, linjer cirklar och kvadrater. Man tror att det är enkelt, men vill man kunna göra något vidare med bilden, applicera något filter – t.ex. göra bilden svartvit behöver man ha alla punkterna på en cirkel eller linje. Efter att ha arbetat med detta i någon månad – känner man sig som om man blivit överkörd av en Pansarvagn.

Tyvärr måste jag säga, att alla programmeringsspråk är inkonsekventa då det gäller exempelvis siffran noll, när man programmerar. I vissa programmeringsspråk börjar man – när man skall gå igenom (iterera) en lista – så börjar man med att räkna från noll till slutet av listan… -1 (det kan se ut så här… For I:= 0 to Templist.count-1😉 Andra språk kan börja räkna från 1 till det exakta slutet av listan, men då ignorerar man att 0 också är en siffra eller position. I Python där vem som helst skapar och publicerar essentiella komponenter, kan detta skilja från komponent till komponent. Räknar man med nollan i iterationen kommer automatiskt listan att bli ett nummer kortare, inte ens dom mest erfarna programmerarna har funnit ett koncept för att lösa det problemet.

Likaså kan det grafiska ställa till med strul T.ex. när man skall rita upp en linje, märkte jag att linjen jag ritade upp med kommandon från det använda språket var en pixel kortare än de punkter jag erhöll när jag räknade ut linjen själv. Så linjen jag erhöll matchade alltså inte den exakta mus positionen. Där gick några dagar på att fatta hur det kom sig. Så varning! De enklaste sakerna när man t.ex. gör ett ritprogram tar mycket tid. Resten är bara barnlek.

Ett annat problem är upprepningar. Man tycker man är smart när man skapar en funktion för att läsa av en bild till datorminnet. Men när man måste göra det några hundra gånger i ett program börjar man tappa bort sig. Det kan se ut så här…

for i:= 0 to tempbmp.width-1 do begin

for j:=0 to tempbmp.height-1 do begin

dims(i+p,j+q):= tempbm.canvas.pixels[p,q];

end;

end;

Och detta gör man hundratals gånger på olika ställen i programmet. Eller så gör man en funktion – och faktiskt det är enklare att skriva denna loop 100 gånger än att t.ex. kalla funktionen säg ‘Calloop’ 100 gånger i programmet, för man tappar bort sig.

Så vart kan man hämta seriösa program som man kan behöva när man programmerar – gratis? Tja det finns två sajter som faktiskt är guldgruvor då det gäller bra gratisprogram. Den ena heter Sourceforge.net den andra Portable apps. Lazarus finns att ladda ned från Sourceforge.net. Där kan man säkert hitta bra ‘Spriteeditorer’ också. Själv planerar jag att lägga upp ett sådant program i maj 2018.

Lycka till.

P.S. Om ni skulle vilja veta mer om mig så går detta på min hemsidahttps://sites.google.com/site/petervoiseswebsite/home

 

 

 

Skriv ut

Relaterade artiklar