New To Mac-Forums?

Welcome to our community! Join the discussion today by registering your FREE account. If you have any problems with the registration process, please contact us!

Get your questions answered by community gurus Advice and insight from world-class Apple enthusiasts Exclusive access to members-only contests, giveaways and deals

Join today!

 
Start a Discussion
 

Mac-Forums Brief

Subscribe to Mac-Forums Brief to receive special offers from Mac-Forums partners and sponsors

Join the conversation RSS
OS X - Development and Darwin Discussion and questions about development for Mac OS X.

Programming


Post Reply New Thread Subscribe

 
Thread Tools
WizzKid

 
WizzKid's Avatar
 
Member Since: Jan 16, 2006
Location: Scotland/Aberdeen
Posts: 138
WizzKid is an unknown at this point
Mac Specs: iMac G5 - iPod Touch - iPod Video (30GB) - iPod Shuffle 2nd Gen - Airport Extreme&Express

WizzKid is offline
- sorry if its in the wrong place I didn't know where to put it -

Anyway. I'm a 15 year old kid who is on a mission to learn some sort of programming. I know HTML and have looked at visual basic at my school.

I was wondering if anyone knew off any programming launage that would be ok for a 15 year old. I would be interested in C and C++ but arent they abit to advance.

Anyway it would be good if someone could direct me to a website with tutorials on it.

I use a Imac G5 (not intel)

Thanks in advance

WizzKid
QUOTE Thanks
komo
Guest
 
Posts: n/a

what kind of "programming" do you want to get yourself into? web programming or desktop programming?
if it's web programming, starting with PHP won't be painful. it has so many resource out there on the web.
if you want to play with desktop programming, you better learn Java and/or Objective-C, cause both of them are integrated with OS's XCode
QUOTE Thanks
WizzKid

 
WizzKid's Avatar
 
Member Since: Jan 16, 2006
Location: Scotland/Aberdeen
Posts: 138
WizzKid is an unknown at this point
Mac Specs: iMac G5 - iPod Touch - iPod Video (30GB) - iPod Shuffle 2nd Gen - Airport Extreme&Express

WizzKid is offline
any usueful links?
QUOTE Thanks
WizzKid

 
WizzKid's Avatar
 
Member Since: Jan 16, 2006
Location: Scotland/Aberdeen
Posts: 138
WizzKid is an unknown at this point
Mac Specs: iMac G5 - iPod Touch - iPod Video (30GB) - iPod Shuffle 2nd Gen - Airport Extreme&Express

WizzKid is offline
anyone??
QUOTE Thanks
deus_ex_machina

 
deus_ex_machina's Avatar
 
Member Since: Aug 06, 2004
Location: Tejas
Posts: 1,713
deus_ex_machina is just really nicedeus_ex_machina is just really nicedeus_ex_machina is just really nicedeus_ex_machina is just really nicedeus_ex_machina is just really nice
Mac Specs: 2GHz Mac Mini 2GB RAM 160GB 10.6.2 | MDD DP 1.25GHz G4 1.5GB RAM 10.4.11 | 233MHz iMac G3 10.3.9

deus_ex_machina is offline
Start here
QUOTE Thanks
Logan
Guest
 
Posts: n/a

I started programming at 12. I stumbled upon this "Welcome to VC++" book that really was designed for someone who was already programming in C and was learning C++.

Just with that book I figured out the structure, essentials... it was a major headache and I thought C++ was too hard for me.

I stumbled upon VB around your age. Really, at your age, if you have the motivation, you can at least get familiar with any language. The key thing is to decide now what seems like the best solution to what you think you'd like to do a long time, then just stick to it. Have fun. And enjoy the benefits of being young and knowing a programming language (Everyone calls you a genius, hah). If you do it as a hobby and have time, you'll pick it up extremely fast and constantly be learning all the junk you'll need to just get certified in it.. once you can afford it.

This is how I relate a lot of the software languages: Let's say programming is like cars. You're trying to get from point A to point B.

Assembly: You design the car, the wheels, the fuel system, the smallest details and create the perfect machine. Some times WAAY too much work to get anything done, but it's a piece of art whatever is written in it properly.

C++: You create the most efficient machine available. You tweak it to perfectly fit your personal desires, and it runs flawlessly. It takes you a little while to design the car but it's well worth the investment once everything is said and done.

VB: You take someone else's chassis and engine and create a simple frame. You customize the apolostry, paint job.. and throw in a couple tweaks here or there. You get it done fast, and it may be a little crude. But it'll get the job done.

Java: You make a economy car. The car is built to where it runs on different fuels, is highly compatible and can get around in various situations. The problem is you tend to not be as efficient as an asm/c++ car, but especially with how java has been improved lately this may (or may not) be a great investment to the future. (I keep hearing lately that benchmark tests on java are competing with C++ written for the OS!!)

In my personal life, I have found VB the great choice. Sure my code isn't as flawless as C++, nor am I as compatible as Java, but when someone wants a program I can whip it up in surprisingly fast timing. Other programmers dislike me usually for writing in VB, plus I can only write Microsoft Windows apps (Which is annoying when you like to run OS X and other OS's), but man it's so freaking easy to learn.

If you want I suggest... I say C++. It's bottom line the biggest of all languages. You can take what you know of C++, go to any operating system, learn the SDK/framework and you can program on all platforms. It's available on all flavors.

Also C++ is the basis of all other programming languages usually. So you can take C++, and pick up Java.. PHP, anything really.. and you'll figure it out in no time just with the knowledge you have of C++.

But it's also one of the harder languages to learn. Assembly I don't suggest, it is getting outdated and is very situational when you want to use it.

Java I like and dislike.. mixed feelings really.. in the long run, I DISLIKE IT because of silly things like java beans... JUST THE NAME ALONE ugh. lol.

As far as web programming goes, if you learn software you will think web programming is a joke in difficulty.

Anyways, play around with all and see which language makes the most sense to you.

And when you find it, do this:

1) Go to the library, find a "introduction to X language" type book, or a beginner book. Find an author that makes sense to you. Don't fret if some books don't make sense, some people just can't teach well.

2) Find a forum. Once you start reading and learning the book, use the forum for those nasty questions that arise. Most programming forums are pretty nice to beginners, as long as you're giving a real effort to learn it.

3) Have fun.
QUOTE Thanks
WizzKid

 
WizzKid's Avatar
 
Member Since: Jan 16, 2006
Location: Scotland/Aberdeen
Posts: 138
WizzKid is an unknown at this point
Mac Specs: iMac G5 - iPod Touch - iPod Video (30GB) - iPod Shuffle 2nd Gen - Airport Extreme&Express

WizzKid is offline
wow thanks logan - I really want to learn more VB at home but I dont have a windows computer
QUOTE Thanks
komo
Guest
 
Posts: n/a

Quote:
Originally Posted by WizzKid
wow thanks logan - I really want to learn more VB at home but I dont have a windows computer
if you really want to learn programming in your mac, learn Cocoa instead. i think what Cocoa to MAC OS is very much like VB to Windows.
QUOTE Thanks
xstep

 
xstep's Avatar
 
Member Since: Jun 25, 2005
Location: On the road
Posts: 3,231
xstep is a name known to allxstep is a name known to allxstep is a name known to allxstep is a name known to allxstep is a name known to allxstep is a name known to allxstep is a name known to all
Mac Specs: 2011 MBP, i7, 16GB RAM, MBP 2.16Ghz Core Duo, 2GB ram, Dual 867Mhz MDD, 1.75GB ram, ATI 9800 Pro vid

xstep is offline
Quote:
Originally Posted by WizzKid
wow thanks logan - I really want to learn more VB at home but I dont have a windows computer
Realbasic is suppose to be VB like. In fact they have tools to import VB projects. You can find out more at http://www.realsoftware.com/ where they will also sell it to you. They do however have an entry level cost and a pro cost. The pro toolset allows you to compile on one computer for the other supported systems and has database support. You don't need that now.

I haven't used it yet. My interest is in creating a cross platform app and this looks like the tool I would use, if I don't get too side tracked by my current Cocoa interest.

As far as picking something. You need to decide if you want to code for the desktop GUI environment or something else. You can learn alot of programming skill from any language you pick. The basics cross all languages.

You might be able to pick up Cocoa, but a bit of programming experience is advisible. You could pick up an introduction book to C and use OS X to learn that first. Libraries are great places. I learned Apple // assembly language by checking out a book from the library, oh so many years ago. Hmm. Before you were a twinkle in your mom's eye.

Another tool to consider is Applescript. There are one or two good books on it. It would give you the basic skills to move forward.

What ever you choose, remember it takes some dedicated time and will cause you some frustration. But when you complete a project, big or small, you'll enjoy the accomplishment. It's neat to say 'I built that'!
QUOTE Thanks
Logan
Guest
 
Posts: n/a

Awesome, thanks for the RealBasic reference. I'll be checking that out.

and cocoa too.
QUOTE Thanks
Logan
Guest
 
Posts: n/a

So I tried out RealBasic. Made a simple program,

OSX: (source)



WinXP: (source)



Linux and Wine (Slackware with KDE) (source)



Looks like the Linux compiler is just a GTK+ 2.0 conversion, it has a Visual Basic to RealBasic converter... I'll play with it more and see how well it does more complex programs. Fun little tool though!

Cocoa is very C++ looking. I'll have to sit down more to figure it out properly.
QUOTE Thanks
WizzKid

 
WizzKid's Avatar
 
Member Since: Jan 16, 2006
Location: Scotland/Aberdeen
Posts: 138
WizzKid is an unknown at this point
Mac Specs: iMac G5 - iPod Touch - iPod Video (30GB) - iPod Shuffle 2nd Gen - Airport Extreme&Express

WizzKid is offline
thanks for everything, and reallbasic seems for me but ill look at it for a wee bit more before i buy it!!!
QUOTE Thanks
Logan
Guest
 
Posts: n/a

For my quick simple example, here's the source

I created the static text that contains the text you read. In VB this object was called Labels, but the difference is minor enough I'm not really concerned. The properties closely resemble VB also.

object Timer1, with a behavior property tweak of 500 period (default: 1000)
(As per VB, this object property was called Timer1.interval, they changed it to period)

(1000 represents the delay before it runs the code, so every 1000ms (1 second) it would run the given event)

I created a Progress Bar action. progressbar1 kept it's default values, where justlike VB you have minimum and maximum to set your range of the progress, and also value which is it's current value.

The code for Timer1's Action_Sub is:
Code:
  progressbar1.Value = progressbar1.Value + 5
  if progressbar1.value = 100 then
    progressbar1.value = 0
  end if
So what does it do? it simply makes the progress bar progress every half a second by 5%. If the progress gets to 100% it resets it to 0%.
QUOTE Thanks
Logan
Guest
 
Posts: n/a

My big Q & A about RealBasic:

1 Q) Does it support custom API manipulation on multiple platforms, and can you create platform dependant code routines?

2 A) Platform API's

API usage is different in REALbasic than in Visual Basic. REALbasic is richer due to its support for Windows, Linux, Mac OS X and Mac Classic. Just as you use a UDT in Visual Basic, you can use a Structure in REALbasic to define a custom data structure for use with the Declare statement. You will need to do some homework to ensure there is a replacement for your target OS. I suggest carefully thinking about why you are using an API call. In some cases an API call is no longer necessary because REALbasic includes support for the desired feature within the REALbasic class framework itself.

However, you should feel comfortable that you can mix and match platform-specific code using REALbasic as shown below.

#If TargetMacOS Then
//Mac specific code here.
#ElseIf TargetWin32 Then
//Windows code goes here.
#ElseIf TargetLinux Then
//Linux code goes right here.
#EndIf

2 Q) Does it support ActiveX Controls? This was a feature that made VB actually shine with simplicity and power.

2 A) Both [VB + RB] support ActiveX controls or OLE (Windows only!), but REALbasic also supports cross-platform "Plug-ins." Since Mac and Linux do not support ActiveX, ActiveX controls will not port to other operating systems, even though they will port to REALbasic Windows builds.

I keep seeing more and more positives about this OS. If anyone is interested, I can start writing a review about it in a topic on these forums. Or I can just blog it I suppose.
QUOTE Thanks
cazabam

 
cazabam's Avatar
 
Member Since: Jun 06, 2006
Posts: 1,153
cazabam is a glorious beacon of lightcazabam is a glorious beacon of lightcazabam is a glorious beacon of lightcazabam is a glorious beacon of lightcazabam is a glorious beacon of lightcazabam is a glorious beacon of light
Mac Specs: MacBook 2.0GHz White, 512MB RAM, 60GB HDD

cazabam is offline
Quote:
Originally Posted by Logan
If you want I suggest... I say C++. It's bottom line the biggest of all languages. You can take what you know of C++, go to any operating system, learn the SDK/framework and you can program on all platforms. It's available on all flavors.

Also C++ is the basis of all other programming languages usually. So you can take C++, and pick up Java.. PHP, anything really.. and you'll figure it out in no time just with the knowledge you have of C++.
Just a clarification, really. C++ is most certainly not the same on other platforms - the APIs each platform uses vary considerably, and the different compilers can have many different quirks and defficiencies.

I think you were specifically thinking of C, which is what most operating systems are written in and has been properly standardised for so long that it pretty much is cross platform compatible (as long as the libraries you use are available - open source ones usually are).

Don't worry, there is a reason for this beyond nit-picking! The thing is that C++ is a set of object oriented extensions for the C language that has been butchered over time by different companies. There is another set of object oriented extensions to C that is usually considered more stable and compatible; Objective C.

The point here is Mac OS X, especially Cocoa apps, are written in Objective C, not C++. Windows primarily uses C++, and other unix variants use a mix of C, C++ and Objective C. Xcode supports writing apps in Objective C and Java for Cocoa out of the box, so it's probably a good place to start for GUI apps on Mac OS X.
QUOTE Thanks

Post Reply New Thread Subscribe


« Game Programming Question. | Realbasic Programming Question »
Thread Tools

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off
Forum Jump

Similar Threads
Thread
Thread Starter
Forum
Replies
Last Post
Programming idea: "MacTV" kaidomac Schweb's Lounge 8 02-20-2006 05:28 PM
Need advice on programming. HareshKainth OS X - Development and Darwin 3 10-09-2005 03:33 PM
programming in mac Skarss Web Design and Hosting 1 06-16-2005 01:29 PM
Robotic NQC Programming ApplejustWorks Schweb's Lounge 0 01-31-2005 07:28 AM
Programming on the Mac natey OS X - Development and Darwin 4 06-29-2004 07:05 AM

All times are GMT -4. The time now is 09:42 AM.

Powered by vBulletin
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
X

Welcome to Mac-Forums.com

Create your username to jump into the discussion!

New members like you have made this community the ultimate source for your Mac since 2003!


(4 digit year)

Already a member?