Coder efficacement, bonnes pratiques et erreurs à éviter

Posté par  . Édité par BAud, Nÿco, Thom, Benoît Sibaud et olivierweb. Modéré par Ontologia. Licence CC By‑SA.
30
14
avr.
2014
C et C++

Développer une application peut rapidement devenir un enfer si vous n'avez pas anticipé certaines difficultés et fait les bons choix au moment de sa conception. Ce livre vous aidera à vous poser les bonnes questions et à tirer le meilleur parti de la programmation objet, en particulier en C++, sans tomber dans les pièges les plus fréquents. Il clarifie certains concepts délicats et passe en revue un ensemble de bonnes pratiques, qui rendront vos projets plus évolutifs et plus faciles à maintenir.

Titre de l'image

Rust s’oxyde en version 0.10

Posté par  . Édité par olivierweb, BAud, sebcrozet, Fabien, Leo, Bruno Michel, Nÿco, jcr83, reno, stiffux, Ontologia et bubar🦥. Modéré par patrick_g. Licence CC By‑SA.
63
8
avr.
2014
Rust

Mozilla et la communauté Rust ont annoncé la version 0.10 de Rust le 3 avril. Rust est un langage de programmation développé par Mozilla. La version 0.1 a été annoncée par Mozilla le 20 janvier 2012. Pour découvrir le langage, on peut se référer au nouveau site web sur lequel on peut lire :

Rust est un langage de programmation système qui est extrêmement rapide, empêche presque tous les plantages et élimine les accès concurrent.

Logo de Rust

Rust se veut donc une alternative à C/C++, comme D et Go, et possède tout comme ces derniers un ramasse-miettes, mais qui est optionnel. Sa syntaxe est proche de celle du C/C++/Java tout en étant beaucoup plus expressif. Sa force est de mélanger les fonctionnalités de différents paradigmes, beaucoup venant du fonctionnel (immuabilité par défaut, modèle objet proche de celui d'Haskell, fermetures, etc). Il met l'accent sur la sûreté d'exécution, notamment grâce à son système élaboré de pointeurs intelligents et son système de types forts, sans sacrifier les performances.

Depuis la version 0.9, qui a fait l’objet d’une dépêche, les efforts ont notamment porté au cours des 1500 changements sur la simplification du langage. Le langage Rust n'est pas stabilisé, cela viendra avec la version 1.0.

Cette itération de développement a apporté le découpage de la bibliothèque libextra, introduit des extensions de syntaxe inter crate, amélioré la manipulation des pointeurs avec le trait Deref et la gestion des erreurs des entrées/sorties.
En dehors du compilateur, cette nouvelle version a vu l'introduction d'un nouveau processus de RFC ainsi que la construction quotidienne des installateurs binaires.

Des améliorations ont été données à l'infrastructure de tests et aux scripts de construction. Des installeurs sont désormais disponibles pour Linux, MacOS et Windows. Même si certains font tourner Rust sur ARM, ce n'est pas une architecture proposée dans la documentation.

Comme pour les précédentes versions, cette version 0.10 doit être considérée comme une version alpha, appropriée pour les adopteurs précoces et les amateurs de langages.

Concours de programmation CodinGame le 22 mars 2014

17
21
mar.
2014
Jeu

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu ce samedi 22 Mars 2014 à 18h (heure française).

L'événement accueillera des développeurs du monde entier pour leur permettre de passer un bon moment, défier leurs pairs, gagner des prix ou entrer en contact avec des sociétés qui leur plaisent et qui recrutent.

Kirk illustration

Parmi les nouveautés sur la plate-forme :

  • Groovy est ajouté aux langages disponibles
  • Le tchat est intégré à l'IDE pour échanger pendant l'épreuve
  • Le thème de cette édition est "Kirk's Quest", en hommage au célèbre capitaine de Star Trek. Comme pour la précédente édition, ce concours offrira aux participants une ambiance proche du jeu vidéo.

Forum Programmation.python Problème d'affichage de chiffres jeu squaro Python

Posté par  . Licence CC By‑SA.
2
16
mar.
2014

Bonjour à tous !

Je suis en Terminale S et je suis en option ISN. Depuis le début de l'année scolaire je développe une application avec le langage de programmation Python, il s'agit du jeu "Squaro". Depuis le début de l'année j'ai bien avancé. En effet, pour l'instant j'ai crée une fenêtre graphique qui ressemble à ceci :

Pour le moment j'ai réussi à afficher les chiffres, les cercles et les carrés. Mais le problème c'est que je génère les chiffres (…)

Concours de programmation CodinGame le 22 Février 2014

Posté par  (site web personnel) . Édité par ZeroHeure et Benoît Sibaud. Modéré par Ontologia. Licence CC By‑SA.
25
20
fév.
2014
Jeu

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu le samedi 22 Février 2014 à 18h (UTC+1).

Ragnarok

L'événement accueillera des développeurs du monde entier pour leur permettre de passer un bon moment, défier leurs pairs, gagner des prix ou entrer en contact avec des sociétés qui leur plaisent et qui recrutent.

Parmi les nouveautés sur la plate-forme :

  • Bash arrive parmi les langages disponibles.
  • Dart 1.1 et de nouvelles bibliothèques pour Perl ont été ajoutés.
  • Le thème de ce challenge est "Ragnarök", issu de la mythologie scandinave. Pour l'occasion, de nouveaux graphismes seront à l'honneur.

Concours de programmation CodinGame le 25 Janvier 2013

Posté par  (site web personnel) . Modéré par Pierre Jarillon. Licence CC By‑SA.
20
22
jan.
2014
Jeu

CodinGame Mission to Mars

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu le samedi 25 janvier 2013 à 18h.

L'événement accueillera des développeurs du monde entier pour leur permettre de passer un bon moment, défier leurs pairs, gagner des prix ou entrer en contact avec des sociétés qui leur plaisent et qui recrutent.

Parmi les nouveautés sur la plate-forme :

  • Python 3 sera enfin disponible !
  • Le thème de cette édition est "Mission to Mars", avec un nouveau type d'exercice qui sort des sentiers battus

Quelques nouvelles sur Rust à l’occasion de la 0.9

Posté par  . Édité par olivierweb, Nÿco, Yves Bourguignon, Benoît Sibaud, palm123, outs, Pierre Jarillon, spider-mario et Bruno Michel. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
46
21
jan.
2014
Rust

Mozilla et la communauté Rust ont annoncé la version 0.9 de Rust le 9 janvier.

Cet article présente l'actualité de ce dernier depuis la version 0.8 détaillée en octobre. Rust est un langage orienté sûreté, concurrence, praticité. Concrètement, c’est un langage compilé, orienté système, et multi-paradigme (procédural, fonctionnel, orienté objet). Ce fut une autre sortie mouvementée dans laquelle ont été réalisés d'importants changements, et l’activité autour de Rust n’a jamais été aussi importante !

Résumé

Côté syntaxe, on assiste à une amélioration et surtout, une réduction de la variété des fermetures dans le langage. Cette version commence la dernière série de changements prévus concernant la façon dont les pointeurs sont traités dans Rust. À commencer par la dépréciation des pointeurs partagés et son symbole @, qu’il faudra remplacer par l’utilisation de types de pointeurs intelligents introduits dans la bibliothèque standard.

Le code source du compilateur et de la bibliothèque standard a été nettoyé, optimisé, et de nombreux bogues ont été corrigés. Le travail sur le compilateur a permis d’améliorer la vitesse de compilation et de faire plus d’optimisations. On peut désormais lier statiquement une bibliothèque à la compilation, et le système d’entrées/sorties de la bibliothèque standard a été réécrit.

La documentation a été améliorée et la présentation revue. L'infrastructure de construction a été elle aussi modifiée. Pour rappel, toute modification de code du dépôt Git passe en premier lieu par un robot de construction afin de la valider à l'issue de l'exécution de tous les tests.

Les changements sont détaillés dans la seconde partie de la dépêche.

Note : Comme la précédente version, la version 0.9 doit être considérée comme une version alpha, adaptée pour les curieux, les pionniers et les amateurs du langage. Il y aura encore une 0.10 et probablement une 0.11.

Concours de programmation CodinGame le 23 novembre 2013

Posté par  (site web personnel) . Édité par ZeroHeure, Benoît Sibaud et palm123. Modéré par Benoît Sibaud. Licence CC By‑SA.
10
21
nov.
2013
Technologie

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu le samedi 23 novembre 2013 à 18h.

L'événement accueillera des développeurs du monde entier pour leur permettre de passer un bon moment, défier leurs pairs, gagner des prix ou entrer en contact avec des sociétés attractives en France, en Angleterre et au Brésil.

Journal SWERC : Southwestern Europe Regional Contest des ICPC

Posté par  . Licence CC By‑SA.
9
17
nov.
2013

Aujourd'hui a lieu la compétition régionale des ICPC, (International Collegiate Programming Contest) de l'Europe du Sud Ouest, qui comprend l'Espagne, l'Italie, la France, la partie ouest de l'Autriche, et le Portugal. Elle est qualificative pour la finale mondiale, qui aura lieu à Ekaterinburg, à l'université fédérale de l'Oural, en Russie. La compétition régionale se déroule à l'université polytechnique de Valence, en Espagne.

Les ICPC sont une compétition de programmation et d'algorithmie, où les participants, obligatoirement des étudiants, par (…)

Le langage Go fête ses 4 ans

Posté par  . Édité par Florent Zara, claudex, Benoît Sibaud et Bruno Michel. Modéré par patrick_g. Licence CC By‑SA.
57
13
nov.
2013
Golang

Le langage Go, parfois nommé Golang et créé principalement par Robert Griesemer, Rob Pike et Ken Thompson (des grands noms, que dis-je, des légendes du monde UNIX), chez Google, vient de fêter ses 4 ans. Le langage semble commencer à trouver des applications dans des projets de grande envergure, au delà de projets internes à Google. Pour un langage relativement jeune, c'est encourageant.

logo Go

NdM : 2 composants de LinuxFr.org sont codés en Go, img et epub.

Journal Jouons avec Unicode: Tchars, un Dchars pour Troff

Posté par  (site web personnel) . Licence CC By‑SA.
22
31
oct.
2013

Vous n'avez pas manqué de suivre ici les aventures de Dchars, de notre ami Xavier Faure. Dchars permet entre autres de transformer une suite codifiée de caractères ascii en caractères utf8 complexes. Par exemple, il transforme le beta-code en grec polytonique. Dans ce journal, vous découvrirez l'histoire de Tchars, le sosie de Dchars.

Tchars, un Dchars pour Troff

Ayant justement besoin d'écrire quelques mots en grec polytonique dans ma thèse, je me suis penché dans les sources de (…)

Journal [Trolldi] Le langage plus approprié pour écrire des applications graphiques multiplateformes

Posté par  . Licence CC By‑SA.
Étiquettes :
14
25
oct.
2013

Bonjour Nal,

Je me faisais cette semaine la réflexion que je serais bien en peine si je devais à au jour d'aujourd'hui (oui cette formulation est totalement redondante) choisir un couple langage/bibliothèque pour écrire une application multiplateforme disposant d'une interface graphique. Mais tu auras remarqué, Nal, que je suis bien élevé et que j'ai religieusement attendu trolldi pour te faire part de mes états d’âme.

Prenons l'exemple d'une application effectuant des transferts réseau comme un gestionnaire de téléchargement ou (…)

Forum Programmation.python Programmation générique / programmation par contraintes. Minimisation du nombre d' "insatisfaits"

3
21
sept.
2013

Bonjour,

je suis enseignant et je m'occupe de projets.
je voudrais mettre en place un script (python + pandas + …) pour générer de manière la plus objective l'attribution de projet.

Voici le problème.
J'ai des étudiants qui doivent faire des projets (cette année il y en a 64 mais ça peut monter à 80-90 certaines années).
Ces projets se font majoritairement par groupe de 4 (il peut y avoir à la marge un groupe de 3 ou de 5).

(…)

Concours de programmation CodinGame le 21 septembre 2013

Posté par  (site web personnel) . Édité par tuiu pol et Nils Ratusznik. Modéré par Pierre Jarillon. Licence CC By‑SA.
13
17
sept.
2013
Technologie

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu le samedi 21 septembre 2013 à 18h.

L'évènement accueillera des développeurs du monde entier pour leur permettre de défier leurs pairs, gagner des prix** ou entrer en relation avec des sociétés attractives qui recrutent (France, USA, Luxembourg, UK, Maroc). Parmi les entreprises annoncées figurent, en autres, Nintendo, Ubisoft, ou Dailymotion.

** Tablette Samsung Galaxy Tab 3, appareil photo Fujifilm Finepix S4200, Algorithms in a Nutshell / O'Reilly, et des T-shirts.

Sortie du livre « Parallel and Concurrent Programming in Haskell »

Posté par  . Édité par tuiu pol, NeoX et patrick_g. Modéré par tuiu pol. Licence CC By‑SA.
Étiquettes :
42
25
juil.
2013
Doc

Le livre Parallel and Concurrent Programming in Haskell de Simon Marlow est enfin disponible !

Pour ceux qui ne le connaîtraient pas encore, le langage Haskell est un langage de programmation fonctionnel, fortement typé, paresseux et concis. Haskell est issu de l’initiative d’une communauté de chercheurs en langages fonctionnels qui ont décidé, à la fin des années 80, de mettre en commun leurs compétences en utilisant tous un seul langage, qui devrait rester libre. Depuis, le langage est en constante évolution, la dernière version stable est définie dans le rapport Haskell 2010, mais de multiples extensions existent dans le compilateur GHC, dont les plus courantes viendront s’ajouter à la prochaine version du langage.

Pour avoir une idée de sa syntaxe très particulière, voilà l’une des innombrables façons de définir la factorielle :

fac 0 = 1
fac n = n * fac (n-1)

En espérant que cela vous laisse sur votre faim, vous pourrez en apprendre plus dans les livres classiques Learn You a Haskell for Great Good qui est aussi librement accessible en version HTML, y compris en français, et le plus vieux, mais plus développé et appliqué, Real World Haskell, lui aussi accessible en ligne.