webForumDet fria alternativet

Vilket ska man satsa på?

Programmering

27 svar · 903 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

Jag har en kompis som vill lära sig att programmera, men han har lite svårt att bestämma sig vad han ska satsa på, VB(6 eller .NET) eller någon form av C.
Han har hållit på lite med VB förut men inte så mycket.
Så nu några frågor:
1. Vilket är bäst att satsa på om man vill kunna göra både spel och vanliga program för Windows?
2. Om man ska satsa på t.ex VB, är det bäst att köra med VB6 eller VB.NET, eller kan man börja med VB6 och sedan "uppgradera" till VB.NET?
3. Är det någon som vet någon/några bra böcker till ett ganska billigt pris?

Tacksam för svar! :)

Medlem sedan mars 20023 561 inlägg
#2

Jag ser ingen anledning till att lära sig VB6 och sedan gå över till VB.NET. Därför tycker jag att din kompis skall lära sig VB.NET direkt. Sedan om han tycker att det "ser roligare ut" med C# så kan han ju köra det istället.

Men det här med spelprogrammeringen har jag inte så bra koll på hur det ligger till.

Medlem sedan juni 2000841 inlägg
#3

1. C++
2. av de val du skriver absolut VB.NET. Annars så finns ju C# som har ett mer "standardiserat" sätt att skriva kod (hukar mig för alla VB-fans kommentarer på det ;)), funktionellt sätt så är det likt VB.NET
3. Nope sorry

Viktigt också att programmering inte bara är att man kan ett språk... Kan man tex objektorienterad programmering ordentligt så ska språket inte vara det största hindret...

Medlem sedan aug. 2001458 inlägg
#4

> ...C# som har ett mer "standardiserat" sätt...

Jag föredrar också C# :), men min gissning är ändå att det finns fler som använder VB.Net än C#. Mycket eftersom många som kommer från VBScript/ASP går till VB.Net.

Medlem sedan feb. 20001 590 inlägg
#5

Ska programmen kunna köras på vilka datorer som helst med Windows, så är nog C++ eller VB6 som gäller.
Program gjorda med .Net, kräver antingen att .Net teknologin är installerad (inte standard på något Windows system än) eller att man distribuerar med de filer som krävs för att köra .Net program i installationsprogrammet (många MB)

Som nybörjare, och kanske vill visa kompisar eller köra programmet enkelt på andra datorer, så blir det mycket extra arbete.
(Samma problem med Java, väldigt få personer har Java installerat, nästan bara utvecklare)

Det är ett hinder om man måste installera en massa för att bara köra ett "Hello World" program

Medlem sedan maj 20002 993 inlägg
#6

Om han vill göra spel: C/C++

Medlem sedan maj 20011 826 inlägg
#7

Om han vill göra spel: satsa på matte! och gå sedan en riktig programmeringsutbildning på universitetsnivå! då har du tillräckligt bra kompetens för att kunna jobba som professionell spelprogrammerare! ...och du lär dig inte bara ett språk utan flera, eller rättare sagt du lär dig inte ett språk, du lär dig programmera med hjälp av ett antal språk!

Medlem sedan aug. 2001458 inlägg
#8

erciz skrev:

Om han vill göra spel: satsa på matte! och gå sedan en riktig programmeringsutbildning på universitetsnivå! då har du tillräckligt bra kompetens för att kunna jobba som professionell spelprogrammerare! ...och du lär dig inte bara ett språk utan flera, eller rättare sagt du lär dig inte ett språk, du lär dig programmera med hjälp av ett antal språk!

Mycket bra kommentar! Det finns inte en chans att lyckas som spelprogrammerare utan gedigna kunskaper i matte. Vilka språk man behärskar är bara verktyg när man väl förstår matte och olika algoritmer.

Medlem sedan juni 200010 432 inlägg
#9

Kan inte annat än att hålla med ovanstående :)

Men för att komma igång ö.h.t med programmering och då med inriktning mot spelprogrammering finns det (som jag ser det) bara en väg att gå -> C

Medlem sedan juni 2000350 inlägg
#10

PeW skrev:

Men för att komma igång ö.h.t med programmering och då med inriktning mot spelprogrammering finns det (som jag ser det) bara en väg att gå -> C

Hur har du kommit fram till denna slutsats, egen erfarenhet eller? Inget illa menat, men eftersom du skriver att det bara finns en väg att gå så har du kanske några bra skäl.

Inte ny men läsvärd
Tim Sweeney, Epic Games. "A Critical Look at Programming Languages"

Medlem sedan juni 200010 432 inlägg
#11

Hur har du kommit fram till denna slutsats, egen erfarenhet eller?

Ja.

C är snabbt, effektivt (hårdvarunära) och lätt att implementera.
Har visserligen en hög relativ inlärningströskel, men med en grund i C är det lätt att ta till sig syntax i övriga språk. För spelprogrammering vimlar det av tutorials och exempel i C. Majoriteten av API:er finns till C.

C++ är inte rätt språk att börja med, möjligt att Java är det - fast det lämpar sig inte för spelprogrammering och alltför många "lär" sig programmera i OOP-språk utan att lära sig OOP.

Det talar ytterligare för C för nybörjare, eftersom det är lätt att bygga algoritmer och det finns massor av exempel. I vissa avseenden kan det vara bättre att peta ihop ett eget litet sökträd ist för att använda STL-containers.. etc etc har man ingen grund i t.ex C blir det lätt "tyngre" implementationer än vad som behövs för uppgiften.

So my conclusion is:... C och sen "klättra uppåt" beroende på vad som ska göras. Det viktiga är inte språket utan att välja rätt algoritmer och rätt implementation.

Nåja... det är mina åsikter och inget vedertaget fakta. Take it or leave it :)

Medlem sedan okt. 20013 217 inlägg
#12

C är snabbt, effektivt (hårdvarunära) och lätt att implementera.
Har visserligen en hög relativ inlärningströskel, men med en grund i C är det lätt att ta till sig syntax i övriga språk. För spelprogrammering vimlar det av tutorials och exempel i C. Majoriteten av API:er finns till C.

DirectX t ex är baserat på COM och då spelar det ju inte så jättestor roll om man kodar i Delphi, VB eller C++ direkt. Man får ju ändå så mycket stöd i DirectX så de få algorimer man behöver skriva själv spelar ju inte så jättestor roll om dom är skrivna i Delphi eller C++. Det stora tunga i spel är ju dock grafiken och där får man väldigt mycket hjälp av DirectX. Kollisionsdetektering och anna logik är relativt "lätta" algoritmer jämfört med grafik.

Medlem sedan juni 200010 432 inlägg
#13

DirectX t ex är baserat på COM och då spelar det ju inte så jättestor roll om man kodar i Delphi, VB eller C++ direkt. Man får ju ändå så mycket stöd i DirectX så de få algorimer man behöver skriva själv spelar ju inte så jättestor roll om dom är skrivna i Delphi eller C++.

Visst... om man endast tänkt att nöta i win32 med "modul"-programmering, utan att sätta sig allt för djupt in i systemanrop, paletter m.m.. så ;)
Visst kan man gå den enklare vägen via VB eller Delphi för att komma igång snabbt. Det jobbiga blir väl den dagen man verkligen behöver C... :e

Så jag rekommenderar ändå C som utgångspunkt :birp

Medlem sedan okt. 20013 217 inlägg
#14

Visst... om man endast tänkt att nöta i win32 med "modul"-programmering, utan att sätta sig allt för djupt in i systemanrop, paletter m.m.. så

Så vadå ? :-) DirectX är förmodligen det mest kompletta om man tänkt hålla på med spel. Funkar lika bra från VB, Delphi eller VS C++.

Medlem sedan juni 2000350 inlägg
#15

Om man vill lära sig programmera så tror jag det bästa är att bara börja oavsett språk ska man bli duktigt gäller det att man tycker det är kul. Efter ett tag så kan man själv bedöma vilket språk som passar, de flesta verkar aldrig komma förbi stadiet börja. Att det bara finns en väg för att nå ett mål tror jag är XXXXX, men påståendet blir intressantare med argument.

PeW skrev:

Nåja... det är mina åsikter och inget vedertaget fakta.

Vilken tur, trodde ett tag att jag var undantaget som bekräftade regeln :-).

Medlem sedan juni 200010 432 inlägg
#16

Så vadå ? :-) DirectX är förmodligen det mest kompletta om man tänkt hålla på med spel. Funkar lika bra från VB, Delphi eller VS C++.

Visst... om man vill begränsa sig till MS-Windows :e

Varför inte sikta mer generellt från början och då lära sig förstå fler plattformar?

Medlem sedan okt. 20013 217 inlägg
#17

Fågan va ju vad man skulle satsa på om man skulle göra program och spel för Windows. Även om man måste lära sig nått annat om man inte ska göra spel för Windows så har man ändå igen det att välja DirectX. Grafik, ljud, input och nät i ett och samma paket.

Medlem sedan sep. 20001 124 inlägg
#18

Eller också lär man sig OpenGL och OpenAL för ljud och grafik, dom två tunga bitarna. Båda är oberoende av plattform och fungerar typ överallt. Det är dumt att snöa in sig på en enda plattform.

Medlem sedan okt. 20013 217 inlägg
#19

Eller också lär man sig OpenGL och OpenAL för ljud och grafik, dom två tunga bitarna. Båda är oberoende av plattform och fungerar typ överallt. Det är dumt att snöa in sig på en enda plattform.

Det känns mer som att man väljer DirectX om man vill hålla på med spel. Det är inte så värst många spel idag som utvecklas för OpenGL skulle jag tro. Jag känner i alla fall inte till nått.

Medlem sedan aug. 2001458 inlägg
#20

Beatbox skrev:

Det är inte så värst många spel idag som utvecklas för OpenGL skulle jag tro. Jag känner i alla fall inte till nått.

Quake, Unreal Tournament, Duke Nukem och Half-life är exempel på spel som använder OpenGL.

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)