First programming language

Discussion of anything not related to audio or music production
gurumonkey
Posts: 355
Joined: Sun Dec 30, 2007 3:28 am
Location: Cleveland, Oh

First programming language

Post by gurumonkey » Sat Jul 03, 2010 3:55 am

So i'd like to learn a programming language. I'd prefer to use my mac, and i already own textmate. I do know some of the web programming languages, but i'd like to learn something that runs programs locally. I would like to dive right into something that is current. Any recommendations on a language to start learning?

luddy
Posts: 791
Joined: Sat Aug 08, 2009 3:36 am
Location: Beijing
Contact:

Re: First programming language

Post by luddy » Sat Jul 03, 2010 5:07 am

You can get the whole dev kit from Apple (XCode) for free, by signing up as an individual developer. It has a whole bunch of programming languages to choose from, great documentation, etc. You can even target the iPhone and iPad from it (using the real thing or simulators). It's a great development environment. If you want to program GUIs under it, then you need to learn Objective C. I use C++ and mix Objective C with it, which the environment lets you do freely. Basically, if you want to use that environment, then you need to learn C and Objective C or maybe C++ and Objective C.

Another possibility is to simply start at the command line (no GUIs) using the GNU compiler (gcc). That's in some ways a better way to learn programming, because it's a much less complicated environment. You can print data to the screen (Terminal program), read and write data to/from files, etc. I write most of my code that way, because it's for my own use and I don't need a GUI for most of what I do.

Yet another possibility is to learn something like Python, which would let you play with the Live API. I'm not especially fond of that language as a beginner's language, because I think it hides too much of what's going on with the computer itself that it makes it harder to become a proficient programmer. But lots of folks like it. It's quite fast to get stuff working there.

hth,

-Luddy

timothyallan
Posts: 5788
Joined: Wed Nov 24, 2004 11:05 pm
Location: Melbourne Australia
Contact:

Re: First programming language

Post by timothyallan » Sat Jul 03, 2010 6:00 am

Or you could start small with a scripting language?

If not, I'd personally recommend C# as it's not as 'hard' as C, C++, but if you ever feel the need to do something in C, C++ in the future, a lot of it will feel familiar if you have a grasp of C#.

C# is windows based for the most part though, not OSX. I'm actually learning some XCode, Objective C now for a work project. I've been a Microsoft developer for 14 years now. :S

plantaginate
Posts: 420
Joined: Fri Mar 19, 2010 2:08 am

Re: First programming language

Post by plantaginate » Sat Jul 03, 2010 6:05 am

you need to identify what you want to do first.
choose something with an inbuilt garbage collecture, as memory management can be arse.

vicz
Posts: 663
Joined: Tue May 20, 2008 3:41 pm
Location: UK

Re: First programming language

Post by vicz » Sat Jul 03, 2010 8:52 am

Ruby on Rails for grownup apps. Java for marketability.

djsynchro
Posts: 7471
Joined: Thu Jun 23, 2005 9:06 pm
Location: Amsterdam, Netherlands
Contact:

Re: First programming language

Post by djsynchro » Sat Jul 03, 2010 10:11 am

gurumonkey wrote: I'd prefer to use my mac
:P

8O
Posts: 5502
Joined: Fri Mar 28, 2008 9:29 am
Location: Berlin

Re: First programming language

Post by 8O » Sat Jul 03, 2010 10:27 am

luddy wrote:You can get the whole dev kit from Apple (XCode) for free, by signing up as an individual developer. It has a whole bunch of programming languages to choose from, great documentation, etc. You can even target the iPhone and iPad from it (using the real thing or simulators). It's a great development environment. If you want to program GUIs under it, then you need to learn Objective C. I use C++ and mix Objective C with it, which the environment lets you do freely. Basically, if you want to use that environment, then you need to learn C and Objective C or maybe C++ and Objective C.

Another possibility is to simply start at the command line (no GUIs) using the GNU compiler (gcc). That's in some ways a better way to learn programming, because it's a much less complicated environment. You can print data to the screen (Terminal program), read and write data to/from files, etc. I write most of my code that way, because it's for my own use and I don't need a GUI for most of what I do.

Yet another possibility is to learn something like Python, which would let you play with the Live API. I'm not especially fond of that language as a beginner's language, because I think it hides too much of what's going on with the computer itself that it makes it harder to become a proficient programmer. But lots of folks like it. It's quite fast to get stuff working there.

hth,

-Luddy
+1

Register for the free Apple Developer thing and you get a huge amount of resources ready to use - there's lots of beginners 101 stuff, lots of code examples that work straight out of the box with Xcode. Having worked with many different development environments, I'd say that what Apple gives you for free with Xcode is amazing, the most beginner friendly and, hate to say it, but it does just work, especially compared to stuff I used in the past where you're faffing around for hours installing stuff and configuring your system, instead of actually programming.
Image

Ed J
Posts: 583
Joined: Mon Jul 06, 2009 10:42 am

Re: First programming language

Post by Ed J » Sat Jul 03, 2010 10:48 am

timothyallan wrote:Or you could start small with a scripting language?

If not, I'd personally recommend C# as it's not as 'hard' as C, C++, but if you ever feel the need to do something in C, C++ in the future, a lot of it will feel familiar if you have a grasp of C#.

C# is windows based for the most part though, not OSX. I'm actually learning some XCode, Objective C now for a work project. I've been a Microsoft developer for 14 years now. :S

I'm a C# dev in my day job, and I agree that it's not as hard as the true c-style languages (C, C++, ObjC). However, it's also about a gazillion times more powerful, since the .net API is fricking amazing.

If you don't have a dual-boot windows on your mac, you can run C# using MONO, if you do have the dual-boot then just grab visual web developer (free visual studio, basically) and get on with it ;)

I wouldn't recommend learning something like Python first, you'll end up very confused if you do ever move onto something that doesn't have the training wheels (used to happen to most of the newbies when I was at Uni, they were doing well with Python then they'd get chucked bollocks-deep in a C++ program and basically have a nervous breakdown and die[ish]). Also, Python really stuggles with the Object-oriented stuff that you are going to need to learn how to do properly if you have any hope of understanding other people's code.
Some stuff, and some other stuff. Honest.
Currently on a huge and mostly pointless promotion drive, come play:
Soundcloud!
Facebook!!
Twatter!!!

vicz
Posts: 663
Joined: Tue May 20, 2008 3:41 pm
Location: UK

Re: First programming language

Post by vicz » Sat Jul 03, 2010 11:28 am

Ed J wrote:
timothyallan wrote:Or you could start small with a scripting language?

If not, I'd personally recommend C# as it's not as 'hard' as C, C++, but if you ever feel the need to do something in C, C++ in the future, a lot of it will feel familiar if you have a grasp of C#.

C# is windows based for the most part though, not OSX. I'm actually learning some XCode, Objective C now for a work project. I've been a Microsoft developer for 14 years now. :S

I'm a C# dev in my day job, and I agree that it's not as hard as the true c-style languages (C, C++, ObjC). However, it's also about a gazillion times more powerful, since the .net API is fricking amazing.

If you don't have a dual-boot windows on your mac, you can run C# using MONO, if you do have the dual-boot then just grab visual web developer (free visual studio, basically) and get on with it ;)

I wouldn't recommend learning something like Python first, you'll end up very confused if you do ever move onto something that doesn't have the training wheels (used to happen to most of the newbies when I was at Uni, they were doing well with Python then they'd get chucked bollocks-deep in a C++ program and basically have a nervous breakdown and die[ish]). Also, Python really stuggles with the Object-oriented stuff that you are going to need to learn how to do properly if you have any hope of understanding other people's code.
Why restrict yourself to proprietary Microsoft languages and protocols? Especially C#, MS Java me-too.

Ed J
Posts: 583
Joined: Mon Jul 06, 2009 10:42 am

Re: First programming language

Post by Ed J » Sat Jul 03, 2010 1:34 pm

vicz wrote:
Ed J wrote:
timothyallan wrote:Or you could start small with a scripting language?

If not, I'd personally recommend C# as it's not as 'hard' as C, C++, but if you ever feel the need to do something in C, C++ in the future, a lot of it will feel familiar if you have a grasp of C#.

C# is windows based for the most part though, not OSX. I'm actually learning some XCode, Objective C now for a work project. I've been a Microsoft developer for 14 years now. :S

I'm a C# dev in my day job, and I agree that it's not as hard as the true c-style languages (C, C++, ObjC). However, it's also about a gazillion times more powerful, since the .net API is fricking amazing.

If you don't have a dual-boot windows on your mac, you can run C# using MONO, if you do have the dual-boot then just grab visual web developer (free visual studio, basically) and get on with it ;)

I wouldn't recommend learning something like Python first, you'll end up very confused if you do ever move onto something that doesn't have the training wheels (used to happen to most of the newbies when I was at Uni, they were doing well with Python then they'd get chucked bollocks-deep in a C++ program and basically have a nervous breakdown and die[ish]). Also, Python really stuggles with the Object-oriented stuff that you are going to need to learn how to do properly if you have any hope of understanding other people's code.
Why restrict yourself to proprietary Microsoft languages and protocols? Especially C#, MS Java me-too.
Java is currently massively out of date (no functions as first-class objects, which means no functional-style programming or lambdas. that sucks big fat donkey balls), C# was originally a Java-a-like, but now it's much, *much* better.

Just cus Microsoft are a big corporate set of bellends doesn't mean they have the best framework and language tools.
Also, Sun are WAY more evil than microsoft, it's just that they're less obvious about it.

Flame wars are pointless: I suggested C# cus it's a very powerful language that's well supported on sites like StackOverflow and has a good set of standards and free downloady stuff, which makes it easy to pick up. If you want to suggest something else and justify it with some actual information as opposed to shameless fanboi/anti-m$/whatever-ism the go ahead, it'll be good if the OP can get a feel of the level of support for a language.
Some stuff, and some other stuff. Honest.
Currently on a huge and mostly pointless promotion drive, come play:
Soundcloud!
Facebook!!
Twatter!!!

gurumonkey
Posts: 355
Joined: Sun Dec 30, 2007 3:28 am
Location: Cleveland, Oh

Re: First programming language

Post by gurumonkey » Sat Jul 03, 2010 2:59 pm

So are any of these languages useful for developing cross platform stuff?

C# requires windows or something similar, right?

how large is the apple developer kit?

Ed J
Posts: 583
Joined: Mon Jul 06, 2009 10:42 am

Re: First programming language

Post by Ed J » Sat Jul 03, 2010 3:13 pm

gurumonkey wrote:So are any of these languages useful for developing cross platform stuff?

C# requires windows or something similar, right?

how large is the apple developer kit?
For cross-platform you're basically looking at Web stuff these days (although Java is also a reasonable option). The problem is cross-platform is that it's not in the platform's interest for things to work on their platform and others too, so it tends to be difficult!

C# works fine on Mac, most Linux flavours and Windows (you need MONO for the *nix ones though [mac and linux]).

Can't tell you much about the Apple dev stuff I'm afraid, took a look at their ObjC stuff at college and decided I'd rather just use C++. ;)
Some stuff, and some other stuff. Honest.
Currently on a huge and mostly pointless promotion drive, come play:
Soundcloud!
Facebook!!
Twatter!!!

mikemc
Posts: 5454
Joined: Mon Jun 21, 2004 2:14 pm
Location: Maryland USA
Contact:

Re: First programming language

Post by mikemc » Sat Jul 03, 2010 3:19 pm

^yes, Java is best for anything you want to run locally on multiple platforms. The GUI elements are what are more platform specific in the "C language family" realm.

which web programming languages do you know? that can indicate the application programming language you might pick up most readily.

djsynchro
Posts: 7471
Joined: Thu Jun 23, 2005 9:06 pm
Location: Amsterdam, Netherlands
Contact:

Re: First programming language

Post by djsynchro » Sat Jul 03, 2010 3:26 pm

gurumonkey wrote: I'd prefer to use my mac
Could that be because a Mac......

djsynchro
Posts: 7471
Joined: Thu Jun 23, 2005 9:06 pm
Location: Amsterdam, Netherlands
Contact:

Re: First programming language

Post by djsynchro » Sat Jul 03, 2010 3:26 pm

:D :D :D :D :D :D :D :D
:D :D :D :D :D :D :D
:D :D :D :D :D :D
:D :D :D :D :D
:D :D :D :D
:D :D :D
:D :D
:D

Post Reply