Att vilja lära sig programmering även om man inte är high på matematik?

Permalänk
Medlem

Att vilja lära sig programmering även om man inte är high på matematik?

Topic.

Jag känner att jag skulle vilja lära mig programmering mer och mer, det har gått år då jag tänkt att det skulle vara roligt att lära mig c++ då språket är så brett och i c++ så kan man utveckla allting i princip och hanteringen sker via minnet direkt vilket tillåter minnesmanipulation och att göra hjälp-program till spel och "bots" till spel och dylikt.

Så fort man nämner att man är intresserad av bots eller hjälp-program till spel och dylikt så får man höra hur man är en fuskare mm, vilket jag tycker är rätt trist när det är det som dragit mig till det. Tycker att det är fantastiskt att man faktiskt kan utveckla något för sig själv där man får assistans av det man själv bygger upp, bara för att man spelar mycket och känner att det skulle komma till hands vid spel är bara en tillfällighet då jag gillar spel.

Precis som man utvecklar program för att hjälpa människor i vanliga saker så som kalkylatorer för specificerade ämnen.

I vilket fall så skulle jag vilja ge programmering en chans för just nybörjare men frågan är då, om jag alltid varit usel på matematik betyder det att jag lär mig något förgäves eller kommer det bli ett så pass motig väg att det inte är någon idé? Kanske bara inte c++?

Vad ska jag söka mig till om jag bor i Stockholm?

Tack på förhand

Visa signatur

/Ben~

Permalänk
Medlem

För intresset skull, hur tusan skulle ett "hjälp-program till spel och "bots" till spel" funka?

Permalänk

@Sinery: Gissar mod menu och bots är väl en bot* helt enkelt.

* En bot kan användas till att styra ett spel helt eller delvis.

Visa signatur

Speldator: [Intel Core i7 4790K] [ASUS Matrix GTX 780Ti x2] [ASUS MAXIMUS VII HERO] [Corsair Dominator Platinum 32GB] [Windows 7] [Logitech G400S] [Microsoft Ergonomic 4000] [BenQ XR3501 35" (HDMI)] [BenQ G900W 19" (VGA)]

Serverdator: [Intel Core i7 6850K] [ASUS X99-E WS] [Corsair Vengeance LPX 64GB] [2x Crucial MX300 1TB] [Cooler Master V1200] [CentOS 7]

Permalänk
Medlem

Vet du hur

  • 1+1 = 2

  • 2 - 1 = 1

  • 1 < 2 > 1

  • 2 × 2 = 4

  • 4 / 2 = 2

  • räkna från 1 till 10

Fungerar så är du på god att lära dig baskunskaper i att programmera.
Om inte annat så lär du dig nån matematik på vägen

Visa signatur

Rota3: Ryzen 5600 - 32GB - Radeon RX 7600 - Kingston NV200 2TB - Fractal Design R3 - EVGA Supernova 750W

Permalänk
Medlem

Själv anser jag att så länge man har ett mål så brukar man klara av det mesta och man kan lära sig programmera utan att vara matte snille.

Visa signatur

HP 800 G1

Permalänk
Medlem

Det man kan är alltid enkelt. Jag var aldrig en stjärna i matte och det tog tid att för mig att sätta mig in i nya saker. Men jag insåg att det var viktigt för min andra intressen som då var el och radioteknik. Så jag offrade en del tid på att läsa in matte i förväg. Jag blev bättre än mina kamrater! Tack vare att jag alltid låg steget före blev betygen bra, trots att IQ är måttlig.

Första gången jag stötte på programmering bestämde jag mig för att aldrig mer programmera. Det var på tok för svårt för mig!

Jag lyckades ändå skaffa mig bra utbildning. Och på mitt första arbete jobbade jag med olika beräkningar och konstruktioner. Det var givetvis omöjligt utan datorer. Under första året lärde jag mig otroligt mycket. Tidigare hade jag bestämt att aldrig programmera. Det blev precis tvärtom!

Permalänk
Medlem

Beroende på vad du vill göra så kan det vara mer eller mindre viktigt att vara bra på matte.
3D är på gott och ont ett område där det är typiskt bra att vara bra på att hålla koll på siffror men matematiken i sig är sällan särskilt svår. Lite addition, subtraktion och enkel trigonometri för det mesta. Ska du däremot göra ett program för att beräkna {insert svår kalkyl} så blir det såklart värre - men mest handlar det bara om att slänga in variabler i formler. Det svåraste är nog i mitt tycke att veta vilken formel som ska användas var (och till viss mån hur).

Grundläggande regel som är bra att komma ihåg; en CPU kan bara addition, resterande aritmetik (subtraktion, multiplikation, division...) sker genom smarta sätt att manipulera vad som adderas.
Vill du göra det riktigt lätt för dig själv så behöver du strikt taget bara lära dig ett kommando!

Visa signatur

WS: MSI B350M Mortar | AMD Ryzen 7 1700 | PH-TC14PE | 32GB DDR4 3000MHz | 1TB Kingston NV2 | Intel Arc A750 8GB | 2*BenQ G2420HDB
Router: Gigabyte GA-870-UD3 | AMD Phenom II x6 1055t @ 2600MHz, 1.25V | 12GB DDR3 | 2*250GB HDD @ RAID1 | 4TB HDD
Laptop: Thinkpad X220 4291-QF6

Permalänk
Medlem

Ja, det går hur bra som helst att sätta sig in i programmering utan att vara matte guru.

C++ är ett fantastiskt språk som lämpar sig till både högnivå och lågnivå.

Dock så är ditt intresse ett hyfsat komplicerat område. Jag hade rekommenderat C som introduktions-språk då det inte finns några "dolda" funktioner. Det som du skriver i C är det som du får. Koden i käll-form ligger väldigt nära hur den ser ut i maskinkod. Det är dessutom lätt att gå över till C++ när C sitter.

Detta räcker dock inte om du ska utveckla egna typer av "hacks". Du bör isåfall lära dig assembler för att kunna reverse-engineera de delar av spelets kod som är intressanta (C/C++ hjälper dig även här till en viss del). Du kommer sannolikt också behöva att bli hyfsat bra för att ta dig förbi olika typer av anti-re. Kunna operativsystemet på låg nivå kan också vara en väldigt viktigt del.

Det är rätt så mycket att sätta sig in i bara sådär.

mvh
fd reverser

Skickades från m.sweclockers.com

Permalänk
Medlem

om det är hacks /bots till spel du har som mål (inget dåligt mål att satsa på btw då du kommer behöva lära dig väldigt mycket om hur system funkar, och hur du utnyttjar sårbarheter i sagt system.) så är det c/c++ och assembler som gäller. De kunskaper du får av att hacka är väldigt användbara inom arbetslivet också (white hat/grey hat hackers).

edit:
matten är inte svår alls när det kommer till de målen du vill uppnå.. enbart mattematik ifrån grundskolan kommer du extremt långt med.. det är bara när du gör mycket mera komplexa algoritmer som mattematiken kommer sätta stopp för dig. Men förutsatt att du kommer till detta stadiet så kommer du att kunna söka upp de formler du behöver och implementera dom i ditt program utan problem.

Visa signatur

"Resistance is futile."

- Georg Ohm

Permalänk
Medlem

Jag vet att det kan vara svårt att motivera sig själv att hitta på uppgifter för att lära sig mer.

Rekommenderar då denna sida:
https://adventofcode.com/2018/events (Välj år)

En julkalender, med en ny programmerings utmaning för varje dag.
Du får endast problemen och kan skriva lösning i valfritt språk.
Ingen automatisk rättning, de får man sköta själv.

Om du behöver hjälp att komma igång så kan du välja:
Finns många bra hemsidor, tex
https://www.learncpp.com/
Annars Youtube videos.

Permalänk

Jag är programmerare

Jag är programmerare, och jag måste säga att jag är lite trött på dessa myter. Varför skulle man behöva vara "bra" på matte för programmering tror du? Kan du 10x10, 1+1 och förstår potenser (2^4) så räcker det, vi lever inte i 60 talet längre. Du sköter koden/texten, datorn gör om till siffror och följer instruktioner.

Ville du nu bli en scripterkiddie så bli medlem på UnknownCheats forumet, välj ett språk och ladda ned fusk och analysera dem i Visual Studio. Kolla på fusk kanaler som HazardEdits eller ZeroMemory på youtube och följ tutorials. Dessa hjälpprogram du tjötar om låter som "fusk", btw, och det är vad dessa är.

Du tänker på att skriva till och från pointers i minnesadresser, detta är fusk, förmodligen. Det är därför battleeye har funktioner emot detta (dvs read/write process).

Så.... Lär dig generell programmering och fiffla och analysera fusk från UC. Kolla tutorials och läs en bok om generell programmering som tex (computerscience illuminated) den finns som Pfd på internet.

Jag är programmerare och studerar systemvetenskap på högskolan i borås. Sök in till systemvetare nära sthlm eller något tycker jag ifall du nu vill göra sånt här.

Och ännu en gång, programmering för vanliga personer har nästan inget med matte att göra, inte ens fusk.

Skickades från m.sweclockers.com

Permalänk
Medlem

Förstår dock hans fråga.

Då jag själv har gått i samma tankar i princip 20 år.
Valde att inte läsa det via gymnasiet då det krävdes matte E när jag själv knappt kunde få godkänt på matte A. Berodde väl delvis på läraren också men i.a.f. Det skrämde mig från att i överhuvudtaget läsa högre matte.

Så det har skrämt bort mig från att plugga vidare inom området, just p.g.a matten.
När jag lustig nog fick MVG i ekonomi istället. Visserligen annorlunda uträkningar men matte som matte ju...

Själv vill jag nu läsa upp matte kunskaperna för att sedan läsa vidare. Men frågan är om det är värt tortyren att läsa Matte E när man ligger på en kunskap runt A...

Därmed så har jag lekt med c++, c, java, javascript, python osv på egen hand flera gånger om, håller intresset typ ett halvår sedan lägger jag ner av någon anledning, troligen p.g.a att jag inte blir lärd av en lärare samt har kunskaperna för matten, för att gå vidare.
Att följa tutorials ger ju endast en viss del av förklaringen men inte själva tänken eller varför x y fungerar som det gör, vilket gör det svårare att tillämpa när man väl behöver kunskapen. Lite så känner jag i.a.f.

Sedan när det gäller "hacks" o liknande så är det mer assembly du vill leka med. Gjorde det mycket förr med diablo 2 när vi hade olika injektonsprogram för att manipulera minnet och liknande. Förstod ju dock inte allt för mycket på vad jag egentligen gjorde utan följder mest guider.
Men är det detta område du vill in på så är det inte heller programmering som sådant du är ute efter.

Kolla mer på reverse engineering och sedan förstå den kod du får, därefter kan du börja utveckla något som du är ute efter.

Dock när det gäller bots så börjar ju AI programmering bli mer och mer aktuellt och spännande, även detta område jag skulle vilja läsa in mig i. Men här krävs matten än mer än vanlig programmering så som jag förstår det. Då det hela egentligen är en lång rad utav matematiska lösningar.

Edit: Anledningen att jag tjäbblas med matte E är för att det var GRUNDkraven för att läsa vidare inom data eller programmering. Det kan ju ha ändrats lite på senaste, vilket isf är bra. Men mina tankar ovanstående står kvar.

Grundkrav
Permalänk
Medlem

Det beror på vad man programmerar. Många områden kräver inte mycket mattesnille i sig, men observera att det ofta kan förekomma domänspecifika krav. Några exempel på områden, i ordning av popularitet (min uppskattning):

Webbutveckling, frontend
Här behöver sitter du mest med design, GUI programmering, och ev. lite applikationslogik. Inte mycket matte krävs här. Det mest avancerade är väl om du vill göra fancy animationer och vill skriva din egen easing-/smoothing-funktion.

Webbutveckling, backend
Mycket databaskommunikation, applikationslogik, och affärslogik här. Domänspecifik matematikkompetens kan behövas, men generellt behöver du nog inte veta så mycket matte här. Att kunna räkna på latenssiffror och sånt kan nog va bra, men det är ju mest simpel aritmetik egentligen.

Applikationsutvecklign
Ganska samma som ovan skulle jag tro.

Systemutveckling
Här kan det ev. bli lite pekararitmetik och så. Skriver man prestandakritisk kod kan det nog vara bra att ha lite känn för algoritmkomplexitet med. Tror inte man behöver speciellt mycket matte, men bra koll på aritmetik och lite känn för diskret-matematik och algoritmlära hade nog inte suttit fel.

Embedded
Liknande ovan.

Spelutveckling
Här finns det många delområden som kräver en del kompetens. Bl.a. så kräver fysik- och grafikmotorn mycket matematisk analys och linjär algebra. Detta spiller även över i spellogiken en del, så även om du sitter i e.g. Unity och har motorn gjord, så behöver du kunna dessa grejer.

Maskinlärning
Här kan du behöva lite allt möjligt, men främst behöver du ha bra koll på matematisk statistik.

Formella metoder / bevisföring
Om du ka bevisa att ett program beter sig korrekt i ALLA fall, så behöver du göra formella bevis. Här behöver du ha koll på matematisk logik, diskret matematik, programspråksteori, algoritmlära, med mera.

Alla ovan
I nästan alla ovan nämnda områden får du en rejäl boost av att vara kunnig om diskret matematik, funktionslära, algoritmlära, optimeringsteori, matematisk analys, etc. E.g. en applikstionsutvecklare måste inte kunna detta, men om du kan detta, så blir du en bättre applikationsutvecklare. Matematik är mer än bara nummer, och kan hjälpa dig skriva smarta abstraktioner, lättunderhållen kod, säkra program, optimala algoritmer, snabba program, etc. Dock är det inte garanterat att du skriver bättre kod bara för att du kan matte. Jag har sett flera individer som aldrig riktigt gjort kopplingen mellan programmering och matematik, och skriver väldigt medioker kod trots att de är fett bra på alla möjliga sorters matte.

Jag tycker inte du ska vara rädd för att börja programmera med en gång! Matematiken kan du lära dig senare för att utveckla dig själv.

Visa signatur

Arbets- / Spelstation: Arch Linux - Ryzen 5 3600 - RX 7900 XT - 32G DDR4
Server: Arch Linux - Core i5-10400F - 16G DDR4

Permalänk
Medlem

Som andra har nämnt kör på! Programmering är i mångt och mycket ett hantverk och när du har grunderna att bygga ifrån kommer du själv märka om det finns matematiska områden du behöver vidareutveckla dig inom.

De begrepp som @nick-li nämner räcker väldigt långt, men jag rekommenderar att du dessutom tittar på begreppet Modulo, då det används förhållandevis mycket.

Visa signatur

Desktop: | Win10 | InWin 303 | ASUS TUF X570 | AMD Ryzen 5 3600 | Noctua NH-U12S (PP) | Intel 600p 256GB | Gigabyte GTX 670 | 32GB DDR4 2400Mhz | Corsair RM650x | 3x 1080 Screens |
Datacenter: | 1x Physical | 1x Virtual |
Laptop: | 2x |

Dell Certified Technician

Permalänk
Medlem

håller med div personer innan GO FOR IT!! dock tycker jag nog inte det låter så "lämpligt" med Hacks till spel, det förstör för så många andra, om det var de du syftade på.

Men att programmera, GO FOR IT! å följ tipsen å råden du fått ova här som är guld värda!

Lycka till å posta gärna dina projekt å resultat för oss senare

Visa signatur

|Workstation: AMD Ryzen 9 7900X 4.7GHz | ASRock X670E | AMD Radeon 7900 XT | 32GB DDR5 | NVMe 2.0TB | HDD 4.0TB |
|VMware rig: AMD Threadripper 2920x | ASUS PRIME X399-A | 24GB DDR4 | 10TB Storage |
|HTPC: AMD Ryzen 3 2200G 3.7 GHz | Gigabyte B450M DS3H | Radeon Vega 8 | 8GB RAM | SSD 120GB | *Test rig för div Linux distar, drivers m.m.

Permalänk
Medlem

Jag tycker att det handlar mer om logiskt tänk och problemlösning än matematik, så låt inte bristen på mattekunskaper hejda dig.

Visa signatur

Grubblare

Permalänk
99:e percentilen

Det finns ett koncept från matematiken som jag tycker att varje programmerare bör ha eller skaffa grundläggande kunskaper om, och som jag uppfattar att endast @Bryal nämnt hittills i tråden: funktioner. Det är helt enkelt för viktigt för att bortse från om man ska kunna skriva begriplig, tillförlitlig, modulär kod som går att underhålla, oavsett språk. Och jag menar förstås funktioner i matematisk mening. prompt i JavaScript, malloc i C och print i Python räknas inte.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem

Grundläggande kunskaper i mängdlära ofta är viktigt inom programmering / datahantering. Andra matematiska områden som iaf jag ofta haft nytta av att ha kunskaper i när jag programmerar är boolesk algebra, grafteori och kombinatorik.

För många är matematiken svår att lära sig på ett rent teoretiskt plan, de behöver se en koppling till en verklig tillämpning...och i det avseendet så är programmering lämpligt för att utveckla matematikkunskaperna; man jobbar mot ett praktiskt mål/resultat.

Visa signatur

Laptop: Dell Latitude E7270 | 12,5" FHD IPS | i5-6300U | 16GB RAM | 500GB SSD
Laptop: MacBook Air 13"
NUC: Intel i5-4250U | 8GB RAM | 250GB SSD

Permalänk
Medlem

@SleeZy: Det är väldigt likt i mitt fall.

Vet inte hur jag ska börja

Har klarat Matte A, dock så har jag glömt i princip allting... Vet inte vart jag ska börja och då det känns så tabu att vilja ta reads av spel så känns det som att många vill stoppa en från att lära sig just C++ så fort man nämner det.

Tack för alla som svarat, uppskattas verkligen... frågan är hur man ska gå till väga.

Visa signatur

/Ben~