PDA

View Full Version : Language for a beginner


Glassagate
01-19-2010, 10:07 PM
Any suggestions? My interest is in game development.

Dopefish7590
01-20-2010, 04:36 AM
If you want to get the basics of game development downpat, you could try out MZX Robotic (http://gambit.digitalmzx.net/download.php?f=89797944905a7896981faa8ddac3c3077e0 febf6b00a5523be98730b1b08af32) or ZZT-OOP (http://zzt.belsambar.net/zgames/z/zzt.zip) (Yeah, I get the pun.) Between the two, ZZT is easier and is awesome for just picking up programming. MZX is like a more advanced ZZT (It was based off it originally) but it is a bit more difficult to pick up. But it will only teach general programming practices to you and the languages won't really be that useful after you understand that. Mainly due to the fact they are very simplistic, but they are fun to experiment with. From there, you could dive into C (Or one of it's variants), but the learning curve may be a bit steep at times, but after you pick it up... You will have arguably one of the best languages for general programming (game or not) at your disposal. Or if you want something a bit easier, BASIC (Or one of it's variants) is nice for making simple games and applications... Also Visual Basic is used by most of Office (Word, Excel, Access, etc...) so you could pick that up if you decide if you want a programming job and can't pick up game development.

JAVA is also worth considering... But I can't really say that I know what the language is like.

ZuljinRaynor
01-20-2010, 10:47 AM
I myself started with C/C++. Modding Wolf3D, copy and pasting tutorials and then just picking things up. It made it also easy to learn JAVA. C++ isn't hard if you try. It's mostly logical thinking that you need to figure out how to do certain things.

Sang
01-20-2010, 02:09 PM
The C-family would be my suggestion.

Java is fairly easy if you don't get ahead of yourself (get the basics down first and frequently put your skills to the test)

edit:
Of course it needs to be said, if you don't even know what language to use then you won't be developing games yet by tomorrow, learning that stuff can take months :)

ZuljinRaynor
01-20-2010, 04:32 PM
Also once you learn one, it's much easier to learn others. If you learn JAVA or C related stuff first, the other will be for the most part similar. Sure some terms and syntax is different but once you get the hang of one the others are easy to grasp too.

peoplessi
01-20-2010, 06:30 PM
C++, not the easiest but neither is Java. No use in learning Java before C++. Or C instead of C++. BUT as stated above multiple times, the actual language matters little. It's pretty easy to learn a new language, the mindset it more important. Same with modeling, programs have bit different UI's but that's the biggest difference.

Jiminator
01-20-2010, 07:01 PM
The more appropriate questions would be what are your interests, what specific things do you have experience in and so forth. game development can mean anything...

Sang
01-20-2010, 07:23 PM
No use in learning Java before C++.

Java is the first programming language I am learning right now and it's going pretty well, though granted I'm learning it at college. Would probably be more difficult to learn by yourself.

peoplessi
01-20-2010, 07:43 PM
It's pretty common to start with Java in schools. C++ benefits are the plethora of tutorials on internet and mature libraries now days.

It's pretty much impossible to say what one should learn first, but for (professional) games C++ is pretty much a standard. People have preferences, some might suggest C, some Java, some C++, some Python. I would just aim for the language first of which one is most interested in.

Crosma
01-21-2010, 01:13 AM
LISP or Scheme, because functional programming is the purest of the pure. C if you're interested in performance.

Everything else is too new, so I hate it by default. Unless you were going to suggest Fortran or COBOL or something. Be my guest.

IceColdDuke
01-21-2010, 09:38 AM
I myself started with C/C++. Modding Wolf3D, copy and pasting tutorials and then just picking things up. It made it also easy to learn JAVA. C++ isn't hard if you try. It's mostly logical thinking that you need to figure out how to do certain things.

I second that, and I wouldn't start with Java if your interest is in game programming. I might also start with XNA they have a pretty nice framework, and if you don't have the bad habits of a C++ programmer, C# is actually a nice language. XNA is good if you want to get into XBOX 360 programming(legally).

Gelpack
01-28-2010, 02:33 AM
Choose C# in Microsoft Visual Studio.NET ( For General Programming ). Its the most popular language/Development Enrironment today.

Syntax is pretty easy to understand. Many people take the VB approach because the syntax is slightly more user freindly, but its a bit like learning to drive in an Automatic, sometime you will have to learn to drive a manual, so you may as well do it right off the bat !

HTH - Gelly

Crosma
01-28-2010, 02:49 AM
Its the most popular language/Development Enrironment today.

Really? I don't believe that.

C# is alright though. If you're into that whole managed code thing.

Hudson
02-03-2010, 11:12 AM
I would go with C/C++

Chimera
02-03-2010, 12:14 PM
My first language was PASCAL :love:

Not much use for gaming, but good for learning the fundamentals of programming.

Hudson
02-03-2010, 12:18 PM
Mine was .CON

Not much use for.. well, anything. Jesus .CON sucks, or at least it did back in the day before EDuke freed everyone from trying to smash a square peg into yet another square peg.

IceColdDuke
02-10-2010, 05:31 PM
Mine was .CON

Not much use for.. well, anything. Jesus .CON sucks, or at least it did back in the day before EDuke freed everyone from trying to smash a square peg into yet another square peg.

What I dont get is people making TC's for EDuke32. For making Duke Nukem Mods its not that bad, but for making TC's its kinda pointless esp for its lack of debugging features.

vidfuse
03-08-2010, 09:13 AM
I always neglected learning to program, not the smartest thing. I only did the hello world using a tutorial and compiler from bloodsheddev, I also did a little bit of scripting in GTK Radiant for Enemy Territory. I started taking a free course that I found on youtube through Stanford University and it's cool they even give you links to download the custom compiler for use in the course and also the assignment files. The course is Programming Methodology CS106A very good stuff for a beginner. That aside my opinion would be to learn C++ but not being a programmer I can't give a recommendation on what language to use. I also read some people saying that it's less about learning the language and more about the mindset. I think that's what the methodology is about, I only made it to lesson three, since I put it on hold because of other things I am doing like video editing and studying a Network Security Professional book I picked up at a local discount store.

Parkar
03-14-2010, 09:57 AM
I think starting with C# or JAVA is a good idea. They are both strongly typed so they will inform you of bad OO design in a more direct nammer than c++.

If your interested in going a bit lower level and understanding how things are executed I would start with c and then go to c++. Note that c/c++ pretty much lets you do anything to anything as long as it makes sense to the CPU. This could get frustrating for a beginner as it is often not obvious what you did wrong, it just crashes.

At the university I studied they actualy start with functional programming(Haskell). This is definatly not a shortcut but it forces you to start thinking algorithmicaly rather then worrying about the operations you need to perfom when implementing the algorithm. If you have the patience to spend several months learning this before doing the kind of programming you really want to learn I think it will pay off in the end.

8IronBob
03-16-2010, 04:17 PM
I would recommend you download Bloodshed Dev-C++, since that uses MinGW which uses all sorts of C/C++ style code. Definitely a good place to start, it's open-source, can be used with all sorts of C/C++ code variants, and from my experience, it's been one of the easier compiler/IDE environments I've used in years.

Jokke_r
03-18-2010, 03:03 AM
If you've never done any kind of programming before then starting with something like python might not be a bad idea, considering python aims for a very simplistic syntax so all you really need to learn are the basics of programming, logic, structure etc. Once you got that under control you can apply those skills directly to another programming language by only learning the syntax and/or the basic libraries of the new language.

Xgthug
03-24-2010, 06:00 PM
If you're interested in making serious and quality games, go with C/C++.
Nothing will ever top it.

If you're just looking to mess around, I would suggest Game Maker, but be careful... Learning the GM language will actually unteach you how to program, and may cause irreversible brain damage, preventing you from ever learning a REAL programming language.

peoplessi
03-24-2010, 08:42 PM
Haskell is the new C++ ;) Yeah, definitely more about the mindset than the language. The semantics don't have big differences. I'm not sure if I'd go Python, since it's not that much more simple to learn.

Xgthug, Serious games? You can make serious games with C#, Java, middleware(Unity/Torque) and so fort. C# is a nice language.

8IronBob
03-24-2010, 09:27 PM
Before I went to Dev-C++, tho, I did use Blitz 3D, which is probably one of the programming languages that uses the least amount of code to make a 3D game, and it's probably one of the easier ones around, too. I suggest you pick up these books:

Game Programming for Teens, Third Edition (Paperback) (http://www.amazon.com/Programming-Teens-Third-Maneesh-Sethi/dp/1598635182/ref=sr_1_1?ie=UTF8&s=books&qid=1269483813&sr=8-1)
3D Game Programming for Teens (Paperback) (http://www.amazon.com/Game-Programming-Teens-Eric-Grebler/dp/159200900X/ref=sr_1_5?ie=UTF8&s=books&qid=1269483813&sr=8-5)

Should be a rather decent start, I'd have to say. These certainly got me into doing some serious stuff later on down the road.

Xgthug
03-25-2010, 11:34 AM
I agree... Blitz Basic is really good, as well... I dabbled in it, and I had a friend who made some really impressive material in Blitz, including his own 3D engine, which we even started developing a multi-player FPS game in.
He was able to import maps created in 3D World Studio, which worked perfectly for making levels. The engine was nearly flawless, and looking back, I wish we had continued making it.

peoplessi
03-25-2010, 08:08 PM
Ok, that's something I wouldn't recommend. If you need to go that route, choose something that it's more standard - like C# with XNA, Unity3D with C#/JavaScript or even Boo. There's a lot of alternatives, but to learn something very specific for one program as first language isn't really wise.

Essentially there is countless of languages one could learn as their first. I would still stick to something other than Blitz Basic.

Xgthug
03-25-2010, 08:59 PM
Ok, that's something I wouldn't recommend. If you need to go that route, choose something that it's more standard - like C# with XNA, Unity3D with C#/JavaScript or even Boo. There's a lot of alternatives, but to learn something very specific for one program as first language isn't really wise.

Essentially there is countless of languages one could learn as their first. I would still stick to something other than Blitz Basic.

Why? It's relatively easy and versatile.
I think you're just trying to contradict me because you're a Grade-A 3DR-Forum Meanie-Head. :(

peoplessi
03-26-2010, 10:24 AM
No, I just believe learning something that's very specific to Blitz 3D. You have better options available, I'm repeating myself, but C# with XNA or Unity3D isn't bad choice either. Blitz basic just isn't on my top list for beginners language.

8IronBob
04-03-2010, 10:12 PM
Well, back when I was REALLY getting started in coding, it was with QBasic/QuickBASIC, as most back during those "Dark Ages of DOS" were made familiar with. Of course, that was a standard DOS 5.0 language during those days. I really say I miss those old days, that was fun to write in. That was where I *really* got into beginning to learn how to write apps. Of course, when I got Borland C++ back then from my father, that's when it hit me that Borland's proprietary graphics interface really got me into C/C++, but I don't think that any modern C/C++ flavor of compiler could duplicate those of Turbo C++ from the old days. Just reminiscing on the days when I was in your shoes.

8IronBob
04-05-2010, 02:17 PM
Actually, another good C++ tutorial comes from 3D Buzz, however, you have to be careful, since only a select number of lessons from them are free to everyone. IIRC, aren't the real meat and potato lessons premium that you have to spend $35/mo. for? Can't remember now.

Delicieuxz
04-07-2010, 01:32 AM
The first 3 volumes of the C++ tutorial series are free to watch, and thost provide a lot of material to digest. I asked in email and was told that they're planning a new C++ tutorial series.

8IronBob
04-07-2010, 03:39 PM
Good thinking. And even tho they used Visual C++ .Net for their tutorials, I'm guessing that these lessons are also compatible with Dev-C++, too. I was wanting to try them out on there, but just needed to make sure that Dev-C++ and MinGW can accept all those different flavors of C++ code (if you go back to the '90s when you had Borland, Watcom, Visual C++, DJGPP, and such that had their own brands of C++ code that weren't compatible with one another, you know where I'm going with this). IIRC, Borland's code was proprietary, especially under DOS using their graphical system. Not too sure if they did away with that and went with more universal C++ code now or not.

Delicieuxz
04-12-2010, 07:05 AM
Another good quick-reference resource that also serves as a great memory trainer with its summary-style teaching is programmingvideotutorials.com (www.programmingvideotutorials.com). They now offer all of their tutorials free to watch on youtube.

peoplessi
04-21-2010, 09:01 AM
That's actually really cool site now that it's free ;)

8IronBob
04-22-2010, 05:53 PM
True...guess Jason Busby isn't the only good video training tool genius around, and even tho 3D Buzz does have SOME free material for C++, I'm guessing the one Delicieuxz linked to would actually be more favorable.
Consequently, I haven't really been able to tell what percentage of those lessons on 3DB are really available to just anyone. Some you do have to sign up $35/mo. to learn from, iirc...can't remember how many lessons were considered "premium" now.

Delicieuxz
04-22-2010, 09:57 PM
That's actually really cool site now that it's free ;)

It was good before, too. :p

Glassagate
04-25-2010, 03:18 AM
Another good quick-reference resource that also serves as a great memory trainer with its summary-style teaching is programmingvideotutorials.com (www.programmingvideotutorials.com). They now offer all of their tutorials free to watch on youtube.

Is it just me, or does that guy sound like a French Count Dracula?

Delicieuxz
04-25-2010, 05:27 AM
Sounds Scandinavian to me, bleh bleh.

Glassagate
04-29-2010, 07:19 AM
Well, back when I was REALLY getting started in coding, it was with QBasic/QuickBASIC, as most back during those "Dark Ages of DOS" were made familiar with. Of course, that was a standard DOS 5.0 language during those days. I really say I miss those old days, that was fun to write in. That was where I *really* got into beginning to learn how to write apps. Of course, when I got Borland C++ back then from my father, that's when it hit me that Borland's proprietary graphics interface really got me into C/C++, but I don't think that any modern C/C++ flavor of compiler could duplicate those of Turbo C++ from the old days. Just reminiscing on the days when I was in your shoes.

I recall my Dad wanting my brother and I to take some time each day
to learn some QBasic. He figured that we enjoy games so much, that
we should learn how to make them. The problem was that we couldn't
keep ourselves interested with the idea of simple text outputs. I really wish that he would have pushed us more, but not enough to make us hate it.
That was back in the early 90's.

Betelgeuse
04-29-2010, 07:50 PM
i have been studying a little visual basic, so far i understand what 'some' of the keywords mean and what a variable is and what a few of the operators are for, why we should use comments in our code etc.
i have only done a few exercises with events and "handling events". It has given me a VERY basic understanding of how programming language is used, but upon reading some of these posts, i feel studying c/c++ might be a better choice?
i don't want to get half way and think "ohh, i really should have started with C++".
Soon i will be studying Information Technology, and i really want to get a head start with the programming side of it.

Delicieuxz
05-01-2010, 11:20 PM
I've also been enjoying this C++ video tutorial series on youtube. I think it's pretty informative.

http://www.youtube.com/watch?v=tyVhn0FWWB4

Jiminator
05-02-2010, 12:38 AM
hrm, turbo pascal. the first cheap mainstream language. the top down vs bottom design. of course that is a fail, I don't know that anybody uses pascal any more aside from legacy apps.

Betelgeuse
05-02-2010, 12:47 PM
After a little more study on the subject and some careful thought, i have decided to study C++. ha, i never thought i would ever enjoy studying, i think i have found my calling. And i have to say, it feels fu++in great.

Crosma
05-05-2010, 06:10 AM
I don't know that anybody uses pascal any more aside from legacy apps.

There's always Delphi, I guess.

Kristian Joensen
05-05-2010, 07:48 AM
Also Free Pascal + Lazarus (http://www.lazarus.freepascal.org/).

Sang
05-05-2010, 04:45 PM
@Betelgeuse: If you sorta know how programming works (without having to be an expert) you should be able to quickly understand most other languages as well.

You already started working on events? Wouldn't do that, I think you should learn the basics about variables and all kinds of clauses first (if/else, while, for,... etc).

Not sure what IT course you're gonna follow but a head start isn't really that necessary, at least it wasn't for me. I stepped in there with zero programming knowledge but I learned quite quickly - and now a lot of people following the same course ask me their programming questions. Junior stuff though, not gonna code the next Duke3D source port just yet :p


edit: apparently his post is really old but whatever

Glassagate
05-07-2010, 11:08 PM
@Betelgeuse: If you sorta know how programming works (without having to be an expert) you should be able to quickly understand most other languages as well.

You already started working on events? Wouldn't do that, I think you should learn the basics about variables and all kinds of clauses first (if/else, while, for,... etc).

Not sure what IT course you're gonna follow but a head start isn't really that necessary, at least it wasn't for me. I stepped in there with zero programming knowledge but I learned quite quickly - and now a lot of people following the same course ask me their programming questions. Junior stuff though, not gonna code the next Duke3D source port just yet :p


edit: apparently his post is really old but whatever

So, when you started, did you pick up a book, or did you find some tutorials
online? I can understand the book approach, since you start at page one
and go on from there, but how are you suppose to know how to proceed
when you go the "tutorial route"? Do you just find a copy of a book's
"content tree" (outline) and use that as a road map?

Jiminator
05-07-2010, 11:53 PM
eh, get a bunch of books, read them. then try to figure out how to do the tutorials. unfortunately many languages have a huge learning curve. If its something you really want to do, you will figure it out. if not, you should probably be doing something else. not really something you want to try to see how you like it.

Betelgeuse
05-08-2010, 12:34 AM
@Betelgeuse: If you sorta know how programming works (without having to be an expert) you should be able to quickly understand most other languages as well.

You already started working on events? Wouldn't do that, I think you should learn the basics about variables and all kinds of clauses first (if/else, while, for,... etc).

Not sure what IT course you're gonna follow but a head start isn't really that necessary, at least it wasn't for me. I stepped in there with zero programming knowledge but I learned quite quickly - and now a lot of people following the same course ask me their programming questions. Junior stuff though, not gonna code the next Duke3D source port just yet :p


edit: apparently his post is really old but whatever

hey thanks for the reply, see i am actually a bit nervous about studying information technology, but i have really been getting into the c++ language, that "n00b spoon fed tutorial" series is really helping and i'm finding it to be a really fun spare time activity. So far, i have clear understanding of variables and the Lvalue - Rvalue rule, if/else statements, the boolean , NOT AND OR operators, creating new functions and jumping from function to function... and a bunch of other stuff, i understand it's a long path to follow, but i am so confident, when im at work, im revising code in my head, writing little code blocks on paper, it's all i can think about lately. Your reply makes me feel better about taking the course anyway! cheers Sang. :) http://forums.3drealms.com/vb/images/icons/icon14.gif

8IronBob
05-08-2010, 08:57 AM
Ahh yes, Delphi...always wanted to get into that, but with Borland's pricing...heh. Easier said than done. :D
I mean, Microsoft's whole Visual Studio Standard package is at least a third of the price of only one language from Borland, which can be at least $1K USD for C++Builder or Delphi, if not more so. I looked at Amazon, and they wanted anywhere from $1,500 to $2,500 USD for one copy. Jeez... Seems like they can't compete with VS2008 at much at those price levels, or at least offer a personal, standard edition of their language suites. I'm not trying to start a Borland/MS war here, but...I just feel that they should start being more competitive for the hobbyist too, not just for big-time professionals.

EDIT: I stand corrected, you can have Turbo C 3.0 free: http://www.brothersoft.com/turbo-c-182798.html
I suppose that the side of Borland I saw was overpriced languages that are geared towards corporate brass.

Sang
05-16-2010, 04:50 PM
So, when you started, did you pick up a book, or did you find some tutorials
online?

Nope, learned it through school, they've got some really solid teaching methods there.

peoplessi
06-02-2010, 05:24 AM
8IronBob, the VS Express Editions are free and feature wise complete enough for starting programmers. If somebody is just starting out, the last thing would be to pay excessive amounts of money for a development package.

IceColdDuke
06-07-2010, 02:42 AM
8IronBob, the VS Express Editions are free and feature wise complete enough for starting programmers. If somebody is just starting out, the last thing would be to pay excessive amounts of money for a development package.

+1000

Visual Studio is the best way to go, either C++ or C#, and if your using OSX use XCode. Don't use anything made by borland, I didn't even know they were still around any more :/.

Duke rajongó
06-08-2010, 08:00 AM
I have the visual c++2010.-es his version somebody would be able to write it down how it is necessary to install it onto the machine?

http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/RTMdtodayMicrosoftVisualC2010StepbyStep_A7E2/9780735626706f_2.jpg

http://images.devshed.com/af/stories/MSVS/Overview_of_the_Microsoft_Visual_Studio_2010_Beta_ 1_html_1efd2e3b.jpg

http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/CommunityServer-Components-PostAttachments/00-09-98-21-88/IntelliSenseOptions.jpg

Crosma
06-10-2010, 08:56 AM
I suppose that the side of Borland I saw was overpriced languages that are geared towards corporate brass.

Borland released non-commercial versions (a la Visual Studio Express) of most of their stuff, and older versions were often released for free to promote newer versions.

I have no idea about any of their current stuff though.