webForumDet fria alternativet

Måste man vara bra på matte för att programera

Programmering

24 svar · 998 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

För att bli en bra programmerare måste man vara bra på matte alltså ha gått ca 3 högskolekurser?

Medlem sedan okt. 20013 217 inlägg
#2

Det beror lite på vad man ska göra. Sysslar man med "normal" programmering som säkert 98% av alla programmerare gör så behövs det inte så mycket matte skulle jag vilja påstå.

Medlem sedan feb. 20001 590 inlägg
#3

Nej men det underlättar och ger troligtvis bättre chanser till ett mer kvakificerat jobb.

Ska du göra spel, så är det ett måste med mycket matte...

Medlem sedan juli 200012 978 inlägg
#4

Nej absolute (förbjudet ord här på wF) inte. Som programerare använder man färdiga algoritmer för det mesta.
Ett bra bildminne så att man snabbt tar sig fram i koden är däremot viktigare.
Att man kan skapa en struktur på det som skall göras, och att göra just det är viktigast.

Medlem sedan juni 200010 432 inlägg
#5

Lasp skrev:

Nej absolute (förbjudet ord här på wF) inte. Som programerare använder man färdiga algoritmer för det mesta.
Ett bra bildminne så att man snabbt tar sig fram i koden är däremot viktigare.
Att man kan skapa en struktur på det som skall göras, och att göra just det är viktigast.

:OO låter skittrist, sånt jobb vill inte jag ha.
Annars är det en höjdare på högskolans kurser att skapa egna algoritmer och förbättra såna som redan finns i de "färdiga" biblioteken. Man blir förvånad hur vissa bibliotek "missbrukas" ofta, när lösningen då kunde gjorts bättre och effektivare med "egna" algoritmer. Jag är inne på min fjärde mattekurs nu och ska gå minst två till hade jag tänkt. Inte minst inom grafikprogrammering behövs det matte, för att inte tala om logikprogrammering...

Men visst. Vill man bara sitta och slänga ihop kod som andra skapat för att snabbt bygga applikationer (läs VB) så behövs ingen matte alls :p

Medlem sedan juni 2000841 inlägg
#6

Att ha några kurser matte är nyttigt för att utveckla ett visst tänkade.
Sen som Lasp säger så använder man ofta färdiga algoritmer, tex sökalgoritmer och algoritmer för hur agenter ska agera osv..
Utveckla egna algoritmer som slår dom kräver nog mer än ett par kurser matte på högskola.

Vad syftar du på för algoritmer PeW?

Medlem sedan juli 200012 978 inlägg
#7

Jag tror att det är ytterst få program som kräver avancerade mattekunskaper. Man kan kalla in experter på algoritmer vid dessa tillfällen.
Lika tråkigt som Pew skriver om programering kan det bli om man lägger mycken tid på matte för att man skall bli en bra programmerare.
Tro mig jag har släppt många system.

Medlem sedan juni 20008 205 inlägg
#8

Lasp> En algoritmexpert är ju också en programmerare, eller hur? ;)

Någon klok människa på Passagen sa i en liknande tråd: Hur bra på matte man behöver vara beror på hur mycket matte man använder.

Personligen tycker jag nästan att det är så att man måste kunna programmera för att begripa matte, men det är ju bara min åsikt.

Men visst, om man inte är någon självutnämnd algoritmmagiker så är ju inte just algoritmskapande det som tar upp mest tid vid programvaruutveckling (om man inte ser exempelvis OO-design som algoritmutveckling, vilket man på sätt och vis kan göra). Oftast använder man färdiga saker, men det kan vara väldigt välinvesterad tid att lära sig varför vissa algoritmer är bättre än andra... men man måste inte ha läst matte för att haja hur de flesta algoritmerna funkar.

Vad gäller agentalgoritmer och sådant faller det snarare in under datalogi än matematik. Och datalogi är ett måste för en bra programmerare :p Mycket av agentprogrammering bygger ju på kognition och liknande.

Medlem sedan okt. 20013 217 inlägg
#9

En bra programmerare är ju den som gör lösningar som är enkla att underhålla och innehåller så lite fel som möjligt. Support av redan utgiven programvara är det som kostar riktigt mycket pengar för företag. En kund kan oftast ta att ett program går lite långsammt, bara det funkar. Prestanda går ju alltid att fixa till i efterhand och det är inte kundernas primära mål att ha maximal prestanda i en tidig utgåva av produkten. Dom vill primärt att den ska snurra så dom kan börja använda den och lära sig den.

Medlem sedan juni 200010 432 inlägg
#10

ps skrev:

Sen som Lasp säger så använder man ofta färdiga algoritmer, tex sökalgoritmer och algoritmer för hur agenter ska agera osv..
Utveckla egna algoritmer som slår dom kräver nog mer än ett par kurser matte på högskola.

Vad syftar du på för algoritmer PeW?

T.ex sökalgoritmer, lagringsstrategier ;)

Lasp skrev:

Lika tråkigt som Pew skriver om programering kan det bli om man lägger mycken tid på matte för att man skall bli en bra programmerare.

Jag har programmerat ganska länge innan jag hamnade på högskolan. Men det är egentligen först nu med kombinationen med matte / halvavancerad programmering som jag verkligen närmar mig det jag tycker är skoj och givande med programmering - problemlösningen. Med detta menar jag ur alla perspektiv - tidskomplexitet, minnesutnyttjande, gränssnitt, beräkning e.t.c...
De flesta kurser inom programmering på en högre nivå än A-B kurs på högskolan kräver en del matte som förkunskaper. T.ex logikprogrammering och grafikprogrammering. Varför? Jo - därför att den sortens programmering handlar om att bygga från grunden och utveckla det som kanske andra sen använder till att smacka ihop andra applikationer.

Det finns olika begrepp här. Programmering är uppdelat i olika grenar/nivåer och som spango skrev:
En algoritmexpert är ju också en programmerare, eller hur? :bire

Datalogiprogrammet 120/160p som jag går är ganska fritt med avseende på vad man ska förkovra sig i. Men en sak är ganska klar... om man vill gå de tyngre kurserna inom programmering/problemlösning så är kravet på antalet mattekurser ganska högt via automatik (förkunskapskrav). Vill man bara ramla ut på arbetsmarknaden som "programmerare" kan man visst gå de enklare kurserna och "fylla ut" med diverse annat.. frågan är vilken typ av framtid man tänker sig och vad man är intresserad av.

Lasp ->
Jag menade att jag tycker att det du skrev lät trist. Inte att det nödvändigtvis är trist. Men det programmet jag går på är inriktat mot en mera 'beräknande programmering' än att bara bygga applikationer + att jag tycker att det är skitskoj så blev mitt svar som det blev.. sorry :r

Medlem sedan juli 200012 978 inlägg
#11

Tack PeW för en bra förklaring. Vi har nog rätt båda två så jag tycker att vi låter frågan gå tillbaka till Addeladde!

Vilken sorts programmering?
Jag borde ha ställt en följdfråga från början.

Medlem sedan sep. 20001 124 inlägg
#12

Den matte man behöver mest inom programmering är den diskreta. Nästan allt annat är överkurs. Alla duktiga programmerare jag känner är inga snillen på matte, men dom har två andra egenskaper gemensamt: dels kan dom tänka fruktansvärt logiskt, dels så kan dom tänka fruktansvärt ologiskt. Om du ofta brukar försöka hitta andra betydelser för meningar (som "kan du stå på händer?") och ofta kommenterar/genomför detta, så är du på god väg att lära dig koda.

Hur ofta jag använder matte? Så gott som aldrig. Jag har utvecklat tre-fyra olika algoritmer för komprimering genom att bara använda diskret matte och ologiskt tänkande. Har även skrivit två filsystem för flash-minne och ett för hårddisk, helt utan att börja derivera och fjanta mig. Den främsta anledningen till att jag gör det är för att jag inte behöver, den andra är att jag inte kan. Har inte tagit en enda poäng matte på högskolan, däremot så har jag gjort ett multitrådat grafiskt system som kördes under DOS.

Om du behöver matte för någon uppgift - lär dig. Behöver du inte det, inrikta dig på objektorientering och design patterns istället.

Medlem sedan jan. 20013 406 inlägg
#13

Tack för alla svar

Medlem sedan feb. 20022 594 inlägg
#14

Chainsaw: Phu! Nu känns det genast mycket bättre. Jag som inte direkt är ett fan av matematik har chans att bli en duktig programmerare. :)

Av vad jag märkt när jag programmerat (huvudsakligen ASP då) är att man behöver tänka mycket logiskt. Då klarar man det mesta. Logiskt tänkande är dock nästan detsamma som matematik i vissa fall.

Medlem sedan dec. 20012 532 inlägg
#15

Chainsaw skrev:

dels kan dom tänka fruktansvärt logiskt, dels så kan dom tänka fruktansvärt ologiskt.

Exakt!!

Medlem sedan feb. 20022 594 inlägg
#16

Det där med fruktansvärt ologiskt har jag ruskigt svårt att förstå hur det ska gå till. Är väl helt enkelt för ologisk :)

Medlem sedan juni 200010 432 inlägg
#17

Chainsaw skrev:

Alla duktiga programmerare jag känner är inga snillen på matte

Definiera "snille på matte"!
- Är det en som lätt simmar igenom den ena kursen efter den andra.
- Är det en som kämpar sig igenom algebra & logik?

Jag vill slå hål på lite myter:

1. Är man ett "snille" lär man inte behöva gå dessa mattekurser
2. Går man dessa kurser så är det för att:
  2.1 Det är förkunskapskrav för kurser om högre programmering
  2.2 Det är förbannat skoj att plåga sig själv 
  2.3 Det finns inga onödiga kurser i logiskt tänkande

:birp

Medlem sedan juli 2002581 inlägg
#18

Alla duktiga programmerare jag känner är ruskigt bra på matte.

Medlem sedan okt. 20013 217 inlägg
#19

Det kan bero på att man tvingas genom en massa mattekurser då man pluggar på universitet eller högskola. Själva matten har man ingen hjälp av. Egenskapen att bryta ned ett problem i mindre delar så det blir lättare att hantera har man däremot användning av.

Medlem sedan aug. 2001458 inlägg
#20

Min erfarenhet är att det finns en klar koppling mellan att vara bra på matte och att bli en bra programmerare. Jag har svårt att tänka mig att någon som är usel på matte skulle bli en bra programmerare, tycker ofta sådana faller under kategorin "hellre än bra".

Precis som Sang-drax säger är samtliga av de duktiga programmerare jag känner bra på matte. Jag känner ingen riktigt bra programmerare som inte har högskoleutbildning (men jag betvivlar inte alls att det finns sådana).

Det finns säkert många som inte är intresserade av matte, men ändå skulle bli duktiga. Intresset för matte kan ju ha varit bristande (pga stökiga klasser, dålig mattelärare etc), men man kan ju ändå ha potential att lära sig.

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)