Permalänk

Info om programmering sökes

Hej!

Jag har tänkt att börja lära mig att programmera. Jag skulle bara vilja ha några snabba svar på några frågor innan jag börjar att lära mig.

1. Har läst omkring lite och det verkar som att C++ är det vanligaste kodspråket, så är det denna jag ska satsa på?
2. Det finns ju flera program som man kan programmera i men vilken är den bästa? Är visual studio att rekommendera?

Det var allt jag kom på just nu. Uppskattar alla svar

Permalänk
Medlem

Skulle väl spontant rekommendera något annat än C++, det är mycket som kan gå fel där och det väldigt lång tid att bli duktig i C++.
C#/Java är nog lättare att komma igång med, Visual Studio är mycket bra om man ska pyssla med t.ex. C#.
Eclipse och Netbeans är väl det mesta aktuella för Java, då dessa även är gratis.
Funkar även att lära sig en del grunder i C, det är ett bra att språk att börja med, men det blir väldigt omständigt när man skall göra nå mer komplext, men för de basala delarna funkar det bra.
Kan ju alltid testa lite av varje och jämföra vilket som 'känns' lättast.
Lycka till!;)

Visa signatur

Spelrigg: 800D| i7 3930K@4,7 GHz - Custom WC | 32 GB Kingston HyperX Beast | 7970 GHz X-Edition |1x30 Dell U3011, 2x27" | Sennheiser HD650 | Xonar Essence STX |
Laptop: G74SX 17,3" 120 Hz 3D |
Server: Phenom II X4 955BE | Corsair XMS3 8 GB | 16 HDDs, 27 TB |
HTPCs: ASUS EEE Box 1.8 Ghz | Blu-Ray | OCZ Vertex 2 60 GB | 4 GB RAM |

Permalänk
Medlem

Ignorera Gnejs.

C++ är inte svårare än något annat språk.
Programmering handlar om så mycket annat än språket.

Vilket språk du ska välja att börja med beror väl helt på vilket du vill börja med och till viss del vad du ska göra.

Ska du tex. göra windows-applikationer är det nog enklast att börja med C#/Visual Studio/Winforms.

(Java är förövrigt störst)

Visa signatur
Permalänk
Medlem
Skrivet av Softnux:

Ignorera Gnejs.

C++ är inte svårare än något annat språk.
Programmering handlar om så mycket annat än språket.

Vilket språk du ska välja att börja med beror väl helt på vilket du vill börja med och till viss del vad du ska göra.

Ska du tex. göra windows-applikationer är det nog enklast att börja med C#/Visual Studio/Winforms.

(Java är förövrigt störst)

Jo, som sagt. Om du har ett specifikt mål med programmeringen så beror valet av programspråk mycket på detta mål.

C++ tycker jag är ett ypperligt språk att starta med. Det är ett omfattande språk och det finns mycket att lära sig där. Just detta gör att jag tycker att det är lämpligt om man vill lära sig olika aspekter av programmering.
Syntaxen är, i mitt tycke, mycket enkel och naturlig och mycket passande för en nybörjare. Det finns svårare delar naturligtvis, men man tar ju en sak i taget och börjar med det enklaste.

Visual Studio 2010 tycker jag är mycket trevligt att arbeta med. I kompilatorn där finns dessutom redan stöd för vissa delar av C++0x, den nya revisionen av C++ som är på väg.
Ska man lära sig alla alternativ och menyval och så i Visual studio så är det dock mycket att lära sig, men det behöver man å andra sidan inte för att skriva enklare program...

Visa signatur

Namn : Jesper | Ålder : 45 | In-game namn : iller
Yrke : Matematisk modellerare (finansiell matematik), mjukvaruutvecklare för risksystem.
Utbildning : Doktor i matematik + en del mat-stat, numme och IT-relaterat.

Permalänk
Medlem

För nybörjare tycker jag att Bloodshed Dev c++ är grym! Vem orkar göra hela VS-projekt för små Hello World appar?

Permalänk
Skrivet av Softnux:

(Java är förövrigt störst)

Vilken källa har du för det?

Permalänk
Hedersmedlem
Skrivet av Rådström:

För nybörjare tycker jag att Bloodshed Dev c++ är grym! Vem orkar göra hela VS-projekt för små Hello World appar?

Dev-c++ har dock varit dött de senaste fem-sex åren (sedan utvecklingen lades ned). Inte heller tidigare hade det mycket att komma med mot visual studio, men innan visual studio express lanserades hade det i alla fall fördelen att det var gratis. Så jobbigt är det inte att skapa projekt, för övrigt.

Skrivet av Softnux:

(Java är förövrigt störst)

http://langpop.com/ har en del grafer av okänd pålitlighet.

Permalänk
Medlem

Som det har sagts ovan så spelar det nog inte alltför stor roll vad för språk du börjar med.
Men skulle väl själv säga att du kanske ska börja med något språk där du slipper tänka så mycket på syntax och kan få in "programmeringstänket" istället.
Så kanske python eller perl skulle funka fint.

Mvh

Visa signatur

Dator: Fractal Design XL || Windows 10 || i5 750 || 8 GB RAM || HD 7970 || 120 GB SSD
Server: Fractal Design Core 3000 || ESXi 5.1 || AMD FX-6100 || 20 GB RAM
Foto: 7D || 17-50mm f/2.8 || 50mm f/1.8 || 70mm f/2.8 || 70-200mm f/2.8
Citera för svar!

Permalänk
Hedersmedlem
Skrivet av VirtualIntent:

Vilken källa har du för det?

Räknar man in alla mobiltelefoner (som Oracle gillar att göra) så blir det snabbt många miljarder enheter med Javastöd, och väldigt många mjukvaruprojekt i Java.

--

Vilket språk som är störst tycker inte jag är så relevant om man vill lära sig programmera. Som nämns så är det mest ett tankesätt, kan du ett språk (vad innebär att "kunna ett språk"? Skriva "Hello world"? Fixa kompilatorbuggar?) så rasslar fler på. Av den anledningen skulle jag råda att du börjar med ett språk som är "snällt" och som kan ge resultat snabbt, så att man inte tröttnar av C-väggen. Python är väl det uppenbara valet, om man räknar in mängden hjälp som finns att få på internet.

Börja med "Dive into Python" eller någon av många andra nybörjarguider. Av personlig erfarenhet skulle jag säga att man inte lär sig i närheten lika mycket av artificiella övningar som om man faktiskt hittar ett personligt projekt som man vill lösa. I början väldigt enkla, och gradvis värre. Några saker jag själv gjorde av denna svårighetsgrad var program som:

  • crawlade hemsidor, följde länkar med ett visst djup och sparade ner material

  • beräknade ingrediensmängder för drinkar (ange antal gäster och volym per drink)

  • parseade onlinestatistik om min totala internettrafikmängd och presenterade det i terminalen (lätt adapterat till GUI)

  • höll reda på just den trafikmängden och mina lokala applikationer så att jag höll mig inom trafikbegränsningar min ISP hade och automatiskt kickade igång igen efter midnatt när mängderna nollades

  • genererade HTML-sida med thumbnails och länkar till fullstorlek av alla bilder i en angiven mapp och publicerade detta på lokal webserver

etc. Väldigt enkla projekt som tvingar en att lära sig språkets grunder. Gå igenom någon nybörjarkurs och försök hitta något personligt litet projekt.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

Börja med Python eller Ruby, de har ett enkelt syntax och inte så mycket komplicerade strukturer (typ pekare) att hålla reda på. Det är programmeringstänket du måste få in först, och det är relativt språkoberoende.

Söker du i forumet kan du för övrigt hitta hur många trådar på ämnet som helst. Här är en tråd och här är en annan. I den senare svarade jag så här:

Skrivet av You:

Kolla den här gamla tråden om samma sak, som innehåller ungefär samma argument som kommer dyka upp här. Detta ämnet har diskuterats ad nauseam.

Med det sagt;

  • Java har ett enormt och dåligt designat API, även om språket i sig självt inte är helt hemskt.

  • C är lite för lågnivå att börja med och det tar tid innan man får skapa något ordentligt.

  • C++ är lite samma stuk, och är dessutom ett dåligt byggt objektorienterat språk på grund av vissa designval.

  • D är ett bättre C-baserat objektorienterat språk som är något lättare att lära sig men plågas av att det har två standardbibliotek och dåligt stöd i vanliga bibliotek.

  • Obj-C är lite OSX-specifikt och har ett udda syntax, men är i övrigt som C, typ.

  • C# är (fortfarande lite) bundet till Microsoft och ungefär lika svårt att lära sig som Java.

  • Python och Ruby (där Python har lite större community) är lätta att förstå och ett syntax som liknar vanligt språk. De är i min mening de enda vettiga startpunkterna för någon som ska lära sig programmera.

Övriga språk är inte av intresse för en nybörjare som vill lära sig programmera eftersom de antingen är funktionella (Haskell, Lisp) eller för gamla (Basic, VB, Delphi).

Permalänk
Medlem
Skrivet av You:

Börja med Python eller Ruby, de har ett enkelt syntax och inte så mycket komplicerade strukturer (typ pekare) att hålla reda på. Det är programmeringstänket du måste få in först, och det är relativt språkoberoende.

Söker du i forumet kan du för övrigt hitta hur många trådar på ämnet som helst. Här är en tråd och här är en annan. I den senare svarade jag så här:

Vad är det du tycker är dåligt designat i Javas API? (förutom Date som alla hatar.. )

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Elgot:

Dev-c++ har dock varit dött de senaste fem-sex åren (sedan utvecklingen lades ned). Inte heller tidigare hade det mycket att komma med mot visual studio, men innan visual studio express lanserades hade det i alla fall fördelen att det var gratis. Så jobbigt är det inte att skapa projekt, för övrigt.

Som nybörjare kände iaf jag att Visual Studio hade en hel del funktioner som verkligen aldrig användes utan gjorde upplevelsen krångligare. När man är ny vill man väl ändå fokusera helt och hållet på själva programmeringen och inte på allt lull-lull som VS har? Dev har ju ändå det man behöver och är riktigt simpelt att sätta upp.

Jag skulle nog råda TS att börja med ett objekt-orienterat språk som Java. (Eller C++ om man gör "rätt") Det kommer göra det lättare i framtiden om man börjar med rätt tänk.

Permalänk
Medlem
Skrivet av Rådström:

Som nybörjare kände iaf jag att Visual Studio hade en hel del funktioner som verkligen aldrig användes utan gjorde upplevelsen krångligare. När man är ny vill man väl ändå fokusera helt och hållet på själva programmeringen och inte på allt lull-lull som VS har? Dev har ju ändå det man behöver och är riktigt simpelt att sätta upp.

Problemet är väl i så fall inte att det har funktioner man inte använder utan att man saknar kunskaper till de mest vitala funktionerna, som det egentligen är. Jag blir nästan mörkrädd över hur dåliga vissa personer är när det gäller t.ex. debugging. Det borde vara det första man får lära sig. Har sett skräckexempel där personer använder cout för att debugga!!!

Om man nu trots allt inte tycker om VS så innebär inte det per automatik att DevCpp är bra. DevCpp är dåligt, punkt slut. Det finns många bra IDE:r som gör jobbet bättre, t.ex. codeblocks.

Visa signatur

citera!

Permalänk
Medlem

Som vanligt när nån frågar om vilket språk man bör börja med blev det pajkastning. Tråkigt.

Som tidigare nämnts bör du välja språk lite beroende på mål.
Spel, program och websidor görs med fördel i olika språk.

C++ som du nämner är ett populärt språk då det var tidigt ute med bla. Object Orientering. Att det även bygger på ett annat populärt och bra språk, C gjör inte saken sämre.
C++ sakar dock lite funktioner som gör skrivandet smidigare, spec. för nybörjare. Jag tänker bland annat på Garbage collection och automatiska data types.
Därför rekomenderar jag inte C++ till att börja med, men något som kan vara värt att ta upp senare. Iaf. om det är spel du vill pyssla med.

Java har en syntax som liknar C++ och har bla. Garbage collection. Java har även ett väldigt stor bibliotek och bjuder bland annat på Swift (Ett gränsnit för grafiska program). Det jag personligen inte gillar med Java är att en del saker känns konstiga och ogenomtänkta. Plus är annars att det funkar på dem flesta saker. Även Android kör java. Eftersom det är ganska likt C++ är det också hyfsat lätt att lära sig det om du vill börja med lite tyngre spel.

Python är ett språk som är designat för att vara enkelt och snabbt att programmera i. Men det är ändå lika kraftfullt som tex. java.
Personligen föredrar jag Python. Det har bla. Garbage collection och automatiska data types. Dessutom hålls koden renare då du inte behöver använda {} ; och liknande, istället tvingas du att skriva "ren" kod eftersom det är indragningar och radbrytningar som definerar var block börjar och slutar. Även Python har ett väldigt stort standarbibliotek.

Visual Studio och dess språk, Visual C++, Visual C#, Visual Basic, Visual F# m.m. Är också gjorda med avändarvänlighet i åtanke. Bla. kan du göra grafiska gränsnitt bara genom att dra ut knappar, listor och annat i ett fönster. Dock är du ganska begränsad till windows, även om äldre versioners binärer går att köra med mono i bla. OSX och linux.

Personligen, eftersom jag inte vet ditt mål, skulle jag säga börja med Python. När du sen har lärt dig lite börjar du experimentera med olika språk och känner vad som passar dig.

Permalänk

Oj, tack för alla svar, det blev väldigt mkt info. Grejen med att jag tänkt att börja programmera är att jag har ett år kvar på gymnasiet och just nu ser det ut som att jag ska plugga vidare till civilingenjör i datateknik. Jag har läst att man lär sig en del programmering där, så varför inte börja nu. Jag är mest intresserad av spel o- program programmering, men liksom dörren är helt öppen för andra programmerings typer.

Vad tycker ni om att jag börjar lära mig Python, och sedan när jag fått grepp på de byter över till C++ eller något annat?

Permalänk
Medlem

Med smartpekarna i den nya standarden C++0x till C++ så blir dock det där med garbage collection inte några större problem.
Det har också sådana där automatiska data types. Båda dessa features stöds redan idag i Visual studio 2010.

Visa signatur

Namn : Jesper | Ålder : 45 | In-game namn : iller
Yrke : Matematisk modellerare (finansiell matematik), mjukvaruutvecklare för risksystem.
Utbildning : Doktor i matematik + en del mat-stat, numme och IT-relaterat.

Permalänk
Medlem
Skrivet av Karatebabbe:

Oj, tack för alla svar, det blev väldigt mkt info. Grejen med att jag tänkt att börja programmera är att jag har ett år kvar på gymnasiet och just nu ser det ut som att jag ska plugga vidare till civilingenjör i datateknik. Jag har läst att man lär sig en del programmering där, så varför inte börja nu. Jag är mest intresserad av spel o- program programmering, men liksom dörren är helt öppen för andra programmerings typer.

Vad tycker ni om att jag börjar lära mig Python, och sedan när jag fått grepp på de byter över till C++ eller något annat?

Det viktiga när man ska lära sig programmering är väl egentligen inte främst vilket språk man börjar med, utan mer att man lär sig grundläggande begrepp, tankegångar och algoritmer. När man väl har bra koll på det så är det mest att lära sig vad som skiljer ett språk från ett annat när det gäller syntaxen.
Den grundläggande syntaxen för ett språk brukar sedan vara lätt att sätta sig in i.

Visa signatur

Namn : Jesper | Ålder : 45 | In-game namn : iller
Yrke : Matematisk modellerare (finansiell matematik), mjukvaruutvecklare för risksystem.
Utbildning : Doktor i matematik + en del mat-stat, numme och IT-relaterat.

Permalänk
Medlem
Skrivet av Karatebabbe:

Oj, tack för alla svar, det blev väldigt mkt info. Grejen med att jag tänkt att börja programmera är att jag har ett år kvar på gymnasiet och just nu ser det ut som att jag ska plugga vidare till civilingenjör i datateknik. Jag har läst att man lär sig en del programmering där, så varför inte börja nu. Jag är mest intresserad av spel o- program programmering, men liksom dörren är helt öppen för andra programmerings typer.

Angående att man lär sig programmering på D-linjen skiljer sig väl en hel del mellan olika lärosäten? Den uppfattningen jag har fått är att man oftast brukar räkna med att teknologerna kan programmera utan att de lära ut det, då det anses vara en ganska grundläggande sak.

Visa signatur

citera!

Permalänk

Tack för alla svar, det är sjukt vad många bra svar man får. Som ni märker så jag inget proffs inom detta område, men ger goda kunskaper inom programmering något inom animering( menar då data animationer= t.ex toy story liknande) eller är det två helt olika saker.

Permalänk
Skrivet av phz:

Räknar man in alla mobiltelefoner (som Oracle gillar att göra) så blir det snabbt många miljarder enheter med Javastöd, och väldigt många mjukvaruprojekt i Java.

Även detta är indicier. Hur många mjukvaruprojekt är "väldigt många"? På http://langpop.com som nämndes tidigare finns en rad källor (med okänd pålitlighet) och i det normaliserade diagrammet från alla källor så är C och C++ sammantaget klart större än Java. Denna information är inte helt ny (sedan april i år) så det är möjligt att siffrorna har ändrats, och det är också svårt att värdera källorna.

Jag tycker trådskaparen ska göra som den som hade samma fråga i den här tråden - kör på det du spontant känner för. Alla språk leder en i lite olika riktningar men det har i praktiken ganska liten betydelse vilket som är det första språket man börjar med. När man väl lärt sig ett så är det lättare att lära sig ett andra, och när man kan två så är det ännu lättare att lära sig ett tredje, osv.

Permalänk
Medlem

Själv började jag nosa lite på C++ och C#. Sen dog det intresset för en period, och jag började mer med webdesign, och sedan webutveckling och därmed PHP/MySQL. Efter att ha sysslat med enklare projekt i PHP periodvis under några år har jag börjat nosa på lite diverse programmeringsspråk igen. Bl. a. C++, Ruby och Python. Första tanken var: det här är ju PHP!

Mina kunskaper i PHP är visserligen hyfsat rejält begränsade, men jag kan i alla fall numera lösa enklare problem hyfsat snabbt, och för det mesta utan googles hjälp. Denna kunskap, vilket jag först nu verkligen insett, gör allt annat mycket, mycket lättare.

Alltså, som så många andra sagt, kör på det du känner för, kanske det du hittar en trivsam guide i. Likväl PHP-kunskaper som Ruby-, Java- eller Python-kunskaper gör det lättare att lära sig t. ex. C++ eller ja, vilket annat språk som helst.

Som sagt, hittar du en riktigt bra guide du trivs med, eller en utvecklingsmiljö eller plattform du trivs med, utgå därifrån

Tips: http://www.blinkenlights.se/articles/cplusplusnyborjarguide/p...
http://www.phpportalen.net/school.php

De två länkarna hjälpte mig att få upp programmeringsintresset

EDIT: Förresten, det är väl ingen gigantisk skillnad i syntax mellan t. ex. C++ och Ruby? Visst skiljer de sig hyfsat mycket, men väl inte till den grad att det blir så mycket svårare att lära sig det ena? Nu har jag som sagt bara nosat lite på de båda språken, men att avsluta med rad med ett semikolon slänga in några parenteser här och där, m.m., gör väl inte så stor skillnad? En vettig editor varnar ju rätt bra med sina färgkoder. Det första jag tänkte när jag idag kollade C++-video-guiderna som skrivits om här i forumet nyligen (första gången på länge jag tittat på C++) så tyckte jag att (de få rader jag kollat förstås) syntaxen var förvånansvärt enkel, jämfört med hur man har blivit varnad för den. Kanske bara är för att jag fann den väldigt lik PHPs syntax...
EDIT2: stav-/syftningsfel.

Visa signatur

Desktop|i5 3570k(@4,4GHz)|Asus P8Z77-V|AMD 6950|12GB RAM|Crucial BX500 480GB|Manjaro|
Laptop|Lenovo T440s|i7|8GB RAM|Debian Jessie|
Server|Fujitsu Primergy TX1310|G1820|8GB RAM|15TB|Unraid|
Ring, lånad mail

Permalänk
Medlem
Skrivet av Xburk:

EDIT: Förresten, det är väl ingen gigantisk skillnad i syntax mellan t. ex. C++ och Ruby? Visst skiljer de sig hyfsat mycket, men väl inte till den grad att det blir så mycket svårare att lära sig det ena? Nu har jag som sagt bara nosat lite på de båda språken, men att avsluta med rad med ett semikolon slänga in några parenteser här och där, m.m., gör väl inte så stor skillnad? En vettig editor varnar ju rätt bra med sina färgkoder. Det första jag tänkte när jag idag kollade C++-video-guiderna som skrivits om här i forumet nyligen (första gången på länge jag tittat på C++) så tyckte jag att (de få rader jag kollat förstås) syntaxen var förvånansvärt enkel, jämfört med hur man har blivit varnad för den. Kanske bara är för att jag fann den väldigt lik PHPs syntax...
EDIT2: stav-/syftningsfel.

Beror på hur du menar. Syntaxen är ju egentligen inte relevant här, utan språkets uppbygnad. C innehåller "svåra" koncept så som pekare man inte behöver bry sig om i Ruby, medan Ruby har konstruktioner som "känns" lättare (till exempel 1.upto(6) do ...) eftersom de ligger närmre ett naturligt språk. C++ ska man inte ens börja diskutera i sammanhanget, det finns konstruktioner även duktiga programmerare har problem med (så fort du börjar peta med templates till exempel kan det bli väldigt rörigt).

Permalänk
Medlem
Skrivet av VirtualIntent:

Vilken källa har du för det?

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.h...

Visa signatur
Permalänk

Tackar. Alltid trevligt att ha en källa så att man kan läsa hur de kommit fram till den rankingen.

Permalänk
Medlem
Skrivet av You:

Beror på hur du menar. Syntaxen är ju egentligen inte relevant här, utan språkets uppbygnad. C innehåller "svåra" koncept så som pekare man inte behöver bry sig om i Ruby, medan Ruby har konstruktioner som "känns" lättare (till exempel 1.upto(6) do ...) eftersom de ligger närmre ett naturligt språk. C++ ska man inte ens börja diskutera i sammanhanget, det finns konstruktioner även duktiga programmerare har problem med (så fort du börjar peta med templates till exempel kan det bli väldigt rörigt).

Okaj, då är jag med lite mer på resonemanget

Visa signatur

Desktop|i5 3570k(@4,4GHz)|Asus P8Z77-V|AMD 6950|12GB RAM|Crucial BX500 480GB|Manjaro|
Laptop|Lenovo T440s|i7|8GB RAM|Debian Jessie|
Server|Fujitsu Primergy TX1310|G1820|8GB RAM|15TB|Unraid|
Ring, lånad mail

Permalänk
Medlem
Skrivet av Elgot:

Dev-c++ har dock varit dött de senaste fem-sex åren (sedan utvecklingen lades ned). Inte heller tidigare hade det mycket att komma med mot visual studio, men innan visual studio express lanserades hade det i alla fall fördelen att det var gratis. Så jobbigt är det inte att skapa projekt, för övrigt.

http://langpop.com/ har en del grafer av okänd pålitlighet.

Ett inlägg här, dessa mäter vilket språk som är störst och har gjort så i många år.
Men ett problem är att definiera störst, flest rader kod, flest installationer, flest MB kompilerad kod etc. etc.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.h...

Lite intressant om detta kna man läsa på : http://en.wikipedia.org/wiki/Measuring_programming_language_p...

EDIT:
Sorry, missade att någon annan redan hittat hit SORRY

Visa signatur

MSI Z370 Gaming Pro Carbon | i5 8600K @5.0 GHz | GTX 3070 | 16GB 2666 Mhz | Noctua NH-U12A | Fractal Design Integra M 650W | 960 EVO 500 GB | 970 EVO 1 TB | Fractal Design Focus G Gunmetal Grey | Logitech G502 Wireless Lightspeed | Corsair K70 | ASUS 27" Predator | Razer Nari Essential