Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Learning a new programming language

Learning a new programming language
Thread Tools
TheoCryst
Mac Elite
Join Date: Nov 2005
Location: Seattle, WA, USA
Status: Offline
Reply With Quote
May 6, 2007, 08:31 PM
 
So, I have a friend. She and I are both second-year (soon to be third-year) computer science undergrads at the University of Arizona. Our school's CS department gives students a semester of basic C programming, followed by a single-minded focus on Java for the rest of the degree. Recently, my friend has decided she wanted to begin doing some work in a language other than Java on the side, just to keep from getting too locked-in.

Here are her requests:
1) It must be a language that she can use to develop desktop applications. That means no PHP, Javascript, etc.
2) It must be a language/API that she can utilize from either Windows or Linux. She doesn't want to buy a Mac quite yet, so "Objective C and Cocoa" isn't an option.

I'm betting her best bet is C# and .NET, but I honestly don't know a damn thing about Windows/Linux development. Any suggestions would be greatly appreciated!

Any ramblings are entirely my own, and do not represent those of my employers, coworkers, friends, or species
     
voiceofra
Forum Regular
Join Date: Feb 2007
Location: Scappoose OR, USA
Status: Offline
Reply With Quote
May 6, 2007, 08:52 PM
 
There's always Objective C and one of the other cross-platform windowing libraries - Qt, GTK, Wx...
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
May 6, 2007, 08:53 PM
 
There are lots of languages out there that fit her criteria — C#, C++, Ruby, Python, Lisp, Tcl and Smalltalk are just a few cross-platform languages with GUI toolkits. I prefer Ruby, just because I feel it's a pleasure to read and write, but I'm sure there are people who feel the same way about other languages. Lisp and Smalltalk in particular are very interesting because they predate the homogenization that's occurred over the past couple of decades (and yet aren't as painful as a lot of languages from 20+ years ago). C# is the most marketable "other option" at the moment, but it's not necessarily the best language for expanding your range or learning to look at programming in a different way.

Oh, wait, I mean…uh…Objective-C and Cocoa!
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
May 6, 2007, 08:55 PM
 
Originally Posted by voiceofra View Post
There's always Objective C and one of the other cross-platform windowing libraries - Qt, GTK, Wx...
What on earth is the point of using Objective-C without Cocoa? I mean, I like that language, but it's not so great that I'd learn it just for itself, and your library support without Yellow Box is pretty much nil.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
BLAZE_MkIV
Professional Poster
Join Date: Feb 2000
Location: Nashua NH, USA
Status: Offline
Reply With Quote
May 6, 2007, 09:17 PM
 
C++ focusing on mulitple inheritance, templates, STL, fun stuff like using C arrays with the STL algorithms. Maybe try implementing her own garbage collector.

Syntax is syntax. Java and .NET only do a few things C++ can't as workaround to self imposed limitations.
     
mduell
Posting Junkie
Join Date: Oct 2005
Location: Houston, TX
Status: Offline
Reply With Quote
May 6, 2007, 09:27 PM
 
C# or Python
     
smitty825
Forum Regular
Join Date: Sep 2003
Location: San Diego
Status: Offline
Reply With Quote
May 7, 2007, 12:32 AM
 
By desktop application, does she enjoy writing PC-based applications? If so, then C# wouldn't be a bad language to learn.

or does desktop application mean a non-web programming language? If that is the case, then learning C++ is certainly a good way to go. I would guess it is far and away the most used programming language for pc-applications and embedded systems.

Python (or Ruby) also is a good language to learn, as you can use it to write full blown applications, or simple scripts.

Does U of A have a programming languages class? I think that class might be useful as it (hopefully) teaches you a variety of programming languages and introduces you to different programming methodologies (such as functional, object oriented, etc)
     
BLAZE_MkIV
Professional Poster
Join Date: Feb 2000
Location: Nashua NH, USA
Status: Offline
Reply With Quote
May 7, 2007, 09:42 AM
 
Having used both Java and C# its obvious that C# is just a variation on J++. The only thing to learn there is the .NET framework and the IDE does half of that for you. When I look at a resume C# and Java are interchangable.
     
WJMoore
Grizzled Veteran
Join Date: Jan 2002
Location: Melbourne, Australia
Status: Offline
Reply With Quote
May 7, 2007, 10:00 AM
 
So many choices and none of them involve getting locked into Microsoft products:
C# with Mono
Objective-C with GNUStep
C++ with Qt
C with GTK+
     
peeb
Addicted to MacNN
Join Date: Mar 2006
Status: Offline
Reply With Quote
May 7, 2007, 11:35 AM
 
She should learn an old-school language, like Forth or Fortran, just to get the feel of where things came from.
     
kikkoman
Senior User
Join Date: Nov 2002
Status: Offline
Reply With Quote
May 7, 2007, 01:02 PM
 
For any desktop application developer C++ is a must. While new languages and frameworks have come around, C++ is still the dominate language for desktop application development.
     
   
 
Forum Links
Forum 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
Top
Privacy Policy
All times are GMT -4. The time now is 03:49 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,