Lots here, Hopefully this will help.

1) Windows is a terrible bet.  It's already having trouble in the market on 
multiple fronts; it doesn't scale up to servers (well), it doesn't scale down 
to mobile devices, and it won't likely work well with the transition to ARM 
architectures and a more diverse hardware ecosystem.
2) Apple will never dominate anything (in computing devices) for long.  They're 
too tied to the closed-control-everything walled-garden approach, and most 
people don't really want a device that's completely closed (witness the 
surprising popularity of jailbreaking iPhones) outside of simple single-purpose 
consumer-electronics devices (like an MP3 player, and even there Apple is less 
dominant than they'd like you to believe).
3) Don't choose a single language and expect to use that for 10 years; it's 
extremely unlikely any given language or platform will hold sway that long.
4) Apple IOS *is* OSX on phones.  It's the only "version" of OSX that will ever 
run on a phone.

That said:
Java is a great platform to learn, particularly for mobile; consider building 
an Android app to learn with (Android apps are Java with some slight 
modifications and extra API's).  The Android SDK runs in Linux and provides an 
actual system emulator so if your app runs in emulation it will almost 
certainly run on real devices (unless you do something really weird).
If you also want to try some web development look at building a straight-up 
servlet app with Tomcat6 (avoid Spring and J2EE; the first has jumped the shark 
and the second is very complex).  Servlet programming is relatively easy to 
learn, and it's immensely powerful.  Almost all examples of JSP programming 
follow the broken ASP model, which is almost the worst possible way to 
architect a web application.  You might also look at the Google Web Toolkit, 
which allows you to use Java to develop the AJAX frontend as well.

C and C++ are strong languages, but not terribly well suited to mobile apps 
unless you have a lot of experience and need the absolute maximum performance 
on a phone. If you are interested in those languages learn the QT toolkit as 
well, as that will help you create C++ applications that are cross-platform 
without a lot of *very* difficult work.  Understand that it's generally 
expected that everything you write for the first 5-10 years using C++ will be 
horrible, just because C++ is more complex and powerful than generally 
recognized.

It might be useful to look into Python, Scala, and Javascript as additional 
options for a, currently in-demand, strong niche language that will buy time to 
build a broader skillset.

If you really want to develop for iPhone, then buy a Mac desktop or laptop and 
develop using Objective-C, since that's more-or-less required to develop a 
native iPhone app.

For most cases, the best place to develop a new desktop application is Linux; 
develop using Java, C++ with QT, or Python with wxWidgets and you'll be able to 
run it on Windows and Mac as well, but developing on Linux will encourage 
cleaner code and provide a smoother software development process.

Good luck,
Joseph Sinclair

On 03/22/2011 09:36 PM, keith smith wrote:
> 
> 
> Hi,
> 
> 
> 
> I would like to build a desktop
> application to run in Windows.  And I am looking to the future... 10
> years, if that is possible.
> 
> 
> 
> With mobile computing (smart phones)
> starting to emerge, and a possible future dominance by Apple devices,
> I would like to try to prep for that too.
> 
> 
> 
> 25 years ago I learned dBaseII and
> liked it. For that time is was very feature rich and very powerful. 
> Then I followed with dBase+, III+, FoxBase+, FoxPro DOS and Windows,
> and finally Visual Foxpro.  Really enjoyed that 13 year run.  M$
> bought VFP and now it is almost dead.
> 
> 
> 
> I moved to Perl for a short time, ASP
> for a short time, and then PHP, where I am now.
> 
> 
> 
> Looking back I can say I learned one
> major lesson - be careful what sills you build and maintain.
> 
> 
> 
> So I am needing to learn a new skill to
> create this simple Windows Application.  I was thinking of C++ 
> because no matter where the market goes C will more than likely be
> useful on Windows, MAC, and Linux. 
> 
> 
> 
> 
> Then there is Java.  The write once run
> everywhere language.  Nice thing about Java is I can build web apps
> with it as well.  As phones become smarter, I suspect there will be
> some real need there also.  Then I also hear the rumor of OSX running
> on phones.  Nice!
> 
> 
> 
> So when the day is done and gone I do
> not want to spend a bunch of time learning a new language and the
> development tools that go along with it and find I wasted my time.
> 
> 
> 
> Any Suggestions?
> 
> 
> 
> Thanks in advance!
> 
> 
> 
> 
> 
> 
> ------------------------
> 
> Keith Smith
> 
> 
> 
> 2 Chronicles 7:14 (New International) : if my people, who are called by my 
> name, will humble themselves and pray and seek my face and turn from their 
> wicked ways, then I will hear from heaven, and I will forgive their sin and 
> will heal their land.
> 
> 
>       
> 
> 
> 
> ---------------------------------------------------
> PLUG-discuss mailing list - [email protected]
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss

Attachment: signature.asc
Description: OpenPGP digital signature

---------------------------------------------------
PLUG-discuss mailing list - [email protected]
To subscribe, unsubscribe, or to change your mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss

Reply via email to