Gudinna Wiki VisaÄndraBifogaVersionerUppdateratSökKarta

Programmering och programmeringsmetodik

http://www.krugle.com/examples/
Ny sökmotor för programmerare;
hitta excempel för funktioner och programmeringsuttryck.

Rekommenderas att börja med

3D Programmering

3D programmering med Direct X 10 och Open GL under Windows Vista

Fördjupning för framtiden

Programmerings paradigmer

http://en.wikipedia.org/wiki/Category:Programming_paradigms
http://en.wikipedia.org/wiki/Extreme_Programming - lös problem snabbt genom att skapa den enklaste lösningen. Ändra stegvis för att få det att fungera i framtiden.
Intentional programming - Programmering där man försöker få programmerare att sluta att vara ofrivilliga kryptörer.
Implicit linguistisk "språk-skapande" programmering med iterativ kompilering

Algoritmer

Sorteringsalgoritmer

sorting_out_sorting_divx.avi 78 Mb - En pedagogisk film från torontos universitet som visualiserar skillnader och fördelar mellan olika typer av sorteringsalgoritmer. Filmen är 31 minuter lång.
Filmen beskriver sorteringsalgoritmer som:

För den som undrar är Quicksort och Tree selection dom snabbaste sorteringsalgoritmerna.
http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html - Java program med källkod för dom olika sorteringsalgoritmerna.

Varför är sorteringsalgoritmer viktiga?

Det främsta skälet till att ha sorteringsalgoritmer är att sorteringsalgoritmer skapar grunden till hur en dator ska kunna lagra filer på hårddisk. Genom att skapa bättre sorteringsalgoritmer kan man skapa nya filsystem som gör datorer snabbare då datorns främsta flaskhals är tiden det tar att hitta var datan ligger innan den läses in från hårddisken. Databaser som internetsöktjänster är även dessa en form av filsystem där sorteringsalgoritmer möjligör blixtsnabb genomsökning av alla internets webbsidor.

En mindre erfaren programmerare kan snabbt komma i kontakt med sorteringsalgoritmer om man vill finna medianen i en lista med tal.

Hash tabeller

Hashtabbeller är ett sätt att hantera stora datamängder som är opraktiska att söka igenom ord för ord. Om man vill undersöka om två textstycken är identiska kan istället för att gämföra bokstav för bokstav skapa två "hash" tal som motsvarar tex summan av artiklarnas bokstäver, om talens summor skiljer åt vet man direkt att det är olika artiklar utan att ha granskat innehållet.

Själva hash funktionen har som uppgift att skapa ett unikt tal som fungerar som ett fingeravtryck för en viss datamängd. Denna egenskap kan även utnyttjas om man vill vara säker på att en data överföring från en dator till en annan dator har genomförts felfritt, genom att gämföra orginalets hash med kopians hash kan man snabbt kontrollera att kopian är identisk.


Rekursion

Används ofta för att skapa fraktaler, att skapa en fraktal är inte så svårt när man förstår formlerna bakom.

Filformat och kodformat


Komprimering

@shortest-common-superstring - används vid vissa komprimeringsrutiner

Pi pakning

Pi pakning är en ide som bygger på tanken att vilken form av data som helst kan finnas bland Pi's oändligt antal decimaler. Genom att bara ange start och slutdecimal av Pi i formen av två stora tal kan man finna allt från filmer till datorspel.

Programmerigns stilar

deWiTTERS

http://users.pandora.be/dewitters/tao_of_coding.html - deWiTTERS självdokumenterande programmeringsstil som försöker göra kod mer lik skriven text.

Hungarian Notation

Excempel: sHngrnNttn
En programmeringsstil som försöker få variabelnamn så korta som möjligt, först någon bokstav i gemen som beteknat typen "int" efter den en beskrivning av användningen av variabeln i "CamelBack" stil fast utan vokaler "CmlBck". Resultatet för att förkorta ned variabeln int CamelBack blir således intCmlBck. Många tycker att Hungarian notation är ett av de vidrigast sätten att skriva kod på då koden mest ser ut som en avlägsen släkting till utdöda monster som Zrxyptty.

Java programmerings stil

http://www.bluej.org/objects-first/styleguide.html - java programmerings stil

Relaterat till programmering



Referenser till aktuell sida


Frivillig gåva till stöd för driften av Gudinna Wiki :