<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Intel Software Network Blog - Russia</title>
	
	<link>http://software.intel.com/ru-ru/blogs</link>
	<description />
	<lastBuildDate>Wed, 10 Feb 2010 07:10:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ISNBlogRussia" /><feedburner:info uri="isnblogrussia" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><feedburner:emailServiceId>ISNBlogRussia</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Уроки разработки 64-битных приложений на языке Си/Си++</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/2SAFSgRmsj4/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/10/2003067/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 07:10:44 +0000</pubDate>
		<dc:creator>Andrey Karpov</dc:creator>
				<category><![CDATA[Разработка софта]]></category>
		<category><![CDATA[64 бита]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[64-bit Coding]]></category>
		<category><![CDATA[64-битный]]></category>
		<category><![CDATA[Intel 64]]></category>
		<category><![CDATA[PVS-Studio]]></category>
		<category><![CDATA[уроки]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/10/2003067/</guid>
		<description><![CDATA[Мы решили объединить все наши знания в единый труд, в котором будут рассмотрены сразу все вопросы, касающиеся 64-битного программирования. Для оформления в виде статьи материала оказалась слишком много и мы решили представить его в виде курса уроков.]]></description>
			<content:encoded><![CDATA[<p>Мы регулярно пишем статьи посвященные разработке и тестированию 64-битных программ на языке Си/Си++. Каждая из статей представляет взгляд на задачу разработки 64-битных программ с разных точек зрения. Но существенная часть информации в них повторяется, так как необходимо знакомить читателя с проблематикой и вводить различные определения. Это, к сожалению, делает чтение подборки статей скучным занятием и соответственно не позволяет всесторонне изучить вопросы разработки 64-битных приложений.</p>
<p>Мы решили объединить все наши знания в единый труд, в котором будут рассмотрены сразу все вопросы, касающиеся 64-битного программирования. Для оформления в виде статьи материала оказалась слишком много и мы решили представить его в виде курса уроков.</p>
<p>Кратко опишу курс "<a href="http://www.viva64.com/ru/articles/x64-lessons/">Уроки разработки 64-битных приложений на языке Си/Си++</a>" и приведу его содержание.</p>
<p>Курс посвящен созданию 64-битных приложений на языке Си/Си++ и ориентирован на разработчиков, использующих среду Visual Studio 2005/2008. Разработчики для других 64-битных операционных систем также узнают много интересного. В курсе будут рассмотрены все этапы, позволяющие создать новое надежное 64-битное приложение или выполнить миграцию существующего 32-битного кода на 64-битную систему.</p>
<p>Курс состоит из 28 уроков, посвященных знакомству с 64-битными системами, вопросам сборки 64-битных приложений, методам поиска специфичных для 64-битного кода ошибок и оптимизации кода. Рассматриваются также вопросы, как оценка стоимости перехода на 64-битные системы и рациональность этого перехода.</p>
<p>Авторами курса являюсь я (к.ф.-м.н. Карпов Андрей Николаевич) и к.т.н. Рыжков Евгений Александрович. Соответственно мы готовы обсуждать здесь этот курс, давать пояснения, исправлять замеченные недочеты, учитывать ваше мнение.</p>
<p>Содержание курса:</p>
<ul>
<li><a href="http://www.viva64.com/lessons-x64/01_What_64-bit_systems_are_rus.html">Урок 01.</a> Что такое 64-битные системы.</li>
<li><a href="http://www.viva64.com/lessons-x64/02_Support_of_32-bit_applications_rus.html">Урок 02.</a> Поддержка 32-битных приложений.</li>
<li><a href="http://www.viva64.com/lessons-x64/03_Porting_code__The_pros_and_cons_rus.html">Урок 03.</a> Перенос кода на 64-битные системы. За и против.</li>
<li><a href="http://www.viva64.com/lessons-x64/04_Creating_the_64-bit_configuration_rus.html">Урок 04.</a> Создание 64-битной конфигурации.</li>
<li><a href="http://www.viva64.com/lessons-x64/05_Building_a_64-bit_application_rus.html">Урок 05.</a> Сборка 64-битного приложения.</li>
<li><a href="http://www.viva64.com/lessons-x64/06_Errors_in_64-bit_code_rus.html">Урок 06.</a> Ошибки в 64-битном коде.</li>
<li><a href="http://www.viva64.com/lessons-x64/07_The_issues_of_detecting_64-bit_errors_rus.html">Урок 07.</a> Проблемы выявления 64-битных ошибок.</li>
<li><a href="http://www.viva64.com/lessons-x64/08_Static_analysis_rus.html">Урок 08.</a> Статический анализ для выявления 64-битных ошибок.</li>
<li><a href="http://www.viva64.com/lessons-x64/09_Pattern_01_Magic_numbers_rus.html">Урок 09.</a> Паттерн 01. Магические числа.</li>
<li><a href="http://www.viva64.com/lessons-x64/10_Pattern_02_Printf_rus.html">Урок 10.</a> Паттерн 02. Функции с переменным количеством аргументов.</li>
<li><a href="http://www.viva64.com/lessons-x64/11_Pattern_03_Shift_operations_rus.html">Урок 11.</a> Паттерн 03. Операции сдвига.</li>
<li><a href="http://www.viva64.com/lessons-x64/12_Pattern_04_Virtual_functions_rus.html">Урок 12.</a> Паттерн 04. Виртуальные функции.</li>
<li><a href="http://www.viva64.com/lessons-x64/13_Pattern_05_Address_arithmetic_rus.html">Урок 13.</a> Паттерн 05. Адресная арифметика.</li>
<li><a href="http://www.viva64.com/lessons-x64/14_Pattern_06_Changing_an_arrays_type_rus.html">Урок 14.</a> Паттерн 06. Изменение типа массива.</li>
<li><a href="http://www.viva64.com/lessons-x64/15_Pattern_07_Pointer_packing_rus.html">Урок 15.</a> Паттерн 07. Упаковка указателей.</li>
<li><a href="http://www.viva64.com/lessons-x64/16_Pattern_08_Memsize-types_in_units_rus.html">Урок 16.</a> Паттерн 08. Memsize-типы в объединениях.</li>
<li><a href="http://www.viva64.com/lessons-x64/17_Pattern_09_Mixed_arithmetic_rus.html">Урок 17.</a> Паттерн 09. Смешанная арифметика.</li>
<li><a href="http://www.viva64.com/lessons-x64/18_Pattern_10_Memsize_and_double_rus.html">Урок 18.</a> Паттерн 10. Хранение в double целочисленных значений.</li>
<li><a href="http://www.viva64.com/lessons-x64/19_Pattern_11_Serialization_rus.html">Урок 19.</a> Паттерн 11. Сериализация и обмен данными.</li>
<li><a href="http://www.viva64.com/lessons-x64/20_Pattern_12_Exceptions_rus.html">Урок 20.</a> Паттерн 12. Исключения.</li>
<li><a href="http://www.viva64.com/lessons-x64/21_Pattern_13_Data_alignment_rus.html">Урок 21.</a> Паттерн 13. Выравнивание данных.</li>
<li><a href="http://www.viva64.com/lessons-x64/22_Pattern_14_Overloaded_functions_rus.html">Урок 22.</a> Паттерн 14. Перегруженные функции.</li>
<li><a href="http://www.viva64.com/lessons-x64/23_Pattern_15_Growth_of_structures_sizes_rus.html">Урок 23.</a> Паттерн 15. Рост размеров структур.</li>
<li><a href="http://www.viva64.com/lessons-x64/24_Phantom_errors_rus.html">Урок 24.</a> Фантомные ошибки.</li>
<li><a href="http://www.viva64.com/lessons-x64/25_Working_with_patterns_rus.html">Урок 25.</a> Практическое знакомство с паттернами 64-битных ошибок.</li>
<li><a href="http://www.viva64.com/lessons-x64/26_Optimization_rus.html">Урок 26.</a> Оптимизация 64-битных программ.</li>
<li><a href="http://www.viva64.com/lessons-x64/27_Creating_installers_rus.html">Урок 27.</a> Особенности создания инсталляторов для 64-битного окружения.</li>
<li><a href="http://www.viva64.com/lessons-x64/28_Estimating_the_cost_rus.html">Урок 28.</a> Оценка стоимости процесса 64-битной миграции Си/Си++ приложений.</li>
</ul>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/2SAFSgRmsj4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/10/2003067/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/10/2003067/</feedburner:origLink></item>
		<item>
		<title>Очень русская игра, или еще раз о Rise of Flight</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/QEBaW3MupiU/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/10/rise-of-flight-2/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 06:41:45 +0000</pubDate>
		<dc:creator>vilianov</dc:creator>
				<category><![CDATA[Игры]]></category>
		<category><![CDATA[neoqb]]></category>
		<category><![CDATA[Rise of Flight]]></category>
		<category><![CDATA[российские разработчики]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/10/rise-of-flight-2/</guid>
		<description><![CDATA[Есть у Rise of Flight одно неоспоримое достоинство. По разным вопросам, с ней связанным, я переговорил с кучей людей, причем со многими из них за неделю мы написали друг другу в "аське" больше, чем за весь прошлый год. И даже договорились встретиться живьем.  Побольше бы таких игр.
]]></description>
			<content:encoded><![CDATA[<p>Спешу рассказать о своем опыте игры в Rise of Flight, симулятор самолетов времен Первой мировой, который за десять месяцев так и не смогли покорить пираты.</p>
<p>Сначала я ждал, пока привезут джойстик. Заказывал по принципу "приличный, но недорогой", потому что связываться с чем-то серьезным из-за неведомой игры как-то не улыбалось. В конце концов, если влюблюсь, никогда не поздно купить другой. По рекомендации знающих парней остановился на Genius Flight 2000 F-23, стоящем в розницу около 600 рублей. Последний раз я подключал дома джойстик в детстве, когда у меня был советский компьютер "Сура". С тех пор в этой сфере, оказывается, произошло немало изменений, и, вопреки низкой цене, Genius F-23 произвел на меня глубокое впечатление. Здоровый такой, добротный, кнопок туча. Установился безо всяких драйверов, чем порадовал безмерно.</p>
<p>А вот с игрой веселье началось с самого начала. Коробку-то с ней мне выделили, но категорически не рекомендовали устанавливать Rise of Flight с диска: дескать, там совсем старая версия, и придется качать апдейтов ровно столько же, сколько весит первоначальный дистрибутив. Дали секретный линк на обновленный образ, который я за ночь и утянул. Устанавливаю, запускаю, и тут же ощущаю в полной мере русский размах: милая игрушечка без лишних слов находит и начинает тянуть апдейтик на... 971 мегабайт. Правда здорово? Уверен, пользователи в регионах просто взвоют от такого счастья.</p>
<p>Дожидаюсь установки "патча", запускаю Rise of Flight и наслаждаюсь классическим интерфейсом российской игры в стиле "Это мы обзовем и засунем так, чтобы вы никогда в жизни не нашли". Не, я понимаю, что хардкорному любители авиасимуляторов все будет понятно с первого взгляда, но сколько их, таких суровых парней? А нас, нюбов, довольно много, и нельзя ли к нам чуть-чуть понежнее? Ну пожалуйста? Я не ропщу по поводу того, что взлететь первый раз мне удалось лишь через добрый час тыканий по кнопкам, это как раз нормально для произведений подобного жанра. Но когда за то же время не удается найти в меню пункт, которого просто не может не быть - это уже перебор. Нет, серьезно - я смог отыскать опции, несколько облегчающие игру для начинающего, только после подробного - по пунктам! - инструктажа моего товарища из neoqb. Иначе, пардон, никак.</p>
<p>Сама игра очень красивая, ничуть не хуже, чем ролике, на который я давал линк в <a href="http://software.intel.com/ru-ru/blogs/2010/01/28/rise-of-flight/">прошлом посте</a>. Но, как говорится, есть нюанс: даже на могучем Core i7-965 Extreme Edition, пяти гигабайтах памяти и GeForce 275 Rise of Flight периодически подтормаживает. И это - далеко не при всех графических опциях на максимуме. Одно хорошо: все ядра процессора используются достаточно эффективно, чему косвенное подтверждение - приз зрительских симпатий в Level Up 2009.</p>
<p>Мне клятвенно обещали, что по весне выйдет новое обновление, и в нем - другой, гораздо более удобный интерфейс. Но, между прочим, к тому времени игре стукнет без малого год. Не поздновато ли для столь напрашивающихся изначально улучшений?</p>
<p>Но есть у Rise of Flight одно неоспоримое достоинство. По разным вопросам, с ней связанным, я переговорил с кучей людей, причем со многими из них за неделю мы написали друг другу в "аське" больше, чем за весь прошлый год. И даже договорились встретиться живьем.</p>
<p>Побольше бы таких игр.</p>
<p>P.S. Кстати, я уже купил билеты, и планирую 18 февраля выдвинуться в Нижний Новгород, чтобы побывать в филиале Intel и встретиться с читателями, настоящими и будущими. Записаться на встречу можно у Дмитрия Оганезова <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/QEBaW3MupiU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/10/rise-of-flight-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/10/rise-of-flight-2/</feedburner:origLink></item>
		<item>
		<title>Классификация грид-систем</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/vQhyG6gxptk/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/09/2003069/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 13:16:08 +0000</pubDate>
		<dc:creator>ialexander</dc:creator>
				<category><![CDATA[Параллельное программирование]]></category>
		<category><![CDATA[грид-вычисления]]></category>

		<guid isPermaLink="false">http://origin-software.intel.com/ru-ru/blogs/2010/02/09/2003069/</guid>
		<description><![CDATA[Понятие "грид" относится к тому классу понятий, где сколько людей, столько и мнений. Тем не менее, авторы этого понятия Я. Фостер и К. Кессельман потрудились дать точное определение: "Грид - согласованная, открытая и стандартизированная среда, которая обеспечивает гибкое, безопасное, скоординированное разделение ресурсов в рамках виртуальной организации". Что скрывается за этим формальным определением?]]></description>
			<content:encoded><![CDATA[<p>Понятие "грид" относится к тому классу понятий, где "сколько людей, столько и мнений". Тем не менее, авторы этого понятия Я. Фостер и К. Кессельман потрудились дать точное определение:</p>
<blockquote><p>Грид - согласованная, открытая и стандартизированная среда, которая обеспечивает гибкое, безопасное, скоординированное разделение ресурсов в рамках виртуальной организации.</p></blockquote>
<p>Гриды в первую очередь характеризуются географической распределенностью вычисляемых ресурсов системы. Предоставляемая ими возможность объединять в рамках одной системы огромные вычислительные мощности делает интересным их использование для высокопроизводительных вычислений (HPC). В отличие от других систем HPC, таких как многопроцессорные системы с общей памятью и вычислительные кластеры, грид-системы отличаются высокой латентностью передачи данных, что накладывает определенный отпечаток на вычислительный процесс.</p>
<p>Можно выделить 2 типа грид-систем:</p>
<ol>
<li>Гриды рабочих станций, объединяющие обычные домашние и офисные компьютеры и использующие их во время простоя.</li>
<li>Сервисные гриды, объединящие специально выделенные машины и использующие их в монопольном режиме.</li>
</ol>
<p>Для создания гридов рабочих станций используется следующее программное обеспечение:</p>
<ol>
<li>системы добровольных вычислений: <a href="http://boinc.berkeley.edu/">BOINC</a>, <a href="http://www.xwhep.org/">XWHEP</a>, <a href="http://folding.stanford.edu/">Folding@home</a></li>
<li>системы внутрикорпоративных вычислений: <a href="http://www.cs.wisc.edu/condor/">Condor</a></li>
</ol>
<p>Для сервисных гридов в свою очередь используется следующее промежуточное программное обеспечение:</p>
<ol>
<li><a href="http://glite.web.cern.ch/glite/">gLite</a></li>
<li><a href="http://www.globus.org/">Globut Toolkit</a></li>
<li><a href="http://www.unicore.eu/">Unicore</a></li>
</ol>
<p>В России создано несколько крупных грид-систем: <a href="http://rus.egee-rdig.ru/">RDIG</a>, <a href="http://www.jscc.ru/rispinfo.shtml">РИСП</a>, <a href="http://skif-grid.botik.ru/">СКИФ-ГРИД</a> (Unicore). Также наша страна принимает участие в работе и международных, европейских гридов: <a href="http://public.eu-egee.org/">EGEE</a> (gLite), <a href="http://www.deisa.eu/">DEISA</a>.</p>
<p>Ссылки:</p>
<p><a href="http://www.gridclub.ru/">gridclub.ru</a> - сайт, посвященный грид-вычислениям</p>
<p>По мотивам лекции "Введение в распределенные и параллельные вычисления", прочитанной <a href="http://dcs.isa.ru/posypkin/">М.А. Посыпкиным</a> 25 января 2010 г. в <a href="http://www.miit.ru/">МИИТ</a>.</p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/vQhyG6gxptk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/09/2003069/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/09/2003069/</feedburner:origLink></item>
		<item>
		<title>Оптимизируем… Колесо. На кластере.</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/bVGw0WKgXGI/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/09/2003071/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 11:49:15 +0000</pubDate>
		<dc:creator>Maxym Dmytrychenko (Intel)</dc:creator>
				<category><![CDATA[Intel Software Network]]></category>
		<category><![CDATA[Академическое сообщество]]></category>
		<category><![CDATA[Параллельное программирование]]></category>
		<category><![CDATA[HPC]]></category>
		<category><![CDATA[Top 500]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/09/2003071/</guid>
		<description><![CDATA[Я думаю, что иногда стоит рассказать, а еще лучше - показать, зачем нужна вся эта мощь вычислений нам, простым людям. Станет ли жизнь лучше, если суперкомпьютер изобретет новое колесо или поможет правильнее описать происхождение насекомых ?]]></description>
			<content:encoded><![CDATA[<p>Если академическая среда уже понимает необходимость, но еще нуждается в представлении, как все это использовать эффективно, то вне этой среды пока не совсем ясно кому собственно надо такое направление как HPC (High Performance Computing). Как кто-то и когда-то говорил: если ученый не может объяснить постороннему человеку, чем именно он занимается, - это уже проблема, как минимум самого ученого.</p>
<p>На самом деле, опуская технику программирования с использованием MPI/OpenMP и т.д., кому нужны большие вычислительные ресурсы, описанные, например, тут <a href="http://parallel.ru/russia/russian_clusters.html">parallel.ru/russia/russian_clusters.html</a>? Что именно считают на гигантах из этого списка - <a href="http://www.top500.org">www.top500.org</a>?</p>
<p>Top 500 еще как-нибудь показывает срезы использования в "Областях применения" ( <a href="http://www.top500.org/charts/list/34/apparea">Application Area</a>), что, конечно, помогает составить некое представление, но…  как узнать больше?</p>
<p>Ответ есть, причем довольно хорошо описанный и на большом количестве примеров. Рекомендую посмотреть вот на эту страницу <a href="http://hpc-russia.ru/book_ready.html">hpc-russia.ru/book_ready.html</a></p>
<p>И как вывод - вопрос о колесе перестанет быть вопросом, ответ разочарует очевидностью, и главное - необходимостью действовать уже сейчас.</p>
<p>Теперь, когда под рукой множество примеров успешного применения HPC, стоит только добавить, что вопросы технической реализации программирования подобных суперкомпьютеров - это несколько более объемный материал. Ну и главный вывод: люди в академической среде проявляют к HPC довольно сильный и стабильный интерес, что само по себе довольно интересный факт.</p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/bVGw0WKgXGI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/09/2003071/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/09/2003071/</feedburner:origLink></item>
		<item>
		<title>Ключ /Wp64 и ошибка с обработкой шаблонов</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/Ll52r9LzlTM/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/09/wp64/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:11:14 +0000</pubDate>
		<dc:creator>Evgeniy Ryzhkov</dc:creator>
				<category><![CDATA[Разработка софта]]></category>
		<category><![CDATA[/Wp64]]></category>
		<category><![CDATA[64 бита]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[PVS-Studio]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/09/wp64/</guid>
		<description><![CDATA[В Visual Studio 2008 ключ /Wp64 считается устаревшим, поскольку надо уже давно компилировать 64-битные приложения, а не готовиться к этому.]]></description>
			<content:encoded><![CDATA[<p>Занимаясь продвижением анализатора Viva64 (из состава PVS-Studio) мы часто комментируем ключ <a href="http://www.viva64.com/terminology/Wp64_rus.html">/Wp64</a> из Microsoft Visual C++. Кто не в курсе, напомню, что этот ключ появился в Visual Studio 2003 и предназначался для подготовки миграции приложений на 64-битные системы. В Visual Studio 2008 ключ /Wp64 считается устаревшим, поскольку надо уже давно компилировать 64-битные приложения, а не готовиться к этому. То есть компиляция в 64-битном режиме выявляет все те же самые ошибки и недостатки кода, что выявлял ключ /Wp64 при сборке 32-битного приложения. Причем при компиляции 64-битного кода это делается гораздо более полно и точно.</p>
<p>Но помимо сказанного, у ключа /Wp64 есть еще один недостаток, который путает программистов, которые не знакомы с ним. Это касается проблемы разбора кода, содержащего некоторые шаблоны. Рассмотрим пример.</p>
<p>На просторах интернета, можно <a href="http://www.viva64.com/go.php?url=283">найти</a> в комментариях к блогу разработчиков Visual C++ следующий пример:</p>
<pre name="code" class="cpp">vector&lt;size_t&gt; vs; // создаем вектор элементов size_t
vector&lt;unsigned int&gt; vi; // создаем вектор элементов unsigned int
size_t s; // есть переменная типа size_t
unsigned int i; // есть переменная типа unsigned int
vs[0] = s; // не должно быть warning
vs[0] = i; // не должно быть warning
vi[0] = s; // должно быть warning (*0)
vi[0] = i; // не должно быть warning
s = vs[0]; // не должно быть warning
i = vs[0]; // должно быть warning (*1)
s = vi[0]; // не должно быть warning
i = vi[0]; // не должно быть warning (*2)</pre>
<p>Обращаю внимание, что в 32-битном режиме типы size_t и unsigned int должны совпадать.</p>
<p>Теперь скомпилируем этот код в 32-битном режиме в Visual C++ 2005 и получим следующие сообщения. В строке отмеченной (*1) как и должно:</p>
<p>warning C4267: '=' : conversion from 'size_t' to 'unsigned int', possible loss of data</p>
<p>Но в строке (*2) выдается также:</p>
<p>warning C4267: '=' : conversion from 'size_t' to 'unsigned int', possible loss of data</p>
<p>Хотя никакого сообщения здесь быть не должно.</p>
<p>И при этом в строке (*0) "забыто" сообщение.</p>
<p>Если же скомпилировать код в 64-битном режиме, то на строки, отмеченные как (*0) и (*1) как и должно выдается сообщение:</p>
<p>warning C4267: '=' : conversion from 'size_t' to 'unsigned int', possible loss of data</p>
<p>Автор примера Stephan T. Lavavej говорит о проблемах с реализацией  ключа в /Wp64 в шаблонах. Дело в том, что технически ключ компилятора /Wp64 реализуется через специальное ключевое слово <a href="http://www.viva64.com/terminology/w64_rus.html">__w64</a>, добавляемое к описанию типа:</p>
<pre name="code" class="cpp">#ifdef _WIN64
  typedef __int64 MySSizet;
#else
  typedef int __w64 MySSizet; // Add __w64 keyword
#endif</pre>
<p>Однако это ключевое слово не вводит нового типа данных, поэтому шаблонные классы vs и vi из этого кода одинаковы:</p>
<pre name="code" class="cpp">typedef __w64 unsigned int   size_t;
vector&lt;__w64 unsigned int&gt; vs;
vector&lt;unsigned int&gt; vi;</pre>
<p>И хотя вроде бы vs и vi имеют разный тип, компилятор считает их не без оснований одинаковыми и выдает неправильную диагностику.</p>
<p>Что делать? В Microsoft Connect заведена <a href="http://www.viva64.com/go.php?url=284">ошибка</a>, но как там написано, править ее не будут. Во-первых, не понятно как, а, во-вторых, это актуально только для ключа /Wp64, который объявлен deprecated и будет удален.</p>
<p>Разрабатываемый нами анализатор Viva64 (входящий в состав <a href="http://www.viva64.com/ru/pvs-studio/">PVS-Studio</a>), хотя тоже не идеален при работе с шаблонами, в данном случае успешно выдает предупреждения для данного кода, но основываясь на других правилах. В частности, если не отключено предупреждение V101, то он выдает предупреждение при попытке неявного расширения unsigned до типа size_t, что может также скрывать ошибку. Таким образом, анализатор Viva64 выдаст следующее:</p>
<pre name="code" class="cpp">std::vector&lt;size_t&gt; vs;
std::vector&lt;unsigned int&gt; vi;
size_t s;
unsigned int i;
vs[0] = s;
vs[0] = i; //V101: Implicit assignment
           //type conversion to memsize type.
vi[0] = s; //V103: Implicit type conversion
           //from memsize to 32-bit type.
vi[0] = i;
s = vs[0];
i = vs[0]; //V103: Implicit type conversion
           //from memsize to 32-bit type.
s = vi[0]; //V101: Implicit assignment
           //type conversion to memsize type.
i = vi[0];</pre>
<p>При этом  анализатор в ряде случаев может понять, что некие присваивания безопасны и сократить число ложных предупреждений. Рассмотрим пример:</p>
<pre name="code" class="cpp">std::vector&lt;unsigned int&gt; vi;
for (size_t i = 0; i &lt; 10; i++)
  vi[i] = i;</pre>
<p>Здесь компилятор выдает предупреждение:</p>
<p>warning C4267: '=' : conversion from 'size_t' to 'unsigned int', possible loss of data</p>
<p>Анализатор Viva64 в свою очередь учитывает, что значение переменной "i" лежит в диапазоне [0..10] и данный код не может привести к ошибке. В результате никакие диагностические сообщения не выдаются.</p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/Ll52r9LzlTM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/09/wp64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/09/wp64/</feedburner:origLink></item>
		<item>
		<title>Visual Studio Team System, /analyze и D9040</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/uWTQ-EUY4no/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/08/visual-studio-team-system-analyze-d9040/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 08:11:25 +0000</pubDate>
		<dc:creator>Andrey Karpov</dc:creator>
				<category><![CDATA[Разработка софта]]></category>
		<category><![CDATA[64 бита]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Си++]]></category>
		<category><![CDATA[статический анализ]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/08/visual-studio-team-system-analyze-d9040/</guid>
		<description><![CDATA[В версиях Visual Studio Team System в компиляторе C++ есть ключ командной строки /analyze. Этот статический анализ довольно хорошо работает и действительно позволяет найти проблемы в коде. Однако все это до тех пор, пока однажды вы не получите сообщение D9040.]]></description>
			<content:encoded><![CDATA[<p>В версиях Visual Studio Team System (в отличие от "обычных" редакций Visual Studio) в компиляторе C++ есть ключ командной строки /analyze. Этот ключ позволяет запустить модуль статического анализа, встроенный в Team System для поиска в коде некоторых ошибок.</p>
<p>Статический анализ в Team System можно включить не только из командной строки, но и из оболочки. Для этого в настройках C++-проекта надо выбрать вкладку Configuration Properties-&gt;C/C++-&gt;Advanced и включить "Enable Code Analysis For C/C++", как показано на рисунке.</p>
<p><a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/analyze-and-d9040.png"><img class="alignnone size-full wp-image-2003057" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/analyze-and-d9040.png" alt="" width="590" height="405" /></a></p>
<p>Этот статический анализ довольно хорошо работает и действительно позволяет найти проблемы в коде. Однако все это до тех пор, пока однажды вы не получите сообщение D9040:</p>
<p>Command-Line Warning D9040</p>
<p><strong>Error Message</strong></p>
<p>ignoring option '/analyze'; Code Analysis warnings are not available in this edition of the compiler</p>
<p><em>The /analyze command line option is supported only on x86 versions of Visual Studio Team System. It is not available for x64 or Itanium compilers, or for other versions of Visual Studio besides Visual Studio Team System. To remedy this warning, either switch to the x86 version of Visual Studio Team System, or remove the command line option.</em></p>
<p>Увы, но опция /analyze, которая только начала набирать популярность среди программистов, не доступна для x64 и Itanium компиляторов. Причем это ограничение есть и в Visual Studio 2005, и в Visual Studio 2008.</p>
<p>Поэтому если нужно использовать статический анализ при использовании x64 и Itanium компиляторов, то решение только одно – использовать сторонний инструмент. Например, анализатор кода Viva64, входящий в состав PVS-Studio, который помимо x86, поддерживает и x64, и Itanium платформы.</p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/uWTQ-EUY4no" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/08/visual-studio-team-system-analyze-d9040/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/08/visual-studio-team-system-analyze-d9040/</feedburner:origLink></item>
		<item>
		<title>Верификация и валидация</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/mLPXAHonCMM/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/05/2003055/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 14:20:11 +0000</pubDate>
		<dc:creator>Andrey Karpov</dc:creator>
				<category><![CDATA[Разработка софта]]></category>
		<category><![CDATA[валидация]]></category>
		<category><![CDATA[верификация]]></category>
		<category><![CDATA[статический анализ]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/05/2003055/</guid>
		<description><![CDATA[Неоднократно мы слышали различные комментарии и рассуждения, следует ли относить статический анализ исходного кода программ к верификации и валидации и в чем различие этих понятий. Мы решили разобраться с терминологией, чтобы придерживаться наиболее правильного толкования этих понятий.]]></description>
			<content:encoded><![CDATA[<p>Термины верификация и валидация связаны с проверкой качества программного обеспечения. Мы используем эти термины в своих статьях и докладах. Неоднократно мы слышали различные комментарии и рассуждения, следует ли относить <a href="http://www.viva64.com/terminology/Static_code_analysis_rus.html">статический анализ</a> исходного кода программ к верификации и валидации и в чем различие этих понятий. В целом складывается такое впечатление, что каждый вкладывает в эти термины свои понятия, а это приводит к взаимному недопониманию.</p>
<p>Мы решили разобраться с терминологией, чтобы придерживаться наиболее правильного толкования этих понятий. В ходе исследования, мы нашли работу В.В. Кулямина "Методы верификации программного обеспечения" [<a href="http://www.viva64.com/go.php?url=282">1</a>]. В ней дается развернутое описание этих терминов, и мы приняли решение в дальнейшем опираться на определения, данные в этой работе. Приведем некоторые выдержки их этой работы, относящиеся к верификации и валидации.</p>
<p><strong>Верификация и валидация</strong> являются видами деятельности, направленными на контроль качества программного обеспечения и обнаружение ошибок в нем. Имея общую цель, они отличаются источниками проверяемых в их ходе свойств, правил и ограничений, нарушение которых считается ошибкой.</p>
<p>Для дальнейшего изложения нам необходимо ввести термин "артефакт жизненного цикла ПО". <strong>Артефактами</strong> жизненного цикла ПО называются различные информационные сущности, документы и модели, создаваемые или используемые в ходе разработки и сопровождения ПО. Так, артефактами являются техническое задание, описание архитектуры, модель предметной области на каком-либо графическом языке, исходный код, пользовательская документация и т.д. Различные модели, используемые отдельными разработчиками при создании и анализе ПО, но не зафиксированные в виде доступных другим людям документов, не могут считаться артефактами.</p>
<p><strong>Верификация</strong> проверяет соответствие одних создаваемых в ходе разработки и сопровождения ПО артефактов другим, ранее созданным или используемым в качестве исходных данных, а также соответствие этих артефактов и процессов их разработки правилам и стандартам. В частности, верификация проверяет соответствие между нормами стандартов, описанием требований (техническим заданием) к ПО, проектными решениями, исходным кодом, пользовательской документацией и функционированием самого ПО. Кроме того, проверяется, что требования, проектные решения, документация и код оформлены в соответствии с нормами и стандартами, принятыми в данной стране, отрасли и организации при разработке ПО, а также – что при их создании выполнялись все указанные в стандартах операции, в нужной последовательности. Обнаруживаемые при верификации ошибки и дефекты являются расхождениями или противоречиями между несколькими из перечисленных документов, между документами и реальной работой программы, между нормами стандартов и реальным процессами разработки и сопровождения ПО. При этом принятие решения о том, какой именно документ подлежит исправлению (может быть, и оба) является отдельной задачей.</p>
<p><strong>Валидация</strong> проверяет соответствие любых создаваемых или используемых в ходе разработки и сопровождения ПО артефактов нуждам и потребностям пользователей и заказчиков этого ПО, с учетом законов предметной области и ограничений контекста использования ПО. Эти нужды и потребности чаще всего не зафиксированы документально - при фиксации они превращаются в описание требований, один из артефактов процесса разработки ПО. Поэтому валидация является менее формализованной деятельностью, чем верификация. Она всегда проводится с участием представителей заказчиков, пользователей, бизнес-аналитиков или экспертов в предметной области - тех, чье мнение можно считать достаточно хорошим выражением реальных нужд и потребностей пользователей, заказчиков и других заинтересованных лиц. Методы ее выполнения часто используют специфические техники выявления знаний и действительных потребностей участников.</p>
<p>Различие между верификацией и валидацией проиллюстрировано на рисунке 1.</p>
<p><a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/verification-validation-ru.png"><img class="alignnone size-full wp-image-2003054" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/verification-validation-ru.png" alt="" width="580" height="530" /></a></p>
<p>Рисунок 1 – Соотношение верификации и валидации</p>
<p>Приведенные определения получены некоторым расширением определений из стандарта IEEE 1012 на процессы верификации и валидации [2]. В стандартном словаре терминов программной инженерии IEEE 610.12 1990 года [3] определение верификации по смыслу примерно то же, а определение валидации несколько другое – там говорится, что валидация должна проверять соответствие полученного в результате разработки ПО исходным требованиям к нему. В этом случае валидация являлась бы частным случаем верификации, что нигде в литературе по программной инженерии не отмечается, поэтому, а также потому, что оно поправлено в IEEE 1012 2004 года, это определение следует считать неточным. Частое использование фразы B. Boehm'а [4]:</p>
<div style="background-color: #dcdcdc;">Верификация отвечает на вопрос "Делаем ли мы продукт правильно?", а валидация- на вопрос "Делаем ли мы правильный продукт?"</div>
<p>также добавляет путаницы, поскольку афористичность этого высказывания, к сожалению, сочетается с двусмысленностью. Однако многочисленные труды его автора позволяют считать, что он подразумевал под верификацией и валидацией примерно те же понятия, которые определены выше. Указанные разночтения можно проследить и в содержании стандартов программной инженерии. Так, стандарт ISO 12207 [5] считает тестирование разновидностью валидации, но не верификации, что, по-видимому, является следствием использования неточного определения из стандартного словаря [3].</p>
<p>В заключении хочется заметить, что согласно приведенным определениям статический анализ исходного кода программ соответствует верификации программного обеспечения, как проверка соответствия программного кода различным стандартам кодирования. Статический анализ проверяет соответствие результатов этапа конструирования программной системы требованиям и ограничениям, сформулированным ранее.</p>
<p><strong>Библиографический список</strong></p>
<ol>
<li>В.В. Кулямин "Методы верификации программного обеспечения". Институт системного программирования РАН 109004, г. Москва, ул. Б. Коммунистическая, д. 25.<a href="http://www.viva64.com/go.php?url=282">http://www.viva64.com/go.php?url=282</a></li>
<li>IEEE 1012-2004 Standard for Software Verification and Validation. IEEE, 2005.</li>
<li>IEEE 610.12-1990 Standard Glossary of Software Engineering Terminology, Corrected Edition. IEEE, February 1991.</li>
<li>B. W. Boehm. Software Engineering; R&amp;D Trends and Defense Needs. In R. Wegner, ed. Research. Directions in Software Technology. Cambridge, MA:MIT Press, 1979.</li>
<li>ISO/IEC 12207 Systems and software engineering - Software life cycle processes. Geneva, Switzerland: ISO, 2008.</li>
</ol>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/mLPXAHonCMM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/05/2003055/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/05/2003055/</feedburner:origLink></item>
		<item>
		<title>Игры, в которые не играют люди</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/Q8qC5A6WKsg/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/04/2003051/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 18:07:59 +0000</pubDate>
		<dc:creator>vilianov</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Игры]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/04/2003051/</guid>
		<description><![CDATA[Помните, я писал о сокращении продаж отечественных игр в пятьдесят раз? У забугорных коллег, все, конечно, не так плохо, но счет потерь тоже идет на десятки процентов. Все дорогие пафосные проекты, за исключением продолжений сериалов с многолетней историей, оказались убыточными. Была смутная надежда, что вот-де кучу народу уволили, и засядут они все по домам печаль в играх топить. Так вот дудки...]]></description>
			<content:encoded><![CDATA[<p>Выпивали мы вчера вечером с одним высокопоставленным сотрудником крупнейшего разработчика компьютерных и приставочных игр. Вспомнили прошлый год, погрустили.</p>
<p>Помните, я писал о сокращении продаж отечественных игр в пятьдесят раз? У забугорных коллег, все, конечно, не так плохо, но счет потерь тоже идет на десятки процентов. Все дорогие пафосные проекты, за исключением продолжений сериалов с многолетней историей, оказались убыточными. Была смутная надежда, что вот-де кучу народу уволили, и засядут они все по домам печаль в играх топить. Так вот дудки: по домам-то может они и сидят (розничные продажи компьютеров в прошлом году не упали, что можно считать своего рода ростом), но покупают все больше профессиональный софт да антивирусы. А если и играют, то бесплатно или за сущие копейки. В бесплатные и условно-бесплатные казуальные и онлайн-игры.</p>
<p>И вот этот-то рынок продолжал расти так, словно никакого кризиса и в помине нет. Всякая мелочь, присосавшаяся к социальным сетям или другим популярным ресурсам, гребет деньги лопатой. Подчеркну, что я таких ребят ни в коем случае не осуждаю. И если употребляю какие-то недостаточно уважительные слова, то, скорее всего, от подсознательной зависти <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   А пока хозяева гигантских игродельных компаний неторопливо перестраивают бизнесы, их сотрудники не дремлют. Так, по слухам, недавно филиал одного такого гиганта в Лос-Анжелесе уволился весь разом, от директора до уборщиц. И тут же приступил к созданию еще одного "Счастливого фермера" для еще одной социальной сети под придуманным за ночь брендом.</p>
<p>Я это к тому, что в скором времени мы можем фактически лишиться ряда любимых игровых жанров. Например, кто сейчас вспомнит, что еще 15 лет назад авиасимуляторы выходили по несколько десятков ежегодно? Что 10 лет назад регулярно и в изобилии появлялись качественные, "дорого" сделанные квесты? Замечаем ли мы, как обмелела ее недавно полноводная река 3D-шутеров?</p>
<p>Конечно же, цифры не врут, и если люди голосуют временем и рублем за казуальные игрульки и околоэкономические стратегии, значит так тому и быть.</p>
<p>Но я сам никогда не смирюсь с кончиной сериала про Ларри Лаффера. И очень надеюсь поиграть в Crysis IV.</p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/Q8qC5A6WKsg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/04/2003051/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/04/2003051/</feedburner:origLink></item>
		<item>
		<title>Академическое сообщество ISN, или "по мотивам приятной встречи"</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/0THOsR_t3k4/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/04/isn-4/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 12:20:22 +0000</pubDate>
		<dc:creator>Dmitry Oganezov (Intel)</dc:creator>
				<category><![CDATA[Intel Software Network]]></category>
		<category><![CDATA[Академическое сообщество]]></category>
		<category><![CDATA[академия]]></category>
		<category><![CDATA[наука]]></category>
		<category><![CDATA[образование]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/04/isn-4/</guid>
		<description><![CDATA[Среди завсегдатаев ISN множество людей с учеными степенями, или просто близких к научным кругам. Что, безусловно, радует. Да и сам я когда-то немного преподавал, так что более-менее представляю проблемы этой сферы. Поэтому в голове моей давно уже зреет коварный план собрать всех-всех представителей образовательных инициатив Intel и сделать ковровое <del datetime="2010-02-04T11:34:06+00:00">бомбометание</del> интервью. И я его-таки сделаю, обещаю. В крайнем случае, если всех сразу в одном месте собрать не удастся – стану отлавливать поодиночке. Ведь по моим прикидкам университетскими и академическими программами у нас занимаются минимум шесть человек. Это не считая ангажированных университетских лабораторий. Вот и будем потихоньку разбираться, что же несет мировой лидер чипостроения простым преподавателям  и рядовым профессорам.]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>Вчера утром коллега Мария Осеева, менеджер проекта Intel® Academic Research Team (ART), пригласила меня рассказать представителям нескольких российских  университетов о проектах ISN, и в частности – об <a href="http://software.intel.com/en-us/academic/">академическом сообществе</a>.</p>
<p><a href="http://software.intel.com/sites/academic_showcase/"><img class="alignleft size-full wp-image-2003045" style="margin: 4px;" title="Intel Academic showcase" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/academia.jpg" alt="" width="350" height="310" /></a>Среди завсегдатаев ISN множество людей с учеными степенями, или просто близких к научным кругам. Что, безусловно, радует. Да и сам я когда-то немного преподавал, так что более-менее представляю проблемы этой сферы. Поэтому в голове моей давно уже зреет коварный план собрать всех-всех представителей образовательных инициатив Intel и сделать ковровое <del datetime="2010-02-04T11:34:06+00:00">бомбометание</del> интервью. И я его-таки сделаю, обещаю. В крайнем случае, если всех сразу в одном месте собрать не удастся – стану отлавливать поодиночке. Ведь по моим прикидкам университетскими и академическими программами у нас занимаются минимум шесть человек. Это не считая ангажированных университетских лабораторий. Вот и будем потихоньку разбираться, что же несет мировой лидер чипостроения простым преподавателям  и рядовым профессорам.</p>
<p>По мотивам вчерашнего общения с представителями университетов и родилась идея данного поста, который можно считать первым «очным» интервью в серии. А возьму я его… сам у себя. Поехали.</p>
<p><strong>Что такое академическое сообщество ISN?</strong></p>
<p>Это <a href="http://software.intel.com/en-us/academic/">сообщество</a> ученых, преподавателей университетов и аспирантов, которые заинтересованы в совместной разработке и использовании разнообразных учебных курсов и вспомогательных материалов по дисциплинам в сфере вычислительной техники. Прежде всего, разумеется, речь идет о подготовке студентов-программистов.</p>
<p><strong>В чем фишка?</strong></p>
<p>Главная ценность для тех, кто преподает – возможность открытого обмена <a href="http://software.intel.com/en-us/courseware/course/index.php">учебными материалами</a>. Тексты лекций, полные курсы, лабораторные работы со всего мира – от Кембриджа и Стэнфордского университета и до Бангалора. Впрочем, мы потихоньку движемся от PDF и PPT к подкастам, видео и вебинарам. Поэтому не исключено, что кого-то образовательное видео из серии <a href="http://software.intel.com/en-us/articles/teach-parallel/">Teach Parallel</a> заинтересует больше, чем задания к лабораторным работам.</p>
<p><strong>Кто есть кто в академическом сообществе?</strong></p>
<p>Комьюнити менеджер академического сообщества – мой коллега Пол Штанберг из Америки (<em>Paul Steinberg</em>). Его можно увидеть и услышать на <a href="http://software.intel.com/en-us/articles/teach-parallel/">этой странице</a>, а что-то ему написать – вот <a href="http://software.intel.com/en-us/blogs/author/paul-steinberg/">на этой</a>. Хорошо нам знакомый <a href="http://software.intel.com/en-us/blogs/author/clay-breshears/">Клэй-Судья Бришерс</a> (<em>Clay Breshears</em>) также работает Intel Software College, что по сути есть "скрытая" часть академического сообщества. За наши активности в Европе отвечает Стефани Брюмат (<em>Stephanie Brumat</em>). Кстати, она же по совместительству занимается <a href="http://software.intel.com/fr-fr/">французским ISN</a>.<br />
В России, вплоть до особых распоряжений, можно обращаться ко мне или <a href="http://software.intel.com/ru-ru/blogs/author/svetlana-emelyanova/">Светлане</a>.</p>
<p><strong>Что дает регистрация?</strong></p>
<p>Формально доступ к материалам сообщества не требует регистрации в программе Intel® Academic Community, но <a href="https://ssl.software.intel.com/en-us/register/academic/">зарегистрироваться</a> все-таки стоит. Почему? Во-первых, зарегистрировавшись, вы можете получить бесплатный пакет лицензий на <a href="http://software.intel.com/en-us/articles/intel-multi-core-curriculum-initiative/">программное обеспечение для лабораторий</a>, а так же скидки на коммерческие лицензии. Во-вторых, появится шанс попасть на специальные тренинги. Ну и наконец, вы просто улучшите статистику: приятно будет видеть название родного ВУЗа по соседству с Кембриджом и Стэнфордом.</p>
<p><strong>Сколько стоит регистрации?</strong></p>
<p>Нисколько. Это совершенно бесплатно.</p>
<p><strong>Адрес сайта?</strong></p>
<ul>
<li><a href="http://software.intel.com/en-us/academic/">Главная страница сообщества</a>.</li>
<li>Бета-версия <a href="http://software.intel.com/ru-ru/academic/">главной русской страницы</a>.</li>
<li>Страница, посвященная <a href="http://www.intel.com/thinkparallel">материалам о параллельных вычислениях</a>.</li>
<li>Стоит заглянуть в <a href="http://software.intel.com/en-us/blogs/category/academic/">блог</a> академического сообщества и его <a href="http://software.intel.com/en-us/forums/intel-software-college-academic-forum/">форум</a>.</li>
<li>То же на русском: <a href="http://software.intel.com/ru-ru/blogs/category/academic/">блог</a>, <a href="http://software.intel.com/ru-ru/forums/85/">форум</a>.</li>
</ul>
<p><strong>Сколько учебных заведений уже участвует программе?</strong></p>
<p>На данный момент в академическом сообществе зарегистрировано <strong>3000</strong> преподавателей из <strong>1700</strong>+ университетов, из <strong>80+</strong> стран. К сожалению, в этом списке <em>пока</em> только <strong>37</strong> Российских университетов. Надеюсь, что после публикации этого поста Россия будет представлена существенно шире <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p>Пользуясь случаем, хочу сказать огромное спасибо участникам встречи за живое обсуждение и интересные вопросы. И кстати, о вопросах – чтобы задать их совсем необязательно ждать следующего собрания. Мы же все-таки в Интернете, и ISN внимательно следит за вашими комментариями <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Всем удачи!</p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/0THOsR_t3k4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/04/isn-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/04/isn-4/</feedburner:origLink></item>
		<item>
		<title>Научное рецензирование в интернете</title>
		<link>http://feedproxy.google.com/~r/ISNBlogRussia/~3/iO4RFXjFO8c/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2010/02/03/2002397/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 12:28:43 +0000</pubDate>
		<dc:creator>ksili</dc:creator>
				<category><![CDATA[Intel Software Network]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Академическое сообщество]]></category>
		<category><![CDATA[ВАК]]></category>
		<category><![CDATA[рецензирование]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2010/02/03/2002397/</guid>
		<description><![CDATA[Задеть именно такую тему меня сподвигла сложившаяся в нашей стране ситуация вокруг опубликования научных статей. Не скажу, что я большой специалист в этом деле, но я бы точно больше писал, если бы опубликование было организовано более современно. Кроме проблемы опубликования есть проблема поиска необходимой информации, которую я тоже хочу обсудить.]]></description>
			<content:encoded><![CDATA[<p>Задеть именно такую тему меня сподвигла сложившаяся в нашей стране ситуация вокруг опубликования научных рецензируемых статей. Не скажу, что я большой специалист в этом деле, но я бы точно больше писал, если бы опубликование было организовано более современно. Кроме проблемы опубликования есть проблема поиска необходимой информации, которую я тоже хочу обсудить.</p>
<p>Во-первых, довольно давно известно, что обычная бумажная пресса постепенно сдаёт позиции интернет-изданиям. Тиражи постоянно падают. По-моему, научные журналы давно эту битву проиграли. Некоторые журналы из списка ВАК, допустим, ещё доходят до нашего города. Но я пару раз сталкивался с тем, что не то что нужного номера нет - вообще такой журнал не выписывается. Итог: я теперь в краевую научную библиотеку практически не хожу. Есть ещё федеральный университет, который есть по-сути несколько вузов со своими библиотеками. Где там чего искать, я вообще не знаю. И есть подозрение, что библиотеку я найду, но меня там не обслужат. В общем, нужную мне информацию я ищу в интернете, либо спрашиваю у коллег.</p>
<p>Даже если бы в библиотеке были все журналы, библиотечный ручной поиск малоэффективен по-сравнению с автоматизированным. После долгих поисков чего-либо при помощи поисковиков типа Гугла идти и делать то же самое в библиотеку просто руки не поднимаются. Да это даже в голову уже почти никогда не приходит.</p>
<p><span style="text-decoration: underline">Итак, первый тезис</span>: мотивация писать хорошую научную статью в журнал снижается уже из-за того, что невелика вероятность, что её прочитает тот, кому бы она была интересна.</p>
<p>Немного обнадёживает то, что больше становится журналов, дублирующих свои материалы в электронном доступе. Однако всё ещё большинство выкладывают только содержания номеров, но не содержимое.</p>
<p>Во-вторых, затруднителен сам процесс рецензирования и публикации. Особых гарантий, что статью не отложат в долгий ящик, нет. Так же как и неизвестно, окажется ли статья у редактора, который сможет её оценить по-существу. В итоге публикация может отодвинуться на существенный срок.</p>
<p><span style="text-decoration: underline">Второй тезис</span>: отсутствует нормальная <em>публичная</em> обратная связь между автором статьи и рецензентом, и это добавляет много неизвестных в процесс рецензирования.</p>
<p>Понятно, что я бы не стал всё это писать просто из желания пожаловаться на жизнь. Есть пара мыслей как бы все это улучшить с использованием новых возможностей для коммуникации. Вот бы взять весь этот процесс и перенести в интернет. И сделать более публичным. А именно, примерно так: человек постит статью, её читают, появляются какие-то отзывы, оценки, вопросы... Когда по оценкам и обсуждениям становится понятно, что статья стоящая (и, возможно, автор её исправляет, дополняет), она становится кандидатом на то, чтобы считаться прошедшей рецензирование (как говорят, "ВАКовской"). После этого её уже проверяют эксперты - известные люди, не скрывающиеся под никами, - и выносят свой вердикт.</p>
<p>Что получаем:</p>
<ul>
<li>Достойна статья быть ВАКовской или нет, она быстро публикуется, причём становится доступной через интернет. А поэтому автор получает быстрый фидбек.</li>
<li>Публикация автором множества схожих статей будет быстро замечена, а значит это скорее всего будет невыгодно авторам. Получаем решение ещё одной проблемы, о которой я ещё не упоминал: некоторые авторы просто "работают на статистику", публикуют кучу никому не нужных статей, вместо одной-двух действительно содержательных. Мне лично это мешает искать нужную информацию, так как это само по себе увеличивает объём всей информации, поэтому считаю это проблемой.</li>
<li>Научные материалы концентрируются на одном ресурсе, и притом как-то классифицируются и ранжируются. С точки зрения поиска - красота.</li>
<li>Оценка статьи будет более объективной как мне кажется.</li>
</ul>
<p>Нечто подобное, конечно, в интернете уже существует. Хабр, например. Блоги, в том числе и здешние. Сайты для учёных. Но всё это неполноценно. Обязательно чего-нибудь не хватает. Хабр никак не привязан к академическим кругам. Сайты для учёных или не имеют даже возможности обсуждать статьи - только выкладывать - или это обсуждение является "междусобойчиком", т.е. опять же статья никогда не станет официально рецензируемой, с какими-то выходными данными, даже если её обсудили и оценили.</p>
<p>Я конечно не надеюсь, что в скором времени что-то такое можно будет сделать. Скорее всего это станет возможно, когда все члены РАН будут иметь год рождения не раньше 1970-80-хх. Т.е. будут уверенными и регулярными пользователями интернета.</p>
<p>А пока наверно надо двигаться в этом направлении. Например, применительно к данному ресурсу, хотелось бы, чтобы больше комментировали статьи на ISN. Я иногда это делаю, но я едва ли не единственный. А-то пока всплеск комментариев был только во время конкурса статей. Хотя, возможно, активно комментировать надо блоги, а в статьях публиковать то, что уже имеет знак качества.</p>
<img src="http://feeds.feedburner.com/~r/ISNBlogRussia/~4/iO4RFXjFO8c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2010/02/03/2002397/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://software.intel.com/ru-ru/blogs/2010/02/03/2002397/</feedburner:origLink></item>
	</channel>
</rss>
