Chosing a programming language for today and the next 10 years

Eric Cope eric.cope at gmail.com
Wed Mar 23 00:52:59 MST 2011


Personally, I'd learn C and then C++ and then Objective C. The basics of C
applies to both C++ and Objective C. Its good for embedded stuff and
standard computer platforms.
Java is appealing from its cross platform ability, but with Oracle at the
helm, I've heard grumblings that it may be going nowhere quickly... I can't
recall the source of that so take it with a grain of salt.

Eric Cope

On Wed, Mar 23, 2011 at 12:40 AM, Nathan England <nathan at paysonlinux.org>wrote:

> 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.
>
> ---------------------------------------------------
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.PLUG.phoenix.az.us/pipermail/plug-discuss/attachments/20110323/b29af951/attachment.html>


More information about the PLUG-discuss mailing list