|
|
Learning a new programming language
|
|
|
|
Mac Elite
Join Date: Nov 2005
Location: Seattle, WA, USA
Status:
Offline
|
|
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
|
|
|
|
|
|
|
|
Forum Regular
Join Date: Feb 2007
Location: Scappoose OR, USA
Status:
Offline
|
|
There's always Objective C and one of the other cross-platform windowing libraries - Qt, GTK, Wx...
|
|
|
|
|
|
|
|
|
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status:
Offline
|
|
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'."
|
|
|
|
|
|
|
|
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status:
Offline
|
|
Originally Posted by voiceofra
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'."
|
|
|
|
|
|
|
|
Professional Poster
Join Date: Feb 2000
Location: Nashua NH, USA
Status:
Offline
|
|
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.
|
|
|
|
|
|
|
|
|
Posting Junkie
Join Date: Oct 2005
Location: Houston, TX
Status:
Offline
|
|
|
|
|
|
|
|
|
|
|
Forum Regular
Join Date: Sep 2003
Location: San Diego
Status:
Offline
|
|
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)
|
|
|
|
|
|
|
|
|
Professional Poster
Join Date: Feb 2000
Location: Nashua NH, USA
Status:
Offline
|
|
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.
|
|
|
|
|
|
|
|
|
Grizzled Veteran
Join Date: Jan 2002
Location: Melbourne, Australia
Status:
Offline
|
|
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+
|
|
|
|
|
|
|
|
|
Addicted to MacNN
Join Date: Mar 2006
Status:
Offline
|
|
She should learn an old-school language, like Forth or Fortran, just to get the feel of where things came from.
|
|
|
|
|
|
|
|
|
Senior User
Join Date: Nov 2002
Status:
Offline
|
|
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 Rules
|
|
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
|
|
|
|
|
|