30 décembre 2008

Différence entre vala et c#: string as indexer

Voici un exemple c# que j'ai pris dans la doc de Micro$oft qui ne marche pas en vala.  Je vais me plonger de nouveau dans la doc de vala pour trouver ce qui ne va pas. Le message d'erreur généré par valac: /media/hda3/vala/daycollection.vala:22.16-22.19: error: syntax error, unexpected this /media/hda3/vala/daycollection.vala:29.1-29.1: error: syntax error, unexpected } /media/hda3/vala/daycollection.vala:38.1-38.1: error: syntax error, unexpected } Le code: // Using a string as an indexer valueusing GLib;class... [Lire la suite]
Posté par InPhilly à 17:19 - - Commentaires [0] - Permalien [#]

30 décembre 2008

Différence entre vala et c#: Property

Le code qui suit compile sans problème, mais plante à l'éxecution.  La correction est à la fin: Il faut introduire une variable private avec un nom différent du nom donné en Property // Exemple Property c# - plante en valausing GLib;namespace Essai_property {    class Property {        public int valeur {            get {                return valeur;          ... [Lire la suite]
Posté par InPhilly à 15:56 - - Commentaires [0] - Permalien [#]
30 décembre 2008

Différence entre vala et c#: Hashtable

Ce code ne marche pas avec Vala (8 erreurs à la compilation):  Voir en-dessous le code modifié // statements_foreach_hashtable.cs// Using the Hashtable collection classusing GLib;public class MainClass {   public static void Main(string [] args)    {      // Declare a Hashtable object:      Hashtable ziphash = new Hashtable();       // Add entries using the Add() method:      ziphash.Add("98008",... [Lire la suite]
Posté par InPhilly à 06:06 - - Commentaires [0] - Permalien [#]
30 décembre 2008

Différence entre vala et c#: foreach sur une collection

L'itération sur une collection n'est pas possible avec Vala // statements_foreach_collections.cs// Using foreach with C#-specific collections:using GLib; // Declare the collection:public class MyCollection {   int[] items;    public MyCollection()    {      items = new int[5] {12, 44, 33, 2, 50};   }    public MyEnumerator GetEnumerator()    {      return new MyEnumerator(this);   }    // Declare the... [Lire la suite]
Posté par InPhilly à 05:53 - - Commentaires [0] - Permalien [#]
30 décembre 2008

Similitude entre vala et c#: foreach

Une boucle foreach sur une table (array) a la même syntaxe en c# et vala. Le code: // Utilisation de la boucle foreach sur une tableusing GLib; class foreach_table {    public static void main() {      int impair = 0, pair = 0;      int[] table = new int [] {0,1,2,5,7,8,11};      foreach (int element in table) {         if (element%2 == 0)  pair++;               else... [Lire la suite]
Posté par InPhilly à 05:40 - - Commentaires [0] - Permalien [#]
30 décembre 2008

Deuxième différence entre vala et c#: ReadLn et gets

Avec Vala, on entre une chaine de caractères dans la console avec stdin.gets(chaine,n) , tandis qu'en c# on utilise Console.ReadLine(). Le code: // Entrée standardusing GLib; class Entree {    public static void main() {        //string name = Console.ReadLine();    => Pas en Vala!        string name=new char[255];        stdout.printf("Entrez votre nom: ");        stdin.gets(name,255); ... [Lire la suite]
Posté par InPhilly à 05:09 - - Commentaires [0] - Permalien [#]

29 décembre 2008

Premiere difference entre vala et c# : WriteLine vs printf

Petite comparaison entre c# et vala pour une simple sortie de "Hello World" vers la console. Le code: // Hello worldusing GLib; /*class Hello {    public static void Main() {    System.Console.WriteLine("Hello Mono World - Ne fonctionne pas en Vala!");     }}*/ class Hello {    public static void main() {        stdout.printf("Hello Vala World - Ne fonctionne pas en c#!");    }} Premier problème:  c# utilise... [Lire la suite]
Posté par InPhilly à 23:25 - - Commentaires [0] - Permalien [#]
29 décembre 2008

Vala sauvera-t-il C ?

Voici une comparaison entre le nombre de projets en C (orange) , C++ (rouge), Java (mauve), C# (bleu clair) et Python (bleu foncé)  , elle provient de ohloh.net Visiblement le developpement en C et C++ diminue fortement au profit de Java, C# et Python.  Bref, la difficulté, le temps et le coût de developpement en langage de bas niveau est reporté vers l'utilisateur final qui doit aquérir une machine plus puissante pour faire tourner des programmes développés rapidement en langage de haut niveau.  Vala associe... [Lire la suite]
Posté par InPhilly à 11:37 - - Commentaires [0] - Permalien [#]
27 décembre 2008

Qui va là?

Le langage de programmation vala a-t-il un avenir? Les variantes de C sont nombreuses, et vala peut être considéré comme une évolution de C. Mais vaut-il le coup d'être appris?  Dans la famille C, on trouve: C++ , Java, C# , Objective-C , D et vala.  Cela commence à faire beaucoup de dialectes, avec des syntaxes plus ou moins éloignées du C. C est langage de bas niveau, juste au dessus de l'assembleur. Programmer en C est plutôt fastidieux, il faut tout détailler ou presque, manipuler des pointeurs, faire attention aux... [Lire la suite]
Posté par InPhilly à 15:54 - - Commentaires [0] - Permalien [#]
27 décembre 2008

vala et les chaines

Vala est un langage moderne et de haut niveau, en particulier les opérations sur les chaines de caractéres sont fortement simplifiés par rapport au C.  Voiçi quelques operations courantes: - assigner une chaine à une variable:    chaine = "ma chaine de caractéres"; - concaténer des chaines:    nom_complet = "mon prénom" + "mon nom de famille";                            ... [Lire la suite]
Posté par InPhilly à 03:53 - - Commentaires [0] - Permalien [#]