Ведутся технические работы. Это может временно повлиять на скорость работы сайта. Приносим извинения за неудобства и благодарим за ваше понимание!

Heavy Meta. Программирование, моделирование и предметно-ориентированные языки

Открытая лекция CS центра
Лектор — Артём Тихомиров (JetBrains)
Разговор пойдёт о программировании на ином уровне абстракций и о предметно-ориентированных (domain-specific) языках. На полочках вашего сознания мы упорядочим метапрограммирование, моделирование, генерацию кода программ и такие пугающие аббревиатуры как DSL, MOF, UML, EMF, AST и OMG. Подскажем, как пройти с M0 на М4. Коснёмся преимуществ и недостатков языков программирования, предназначенных для конкретных областей применения, и в каких случаях создание собственных языков уместно и выгодно, а в каких – нет. И, наконец, вы узнаете, какие инструменты для предметно-ориентированных языков существуют, и что делать, если придется выбирать. Tagline: DSL, MOF, EMF, UML, OMG, Generative Programming, Software Factories, Metamodeling.
Литература:
1. Kelly Steven «Domain-Specific Modeling»
2. Markus Voelter «DSL Engineering: Designing, Implementing and Using Domain-Specific Languages»
3. Fabien Campagne «The MPS Language Workbench, Vol. 1»

Ссылка на лекцию на сайте CS центра: https://goo.gl/MzwEYc

( ! ) Warning: Invalid argument supplied for foreach() in /home/domains/malitikov.ru/public_html/wp-content/themes/malitikov/single.php on line 44
Call Stack
#TimeMemoryFunctionLocation
10.0000350472{main}( ).../index.php:0
20.0000350752require( '/home/domains/malitikov.ru/public_html/wp-blog-header.php ).../index.php:17
30.08518619056require_once( '/home/domains/malitikov.ru/public_html/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.08708643744include( '/home/domains/malitikov.ru/public_html/wp-content/themes/malitikov/single.php ).../template-loader.php:106

Мы рекомендуем


( ! ) Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 67108872 bytes) in /home/domains/malitikov.ru/public_html/wp-includes/class-wpdb.php on line 2323
Call Stack
#TimeMemoryFunctionLocation
10.0000350472{main}( ).../index.php:0
20.0000350752require( '/home/domains/malitikov.ru/public_html/wp-blog-header.php ).../index.php:17
30.08518619056require_once( '/home/domains/malitikov.ru/public_html/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.08708643744include( '/home/domains/malitikov.ru/public_html/wp-content/themes/malitikov/single.php ).../template-loader.php:106
50.226522320592WP_Query->__construct( $query = ['post_type' => 'post', 'post_status' => 'publish', 'fields' => 'ids', 'posts_per_page' => -1, 'no_found_rows' => TRUE, 'orderby' => 'none'] ).../single.php:65
60.226522320592WP_Query->query( $query = ['post_type' => 'post', 'post_status' => 'publish', 'fields' => 'ids', 'posts_per_page' => -1, 'no_found_rows' => TRUE, 'orderby' => 'none'] ).../class-wp-query.php:4081
70.226522320592WP_Query->get_posts( ).../class-wp-query.php:3949
80.226922332456wpdb->get_col( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ', $x = ??? ).../class-wp-query.php:3300
90.226922332456wpdb->query( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ' ).../class-wpdb.php:3107