Permalänk
Medlem

Vilse i språkdjungeln

Hej.

Jag har på senare tid fått tillbaka mitt intresse för programmering som jag hade i gymnasiet, 1995. Då höll vi på med Turbo Pascal och nosade lite på Delphi. Vidare läste jag en nybörjarkurs i C++ på universitetet men sen dess har jag inte hållit på så mycket på allvar. Har hemma suttit och fuskat lite med Java, VB och C#. Just nu håller ja på med PHP och försöker lära mig det grundligt.

Känner mig lite lost faktiskt när jag kollar runt. På skolan pratades det aldrig om OOP och jag har haft lite svårt att ta till mig (eller lära om mig) det sättet att programmera. Inser dock att det nog kommer att lossna om jag bara lägger manken till och försöker lära mig.

Nån som har några tips på vilka språk man kan ge sig på? Främst har jag varit nyfiken på C++ och C#. Är väl inte riktigt säker på vad jag vill att det ska bära mot men är intresserad av att kunna programmera webbsidor och kanske även göra program i Linux.

Ursäkta om frågan är lite diffus men jag är i grunden en nätverksmänniska, med lite programmeringstalanger.

Visa signatur

Ne nos sequere nobis secede

Permalänk

Vill du verkligen gå in på objektorienterat, skall du kolla in JAVA, med hjälp av böckerna JAVA: Första Steget (för grunderna i JAVA) och JAVA: Andra Steget (Där du dyker rätt in i OOP).
Böckerna går för runt 300 styck nya.

Dessa böckerna tog oss runt 10 veckor att ta oss genom i skolan och mitt i bok 2 får man en riktig "aha"-upplevelse och allt med OOP lossnar direkt. Efter det kan du gå in på det språk du känner för, med OOP fastetsat i bakhuvudet. Språken är oftast väldigt lika, med små syntax-ändringar här och där och möjligtvis någon include som ändras, men saker som loopar, variable scope och sådant är oftast samma i alla språk.

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem
Skrivet av Wolfclaw:

Hej.

Jag har på senare tid fått tillbaka mitt intresse för programmering som jag hade i gymnasiet, 1995. Då höll vi på med Turbo Pascal och nosade lite på Delphi. Vidare läste jag en nybörjarkurs i C++ på universitetet men sen dess har jag inte hållit på så mycket på allvar. Har hemma suttit och fuskat lite med Java, VB och C#. Just nu håller ja på med PHP och försöker lära mig det grundligt.

Känner mig lite lost faktiskt när jag kollar runt. På skolan pratades det aldrig om OOP och jag har haft lite svårt att ta till mig (eller lära om mig) det sättet att programmera. Inser dock att det nog kommer att lossna om jag bara lägger manken till och försöker lära mig.

Nån som har några tips på vilka språk man kan ge sig på? Främst har jag varit nyfiken på C++ och C#. Är väl inte riktigt säker på vad jag vill att det ska bära mot men är intresserad av att kunna programmera webbsidor och kanske även göra program i Linux.

Ursäkta om frågan är lite diffus men jag är i grunden en nätverksmänniska, med lite programmeringstalanger.

Man kan göra det mesta utan OOP också, men det i till många saker ett väldigt bekvämt sätt att göra saker på.
Om du är intresserad av att programmera som extra krydda i tillvaron så skulle jag välja ett språk som går snabbt att skriva och är ganska enkelt, något som man direkt tänker på är då python, mer så än de flesta.

Personligen så gillar jag verkligen inte java, det känns sjukt abstrakt, man har verkligen ingen aning av vad som händer (med lite erfarenhet kan man dra kvalificerade gissningar), samma sak gäller c#.

Skillnaden mellan C# och c++ är större än man kan tro baserat på namnet, C# är typ java på enbart windows, vilket gör att det fungerar bra på windows medans c++ är mer av en påbyggnad av c, och c är riktigt bra.

Permalänk
99:e percentilen

JavaScript är ett enkelt språk att börja med. Det är objektorienterat och liknar "riktiga språk", men med skillnaden att du inte behöver (eller kan) kompilera koden innan du kör den. Eftersom alla webbläsare har stöd för JavaScript är det helt gratis att programmera i det. Det är även lätt att komma igång, då du inte behöver installera något mer än en texteditor.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Skrivet av morphman86:

Vill du verkligen gå in på objektorienterat, skall du kolla in JAVA, med hjälp av böckerna JAVA: Första Steget (för grunderna i JAVA) och JAVA: Andra Steget (Där du dyker rätt in i OOP).
Böckerna går för runt 300 styck nya.

Dessa böckerna tog oss runt 10 veckor att ta oss genom i skolan och mitt i bok 2 får man en riktig "aha"-upplevelse och allt med OOP lossnar direkt. Efter det kan du gå in på det språk du känner för, med OOP fastetsat i bakhuvudet. Språken är oftast väldigt lika, med små syntax-ändringar här och där och möjligtvis någon include som ändras, men saker som loopar, variable scope och sådant är oftast samma i alla språk.

Hade nog rekommenderat Objektorienterad programmering och Java av Per Holm i stället

Skrivet av Zuggmate:

JavaScript är ett enkelt språk att börja med. Det är objektorienterat och liknar "riktiga språk", men med skillnaden att du inte behöver (eller kan) kompilera koden innan du kör den. Eftersom alla webbläsare har stöd för JavaScript är det helt gratis att programmera i det. Det är även lätt att komma igång, då du inte behöver installera något mer än en texteditor.

Många språk är gratis att programmera i, däremot kan den editor man väljer att programmera i kosta pengar. Dock finns det en uppsjö med gratiseditorer som klarar ett eller flera språk.

Skrivet av 7487:

Man kan göra det mesta utan OOP också, men det i till många saker ett väldigt bekvämt sätt att göra saker på.
Om du är intresserad av att programmera som extra krydda i tillvaron så skulle jag välja ett språk som går snabbt att skriva och är ganska enkelt, något som man direkt tänker på är då python, mer så än de flesta.

Personligen så gillar jag verkligen inte java, det känns sjukt abstrakt, man har verkligen ingen aning av vad som händer (med lite erfarenhet kan man dra kvalificerade gissningar), samma sak gäller c#.

Skillnaden mellan C# och c++ är större än man kan tro baserat på namnet, C# är typ java på enbart windows, vilket gör att det fungerar bra på windows medans c++ är mer av en påbyggnad av c, och c är riktigt bra.

Jag tyckte jag förstod vad som hände i java från början och tycker det följer ungefär samma principer som de flesta andra språk. Eller du menar att förstå vad som händer under motorhuven och inte bara vad koden någon skrivit gör?

Visa signatur

Corsair Vengeance LPX 4x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Permalänk
Medlem

C++ är väl en av de språken jag lurat lite på mest. Det lilla jag läst verkar att det har stöd för men inte anses som ett renodlat OOP-språk.

Visa signatur

Ne nos sequere nobis secede

Permalänk
Skrivet av Wolfclaw:

C++ är väl en av de språken jag lurat lite på mest. Det lilla jag läst verkar att det har stöd för men inte anses som ett renodlat OOP-språk.

Det stämmer ganska bra, det baseras på C (inte objektorienterat), Simula (objektorienterat) och Fortran (inte objektorienterat)... Redan från början var stödet för objektorienterad programmering en av sakerna Bjarne Strostrup ville ha med i sitt eget språk.

Strostrup: FAQ och frågan "Why did you invent C++? ger bättre svar än jag...

Visa signatur

Corsair Vengeance LPX 4x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Permalänk
Medlem
Skrivet av gaminggirl:

Hade nog rekommenderat Objektorienterad programmering och Java av Per Holm i stället

Många språk är gratis att programmera i, däremot kan den editor man väljer att programmera i kosta pengar. Dock finns det en uppsjö med gratiseditorer som klarar ett eller flera språk.

Jag tyckte jag förstod vad som hände i java från början och tycker det följer ungefär samma principer som de flesta andra språk. Eller du menar att förstå vad som händer under motorhuven och inte bara vad koden någon skrivit gör?

Ja, absolut, det är nog ett av dem enklare språken att förstå, det jag menar var att man inte har någon aning om hur java bestämmer sig för att implementera ens kod, man är bara garanterad att den typ gör vad man skrivit.

Skrivet av Wolfclaw:

C++ är väl en av de språken jag lurat lite på mest. Det lilla jag läst verkar att det har stöd för men inte anses som ett renodlat OOP-språk.

Jo, det har ju med hur det gjordes att göra, det bygger till stor del på c (Man kan komplilera c kod i c++) men ++ delen kommer i form av objekt orientering samt lite annat kriffskraffs, vilket gör det till ett mycket bra språk för det mesta, men som sagt, vill man programmera för webben finns nog enklare alternativ.

Som jag sa innan, python är ett skript språk som går mycket snabbt att skriva, en annan fördel är att om du har en viss del av programmet som är kritiskt att det går snabbt så kan du importera c kod till python. Dock så är ju python också mycket abstrakt, men jag känner att om man ändå skiter i sådant så kan man skita i det rejält.

Permalänk
Medlem

Sen är det ju en sak att lära sig språket. En annan är att kunna och förstå hur man ska bygga ett program med en "huvudfil" (typ main.cpp) och använda andra filer med #include eller liknande. Kom aldrig så långt i kurserna för att lära mig "programmeringsfilosofi" eller praxis när man gör lite mer avancerade program.

Visa signatur

Ne nos sequere nobis secede

Permalänk
Medlem
Skrivet av Wolfclaw:

Sen är det ju en sak att lära sig språket. En annan är att kunna och förstå hur man ska bygga ett program med en "huvudfil" (typ main.cpp) och använda andra filer med #include eller liknande. Kom aldrig så långt i kurserna för att lära mig "programmeringsfilosofi" eller praxis när man gör lite mer avancerade program.

Ett bra val skulle nog vara att köpa en bok, dem brukar vara bra, sen kan man ju kolla på uppgifter från något universitet, man kan följa dem även utan att faktiskt gå kurserna, utan att bara göra dem specefika uppgifterna, t.ex för java finns:
http://www.csc.kth.se/utbildning/kth/kurser/DD1341/inda11/

Där Höstens uppgifter ger grundläggande objekt orienterad programmerings kunskaper, och våren fokuserar mer på datastrukturer osv, boken som används är Objects First with Java av David Barnes.

Det finns även grundkursen i python.

Detta kan appliceras på dem flesta ämnena man är intresserad av, om man tänker specifikt på denna kurs är det enda man missar genom att inte gå den faktiska kursen föreläsningar, som ändå är tämligen värdelösa och ersätts utan problem med t.ex Barkley 61b (Youtube) för våren och enbart boken för hösten.

Hur som helst, tror att någon liknande detta är en bra ide, det ger iallafall mål som man kan sikta på, om du lägger mer tid så kan du utan problem göra uppgifterna snabbare än vad som står på hemsidan också.

Permalänk
Avstängd

Om du vill jobba mot stora bolag är nog C# ett bättre alternativ, C# och .NET är mycket större än Java ute bland företagen (I Stockholm har jag sett denna trend, vet inte hur det är ute i landet)

Visa signatur
Permalänk
Medlem

Tack för alla svar. Just nu väger jag mellan C++ och C#. Har en C#-bok från 2005 som jag funderar på att damma av hemma.

Visa signatur

Ne nos sequere nobis secede

Permalänk
Avstängd

Det har hänt en del sedan 2005 (.NET 2.0) som du missar, men det är en bra start.

Visa signatur