• Advertisement
Sign in to follow this  

Programming

This topic is 4243 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I am kind of new to programming, I've just completed a course in Visual Basic but I'm in high school and we didn't get too complex. But I was wondering what languages I should be learning if I wanted to make this into a career. Next year I will be taking an AP course in Java but I wanted to know what other languages are commonly used in game development. Also, if you could recommend any books that would be helpful in learning those languages that would be greatly appreciated.

Share this post


Link to post
Share on other sites
Advertisement
Learn x86 assembly :)

Um.. C++ is the de-facto for game programming. I myself use C# but I don't think any professional companies are using C# to write games (yet anyway).

Share this post


Link to post
Share on other sites
Quote:
Original post by Dreq
I myself use C# but I don't think any professional companies are using C# to write games (yet anyway).


My understanding is that C# is gaining ground, and that is being used somewhat widely for making tools for professional projects.

Share this post


Link to post
Share on other sites
If you want to make this into a career, C++ is most likely the better choice. Not necessarily as the first language though. C++ is also the industry standard.

Some languages i've seen people been using a lot:
Java
Python
C/C++
C#
Blitz Basic

Probably forgot some languages, but that's some of the common ones people use to mention.

Share this post


Link to post
Share on other sites
x86 assembly is basically human readable machine code.. does this kind of code look famailiar:

push ax
mov ax, [bx]
mov bx, ax
pop ax


Thats basically what assembly looks like. Even though I am COMPLETLY alone in this.. I still say x86 is the best language to learn FIRST, because it is very close to how a pc actuially works. You don't have classes and functions and all these high level things. Instead you pretty much do everything yourself. And if you understand how a pc works, you can write better, more efficient code. After I learned x86 assembly, I started doing things like bitshifting instead of dividing/multiplying by power-of-two numbers (Real handy with 2d tile based games). But again, I seem to be the only one who thinks this way.

Share this post


Link to post
Share on other sites
If you're serious about it then this might help to you. One thing to note if you have no programming experience whats so ever don't try to run before you haven't learned to walk meaning don't expect to be programming games straight away besides you're young and you have a life time there is no need to rush it.

Quote:
Original post by Dreq
I still say x86 is the best language to learn FIRST, because it is very close to how a pc actuially works. You don't have classes and functions and all these high level things. Instead you pretty much do everything yourself. And if you understand how a pc works, you can write better, more efficient code. After I learned x86 assembly, I started doing things like bitshifting instead of dividing/multiplying by power-of-two numbers (Real handy with 2d tile based games).
.


That is the most absurd advice i've ever read. If he/she learns assembly first she/he wont learn how to problem solve (and learn it using a variety of programming concept) properly, she/he wont learn how to design large programs and design them good, she/he wont be exposed to any form of programming abstractions and no i don't mean just "OO".

Also you do not need to program in assembly to learn about computer architecture.

Quote:
Original post by Dreq
But again, I seem to be the only one who thinks this way.


For good reasons.

Share this post


Link to post
Share on other sites
I did take a course in VB, my final project was simple Pong but after reading that blog article I'm thinking that maybe I have started to learn incorrectly.

Share this post


Link to post
Share on other sites
snk_kid, avoid chances to start flamewars like that. There are good reasons to learn assembly, but that doesn't really matter right now anyway.

Anyway, you shouldn't start with assembly since it won't help you with anything when learning, and as far as I know, regarding the game industry assembly is passe, they used to use it but now the game industry uses C++ I suppose.

Aside from that you should also learn Python and/or Lua, since modern games rely heavily on scripting.

Share this post


Link to post
Share on other sites
Quote:
Original post by snk_kidThat is the most absurd advice i've ever read. If he/she learns assembly first she/he wont learn how to problem solve (and learn it using a variety of programming concept) properly, she/he wont learn how to design large programs and design them good, she/he wont be exposed to any form of programming abstractions and no i don't mean just "OO".


"Wont learn how to problem solve":
Oh so assembly has absolutely no problem solving at all?

"she/he wont learn how to design large programs and design them good":
And visual basic is supposed to be better?

"she/he wont be exposed to any form of programming abstractions and no i don't mean just "OO""
Thats kind of the point...

And, I close with the following passage:
dcl_2d s0
dcl t0.xy
texld r1, t0, s0
mov oC0, r1


Know what that is? A pixel shader program. Huzaaa.

[edit]
And thanks for the negative raiting!

Share this post


Link to post
Share on other sites
Quote:
Original post by Dreq
"Wont learn how to problem solve":
Oh so assembly has absolutely no problem solving at all?


Not the kind of problem solving that's actually useful; the student will be too busy solving lower-level problems.

Quote:
"she/he wont learn how to design large programs and design them good":
And visual basic is supposed to be better?


VB is pretty roundly criticized anyway; I have no idea why you're picking it as an alternative. But regardless, you can't realistically hope to write anything *big* in assembly language, or really *design* things properly.

Quote:
"she/he wont be exposed to any form of programming abstractions and no i don't mean just "OO""
Thats kind of the point...


What, because abstractions are something difficult to deal with? How do you ever manage to buy things these days? Doesn't it irritate you that you can't *really* go to the bank and demand the gold backing for your currency?

Abstractions exist precisely so that you don't have to think about details that are irrelevant to your task. You don't need to be a mechanic to drive; to most people, the internal combustion engine is an abstract thing that makes the car go forward when you step on the gas pedal.

Quote:

And, I close with the following passage:
dcl_2d s0
dcl t0.xy
texld r1, t0, s0
mov oC0, r1


Know what that is?


No. And incidentally, *that's* "kind of the point".

Quote:
And thanks for the negative raiting!


Here, have one from me, too. :\

Share this post


Link to post
Share on other sites
Quote:
Original post by Dreq
Learn x86 assembly :)

Um.. C++ is the de-facto for game programming. I myself use C# but I don't think any professional companies are using C# to write games (yet anyway).


Read it again.. The smily was meant as a joke, but you guys just had to pick it apart and jump on me.. The only reason why I even explained it further was because he asked. Of course, answering him is aparently a 'hate crime' here if it goes against your views. Thats ok though, its what I expect ;)

as far as "No. And incidentally, *that's* "kind of the point"." is concerned... That just goes to show you that... you know what, nevermind, I'm wasting my time (this is where someone posts back about how i'm wasting ~theirs~).

Share this post


Link to post
Share on other sites
Quote:
Original post by Dreq
<snip>


Looks like you picked the wrong forum to present a dissenting opinion... :/

Share this post


Link to post
Share on other sites
Quote:
Original post by Dreq
"Wont learn how to problem solve":
Oh so assembly has absolutely no problem solving at all?

x86 assembly isn't that useful for a beginner to solve problems. This isn't ye' olde DOS days anymore. In order to do something useful, i.e. output results on the screen, you'll have to call API functions. And sorry, but I don't think this...

.386
.model flat, stdcall
option casemap : none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data
MsgBoxCaption db "This is so helpful...",0
MsgBoxText db "Win32 Assembly for teh win!!11!1!",0

.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start

is of any use for learning how to solve problem. Really. Not at all.

Quote:

"she/he wont learn how to design large programs and design them good":
And visual basic is supposed to be better?

Uhm...

MsgBox("...yes indeed!", vbOk, "Actually...")


Quote:

"she/he wont be exposed to any form of programming abstractions and no i don't mean just "OO""
Thats kind of the point...

Well yes, it is.

Quote:

And, I close with the following passage:
dcl_2d s0
dcl t0.xy
texld r1, t0, s0
mov oC0, r1


Know what that is? A pixel shader programOutdated. Huzaaa.

"With Direct3D 10 the use of assembly shaders has been almost eliminated – effect files and 'pure' shaders are now expressed only in HLSL form."
Huzaa indeed.

Best regards,
Pat.

(And no, I didn't rate you down)

Share this post


Link to post
Share on other sites
Quote:
Read it again.. The smily was meant as a joke, but you guys just had to pick it apart and jump on me.. The only reason why I even explained it further was because he asked.

I actually chuckled when I read the joke, and then got a bit frustrated when people started thinking you were serious and fishing for a flame war. But you took the bait, man. You took the bait... [lol]

x86 assembly is the greatest language ever, because I hate myself. If you hate yourself and want to wish you had never been born, you should definitely learn x86 assembly first. :) <-See, smiley!

Otherwise, you should leave it until you have some (read:alot) of knowledge of programming. That extra bit of oomph gained by using assembly on PC used to be a big deal, nowadays it's not quite so useful... the compilers are pretty damn good.

Anyway, as they said above, C++ is the "standard" (if one can exist), though once you've learned one language (except assembly or lisp) you will have a much easier time learning others (even VB).

Good luck!

Share this post


Link to post
Share on other sites
hmmm it seems i've started some arguing, my bad. but thanks for the help, i will be looking into c++ more and a little bit of c#. i know vb isn't the greatest, i never said it was. that just happens to be the first language i learned in school and the one that got me into programming. that's the whole point of this thread, to find out what other languages i should be studying if i want to make this my career. no need to flame.

Share this post


Link to post
Share on other sites
Quote:
Original post by FPL_Programming
hmmm it seems i've started some arguing, my bad. but thanks for the help, i will be looking into c++ more and a little bit of c#. i know vb isn't the greatest, i never said it was. that just happens to be the first language i learned in school and the one that got me into programming. that's the whole point of this thread, to find out what other languages i should be studying if i want to make this my career. no need to flame.


Nothing is inherently wrong with Visual Basic. I myself progrqammed for years in Visual asic before moving on to C++. However, it is possible to program with visual basic that can make learning other languages more difficult. I recommend looking at C#. It's syntax is quite different from VB, but will help immensly once you start looking into C++ and/or java, as the syntax is similar.

Good Luck!

Share this post


Link to post
Share on other sites
Why are beginners always so focused on what language to learn when it comes to programming when they can barely program. I think they need to learn simpler languages like BASIC, QBASIC, VisualBasic before even thinking of learning a language like C++. I have no idea why anyone would consider learning x86 ASM first, that's just crazy

Share this post


Link to post
Share on other sites
I personally don't see anything wrong with learning C++ first... If you keep it simple the only thing I can think of that would be more complicated is the syntax

Share this post


Link to post
Share on other sites
Quote:
Original post by FPL_Programming
no need to get chippy


Chippy? who's getting chippy? I'm being serious. I think, along with many other people, that beginners should focus on learning good programming practices, techniques, programming paradigms before worrying about different programming languages. I believe that the programming language is just a tool for creating good or bad applications, some of them are better for doing certain things than others.

Share this post


Link to post
Share on other sites
I think beginners won't want to learn good practices for programming when they have no idea how it applies...

Share this post


Link to post
Share on other sites
Quote:
Original post by glBender
I think beginners won't want to learn good practices for programming when they have no idea how it applies...


That's not what I said. I said that they should learn them not that they should want to learn them. I don't think any programmer first starting out ever wants to learn good programming practises because it's boring but I think they should focus on those things through taking programming courses instead of worrying about learning a lower level programming language.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement