(Ännu) en tråd om att börja programmera

Permalänk
Medlem

(Ännu) en tråd om att börja programmera

Hej!

Jag vill lära mig programmera, hur och var börjar jag?

Jag har börjat inse det att det klassiska mottot "Vill man ha något gjort får man göra det själv" stämmer. Jag har varit en "datanörd" hela mitt liv, men aldrig orkat slå mig in på programmering, när jag tänkt att den delen av processen kan jag alltid hitta folk som kan hjälpa mig med.
Problemet är ju bara att folk vill ha pengar för att göra saker, och då måste man först gå till något annat företag som kan backa upp en på den fronten, vilket är svårt.

Så jag har kommit fram till att jag vill investera något år eller tre i att lära mig detta själv, för att kunna plocka fram när den rätta idén kommer till mig

Det jag för tillfället är mest nyfiken på att lära mig är app-programering. Men jag misstänker väl att det är vettigare att först lära sig ett lite mer riktigt programeringssätt, för att sedan röra sig ditåt.

Så med andra ord, om jag har som mål att i slutändan lära mig app-programmering, vilket program lämpar sig att börja med? Jag har lagt ner många år på att lära mig program och annat genom tutorials, och det är en metod jag föredrar.
Vilka sidor kan rekomenderas? Självklart är gratis gott, men finns det något överlägset alternativ som kostar pengar är även det intressant.

Permalänk
Medlem
Skrivet av hapone:

om jag har som mål att i slutändan lära mig app-programmering,

Frågan är ju vilken plattform du vill skriva "appar" till. Facebook? Android? iOS? Någon annan plattform? Beroende på vad du vill utveckla till är det (troligen) olika språk, och då är det troligen enklast att börja med det språk som man sedan skriver "apparna" i.

Visa signatur

Citera eller nämn gärna mig (@ToJa92) om du svarar på något jag skrivit.
Uppskattar du eller blir hjälpt av ett inlägg jag skrivit är jag tacksam om du gillar det.

Permalänk
Medlem

inb4 10 sidor av "såhär lärde jag mig programmera, du borde göra det med" samt "detta språk är mycket bättre för nybörjare"

Välj ett språk, spelar ingen roll vilket.*
Googla efter tutorials, jag tror du har förmågan att se själv om de är bra eller inte.
Ha kul, var intresserad, lek dig fram.
Du märker själv när det är dags för dig att ta dig ann något mer avancerat för att inte stampa på samma ställe hela tiden.

* Java används ofta för android, Objective-C för iOS, osäker för Win7 men förmodligen C# eller "vad som helst" som använder .NET.

Du kan nu ignorera resten av tråden.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk
Medlem
Skrivet av ToJa92:

Frågan är ju vilken plattform du vill skriva "appar" till. Facebook? Android? iOS? Någon annan plattform? Beroende på vad du vill utveckla till är det (troligen) olika språk, och då är det troligen enklast att börja med det språk som man sedan skriver "apparna" i.

Ursäkta min otydlighet, vad jag syftade på var främst iOS-appar.

Skrivet av gibbon_:

inb4 10 sidor av "såhär lärde jag mig programmera, du borde göra det med" samt "detta språk är mycket bättre för nybörjare"

Välj ett språk, spelar ingen roll vilket.*
Googla efter tutorials, jag tror du har förmågan att se själv om de är bra eller inte.
Ha kul, var intresserad, lek dig fram.
Du märker själv när det är dags för dig att ta dig ann något mer avancerat för att inte stampa på samma ställe hela tiden.

* Java används ofta för android, Objective-C för iOS, osäker för Win7 men förmodligen C# eller "vad som helst" som använder .NET.

Du kan nu ignorera resten av tråden.

Tack för bra svar!
Även om det inte spelar någon roll vilket språk jag väljer tar jag gärna tips, när jag inte vet vilka som finns. Objective-C är alltså vad jag borde välja om jag vill lära mig programmera appar till iOS? Men vad kan man mer göra i detta språk? Vad begränsar språken? Säg att jag en dag vill göra ett dataprogram för windows eller mac, kommer jag kunna göra detta i Objective-C?

Permalänk
Medlem
Skrivet av hapone:

Ursäkta min otydlighet, vad jag syftade på var främst iOS-appar.

Tack för bra svar!
Även om det inte spelar någon roll vilket språk jag väljer tar jag gärna tips, när jag inte vet vilka som finns. Objective-C är alltså vad jag borde välja om jag vill lära mig programmera appar till iOS? Men vad kan man mer göra i detta språk? Vad begränsar språken? Säg att jag en dag vill göra ett dataprogram för windows eller mac, kommer jag kunna göra detta i Objective-C?

Det går distanskurser i just app programmering på diverse universitet

Kan kanske vara en bra grej att testa en sådan kurs och lära sig lite sen finns det ju kurser i princip allt tror det finns en kurs som heter grundläggande programmering eller så.

http://www.umu.se/utbildning/program-kurser/kurs/?code=5DV032
http://lnu.se/utbildning/kurser/1DV432#semester_20123
http://edu.bth.se/utbildning/utb_kurstillfalle.asp?KtAnmKod=C...

Alternativt något datavetenskapligt program.

Och angående språk har du väl lärt dig ett är inte skillnaderna jättestora

Insåg att åldern kanske är ett problem här. Men är du i universitetsålder så är det ett hett tips för det är klart det går att lära sig själv fast det hjälper att iallafall ha en uppgift att utgå ifrån

Visa signatur

Återkommer om den saken....

Permalänk
Medlem

Kanonsida med en massa youtube lektioner i diverse programmeringsspråk (däribland Objective-c)
är The New Boston

Visa signatur

My sole companion is my weapon. I must care for it better than any hunter has ever cared for his beast. I must master it more than any warlock has ever mastered his demon. Without me, it is useless. Without it, I am nothing.
I am the Warrior. Death is my business. Be it yours...or mine.

Permalänk
Medlem

För det första behöver du mac os för det är ett krav för utveckling för IOS.

Permalänk
Medlem
Skrivet av zenjin:

Det går distanskurser i just app programmering på diverse universitet

Kan kanske vara en bra grej att testa en sådan kurs och lära sig lite sen finns det ju kurser i princip allt tror det finns en kurs som heter grundläggande programmering eller så.

http://www.umu.se/utbildning/program-kurser/kurs/?code=5DV032
http://lnu.se/utbildning/kurser/1DV432#semester_20123
http://edu.bth.se/utbildning/utb_kurstillfalle.asp?KtAnmKod=C...

Alternativt något datavetenskapligt program.

Och angående språk har du väl lärt dig ett är inte skillnaderna jättestora

Insåg att åldern kanske är ett problem här. Men är du i universitetsålder så är det ett hett tips för det är klart det går att lära sig själv fast det hjälper att iallafall ha en uppgift att utgå ifrån

Tack för länkarna!
Spontant är jag mer inställd på att lära mig på egen hand, utan att studera på universitet. Men jag ska överväga det.
Min ålder är för övrigt 25.

Skrivet av Brajg:

Kanonsida med en massa youtube lektioner i diverse programmeringsspråk (däribland Objective-c)
är The New Boston

Grymt, tackar!

Permalänk
Medlem
Skrivet av hapone:

Tack för bra svar!
Även om det inte spelar någon roll vilket språk jag väljer tar jag gärna tips, när jag inte vet vilka som finns. Objective-C är alltså vad jag borde välja om jag vill lära mig programmera appar till iOS? Men vad kan man mer göra i detta språk? Vad begränsar språken? Säg att jag en dag vill göra ett dataprogram för windows eller mac, kommer jag kunna göra detta i Objective-C?

En liten lögn för att slippa gå in på detaljer som inte kommer beröra dig på en lång tid framöver: Du kan göra allt med Objective-C, inklusive program för windows/mac, inget begränsar språken. (bortsett från obskyra språk som saknar vettiga bibliotek)

När du känner dig begränsad av språket du använder kommer du även veta varför och hur du relativt lätt tar dig runt det. Detta är inget som helst du bör oroa dig över nu. Ett steg i taget.

Objective-C är inte på något vis ett sämre val än något annat, så kör hårt på det om du blir taggad av den tanken.

När du vill göra din första iOS-app kan du installera en virtual machine och installera OSX, så du behöver inte vara rädd för att behöva punga ut för en hel mac.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk
Medlem
Skrivet av gibbon_:

En liten lögn för att slippa gå in på detaljer som inte kommer beröra dig på en lång tid framöver: Du kan göra allt med Objective-C, inklusive program för windows/mac, inget begränsar språken. (bortsett från obskyra språk som saknar vettiga bibliotek)

När du känner dig begränsad av språket du använder kommer du även veta varför och hur du relativt lätt tar dig runt det. Detta är inget som helst du bör oroa dig över nu. Ett steg i taget.

Objective-C är inte på något vis ett sämre val än något annat, så kör hårt på det om du blir taggad av den tanken.

När du vill göra din första iOS-app kan du installera en virtual machine och installera OSX, så du behöver inte vara rädd för att behöva punga ut för en hel mac.

Oväntat bra standard på svaren, jag tackar återigen!
Grymt, då har jag alltså ett språk att börja med, och en hemsida att lära mig från.

Just nu har jag inga vidare frågor, men om någon vill tillföra något mer är jag endast tacksam.

Permalänk
Medlem
Skrivet av hapone:

Tack för länkarna!
Spontant är jag mer inställd på att lära mig på egen hand, utan att studera på universitet. Men jag ska överväga det.
Min ålder är för övrigt 25.

Grymt, tackar!

Största fördelen med att läsa någon distanskurs skulle jag säga är att man får en uppgift i övrigt har man inte särskilt mycket undervisning utom möjligtvis lite länkar och så

Visa signatur

Återkommer om den saken....

Permalänk
Medlem

http://www.umu.se/utbildning/program-kurser/kurs/?code=5DV032
Denna kurs har jag läst för länge sen, den är ganska bra, jag körde i en Virtual machine och jag hade ingen iPhone heller utan körde i simulator och det funkade hyfsat :D. Om jag minns rätt så började kursen med en snabb genomgång av Obj-C, men det är inte för nybörjare, man förväntas kunna andra språk. En annan kurs i ett Objekt Orienterat språk är också ett krav att man har.

Just förståelse i objekt orientering är viktigt att man har, och en nybörjar kurs i något OO-språk kommer ge väldigt mycket i längden. Så du har förståelse för begrepp som klass, objekt, instans, mm... och en sådan kurs kommer att gå på djupet. Men det kanske finns bra tutorials att hitta också, men för en nybörjare tror jag det blir mycket lättare med en sådan kurs.

För att det är skillnad på att hacka ihop en app med några knappar och att designa ett större projekt som ska se proffsigt ut.

Men du kan börja med att hacka lite Obj-C kod så du ser att det händer grejer, det är alltid kul när man är nybörjare (Hello World )

Visa signatur

Intel 2500k || Asus P8P67 Pro || 2x4GB Corsair Vengeance || MSI GTX680 || Corsair AX650W || Win 7 64-bit

Permalänk
Medlem

Nu dök det upp en fråga här. Jag surfade mig fram till följande guide för hur jag ska komma igång:

http://www.ehow.com/how_5148893_start-learning-objectivec-win...

Dock stöter jag på problem redan i första steget. När jag laddar ner GNUstep MSYS System från http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/gnust... och sedan installerar den får jag en varning från avast som säger att "RDJPGCOM.EXE" innehåller virus. På googlingen "RDJPGCOM.EXE virus" får jag inga vettiga träffar.

Vad hände? Är det ett virus på riktigt eller lurar bara avast mig? Källan jag laddat ner från är ju gnustep.org, har de verkligen virus i sina filer?

Permalänk

Det finns även iOS kurser på iTunes U (som är gratis). Bland annat från Stanford, se iPad and iPhone Application Development (Fall 2011).

Sen rekommenderar jag starkt att läsa följande dokument från Apple (de är bra grejer och mer eller mindre "required reading"):
- iOS Starting Point
- The Objective-C Programming Language
- Your First iOS App
- iOS Human Interface Guidelines

Skaffa också ett konto på Apples utvecklarportal (gratis).
Du kan tanka hem Xcode (4) från Mac App Store.

Gällande GNUStep så har de troligen inte virus, så kallade anti-virus program är extremt dåliga på att utföra sitt jobb och samtidigt relativt duktiga på att ge falsk-positiva utslag. Vidare gällande GNUStep så kan du inte* utveckla för iOS med det. iOS använder nämligen UIKit medans GNUStep efterliknar Cocoa och AppKit som används för OS X. Men det går ju att använda sig för att lära sig Objective-C. Dock vet jag inte om du får nya fina saker som ARC (automatisk manuell minneshantering typ (bra skit!) ) och liknande. Dessutom kommer din Windows- editor/IDE att vara betydligt sämre jämfört med Xcode för Objective-C och GUI-skapande.

* Kanske går med hjälp av Chameleon, men då är vi inte på nybörjarnivå längre.

Visa signatur

Permalänk
Medlem

Nu är det ju ett tag kvar men ett tips om du vill läsa lite kortare kurser är att kolla på sommarkurser. Universiteten kör rätt många distanskurser i programmering under sommaren. Mycket möjligt att det även går distanskurser under årets andra dagar också men det har jag ingen koll på. Tror inte det brukar krävas mer än ett slutbetyg från gymnasiet för att få läsa dom.

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | aw3225qf |

Permalänk
Avstängd

Lånar snabbt.

Någon som har en Sida med bra tutorials för Java?

Visa signatur

GPU: Sapphire HD7950 3GB OC CPU: i5 2500K 4.4GHz KYL: Scythe Mugen 2
MOBO:
Gigabyte Z68X-UD3H B3 RAM: GSkill 8GB 1600MHz PSU: Corsair TX650W
MUS: Logitech G400 TB: Logitech G15 SKÄRM: BENQ G2220HD // G2400W
HÖRLUR: HD558 LJUDKORT: Xonar DX CASE: Define R3 SSD: NOVA 2 60GB MECH: 3.75TB

Permalänk
Medlem
Skrivet av schitzo:

Lånar snabbt.

Någon som har en Sida med bra tutorials för Java?

Kolla på thenewboston.com

Permalänk
Medlem

Kan rekommendera den här sidan: http://www.codecademy.com

Nya lektioner veckovis. För tillfället finns det bara inom JavaScript, men tror att de kommer behandla fler språk i framtiden.

Sen har jag anmält mig till en distanskurs på universitetet som heter "Inledande programmering i JAVA": http://www.ltu.se/edu/course/D00/D0017D

Planen är att gå den och "Objektorienterad programmering i JAVA". Beroende på hur det går/känns kanske jag går vidare med "Spel- och applikationsutveckling på Android". Sistnämnda finns även för iPhone.

Permalänk
Medlem

Hej igen.
Först nu har jag egentligen satt igång. Dock stöter jag på ytterligare ett problem redan i det första steget. På samma sida som jag länkade till i förra inlägget (http://www.ehow.com/how_5148893_start-learning-objectivec-win...) Efter att ha gjort hello.m enligt instruktionerna står det att jag ska öppna shell.exe under gnustep i startmenyn och skriva in:

cd C:\
g++ hello.m

När jag skriver g++ hello.m står det "sh: cd: C:g++: no such file or directory"

Vad gör jag för fel?
Exakta texten i hello.m är:

#import <stdio.h> int main(int argc, const char *argv[]){ printf("Hello World!\n"); return 0; }

(Jag vet inte vad det betyder, mer än det uppenbara att texten "Hello World" ska dyka upp vid något tillfälle)

Permalänk
Medlem

Jag skulle personligen tagit ett språk med mer stöd än Objective-C under Windows. C är väl rätt standard, och då kan du även få ett vettigt IDE istället för notepad.

Om du vill fortsätta på samma spår så ladda gärna ner Notepad++. Man vill gärna ha syntax-highlightning, radnumrering och så vidare.

Angående ditt problem kan jag inte hjälpa dig mycket mer än att den inte hittar filen. Du är säker på att hello.m ligger direkt på C:\? På felmeddelandet låter det nästan som att cd inte hittar dit, vilket är konstigt då du redan gjort cd till mappen.

Permalänk
Medlem
Skrivet av hapone:

Hej igen.
Först nu har jag egentligen satt igång. Dock stöter jag på ytterligare ett problem redan i det första steget. På samma sida som jag länkade till i förra inlägget (http://www.ehow.com/how_5148893_start-learning-objectivec-win...) Efter att ha gjort hello.m enligt instruktionerna står det att jag ska öppna shell.exe under gnustep i startmenyn och skriva in:

cd C:\
g++ hello.m

När jag skriver g++ hello.m står det "sh: cd: C:g++: no such file or directory"

Vad gör jag för fel?
Exakta texten i hello.m är:

#import <stdio.h> int main(int argc, const char *argv[]){ printf("Hello World!\n"); return 0; }

(Jag vet inte vad det betyder, mer än det uppenbara att texten "Hello World" ska dyka upp vid något tillfälle)

Testa att använda / istället, dvs skriv "cd C:/" istället för "cd C:\"

Permalänk
Medlem
Skrivet av htux:

Testa att använda / istället, dvs skriv "cd C:/" istället för "cd C:\"

I Windows används \ för paths. Om det inte är annorlunda under Cygwin eller vad det nu blir han använder när han kör shell.exe. Har ingen större erfarenhet av sådant meck.

Permalänk
Medlem
Skrivet av Murer:

Jag skulle personligen tagit ett språk med mer stöd än Objective-C under Windows. C är väl rätt standard, och då kan du även få ett vettigt IDE istället för notepad.

Om du vill fortsätta på samma spår så ladda gärna ner Notepad++. Man vill gärna ha syntax-highlightning, radnumrering och så vidare.

Angående ditt problem kan jag inte hjälpa dig mycket mer än att den inte hittar filen. Du är säker på att hello.m ligger direkt på C:\? På felmeddelandet låter det nästan som att cd inte hittar dit, vilket är konstigt då du redan gjort cd till mappen.

Skrivet av htux:

Testa att använda / istället, dvs skriv "cd C:/" istället för "cd C:\"

Skrivet av Murer:

I Windows används \ för paths. Om det inte är annorlunda under Cygwin eller vad det nu blir han använder när han kör shell.exe. Har ingen större erfarenhet av sådant meck.

Tack för svaren!
Nu sitter jag inte vid den datorn för tillfället, men jag testade både / och \, när jag själv tyckte att det kändes fel.

Men att det här ska vara krångligt känns så onödigt, så jag tar nog och testar på C, som du säger Murer.

EDIT:
Ska jag då välja C eller C++? Finns det något att föredra om jag som sagt en dag vill kunna programmera appar till iOS? Bortsett från att jag vid något tillfälle hursomhelst kommer att behöva sätta mig vid en mac.

Permalänk
Medlem

Både Obj-C och C++ är utvecklingar av C, för att göra det objektorienterat.

Jag vet faktiskt inte vad som är bäst att rekommendera. C är ett måste (i alla fall grunderna), men om du ska lägga så mycket tid på skapande i C vet jag inte, för då riskerar du att hamna i ett icke-objektorienterat tänk, vilket skulle vara kontraproduktivt för ditt slutmål. Alla böcker och tutorials jag sprungit på för Obj-C kör en snabbkurs i C, för att därefter lyfta fram svagheterna och istället fokusera på objektorienterat, vilket är just vad Objective-C är - tillägg som gör C objektorienterat. Har jag skrivit objektorienterat tillräckligt mycket? Bra, för all kodning till iOS utgår från det, så fokusera på det. (Gå alltså inte och lär dig Brainfuck som första programmeringsspråk, även om det är roligt...)

Du kan gå direkt på C++ också för att direkt få "rätt tänk", men den objektorienterade delen av Obj-C har helt annan syntax, vilket kanske kan bli rörigt då om fokus ligger på iOS-appar.

I slutändan spelar det ingen roll vilket språk du lär dig först. Har du väl fått en "programmerarhjärna" omsätter man ganska enkelt sin kunskap mellan språk. Lägg några dagar var på de stora och se vad du fastnar för och vilket som snabbast ger dig resultat.

Visa signatur

We shall never cease from exploration And the end of all our exploring Will be to arrive where we started And know the place for the first time.
- T. S. Eliot

Permalänk
Medlem

står valet mellan c och c++ så tycker jag absolut att du ska välja c++ med motivieringen att c inte är ett objektorienterat språk samt att det mest (vad jag vet) används för lågnivå grejjer. C är också rätt krångligt. Vill du programmera till iphone så är det väl snarare objective c som du bör lära dig än något annat, har inte kodat något i det så vet inte hur mycket som skiljer. Tycker dock att du först bör lära dig grunderna i programmering med i princip valfritt språk och sen byta.

edit: eller ja. sitter du på osX så kan du ju börja med objective-c om du vill det.

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | aw3225qf |

Permalänk
Medlem

Det är ju självklart C# du ska använda om du vill ligga nära Objective-C.

Men du kommer inte lära dig någonting alls om iOS-utveckling om du inte använder Xcode i MacOS, eftersom du inte kan använda Cocoa.

Visa signatur

Hackintosh?
Mac OSX Tweaks/Hacks?

--> Besök nya [B]groths.org[/B]

Permalänk
Medlem
Skrivet av Murer:

I Windows används \ för paths. Om det inte är annorlunda under Cygwin eller vad det nu blir han använder när han kör shell.exe. Har ingen större erfarenhet av sådant meck.

Dock var jag riktigt säker på att det var felet, eftersom ett \ precis före ett radnerhopp gör så att datorn ignorerar. Därför borde kommandot han skriver in tolkas som "cd C:g++ hello.m", vilket stämmer riktigt bra in på felet. Man kan då antingen escapea själva \ genom att skriva \\ istället, eller använda / som också borde funka utmärkt i Windows.

Permalänk
Medlem
Skrivet av hapone:

Hej igen.
Först nu har jag egentligen satt igång. Dock stöter jag på ytterligare ett problem redan i det första steget. På samma sida som jag länkade till i förra inlägget (http://www.ehow.com/how_5148893_start-learning-objectivec-win...) Efter att ha gjort hello.m enligt instruktionerna står det att jag ska öppna shell.exe under gnustep i startmenyn och skriva in:

cd C:\
g++ hello.m

När jag skriver g++ hello.m står det "sh: cd: C:g++: no such file or directory"

Vad gör jag för fel?
Exakta texten i hello.m är:

#import <stdio.h> int main(int argc, const char *argv[]){ printf("Hello World!\n"); return 0; }

(Jag vet inte vad det betyder, mer än det uppenbara att texten "Hello World" ska dyka upp vid något tillfälle)

Först och främst har du hello.m i c eller ligger det i någon undermapp?
kör du osX kan du köra

cd C:\ ls g++ hello.m

ls kommer visa vilka filer som finns i sökvägen c
sedan kan du testa att köra hello som en void funktion alltså

#import <stdio.h> int main(void){ printf("Hello World!\n"); return 0; }

Vet dock inte om det fungerar i objective c men som du skrev förut förväntar sig programmet linparametrar i form utav en sträng

Visa signatur

Återkommer om den saken....

Permalänk
Medlem

Tack för alla svar!
Jag installerade CodeBlocks nu och har så smått börjat kolla på C. Jag hittade en sida med 15 tutorials till det, som jag tänkte börja med att kolla på. Sen får jag väl helt enkelt se till att jag inte snöar in mig för mycket i C, men jag tror jag kollar igenom de här tutorialsarna först så har jag någon typ av grund när jag väljer nästa språk som tar mig i rätt riktning.

Permalänk
Avstängd

Kanske lite sent ute men jag rekommenderar www.lynda.com
(kostar pengar, får det gratis genom jobbet så vet inte hur mycket.)

De har förutom kurser i allt datarelaterat mellan himmel och jord en kurs som heter Foundations of programming. Den går igenom likheter och skillnader mellan en mängd olika språk och förklarar grundtankarna i Programmering i stort. Sedan lite tips om vart man gå därifrån. Den är tänkt för folk som precis ska börja programmera.

http://www.lynda.com/JavaScript-tutorials/Foundations-of-Prog...