Chosing a programming language for today and the next 10 years
Taylor, Kaia
Kaia.Taylor at schwab.com
Wed Mar 23 09:03:30 MST 2011
I read that you want a win desktop application, as opposed to a device
driver, for instance. I am guessing that code efficiency is lower down
on the list than coding time. So I see it as a matter of balancing how
quickly you want that desktop app written, versus how much ooh and aah
you want for jumping right into C/C++.
What if you:
1. write your desktop app in visual basic.
This may take you >5 times less time to write, based on my own VB vs.
C++ learning experiences. I know it's something like "minus 2,322 geek
cred points" for admitting you wrote something in visual basic. But in
exchange, you get your app out and tested and improved and the end
product will be better 6 months from now.
2. start learning C/C++ on the side, by working on porting that app.
First port the parts of the app which could use optimization.
3. along with learning coding in the next 10 years, keep up on
improvements automated code optimizers, emulators, and porting tools.
To me, using these tools means that I can get the job done more quickly
without necessarily going through the programming learning curve that
I'd have needed 10 years ago.
Regards,
Kaia Taylor
DevSA group -- tis-dco-devsa - jumpword devsa
http://dco-sps.schwab.com/sites/devsa/welcome
<http://dco-sps.schwab.com/sites/devsa/welcome> desk 602-977-5157 pager
6025785439 at vtext.com or white pages
<blocked::http://wp.schwab.com/pogo/searchpopup.do?applicationFrom=OTHER
S&searchOn=LAST_FIRST_ATTR&searchValue=Taylor, kaia> All e-mail sent to
or from this address will be received by the Charles Schwab corporate
e-mail system and is subject to archival and review by someone other
than the recipient.
________________________________
From: plug-discuss-bounces at lists.plug.phoenix.az.us
[mailto:plug-discuss-bounces at lists.plug.phoenix.az.us] On Behalf Of Eric
Cope
Sent: Wednesday, March 23, 2011 12:53 AM
To: Main PLUG discussion list
Subject: Re: Chosing a programming language for today and the next 10
years
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/f3df2c70/attachment.html>
More information about the PLUG-discuss
mailing list