A little over two years ago I commented how surprising it was that
VisualBasic
was still more popular than C# in the .Net world. Back
then I checked the TIOBE Index
and saw that VB (in all its flavors) enjoyed almost 11% of relevance
while C# wasn't even at the 4% level.
When we look at the June 2010 rank below we see that C# has finally
caught up with VB, and it's safe to say C# is now the
most popular .Net language (remember, the VB index is not made up of just VB.NET.)
| 1 | Java | 18.03% | |
| 2 | C | 17.81% | |
| 3 | C++ | 10.76% | |
| 4 | PHP | 8.93% | |
| 5 | (Visual) Basic | 5.87% | |
| 6 | C# | 5.20% | |
| 7 | Python | 4.27% | |
| 8 | Perl | 3.20% | |
| 9 | Objective-C | 2.47% | |
| 10 | Delphi | 2.39% | |
| 11 | JavaScript | 2.19% | |
| 12 | Ruby | 2.07% | |
| 13 | PL/SQL | 0.79% | |
| 14 | SAS | 0.70% | |
| 15 | Pascal | 0.70% | |
| 16 | Lisp/Scheme/Clojure | 0.65% | |
| 17 | Lua | 0.59% | |
| 18 | MATLAB | 0.59% | |
| 19 | ABAP | 0.58% | |
| 20 | PowerShell | 0.53% | |
Again, anyone can debate the importance of this ranking system, but at least it
has been there for a while and to me it seems to represent the
pulse of software development quite well.
Movers and shakers
But this post is not about C# vs. VB.NET.
This time around what caught my attention was the impressive
rise of Objective-C (up 36 positions in one year). Now,
no matter how more common Macs have become in the last few years,
no one will convince me this increase in Objective-C is due to
native OSX application development :)
Of course we all know it's caused by the surge in mobile and device app
development (iPhone, iPad, and anything that they decide will
run the iOS, like the AppleTV in the future, who knows?)
If you look at the trending chart on the
TIOBE page
you'll see that Objective-C started to gain significant steam around June of
last year, coincidentally (maybe not?) when the iPhone 3GS was announced.
Keep your eyes on the ball
Are you playing with Mobile yet? Have you:
- Started reading about mobile development?
- Developed a Mobile web site?
- Written and tested a native app against a device emulator/VM (iPhone, Android, WebOS, WP7)?
- Written and deployed an app to your own mobile device?
- Published an app on the market?
It's not like you will find yourself out of a job if you don't get into mobile
but for many developers, from software shops to corporate environments, sooner
or later a request for a mobile product or a mobile version of an existing
one will swing by your desk.
It's an exciting time. Once again you have the chance of taking the lead
and play an important role in your team by staying ahead of the game.
Remember when you started seeing request for Ajax and fancy UI's in
your web applications. Remember how you were one of the few that
knew anything about it in your team? Same thing here. Only much bigger.
What I'm looking into
There are two different fronts that interest me in mobile development:
Native Android apps and Mobile Sites. I'll explain.
The time I spent in Objective-C and XCode in the past was enough for
me to know I'd be grinding my teeth and blowing off steam every single
day if I wanted to develop for the iPhone (it's probably just me, I can live with that admission.)
Besides, I don't like the idea of an approval process before I can give away or sell my apps.
Windows Phone is something that I'll have to wait more and see what
kind of traction it gains. It also has the approval process issue. The
big plus will be the development tools, which I think will better than
iPhone and Android.
All that, combined with the enormous momentum that Android has, made
me start coding for Android when it comes to native apps.
Don't forget Mobile Web
Native mobile development is fun and rewarding but let's not kid ourselves.
History shows that businesses will favor the simplicity of web development.
I went through that transition period when custom desktop application
development quickly lost market to web applications. And that happened
in a world where Windows was virtually in every workstation that mattered.
Now imagine the mobile scene, where there's more than one big player, none
equivalent to what Windows was back in 1998. Do you really think anyone
will want incur the cost of maintaining 3 or 4 different native
versions of each mobile application that we will start cranking out
like we do web apps today? Native apps will probably be the minority,
for environments where you have the luxury of dictating your end-user's
choice of mobile device.
Didn't we just spend the better part of the last 10 years trying to get out of
a certain single-browser paradigm? Do we want to repeat that mistake?
Moving to HTML5
Why is HTML5 so important in Mobile and not as much in the standard Web yet? Well,
for one there is a greater percentage of HTML5-capable browsers in Mobile
than on the desktop browsers. Android, iPhone, WebOS (and soon BlackBerries)
have WebKit browsers.
With things like richer forms, offline support, canvas, video and the
Geo-Location API (not really HTML5 but present in those WebKit browsers) we
can build really capable mobile web apps. Not just small screen
versions of the regular web apps.
To be very straight forward about it, the way I personally see it is
that HTML5 is where the bulk of the mobile development will happen in the Enterprise and
consumer-facing applications.
Maybe something like Flash, AIR, or Silverlight makes a run for their
mobile money too but with all the bullying from Apple and diverging
opinions everywhere, that's not something I'm spending time on right now.
Native or Web?
Both. But definitely much more of the Web kind.
Posted
06-17-2010 12:08 AM
by
sergiopereira