Some questions on languages from a new guy (...beginners)

Apprentice
Posts: 6
Joined: 2007.01
Post: #1
I'm new to this board and after searching through the forums and reading quite a bit, I still have a couple questions.

I've been trying to learn programming off and on for several years but since I'm a graphic designer (production only a.t.m.) my work doesn't require any coding. I've read parts of several books and tried a handful of languages, never finding quite the right language/book match. I think it has partly to do with my lack of formal education on the subject and having no programmer peers.
I am trying programming once more, kind of a multi-pronged attack using several languages PHP, BASIC (in some form) and Applescript. I know using multiple languages can complicate learning but I don't have a problem separating the syntactical differences in my mind.

So, in a nutshell, I'm trying to learn how to program. a.t.m., I started with TNT Basic a week ago. I'm interested in making little games like Pong, Breakout, Tetris, and the like, then on to 8bit NES style platformers and shooters, etc. Not too interested in 3D games, maybe later IF I have a solid grip on programming. I'm also interested in learning how to build small apps, which Applescript Studio tutorials are teaching me. Thinking of getting the book "Beginning Applescript" (for cheap on amazon.com). Opinions?

I tinkered with C++ and found it too complex for a noobie. I see C recommended but am afraid it will also be too complicated for a non-programmer to learn alone.
I like what I've seen of Applescript and TNT Basic's syntax(es?) and want to stay with some incarnation of BASIC until I get a better understanding of how to build a complete application, on my own, multiple times.

Questions:
1) What is the best current incarnation of BASIC (preferably free, while I'm learning) ?
I've seen mention of TNT, METAL, FutureBASIC, ExtremeBASIC (dead?) and for $$ RealBASIC.
TNT doesn't seem to have a windowed mode, only fullscreen, unless I haven't discovered it yet.

2) Which has the best support, language references, tutorials, etc?
I noticed each incarnation of BASIC has a different syntax/features. This makes finding independent learning materials and reference more scarce, leaving all teaching tools to the hands of the users and software author. TNT seems to have a good reference but spotty explanation of feature implementations.


Thanks for taking the time to read this and possibly suggest something.
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #2
BlitzMax is the best "BASIC", though calling any of those products "BASIC" is a bit of a stretch. I wouldn't touch the others with a barge pole.

There's no substitute for asking questions. If you don't understand something, ask. There are people here who use all sorts of languages, you can probably get help... though the more commonly-used your language of choice, the more likely you can get help Smile
Quote this message in a reply
Member
Posts: 90
Joined: 2006.11
Post: #3
TNTbasic does have window mode, but you haven't discovered it yet.
Call it like this:
window mode 640,480
Quote this message in a reply
Apprentice
Posts: 6
Joined: 2007.01
Post: #4
O.S.C & leRiCl, thanks for your responses. I'll try the window mode in TNT. I knew how to set the resolution and activate it, just not the windowed part.

O.S.C. since your recommending avoiding the BASICs what might be the better language to try learning? Dive straight into C? How much different is C from C++?
I have the book "Beginning Game Programming with C++". It seems decent informationally, well written and handles only console output therefore keeping it simple, stupid. Smile
I was uncertain about going the "C++ as my first language" route, so what would be your advice: stick with something simpler till I "get" programming or dump BASIC for C? Hopefully I don't sound like a jerk, I'm just looking for thought out, honest advice for a non-programmer.
Quote this message in a reply
Moderator
Posts: 529
Joined: 2003.03
Post: #5
TNT and Metal are unlikely to advance further. Blitz is cheaper than REAL, faster, and has a huge community to help when you get stuck.

Future BASIC is actually really good, but not particularly games oriented. Its also hideously expensive IMHO. Its $169 I think whereas REAL is only $99 (for the standard version---which only compiles for Mac.)

"Yes, well, that's the sort of blinkered, Philistine pig-ignorance I've come to expect from you non-creative garbage."
Quote this message in a reply
Apprentice
Posts: 6
Joined: 2007.01
Post: #6
I am not set on game only programming, I would like to learn a broader understanding, something I can transfer to desktop or web app stuff too. I worked with TNT more tonight, learning how some commands work and how it affected the file I had open.

I looked over the REALbasic site, got the demo and a look the at syntax for version 4.6. It looks similar to Javascript, which I tried and failed learning a while back. If you're unfamiliar, TNT's syntax looks sort of but not exactly, like Applescript:

int number = 2
window mode 640,480
if something=2 then something=something+1
while x<=10
print "still less than 10"
x=x+1
wend

etc...

How complex is REALbasic vs. Applescript or TNT's syntax?
Reading a tutorial from http://www.maui.net/~mauitom/RBTutorialOne.html it reminds me of the Applescript Studio IDE. Comparisons? I imagine trying to write a game with A.S. would require learning OpenGL, which is probably quite a leap from where I am now.

Sorry for running on.. I'm eager to learn and tired of feeling overwhelmed.

Thanks for helping, it's appreciated.
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #7
My two cents:

1) Pick a language and use it until it feels limiting. Something like TNT or Metal basic, are relatively easy to learn, but you'll probably outgrow it soon. (not that that's necessarily a bad thing)

2) Learn another language. Every language has benefits and draw backs. Some give you a lot of raw power, some are very easy to use, some are very fast, and some have libraries to do anything you could think of.

3) If you are really serious, you should eventually learn C. It's more or less the common denominator of all languages. Most languages in existence are either based on, or implemented in C.

Many people do learn C as beginning programmers, so don't feel discouraged that it's too complicated. On the other hand, many of those same people would not recommend C to beginners. It's a worthwhile experience, but it depends on how eager you are.

Scott Lembcke - Howling Moon Software
Author of Chipmunk Physics - A fast and simple rigid body physics library in C.
Quote this message in a reply
Member
Posts: 283
Joined: 2006.05
Post: #8
I think it's worth persisting with C for a bit. I spent ages playing with REALbasic and AS Studio and TNT and Metal and PyGame, but eventually it was SDL and C that made me click - it all seemed to make so much sense.

It takes so little code to get some really cool things happening on the screen with SDL, C and OpenGL.
Quote this message in a reply
Member
Posts: 715
Joined: 2003.04
Post: #9
Don't waste time with Applescript.

You want a super simple syntax to learn?
Runtime Revolution or Media
Try the demo and see if you can't get the hang of it, if I can learn it anyone can.

You can make apps in that pretty quick and if you ever learn C/C++ you
can write extensions for it.
Quote this message in a reply
Moderator
Posts: 683
Joined: 2002.11
Post: #10
If you want to make web apps, or general games, get Processing and ask josephduchesne all your questions. It's fine for games, and a great introduction to Java.

On the other hand, I make my games in BlitzMax, but I find the syntax cumbersome, so occasionally I'll switch to Processing for a while just to refresh myself.

My web site - Games, music, Python stuff
Quote this message in a reply
Apprentice
Posts: 6
Joined: 2007.01
Post: #11
Thanks for the suggestions, there's a nice diversity of opinions.

maximile: Out of curiosity, what turned you away from the other more simplified dev packages?

diordna: I have seen Processing before, more recently I came across some guy's site where he has dozens of "pieces" of art that grow once you start the applet. Pretty awesome. I didn't know you could do game stuff with Processing, seemed like it was for fancy, view-only graphics. I'll check that out too.

idgame3d: That Revolution package seems pretty awesome, what are the capabilities/limitations you have encountered personally? Can it do games as well as desktop apps?

I was thinking of reading up on C more closely, maybe it's not as scary as C++. Annoyed
Any books to recommend?

The hardest part is finding the "right" language to learn. Having tried and quit a multitude of languages and really not wanting to do that again, I need to stick with one until feeling limited by it, as Skorche said earlier. So, finding a language with the "right" level of complexity vs. capability will help me stick with it. I don't want to spend too much money initially, in case that product is a dud for me, but I guess education isn't free, whether you're spending money or time or both.

Everyone's comments have been very insightful, keep them coming. It's great advice for me and anyone else out there who's feeling the way I do now.
Quote this message in a reply
Moderator
Posts: 704
Joined: 2002.04
Post: #12
ProfessorApe Wrote:I was thinking of reading up on C more closely, maybe it's not as scary as C++. Annoyed
Any books to recommend?

Learn C on the Mac

Mark Bishop
--
Student and freelance OS X & iOS developer
Quote this message in a reply
Sage
Posts: 1,403
Joined: 2005.07
Post: #13
I would not say there is a right language to learn,
a good post that elaborates on this is here http://weblog.raganwald.com/2006/10/are-...mmers.html

as long as you dont get stuck thinking about all programming tasks in term of a particular programming language, and you stay willing to learn somthing new incase it better suits your needs, then you should be fine whatever order you learn various programming languages in.

Sir, e^iπ + 1 = 0, hence God exists; reply!
Quote this message in a reply
Member
Posts: 715
Joined: 2003.04
Post: #14
ProfessorApe Wrote:idgame3d: That Revolution package seems pretty awesome, what are the capabilities/limitations you have encountered personally? Can it do games as well as desktop apps?

Limitations: price, but like a Mac you pay extra to have all the ugly, or most of the ugly, taken out of the user experience. I started programming this thing only with a sample 3D stack and occasional help in IM's. It might have been a month or two before I looked at the documentation and learned new tricks.

Tiny user base mostly focused on applications and not games.
Since we are the only people making a 3D external for it as well as a game design application with it, there's not too many people to ask questions about how to do the weird things I want to do. Then we get weird requests like 3D spreadsheets and visualization of a million internet connections in 3D...ya
thats why I do this stuff, not.
No 3D out of the box.

Although Arcade Engine has some kind of 3D data manipulation I have not seen a Battlezone or Star Wars arcade clone created with it yet to suggest it can do good games with vectors.

Occasionally the software has bugs that skew twenty minutes of work, save often. The latest release however is fairly stable, unless you write great bugs like me. Still save often.

Its perfectly suitable for desktop applications.
I have yet seen the limits of what it can do gamewise, the cost and obscurity I believe sorely prevents it from catching the interest of the average game dev wannabe. They are trying with Arcade Engine, but they have a long way to go.

Turn your volume down and check some of [url=Scott Rossi's work under MEDIA

and here's a bunch of stacks you can run

I say run with the demo until it expires.
The other languages will be waiting, and Apple has a new widget development app in beta at the moment.
Quote this message in a reply
Moderator
Posts: 683
Joined: 2002.11
Post: #15
ProfessorApe Wrote:diordna: I have seen Processing before, more recently I came across some guy's site where he has dozens of "pieces" of art that grow once you start the applet. Pretty awesome. I didn't know you could do game stuff with Processing, seemed like it was for fancy, view-only graphics. I'll check that out too.

Actually, josephduchesne and my 3DU entry is written in Processing, and it's a 3D Asteroids clone.

My web site - Games, music, Python stuff
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Processing tutorial for beginners stevejohnson 5 6,322 Jul 11, 2008 09:29 PM
Last Post: stevejohnson
  High and Low Level Languages FlamingHairball 22 10,973 Jan 8, 2008 10:23 PM
Last Post: PowerMacX
  What languages do you need for a MMORPG? Lost22 12 6,262 Nov 20, 2007 01:07 AM
Last Post: Lost22
  Re-introduction of low level languages? Duane 4 3,423 Oct 30, 2007 03:10 AM
Last Post: OneSadCookie
  Pros and Cons of Different Languages Blacktiger 40 15,783 Aug 2, 2007 09:36 PM
Last Post: richard