Chosing a programming language for today and the next 10 years

Nathan England nathan at paysonlinux.org
Wed Mar 23 00:40:37 MST 2011


Wow, such a windows question, and written to a linux group!

Dare I bring up Qt and KDE ? I realize neither is a language, but with the
future of Qt and KDE looking to scale to mobile devices, it only makes sense
to plan future applications to be written with C++ using the incredibly
impressive Qt and KDE frameworks. Both or individually. They rock. Extremely
powerful, and scale very well.

Nathan

On Tue, Mar 22, 2011 at 10:15 PM, Joseph Sinclair <plug-discussion at stcaz.net
> wrote:

> 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 - PLUG-discuss at lists.plug.phoenix.az.us
> > To subscribe, unsubscribe, or to change your mail settings:
> > http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>
>
> ---------------------------------------------------
> PLUG-discuss mailing list - PLUG-discuss at lists.plug.phoenix.az.us
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>



-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nathan England
I believe in the Constitution and the 4th Amendment. I am innocent and have
nothing to hide, but NO agent of the state crosses my threshhold without a
valid warrant signed by a judge and properly submitted. If we fail to
exercise our rights, we lose them.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.PLUG.phoenix.az.us/pipermail/plug-discuss/attachments/20110323/09ab1dcd/attachment.html>


More information about the PLUG-discuss mailing list