Implementing Portal Solutions
It might be a coincidence but while classic (Visual) Basic is slowly going off radar, VB.NET is still gaining in popularity each month. VB.NET now enters the top 20. Other interesting moves this month: Groovy is approaching the top 20 by climbing another 8 places, CFML (ColdFusion) is back in the top 50, whereas Clojure entered the top 100 at position 77.
The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.
|
Position Feb 2012 |
Position Feb 2011 |
Delta in Position | Programming Language |
Ratings Feb 2012 |
Delta Feb 2011 |
Status |
|---|---|---|---|---|---|---|
| 1 | 1 |
|
Java | 17.050% | -1.43% | A |
| 2 | 2 |
|
C | 16.523% | +1.54% | A |
| 3 | 6 |
![]() ![]()
|
C# | 8.653% | +1.84% | A |
| 4 | 3 |
|
C++ | 7.853% | -0.33% | A |
| 5 | 8 |
![]() ![]()
|
Objective-C | 7.062% | +4.49% | A |
| 6 | 5 |
|
PHP | 5.641% | -1.33% | A |
| 7 | 7 |
|
(Visual) Basic | 4.315% | -0.61% | A |
| 8 | 4 |
![]() ![]() ![]()
|
Python | 3.148% | -3.89% | A |
| 9 | 10 |
|
Perl | 2.931% | +1.02% | A |
| 10 | 9 |
|
JavaScript | 2.465% | -0.09% | A |
| 11 | 13 |
![]()
|
Delphi/Object Pascal | 1.964% | +0.90% | A |
| 12 | 11 |
|
Ruby | 1.558% | -0.06% | A |
| 13 | 14 |
|
Lisp | 0.905% | -0.05% | A |
| 14 | 26 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Transact-SQL | 0.846% | +0.29% | A |
| 15 | 17 |
![]()
|
Pascal | 0.813% | +0.08% | A |
| 16 | 22 |
![]() ![]() ![]() ![]() ![]()
|
Visual Basic .NET | 0.796% | +0.21% | A-- |
| 17 | 32 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
PL/SQL | 0.792% | +0.38% | A |
| 18 | 24 |
![]() ![]() ![]() ![]() ![]()
|
Logo | 0.677% | +0.10% | B |
| 19 | 16 |
![]() ![]()
|
Ada | 0.632% | -0.17% | B |
| 20 | 25 |
![]() ![]() ![]() ![]()
|
R | 0.623% | +0.06% | B |
The long term trends for the top 10 programming languages can be found in the line diagram below.
The complete top 50 of programming languages is listed below. This overview is published unofficially, because it could be the case that we missed a language. If you have the impression there is a programming language lacking, please notify us at tpci@tiobe.com.
| Position | Programming Language | Ratings |
|---|---|---|
| 21 | Lua | 0.527% |
| 22 | Fortran | 0.524% |
| 23 | NXT-G | 0.522% |
| 24 | Assembly | 0.520% |
| 25 | C shell | 0.512% |
| 26 | MATLAB | 0.493% |
| 27 | Scheme | 0.432% |
| 28 | Groovy | 0.414% |
| 29 | RPG (OS/400) | 0.405% |
| 30 | Prolog | 0.391% |
| 31 | Erlang | 0.367% |
| 32 | ActionScript | 0.365% |
| 33 | F# | 0.359% |
| 34 | COBOL | 0.355% |
| 35 | Scratch | 0.354% |
| 36 | ABAP | 0.335% |
| 37 | Forth | 0.318% |
| 38 | cg | 0.316% |
| 39 | PL/I | 0.314% |
| 40 | D | 0.302% |
| 41 | ML | 0.297% |
| 42 | Haskell | 0.293% |
| 43 | Standard ML | 0.280% |
| 44 | CFML | 0.278% |
| 45 | Go | 0.277% |
| 46 | OpenEdge ABL | 0.270% |
| 47 | APL | 0.269% |
| 48 | Smalltalk | 0.267% |
| 49 | Q | 0.260% |
| 50 | Tcl | 0.254% |
The following list of languages denotes #51 to #100. Since the differences are relatively small, the programming languages are only listed (in alphabetical order).
To see the bigger picture, please find the positions of the top 10 programming languages from 5, 15 and 25 years ago in the table below.
| Programming Language |
Position Feb 2012 |
Position Feb 2007 |
Position Feb 1997 |
Position Feb 1987 |
|---|---|---|---|---|
| Java | 1 | 1 | 4 | - |
| C | 2 | 2 | 1 | 1 |
| C# | 3 | 8 | - | - |
| C++ | 4 | 3 | 2 | 7 |
| Objective-C | 5 | 44 | - | - |
| PHP | 6 | 4 | - | - |
| (Visual) Basic | 7 | 5 | 6 | 5 |
| Python | 8 | 7 | 27 | - |
| Perl | 9 | 6 | 5 | - |
| JavaScript | 10 | 9 | 25 | - |
| Lisp | 13 | 16 | 17 | 3 |
| Ada | 17 | 17 | 15 | 2 |
| COBOL | 34 | 18 | 3 | 10 |
The hall of fame listing all "Programming Language of the Year" award winners is shown below. The award is given to the programming language that has the highest rise in ratings in a year.
| Year | Winner |
|---|---|
| 2011 | Objective-C |
| 2010 | Python |
| 2009 | Go |
| 2008 | C |
| 2007 | Python |
| 2006 | Ruby |
| 2005 | Java |
| 2004 | PHP |
| 2003 | C++ |
In the tables below some long term trends are shown about categories of languages. Object-oriented statically typed languages have been most popular for more than 5 years now.
| Category | Ratings Feb 2012 | Delta Feb 2011 |
|---|---|---|
| Object-Oriented Languages | 57.6% | +0.4% |
| Procedural Languages | 36.3% | -1.0% |
| Functional Languages | 4.2% | -0.1% |
| Logical Languages | 1.9% | +0.7% |
| Category | Ratings Feb 2012 | Delta Feb 2011 |
|---|---|---|
| Statically Typed Languages | 71.3% | +3.7% |
| Dynamically Typed Languages | 28.7% | -3.7% |
1. Ajouter le Chart Web part sur une page
Voici les différentes étapes que nous allons suivre pour mettre en place notre graphique :
Téléchargement et installation du Silverlight Toolkit de Codeplex
Vous pouvez télécharger le Microsoft Silverlight Toolkit sur le site suivant : http://www.codeplex.com/Silverlight
Voici les différentes étapes de l’installation du Toolkit :
Création d’une liste personnalisée sur le site SharePoint Online
Dans cette section nous allons créer une liste personnalisée dans laquelle nous allons stocker le nombre d’habitants des principales grandes villes françaises.
Voici les différentes étapes pour créer cette liste :
|
Title |
Population |
|
Paris |
2125851 |
|
Marseille |
797491 |
|
Lyon |
445274 |
|
Toulouse |
390301 |
|
Nice |
343123 |
|
Nantes |
270343 |
|
Strasbourg |
263941 |
Création d’une application Silverlight
Dans cette section nous allons voir comment créer une application Silverlight intégrant un graphique. Ce graphique consommera les données de la liste créée précédemment via l’utilisation des Web Services SharePoint Online.
Voici les différentes étapes de création de l’application Silverlight :
<chartingToolkit:Chart x:Name="MyChart" Margin="10"> <chartingToolkit:Chart.Series> <chartingToolkit:ColumnSeries Title="Population" IndependentValueBinding="{Binding Title}" DependentValueBinding="{Binding Population}" /> </chartingToolkit:Chart.Series> </chartingToolkit:Chart>
Dans le Tag <UserControl /> ajouter les lignes suivantes :
xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input"
xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;
assembly=System.Windows.Controls.DataVisualization.Toolkit"
InitializeComponent(); ListsSoapClient proxy = new ListsSoapClient(); proxy.GetListItemsCompleted += new System.EventHandler
<GetListItemsCompletedEventArgs>(proxy_GetListItemsCompleted); XDocument doc = XDocument.Parse("<Document>
<Query /><ViewFields /><QueryOptions /></Document>"); XElement query = doc.Element("Query"); XElement viewFields = doc.Element("ViewFields"); XElement queryOptions = doc.Element("QueryOptions"); proxy.GetListItemsAsync("Population", "", query, viewFields,
"10", queryOptions, "");
void proxy_GetListItemsCompleted(object sender,
GetListItemsCompletedEventArgs e) { XElement result = e.Result; var Cities = from x in result.Elements().First().Elements() select new ListResult { Title = x.Attribute("ows_Title").Value, Population = Convert.ToDouble(
x.Attribute("ows_Population").Value) }; ColumnSeries cs = MyChart.Series[0] as ColumnSeries; cs.ItemsSource = Cities; }
public class ListResult { public string Title { get; set; } public double Population { get; set; } }
using SilverlightApplications.ServiceReference1;
using System.Xml.Linq;
using System.Windows.Controls.DataVisualization.Charting;
Déploiement et intégration de l’application Silverlight sur le site SharePoint Online
Dans cette section nous allons voir comment déployer une application Silverlight sur un site SharePoint Online puis comment ajouter cette application dans une page.
<object data="data:application/x-silverlight-2,"
type="application/x-silverlight-2" width="100%" height="100%"> <param name="source"
value="ClientBin/SilverlightApplications.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="3.0.40624.0" /> <param name="autoUpgrade" value="true" /> </object>
Attention : il faut remplacer le tag <param name="source" value="ClientBin/SilverlightApplications.xap"/> par <param name="source" value="SilverlightApplications.xap"/>
| Février 2012 | ||||||||||
| L | M | M | J | V | S | D | ||||
| 1 | 2 | 3 | 4 | 5 | ||||||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 | ||||
| 13 | 14 | 15 | 16 | 17 | 18 | 19 | ||||
| 20 | 21 | 22 | 23 | 24 | 25 | 26 | ||||
| 27 | 28 | 29 | ||||||||
|
||||||||||
Commentaires