Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Microsoft C# named programming language of 2012
IT World ^ | 01/28/2013 | Sophie Curtis, Techworld

Posted on 02/02/2013 6:53:38 PM PST by SeekAndFind

Microsoft's C# has been crowned the number one programming language of the year by the PopularitY of Programming Language (PYPL) index.

Although Java is still the most widely used programming language in the world, C#'s popularity grew by 2.3% in 2012 - more than any other programming language during the same period. The growth of C# is thought to come at the expense of C and Visual Basic.

Java had a 28.3% developer share in 2012, even though its usage went down 0.3%. PHP, whose market share was down 1.6% to 15.4%, was the second most popular. C# and C++ came in joint third, each with a 10.5% share.

C and Javascript, both dropped down two places, from third to fifth place and fifth to seventh place respectively. Python dropped from fifth to sixth place, despite growing 0.9% in popularity and becoming the second most popular language in the US.

The PYPL index is created by analysing how often language tutorials are searched on Google. The more a specific language tutorial is searched, the more popular the language is assumed to be.

According to Nat Friedman, CEO of cross-platform app creation platform Xamarin, the launch of Windows 8 has played an important role in the growth of C# in 2012. C# remains the dominant language of third-party application development on Windows devices.

However, other features such as asynchronous programming, garbage collection, type safety and the ability to execute applications quickly have all contributed to the popularityof C# among mobile developers. The potability of C# is also key, according to Friedman.

"Between Windows, iOS and Android, your C# code can run on over 2.2 billion devices. And beyond mobile, C# is highly portable in a wide range of environments across the spectrum of mobile, embedded, desktop, and server computing," he said in a blog post.

The results of the PYPL index conflict with those of the better known TIOBE Programming Community Index, which ranks language popularity based on the number of skilled engineers world-wide, courses and third party vendors.

TIOBE is broader in scope, in that it uses Google, Bing, Yahoo, Wikipedia, Amazon, YouTube and Baidu to calculate the ratings. However, it uses the word "programming" in the search phrase rather than "tutorial", which PYPL claims is "misleading".

According to TIOBE's December 2012 results, Objective-C is the language of the year, rising 4.3% in popularity during 2012. C had the greatest developer share (18.7%), followed by Java with 17.6% and Objective-C with 11.1%.

Meanwhile, C# dropped a place to fifth place with a rating of 5.5%, and PHP was placed sixth.

"TIOBE is a lagging indicator. Among other things, it counts the number of web pages with the language name. Objective-C programming has over 28 million pages, while C programming has only 11 million. This explains why Objective-C has a high TIOBE ranking," stated a post on the PYPL web page.

"But who is reading those Objective-C web pages? Hardly anyone, according to Google Trends data. Objective C tutorial are searched 6 times less than Javascript tutorial. Javascript has a 7.9% share of search, so Objective-C has a share of 1.3%."

TIOBE will announce its own programming language of the year 2012 later this month.


TOPICS: Business/Economy; Computers/Internet
KEYWORDS: c; microsoft; programminglanguage
Navigation: use the links below to view more comments.
first previous 1-2021-4041-6061-8081-93 next last
To: dangus
A key advantage is that it has a nice, shallow learning curve.

This, like "I could care less" instead of "I couldn't care less." is said by people all the time and is actually the opposite of what you mean.

The learning curve is a graph of knowledge acquired vs. time. A "nice" learning curve is steep. A shallow learning curve means you've have been working a very long time and have not acquired very much knowledge.

Tonight's Pedantic MomementTM has been broguht to you by Bristol-Meyers.

61 posted on 02/02/2013 11:07:58 PM PST by FredZarguna (Use it as you will. I Could NOT care less.)
[ Post Reply | Private Reply | To 54 | View Replies]

To: Jeff Chandler

PERL is the web application COBOL. It is still used all over the place in legacy apps.


62 posted on 02/02/2013 11:14:58 PM PST by dfwgator
[ Post Reply | Private Reply | To 5 | View Replies]

To: dangus

What about JQuery? That is essentially JavaScript, but I’m not sure if it gets considered as JavaScript.


63 posted on 02/02/2013 11:17:34 PM PST by dfwgator
[ Post Reply | Private Reply | To 32 | View Replies]

To: dangus

I am a big fan of Apache Wicket to develop Java-based web apps....I can build my HTML file and get all of the CSS goodness worked out in any HTML design app, then code the matching Java class to pop the data onto the page. Writing reusable components is a snap. And it really works well with toolkits, like Twitter Bootstrap.


64 posted on 02/02/2013 11:22:35 PM PST by dfwgator
[ Post Reply | Private Reply | To 54 | View Replies]

To: SeekAndFind

Well, I am writing most of my Master’s project in python and some c, but I really like C#. It’s one of Microsoft’s better accomplishments.


65 posted on 02/02/2013 11:47:12 PM PST by douginthearmy
[ Post Reply | Private Reply | To 1 | View Replies]

To: Revolting cat!
It can't be meaner than what my former pal and mentor wrote and could not understand immediately after he wrote it, but when he did (understand it) he could not explain it understandably to anyone, and which regular expression despite or perhaps because of it all worked!

Regex is one of those things everyone hates, but nobody has ever found anything better to replace it with.

Somebody asked me once if regex was left-brain or right-brain. I told them writing them is right-brain and reading them is left-brain.

66 posted on 02/03/2013 12:00:48 AM PST by tacticalogic ("Oh, bother!" said Pooh, as he chambered his last round.)
[ Post Reply | Private Reply | To 52 | View Replies]

To: dangus
Oddly, there’s no F#

Au contraire: http://en.wikipedia.org/wiki/F_Sharp_(programming_language)

FWIW, a residual reason to pay attention to MSFT.

However, most folks in the field will gravitate in the Haskell direction.

67 posted on 02/03/2013 12:41:44 AM PST by cynwoody
[ Post Reply | Private Reply | To 23 | View Replies]

To: dangus
JavaScript is only a client-side scripting language

Huh?

68 posted on 02/03/2013 12:44:15 AM PST by cynwoody
[ Post Reply | Private Reply | To 32 | View Replies]

To: Olog-hai
There any resources for C♭?

Isn't C♭ a little dated? Maybe this will help point you the right direction?


69 posted on 02/03/2013 1:36:16 AM PST by ApplegateRanch (Love me, love my guns!©)
[ Post Reply | Private Reply | To 3 | View Replies]

To: JRandomFreeper

Still around.

http://www.borland.com/

And it gets even better. They’re now owned by Micro Focus, most well known in the early PC era for Micro Focus COBOL.

It looks like they’re primarily development tools these days, and still do COBOL. Don’t see anything about Pascal. I know some guys who do smartphone development who use Silk, one of their tools.


70 posted on 02/03/2013 2:40:18 AM PST by FreedomPoster (Islam delenda est)
[ Post Reply | Private Reply | To 31 | View Replies]

To: FredZarguna; Revolting cat!
That story is not true.

Whether it is or not, we are all still using QWERTY keyboards. (For the handful of DVORAK users out there, I am sure you are still regularly faced with having to change gears and use a QWERTY when not at your base machine).
71 posted on 02/03/2013 4:41:36 AM PST by Dr. Sivana ("C'est la vie" say the old folks, it goes to show you never can tell. -- Chuck Berry)
[ Post Reply | Private Reply | To 40 | View Replies]

To: FredZarguna
C, C++, C#, Java, Pascal, Object Pascal are all Algol-60 based languages,

So one could truthfully say that Al Gol is largely responsible for the Internet.
72 posted on 02/03/2013 4:48:33 AM PST by Dr. Sivana ("C'est la vie" say the old folks, it goes to show you never can tell. -- Chuck Berry)
[ Post Reply | Private Reply | To 58 | View Replies]

To: softwarecreator
I've been using C# since the day it came out (although not exclusively) and it has become my favorite when building application that will run on Windows.

For simple things RAD is great; though I believe that it's done a huge disservice to the world -- namely the "code-behind" style. [At least] half of the applications I've had to maintain in C# had the propensity to use labels as a sort of global variable (this possibly in addition to the variable/property that label's value comes from -- introducing sorts of aliasing/synchronization problems).

For my own new development, I try to (a) build the algorithms (and state-machine/-variable interactions) first, then (b) slap the GUI on, displaying what's needed as necessary -- this avoids the problem of making the program overly-dependent on the GUI.

That said, I'm a fan of Delphi, and I can see Ander's [Delphi] influence/experience in C#. So it's not all bad -- but then again, I've been working in Ada on my home projects for a few years and it's a real pain to go back to languages that weren't designed for both correctness and maintainability. One such feature is case-coverage, validating that every possible value in a discrete type (esp. enumerations) appears in a switch-statement, which is impossible in C# because enumerations are really 'int'. (It is technically impossible to implement general case-coverage in C#: the simplest reason being that it allows switch on strings, which can be of arbitrary/unbounded length.)

I've found DataGridView to be a very flexible and easy control to use.

It may be simpler to use [in general practice] than my experience with it has been; but again I am doing upkeep/extension on software likely originally written by someone in a "just get it done" mentality who was unconcerned with maintainability (judging by how the program is structured and the amount of cut-n-paste/code-behinds -- you know, like when the guy has a print button and a preview button and both contain the same code instead of, say, having the same handler attached to both with a little prolog before the main portion determining which option [print or preview] was pushed). -- Given some of what searches turned up regarding some of my troubles it looks like it's not always easy-to-use.

73 posted on 02/03/2013 6:33:17 AM PST by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 43 | View Replies]

To: dangus
PHP is a long way from dying, but it’s obsolescence is becoming apparent.

IMO, PHP needs to die. Its fast and loose playing w/ types is, I believe, cause enough for legal liability in any system dealing with finances.

As an example, consider the translation of some numeric string to an integer which is done automatically. If the string's value is "06" or "07" then the integer-result is that number, but if it is "08" or "09" then the resultant integer is 0 -- this is because the translation views the leading 0 as a flag that you are dealing with Octal, and 8 or 9 are not valid octal numbers so the value 0 is returned (indicative of an error in the parsing); it is because this error-value is itself a valid output that there is thus no way to catch the error.

(There are many other problems, but that one lends itself to a short, obvious explanation illustrating the dangers of PHP's design philosophy.)

74 posted on 02/03/2013 11:07:19 AM PST by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 32 | View Replies]

To: FredZarguna; dangus
This, like "I could care less" instead of "I couldn't care less." is said by people all the time and is actually the opposite of what you mean.

The learning curve is a graph of knowledge acquired vs. time. A "nice" learning curve is steep. A shallow learning curve means you've have been working a very long time and have not acquired very much knowledge.

Tonight's Pedantic MomementTM has been broguht to you by Bristol-Meyers.

Or, instead of time it could be "effort/work" (thus payoff vs. effort) and in this case there's a radically different meaning -- indeed it would be [roughly] the transposition of the X and Y coordinates in the aforementioned "knowledge vs. time" (it would be exact iff the ratio of work to time was fixed).

75 posted on 02/03/2013 11:13:11 AM PST by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 61 | View Replies]

To: JRandomFreeper
Oooohhh... a programming language holy war.

They are fun, aren't they? ;)

Personally, I never left Turbo Pascal for a high-level language. And there's always assembler for important stuff. ;)

TP was pretty good stuff, certainly superior to C/C++ as far as reliability/maintainability go; with the philosophy of detecting errors at the earliest possible point (statically, at compile-time, if possible), means that it is inherently a better choice for developing large systems.

Though I believe Ada to be superior to even TP -- it was designed with reliability and maintainability in mind, looking at both programming-in-the-small (generics, type-attributes, subtyping) and the large (packages [which can be generic], task-types, true spec/body separation)... I find it slightly saddening that more languages forgo [any?] thought on maintainability.

76 posted on 02/03/2013 11:28:22 AM PST by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 18 | View Replies]

To: FreedomPoster; JRandomFreeper
Still around.
http://www.borland.com/

And it gets even better. They’re now owned by Micro Focus, most well known in the early PC era for Micro Focus COBOL.
It looks like they’re primarily development tools these days, and still do COBOL. Don’t see anything about Pascal. I know some guys who do smartphone development who use Silk, one of their tools.

TP became Delphi, which was spun-out/sold-to another company -- I think there was several sales, or talks thereof, because I vaguely remember worries that it would become like WordPerfect -- however, that fear has not been realized as Embarcadero is still around and doing [active] development on the product, IDE, and language... while WP seems to be getting the breadcrumbs left over from Corel's focus on its image/video software.

77 posted on 02/03/2013 11:33:51 AM PST by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 70 | View Replies]

To: FredZarguna; Delphster
The one place where NO language has come anywhere close to C++ even now is in template metaprogramming and Generics.

This is incorrect; Ada has a wonderful generic system.
subprograms can be parametrized on a type (or other functions, ranges, tasks, values, packages, etc.), as can packages themselves; wikipedia has an entry about Ada's generic-system on it's generic programming page.

The consequence of the above is you can make programs with a high amount of safe reuse (decomposing common elements); for example:

  1. You can define an interface (or abstract base-type in Ada 95/2005/2012) for operating on via PostScript,
  2. You can make a generic package defining a type which uses the interface from #1,
  3. You can make another generic package defining a [type of] stack, instantiate it using objects of the interface from #1,
  4. you can make another generic package which takes the package [from #3], defines four [IIRC] stack-variables (two for working, two containing "dictionaries" for functions), and operations thereon
  5. and another containing the [rest of] general postscript commands
and you'd have a PostScript interpreter.


Now some people think that the template/metaprogramming ability is more powerful than the generic facility of Ada because it is Turing-complete; this is actually quite a step backward WRT safety -- because it is Turing-complete you can state your problem in the template itself, which is not guaranteed to finish (precisely because it is Turing-complete).

78 posted on 02/03/2013 12:09:42 PM PST by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 58 | View Replies]

To: tacticalogic
I don’t program in any of those languages. I do, however write a mean regular expression, which the people at work who do use those languages seem to find quite useful.

Do you're the person I need to hunt down and kill! [j/k]

But on a more serious note, I absolute loathe regular expressions -- as most of my career has been maintenance/additional-development regex always becomes a pain in the ass.

Example:
The original requirement was validating the phone-number was 7 digits, now it has to be 7-digits w/ the '-' optional in NNN-NNNN form... oh, now we need it to recognize area-codes (NNN)-NNN-NNNN, oh now it also needs to accept NNN-NNN-NNNN... oh, now it needs to understand country codes... oh now it needs to accept the proper format based on the country-code.

*Sigh*

79 posted on 02/03/2013 12:21:34 PM PST by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 44 | View Replies]

To: OneWingedShark
"You have a problem. You decide to solve it using a regular expression. Now you have two problems."

-Author Unknown

A collary, seen recently:

"You have a problem. You decide to solve it using threads. problems Now have two you."

80 posted on 02/03/2013 12:40:44 PM PST by tacticalogic ("Oh, bother!" said Pooh, as he chambered his last round.)
[ Post Reply | Private Reply | To 79 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-2021-4041-6061-8081-93 next last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson