Concours de programmation CodinGame le 26 mars 2013

Posté par (page perso) . Édité par baud123. Modéré par Christophe Guilloux. Licence CC by-sa
20
21
mar.
2013
Technologie

Après le succès de l'édition de janvier (1280 inscriptions), CodinGame, le challenge de programmation 100% en ligne, revient le mardi 26 mars 2013 à 20h.
C’est l'occasion de se mesurer à plusieurs centaines d'autres codeurs, de remporter un Asus Transformer EeePad, un Kindle Fire HD ou un casque Jabra, et, pour ceux qui le souhaitent, d’entrer en relation avec plusieurs sociétés pour trouver ou changer de job.

L’épreuve consiste à résoudre deux problèmes de programmation dans le langage de son choix parmi C, C++, Python, Ruby, PHP, Java et C#. C'est évidemment gratuit, ouvert à tous, on peut participer de chez soi et c'est anonyme.

Les nouveautés de cette édition : un format plus court (durée moyenne estimée à 2 heures) et Ruby vient s'ajouter aux langages disponibles.

L’environnement de développement proposé donne accès à un éditeur de code et un shell Bash, pour lancer son programme depuis le navigateur.
Dès la fin du concours, les scores et le classement général sont publiés. Pour que tout le monde puisse apprendre des bonnes idées des autres, le règlement prévoit que le code source des participants soit rendu public sous licence libre GPL v3 et affiché sur le site.

Quelques chiffres du précédent CodinGame

Popularité des langages

Popularité des langages

Score moyen par langage

Score moyen par langage

Localisation des participants

Localisation des participants

  • # JavaScript

    Posté par (page perso) . Évalué à  2 .

    Il pourrait être intéressant de proposer JavaScript avec Node.Js. Ou alors de permettre d'utiliser la technologie que l'on veut du moment que le résultat est correct.

    • [^] # Re: JavaScript

      Posté par . Évalué à  2 .

      Le choix du langage est fortement faussé par celui des sociétés sponsors du concours et qui proposent du boulot. C'est majoritairement du Java. Donc les histogrammes de l'article sont faussés en conséquence.

      • [^] # Re: JavaScript

        Posté par (page perso) . Évalué à  4 .

        Tu veux dire que le score des participants pour Java a été gonflé ?

        ;-)

  • # Python uber alles

    Posté par . Évalué à  5 .

    Je constate que les pythonistes réussissent mieux (sont plus intelligents) que les autres.
    N'étant jamais parvenu à me mettre à ce langage, la déduction qui s'impose m'attriste au plus haut point.
    Je retourne à mon PHP…

    • [^] # Re: Python uber alles

      Posté par . Évalué à  10 .

      Ben écoute, je fais du Python et personnellement, je ne comprends pas qu'on puisse utiliser du C ou du C++ pour ce genre de concours. Ces deux langages sont vraiment géniaux, mais quand tu as 30 minutes pour te pencher sur un problème algorithmique, le fait de devoir t'occuper des spécificités rigides de ton langage en plus de ta réflexion algorithmique ça me paraît vraiment être de trop.
      Après au final, PHP, bon, j'aime pas le langage mais il me semble aussi plutôt assez bien adapté à ce genre de concours.

      Sinon en bonne ressource pour apprendre le Python : http://inforef.be/swi/download/apprendre_python3_5.pdf
      ou
      https://linuxfr.org/news/domptage-de-serpents-pour-les-enfants-apprendre-%C3%A0-programmer-en

      Celui fait pour les enfants est très simple et rapide à lire, en une soirée tu peux le one shoter, c'est pour ça que je l'aime bien. Après, le livre de Swinnen est vraiment super bien fait, mais beaucoup plus long à lire.

      • [^] # Re: Python uber alles

        Posté par (page perso) . Évalué à  3 .

        Pourquoi tu mets C et C++ dans le même sac?

        Le problème avec C est clair. On dois réinventer la roue pour pour chaque structure de donnée, et tu dois faire du micro-management de la mémoire.

        Mais C++ est un langage de haut niveau avec une de bonnes bibliothèques.

        Le C++ n'est pas un langage facile à apprendre, mais une fois connus, il ne reste pas beaucoup plus de « spécificités rigide » propre au C++.

        Je suis cependant d'accord que le python est apparemment plus adapté pour ce genre de jeux. Mais un autre point à considérer et que il est préférable d'utiliser un langage qu'on maîtrise bien.

        • [^] # Re: Python uber alles

          Posté par (page perso) . Évalué à  1 .

          Mais C++ est un langage de haut niveau avec une de bonnes bibliothèques.

          Tout comme C est un bon langage avec de bonnes bibliothèques. Entre écrire du code en C de base et du C avec la GLib, il y a un monde.

          • [^] # Re: Python uber alles

            Posté par (page perso) . Évalué à  4 .

            Certes, La Glib aide un peu. Mais tu dois quand même faire beaucoup de micro-management de mémoire. Appeler sois même tout les destructeurs, faire des cast dans tout les sens, et écrire des tonnes de « boilerplate ».

            Le C++ t'épargne tous ça.

            Le C++ et le C sont très différents. Il ne faut pas les mettre dans la même catégorie de langages.

  • # Il en manque 1 ?

    Posté par . Évalué à  -1 .

    C, C++, Python, Ruby, PHP, Java et C#.

    Il est où Ruby ?

    Ou bien ai-je mal vu ?

    • [^] # Re: Il en manque 1 ?

      Posté par (page perso) . Évalué à  3 .

      Si tu lis un peu mieux le journal tu comprendras que c'est une nouveauté pour le prochain concourt.

      • [^] # Re: Il en manque 1 ?

        Posté par . Évalué à  1 .

        J'ai conclu une longue recherche par un court commentaire. Trop court.

        En parcourant les trois 1er liens, je n'ai trouvé nulle mention de Ruby :
        - Dans la section tutoriel et exercices, le choix du langage ne propose pas Ruby
        - Dans la FAQ pas de référence à Ruby alors que les autres langages sont listés.

        Alors je suis super content (n'est ce pas Simon?) de voir que ruby va être proposé dans la dépêche, mais sur le site je n'ai rien trouvé, d'ou mon 1er commentaire.

        En espérant compléter mon premier commentaire de manière pertinente.
        Sur ce, bon week end :-)

  • # Anonyme ?

    Posté par . Évalué à  4 .

    C'est évidemment gratuit, ouvert à tous, on peut participer de chez soi et c'est anonyme.

    C'est marrant, quand j'ai vu dans l'article que c'était anonyme je me suis dis "coule, je vais m'inscrire". À l'inscription, mon nom a été indispensable.

    • [^] # Re: Anonyme ?

      Posté par (page perso) . Évalué à  3 .

      Je suppose que par « anonyme » ils veulent dire que ton nom ne sera pas divulgué, pas qu'il n'est pas nécessaire pour t'inscrire.

      GNU's Not Unix / LINUX Is Not Unix Xernel

      • [^] # Re: Anonyme ?

        Posté par . Évalué à  1 .

        Oui, je pense que c'est bien ça, mais je me demande comment ils peuvent assurer l'anonymat dans ces conditions. Ils pourraient demander le nom au moment de la mise en contact avec les boîtes partenaires.

        • [^] # Re: Anonyme ?

          Posté par (page perso) . Évalué à  1 .

          C'est vrai. Ça serait plus logique et plus transparent (même si effectivement, dans les faits, l'anonymat est assuré). Je note, merci.

  • # Compte rendu

    Posté par . Évalué à  2 .

    Petit compte rendu de la session d'hier soir :

    Premier exercice

    Codage de la fameuse suite :

    1
    11
    21
    1211
    111221

    Très facile

    Second exercice

    Corriger l'indentation selon des règles prédéfinies. Risque de mal partir (c'est mon cas, je finis avec un score loin de mes attentes à 60%) mais pas difficile non plus.

    Résultats

    Les résultats sont ici http://www.codingame.com/cg/#!ranking:7 Pour l'emporter, il fallait être très rapide, la différence entre le 1er et le 3ème n'est que de 4 secondes ! Sur les 400 participants, 65 ont un score parfait de 100% et sont départagés par le temps.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.