Articles de la conférence Minsk C ++ CoreHard Spring 2018


Du 7 au 8 avril, la communauté CoreHard a tenu la 8e conférence internationale CoreHard Spring 2018 à Minsk sur le langage C ++ et les technologies "hardcore" connexes à Minsk. La conférence a réuni des conférenciers de grandes sociétés informatiques du Bélarus, de Russie, d'Ukraine, d'Allemagne et des Pays-Bas. Ils ont parlé de leur expérience dans le développement et les tests.

Les rapports de la conférence sont désormais disponibles gratuitement sur YouTube et tout le monde peut en prendre connaissance. Merci aux organisateurs de la conférence.


Evgeny Okhotnikov. 25 ans d'histoire C ++ volant devant mes yeux



L'auteur du rapport a rencontré le C ++ en 1991, et depuis 1992, le C ++ est le principal langage de développement du locuteur. Qu'est-il arrivé à la langue pendant cette période? Comment et pourquoi est-il devenu populaire? Comment la stagnation dans le développement du C ++ a-t-elle commencé? Comment le C ++ a-t-il perdu sa popularité? Y a-t-il de la place pour le C ++ dans le monde moderne? Essayons d'en parler, basé sur 25 ans d'expérience en programmation C ++.

Sergey Solozhentsev. Approche basée sur les fonctionnalités pour le développement de jeux



Parlons de la façon dont les approches pour travailler avec les objets de jeu dans les jeux de match 3 ont changé et comment nous sommes arrivés à l'approche actuelle des composants fonctionnels pour créer des objets de jeu modifiables. Quels sont ses avantages par rapport à d'autres approches éprouvées pour la création de didacticiels, de nombreux modes, ainsi que la révision de code.

Andrey Yakimov. Capture de fonctions sous Windows dans des applications utilisant C / C ++



Parlons des crochets de fonction dans les applications écrites dans différents langages et technologies. Le rapport examinera: les concepts de base, les applications, les variétés de méthodes d'interception et leurs caractéristiques techniques, les bibliothèques prêtes à l'emploi.

Andrey Karpushin. C ++ pour le Web à l'aide d'Emscripten



Dans le rapport, l'auteur parle de son expérience pratique de la compilation et de l'utilisation de C ++ sur des pages Web, de ce qui doit être fait pour porter une application en C ++ sur le Web, des limitations qui y sont associées, de l'intégration du code C ++ avec JavaScript et d'autres éléments Web pages.

Vasily Nemkov. Le cœur du portefeuille multidevises Multy



3.5 blockchain de 2 mégaoctets: comment, pourquoi et pourquoi. Caractéristiques du développement de solutions de blockchain multiplateforme.

Alexander Markevich. Du C ++ à Objective-C



Dans ce rapport, l'auteur parle du fait que Obj-C / C ++ est une extension du C / C ++ existant. Il examinera également les caractéristiques du langage, parlera de la gestion de la mémoire (retenir / libérer vs ARC vs shared_ptr / unique_ptr), de Swift et pourquoi il est meilleur ou pire qu'Obj-C / C ++.

Mikhail Matrosov. C ++ à multiples facettes en pratique



En C ++, il existe plusieurs façons de résoudre le même problème. Nous prendrons le vrai problème de la pratique de l'auteur et explorerons un certain nombre d'outils C ++ pour le résoudre: conteneurs STL, boost.range, plages C ++ 20, coroutines. Nous comparerons les solutions en termes d'interfaces et de performances, et nous verrons également comment une solution peut facilement être obtenue d'une autre si le code est correctement organisé. Dans le processus, nous examinons les fonctionnalités de C ++ 17: constexpr if, instructions de sélection avec initialiseur, std :: not_fn, etc. Une attention particulière sera portée aux algorithmes standards (mon sujet préféré).

Pavel Belikov. Fonctionnement de l'analyse de flux de données dans un analyseur de code statique



Analysis Data Flow (flux de données) est une technologie d'analyse du code source des programmes qui est largement utilisée dans divers outils de développement: compilateurs, linters, IDE. Nous en parlerons en utilisant le développement d'un analyseur statique comme exemple. Considérez la classification et les différents types d'analyses de flux de données, les technologies connexes qui se complètent et les problèmes qui surviennent au cours de son développement, et les surprises que C ++ nous présente lorsque nous essayons de l'analyser. Au cours du rapport, nous analyserons plusieurs erreurs trouvées dans des projets réels utilisant cette technologie.

Alexander Zaitsev. Outils de profilage de code C ++



Il se trouve que parfois, votre application commence à effectuer des tâches apparemment banales pendant une longue période et consomme une grande quantité de RAM. Et vous, en tant que développeur, vous ne savez pas pourquoi cela se produit (mais cela vous intéresse). Au cours de la conférence, nous parlerons d'outils qui peuvent comprendre les raisons du comportement étrange de nos programmes. Si vous n'avez pas peur de mots comme Valgrind, gprof, gperftools et bien d'autres - bienvenue!

Alexander Chuprina. Configuration de l'environnement pour la compilation croisée basée sur Docker



Comment configurer / mettre à jour rapidement et facilement des environnements pour des projets de compilation croisée pour diverses plates-formes (basées sur Docker), comment basculer rapidement entre elles, comment organiser CI et tester (basé sur GitLab et Docker) à l'aide de ces briques.

Alexey Tkachenko. Multiplateforme de génération de code C ++



Le rapport tiendra compte de la génération de code lors de la compilation de diverses constructions de langage, à la fois simples et complexes, sur diverses plates-formes, à la fois les x86 / x64 communs et celles qui reçoivent moins d'attention: ARM, AVR. Il y aura également des exemples de processeurs complètement exotiques comme PowerPC et même MicroBlaze. L'accent principal sera mis non pas sur le traitement des données, mais sur la comparaison des différentes constructions de code avec les instructions des plateformes cibles.

Vadim Vinnik. Traitement des collections: une essence et de nombreuses manifestations



La programmation d'aujourd'hui est divisée en de nombreux domaines assez éloignés les uns des autres. Existe-t-il une programmation conceptuellement unifiée et sur quoi repose cette unité? Les réponses à ces questions et à d'autres sont fournies par l'auteur du rapport.

Nicolai Josuttis. Méfiez-vous de C ++ 17



Le diable est dans le détail. Cela s'applique également à C ++ 17. Nous obtenons de nouvelles fonctionnalités intéressantes, mais nous avons également de nouvelles choses à prendre en compte et à retenir. Cette présentation traite de certaines des fonctionnalités intéressantes lorsqu'elles peuvent entraîner des surprises.

Discussions


Ne manquez pas les discussions qui ont soulevé divers sujets concernant la discussion des langages Rust et C ++, ainsi que les réponses aux questions des membres du Comité de normalisation C ++.


Source: https://habr.com/ru/post/fr414467/


All Articles