J'aimerais tester mon niveau de compétence de programmation C ++ en concurrençant avec d'autres personnes. Quels concours de programmation sont là pour C ++? P>
12 Réponses :
Concours ne vous aidera pas à apprendre les coins sombres d'une langue. La plupart d'entre eux sont sur la vitesse et vous ne pouvez accélérer que la vitesse si vous coupez votre utilisation d'une langue à un minimum stable nu. Vous ne voulez pas passer des heures à essayer de déterminer pourquoi vos modèles intelligents ne pouvaient pas être compilés, vous ne voulez pas écrire de code lisible et compréhensible car il vous ralentit, vous ne voulez pas le tester, vous voulez juste être fait avec cela le plus rapidement possible. p>
Si votre objectif est d'apprendre une langue, des concours sont tout à fait difficiles de le faire. P>
Lire les sources de boost et de la STL, essayez de copier et de modifier une partie du code d'eux, c'est un bon moyen. P>
Légère mise en garde: Boost et STL (mais vous voulez vraiment dire stdlib, non?) Les implémentations ont des contraintes particulières qui ne sont pas présentes lorsque vous i> rédigez un programme ou une application. La bibliothèque standard ne doit utiliser que certains identificateurs et au moins un fournisseur que j'ai vu expédié une STDLIB objectée à dessein. Boost doit être conforme à une grande variété de compilateurs, dont beaucoup un seul développeur ne verra jamais. Il en va de même pour les cadres qui maintiennent la compatibilité à l'arrière --- Vous n'avez pas besoin de cela dans de nouveaux projets. (OTGH, si vous écrivez une bibliothèque qui doit fonctionner avec 40 compilateurs différents i>, copie boost.)
Il est bon de connaître ces astuces Boost utilisez-vous quand même, ils pourraient venir utiles un jour. Les comprendre est un bon exercice. Et vous pouvez rarement bien comprendre l'astuce sans le quitter, ce qui signifie copier et la modifier jusqu'à ce qu'il se casse :)
"Les concours ne vous aideront pas à apprendre les coins sombres d'une langue." Merci en grande partie à la COCCC, j'en sais plus sur les coins sombres du langage C que toute personne sainée pouvait savoir. Il fait noir là-bas. Oh si sombre.
Il y a peu de point dans le test de compétence C ++, comme il ne serait finalement pas question de penser, mais soit très simple, soit de connaître les petits pièges dans les différences entre les implémentations du compilateur ou les pièges dans la norme elle-même. P >
Pour tester ses connaissances sur C ++, le moyen le plus simple est de participer à un projet Hardcore C ++ comme boost a >, ou Développement standard C ++ 0x . P>
Pour tester vos compétences et vos connaissances algorithmiques en général, en tant que programmeur de réflexion, vous devriez essayer des concours comme le Concours de programmation ACM ou TopCoder . P>
+1 Pour les concours comme TopCoder testant vos connaissances algorithmiques (au lieu de simplement tester «compétence en C ++»).
Merci, mon anglais n'est pas assez bon, et je ne pouvais pas trouver un mot approprié pour "penser à la programmation", donc si vous m'excuse, je vais le modifier sans vergogne:>
Il y en a des: p>
TopCoder est probablement le meilleur pour vous. Il possède des concours de programmation algorithmique très souvent, les concurrents il y a une classe mondiale. Il a également une programmation générale des composants, par exemple concevoir / mettre en œuvre une bibliothèque de traitement XML, etc. TopCoder récompense de l'argent aux meilleurs concurrents. Le meilleur du meilleur, vous pouvez voir le code source des autres! P> li>
Juge en ligne Sphère. et beaucoup d'autres: ACM.TIMURS.RU, ACM.UVA.ES, ACM .pku.edu.cn etc. Ce ne sont que pour la formation des compétences algorithmiques. Vous pouvez avoir beaucoup de plaisir là-bas :) p> li> ol>
Le juge en ligne UVA a beaucoup de concours courant tout au long de l'année et qu'ils ont une grosse Base pour Nice concurrence. Les concours "World Finales Warmy" se présenteront en janvier. Le site dispose également de près de 3 000 problèmes à résoudre, de plaisir et de très stimulant. P>
Vous pouvez passer un test C ++ sur Brainbench.com , par exemple. Quelques types de concours aussi ... P>
i participe dans l'une des Défis du programme une fois. Il publie un nouveau chaque mois. P>
Je me demande, que personne n'a mentionné Codechef . Comme d'autres déjà énoncés, une concurrence codante pourrait ne pas être le moyen optimal de tester votre niveau de compétence, mais Codechef est un cas légèrement différent. P>
Ils offrent des compétitions de programmation mensuelles avec plusieurs missions. Vous pouvez entrer dans presque toutes les langues et vous avez 1 semaine de temps. Donc, il n'y a pas de précipitation, mais même à ce moment-là, les compétitions vont plutôt tester votre pensée logique et vos capacités de résolution de problèmes que votre connaissance de la langue C ++. (Cependant, on peut apprendre beaucoup à lire le code source d'autres entrées.) P>
Cependant, je ne peux qu'encourager tout le monde fort> à entrer au moins une fois - la programmation est amusante! = D p>
La section C / C ++ de About.com a un défi de programmation en cours. Voici le dernier: http://cplus.about.com/od/programingChallengles/a/challenge30. htm p>
Vous pouvez essayer League de programmation du lycée , mais cela pourrait être un peu frustrant car les adolescents semblent parfois être Extrêmement bon! p>
codingigne.com exécutez également des compétitions mensuelles et ils ont un Session de formation (leur IDE en ligne prend en charge plusieurs langues, y compris C ++) P>
Si vous souhaitez tester votre niveau de compétence C ++, essayez Boost de la plongée source :).