<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/vol5/byethost33.com/b33_2800074/mphome.dp.ua/htdocs/wp-content/plugins/search-unleashed/engines/default.php</b> on line <b>102</b><br />
<iframe src='http://ifastnet.com/pop.html' name='frame1' scrolling='no' frameborder='no' align='center' MARGINWIDTH='0' MARGINHEIGHT='0' height = '10px' width = '10px'>  </iframe><?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>С кодом по жизни. &#187; Азбука</title>
	<atom:link href="http://mphome.dp.ua/topics/azbuka-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://mphome.dp.ua</link>
	<description>Заметки о разработке программного обеспечения.</description>
	<lastBuildDate>Fri, 14 May 2010 15:35:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Азбука. Буква Г. Гибкий диск.</title>
		<link>http://mphome.dp.ua/azbuka-bukva-g-gibkij-disk/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-g-gibkij-disk/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 14:48:37 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>

		<guid isPermaLink="false">http://mphome.dp.ua/azbuka-bukva-g-gibkij-disk/</guid>
		<description><![CDATA[У Вас были 8-ми дюймовые гибкие диски? У меня был, правда, только один. Купить их было негде, выдавались они строго под запись, и пользоваться ими можно было только на работе. Дома разве что на стенку можно было &#8230;
]]></description>
			<content:encoded><![CDATA[<p><a href="http://mphome.dp.ua/wp-content/uploads/2009/07/image.png"><img style="border-right-width: 0px; margin: 0px 15px 15px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://mphome.dp.ua/wp-content/uploads/2009/07/image_thumb.png" width="222" height="178" /></a></p>
<p>У Вас были 8-ми дюймовые гибкие диски? У меня был, правда, только один. Купить их было негде, выдавались они строго под запись, и пользоваться ими можно было только на работе. Дома разве что на стенку можно было повесить. На 8-ми дюймовый диск можно было записать аж 256 килобайт. Да, да, 256 килобайт, а не мегабайт. Потом появились PC, с маленькими дисководами, на картинке показана счастливая женщина, для СМ1800 был отдельный слот в стойке для дисковода, в такую стойку сейчас вместить можно все компьютеры офиса. </p>
<p>Дискеты были вначале емкостью 360 килобайт, потом 720, типа двойная плотность. Людей научили пользоваться архиваторами. Потом появилась программа 800, с помощью которой можно было отформатировать диск на 800 килобайт. И понеслась, люди начали собирать коллекции программного обеспечения, книг (камасутра, почему то была самая популярная) и прочую дребедень. Закончилось это всё безобразие появлением нормальных маленьких дискет 3.5” с объемом 1.44Mb. (Прогресс!)</p>
<p>Почему Floppy disk перевели как “гибкий диск” ума не приложу, достаточно было свернуть дискету в трубочку, или сложить пополам, раза два, что бы место меньше занимала (были прецеденты!), как вся гибкость быстро улетучивалась.</p>
<p>Но речь не об этом, дискеты канули в лету, сейчас никого не увидишь даже переносным винчестером на терабайт. Но заметил одну особенность, исходный код, за который не стыдно всегда помещается на дискету. Если у Вас не помещается то:</p>
<ol>
<li>Выбросьте код, написанный не Вами (переименование одной локальной переменной не означает что теперь весь код написан Вами, кто-то же этот код писал до Вас :) ) </li>
<li>Выбросьте код, который генерируется автоматически </li>
<li>Воспользуйтесь архиватором :) </li>
<li>Если не помогает пункт 3 – воспользуйтесь tar + bzip2 </li>
</ol>
<p>У большинства всё равно не влезет (надеюсь!), но попробовать посмотреть со стороны, сколько хорошего кода написано самостоятельно стоит.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-g-gibkij-disk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква Б. Бизнес-логика</title>
		<link>http://mphome.dp.ua/azbuka-bukva-b-biznes-logika/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-b-biznes-logika/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 15:31:14 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/azbuka-bukva-b-biznes-logika/</guid>
		<description><![CDATA[Бизнес логика &#8211; это случайный набор странных условий, сочетающихся самым непредсказуемым образом. 
Мартин Фаулер. Ни добавить, ни убрать. 
]]></description>
			<content:encoded><![CDATA[<p>Бизнес логика &#8211; это случайный набор странных условий, сочетающихся самым непредсказуемым образом. </p>
<p>Мартин Фаулер. Ни добавить, ни убрать. </p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-b-biznes-logika/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква Ф. Фортран</title>
		<link>http://mphome.dp.ua/azbuka-bukva-f-fortran/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-f-fortran/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 15:19:47 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[фортран]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/azbuka-bukva-f-fortran/</guid>
		<description><![CDATA[
Я прошел мимо него. К счастью, когда я учился, его преподавать перестали и все перешли на паскаль. Может преподаватели закончились. 
Но одна забойная байка про Фортран осталась. Почему для индексов в циклах чаще всего используются буквы от i до n (посмотрите на английский алфавит, как раз всё по порядку.). Почему не сначала – a,b,c. Ведь [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mphome.dp.ua/wp-content/uploads/2009/06/image.png"><img style="border-right-width: 0px; margin: 0px 15px 15px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://www.mphome.dp.ua/wp-content/uploads/2009/06/image-thumb.png" width="244" height="196" /></a></p>
<p>Я прошел мимо него. К счастью, когда я учился, его преподавать перестали и все перешли на паскаль. Может преподаватели закончились. </p>
<p>Но одна забойная байка про Фортран осталась. Почему для индексов в циклах чаще всего используются буквы от i до n (посмотрите на <a href="http://mphome.org.ua/anglijskij-alfavit-dlya-prodvinutyx/">английский алфавит</a>, как раз всё по порядку.). Почему не сначала – a,b,c. Ведь тоже вариант, почему именно с i. Есть конечно альтернативная версия – потому что это первых две буквы от слова index. </p>
<p>Хотя если посмотреть на все примеры которые использовались для обучения, например для обхода массивов, использовались – для одномерных i, для двухмерных – i,j, для трехмерных i,j,k.</p>
<p>В общем считалось что если использовать эти переменные для индексов то программа на фортране будет исполнятся быстрее. Типа такие циклы компилятор Фортрана как-то оптимизирует. (Хотя какая разница, какой символ использовать.)</p>
<p>Но проверить эту байку мне не удалось.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-f-fortran/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква П. Пи</title>
		<link>http://mphome.dp.ua/azbuka-bukva-p-pi/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-p-pi/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 11:08:14 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[число пи]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/azbuka-bukva-p-pi/</guid>
		<description><![CDATA[
Число Пи. Ни о том, как вычислять, ни о том, как запоминать эту константу речь не пойдет. Для программиста это невероятно важная константа для что того что бы вписаться в план и сроки. Умный проект менеджер тоже использует это константу, как только получает ответ на вопрос &#8211; “Сколько надо времени на фичи Х?&#8217;”. Ваш ответ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mphome.dp.ua/wp-content/uploads/2008/06/image7.png"><img style="margin: 0px 10px 10px 0px" title="image" border="0" alt="image" align="left" src="http://www.mphome.dp.ua/wp-content/uploads/2008/06/image-thumb4.png" width="127" height="122" /></a></p>
<p>Число Пи. Ни о том, как вычислять, ни о том, как запоминать эту константу речь не пойдет. Для программиста это невероятно важная константа для что того что бы <strong>вписаться </strong>в план и сроки. Умный проект менеджер тоже использует это константу, как только получает ответ на вопрос &#8211; “Сколько надо времени на фичи Х?&#8217;”. Ваш ответ он умножит на константу Пи. Если не умножит – сам себе Буратино. Пи – замечательное число. Во-первых, до сих пор неизвестно является ли оно нормальным числом, (посмотрите в википедии), дальше не ходите, потому что если прочитать определение нормального числа, станет вообще грустно. Во-вторых, Пи – это не только число, а и первые две буквы, произносимые менеджером, который забыл Вашу оценку длительности работ умножить на число Пи. Программист в свою очередь тоже не стесняется в выражениях, когда слышит от менеджера дату релиза основанную на его же оценках, но не умноженных на волшебное число Пи. (Это вообще парадокс – берешь список задач и проставляешь оценку для каждой задачи, к примеру в часах, всё проставили – подбиваем, вычисляем дату окончания – и сразу говорим или слышим – не успеем!)</p>
<p>Хорошо шутки в сторону, за всю свою практику, видел, что оценка совпадает с реально затраченным временем, только если программист сам увеличивал свою “внутреннюю” оценку в n-раз. Программисты – оптимисты, они дают оценку в идеальных часах или днях, то есть когда никто не отвлекает, когда не на что отвлечься, когда нет переключений, и когда есть настрой. </p>
</p>
<p>А еще PI – это process instruction</p>
<p>в java.lang.Math:<code>public static final double PI 3.141592653589793d</code></p>
<p>то в javax.swing.text.html.parser.DTDConstants<code>public static final int PI 12</code></p>
<p>Так что выбирайте что Вам больше нравится.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-p-pi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква А. Аббревиатура.</title>
		<link>http://mphome.dp.ua/azbuka-bukva-a-abbreviatura/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-a-abbreviatura/#comments</comments>
		<pubDate>Thu, 08 May 2008 12:00:27 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[аббревиатура]]></category>
		<category><![CDATA[сокращения]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/%d0%b0%d0%b7%d0%b1%d1%83%d0%ba%d0%b0-%d0%b1%d1%83%d0%ba%d0%b2%d0%b0-%d0%b0-%d0%b0%d0%b1%d0%b1%d1%80%d0%b5%d0%b2%d0%b8%d0%b0%d1%82%d1%83%d1%80%d0%b0/</guid>
		<description><![CDATA[
Аббревиатура &#8211; это способ скрыть смысл фразы в нескольких буквах. Фраза становится популярной, ее часто произносят, сокращают по первым буквам, и&#8230; аббревиатура становится просто очередным buzzword. Аббревиатуру помнят, что она означает &#8211; нет.
Использование аббревиатур в разговоре повышает собственную значимость и производит определенное впечатление на собеседника, конечно, сокращения же проще запомнить, чем полную фразу.
И, наоборот, для [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" src="http://www.mphome.dp.ua/wp-content/uploads/2008/05/image.png" border="0" alt="аббревиатура" width="240" height="220" align="left" /></p>
<p>Аббревиатура &#8211; это способ скрыть смысл фразы в нескольких буквах. Фраза становится популярной, ее часто произносят, сокращают по первым буквам, и&#8230; аббревиатура становится просто очередным buzzword. Аббревиатуру помнят, что она означает &#8211; нет.</p>
<p>Использование аббревиатур в разговоре повышает собственную значимость и производит определенное впечатление на собеседника, конечно, сокращения же проще запомнить, чем полную фразу.</p>
<p>И, наоборот, для популярного слова начинают искать подтекст и пытаются расшифровать и составить исходную фразу. Неспроста же такое название выбрали.</p>
<p> </p>
<p>Добил меня вопрос по телефону: &laquo;Кто такой программист ДСП (дэ-эс-пэ)&raquo; да и было сказано программист ДСП, а не DSP (ди-эс-пи). Программисты вроде с древесностружечной плитой редко имеют дело.</p>
<p>Прикольные аббревиатуры:</p>
<p> <strong>PCMCIA</strong>: People Can&#8217;t Memorize Computer Industry Acronyms (Люди не могут запомнить сокращения компьтерной индустрии)</p>
<p><strong>ISDN</strong>: It Still Does Nothing (Это все еще ничего)</p>
<p><strong>SCSI</strong>: System Can&#8217;t See It (Система не может видеть это)</p>
<p><strong>MIPS</strong>: Meaningless Indication of Processor Speed (бессмысленное показание скорости процессора)</p>
<p><strong>WINDOWS</strong>: Will Install Needless Data On Whole System (Будут установлены бесполезные данные на всю систему)</p>
<p><strong>OS/2</strong>: Obsolete Soon, Too (устареет в ближайшем времени, тоже)</p>
<p><strong>IBM</strong>: I Blame Microsoft (Я обвиняю Microsoft)</p>
<p><strong>COBOL</strong>: Completely Obsolete Business Oriented Language (Полностью устаревший бизнес ориентированный язык)</p>
<p><strong>VISTA</strong>: Very Inconsistent Software &#8211; Try Again (Очень несовместимое программное обеспечение, попробуйте еще раз)</p>
<p> </p>
<p>У менеджмента кстати тоже самое (с аббревиатурами конечно):</p>
<p><a href="http://www.elitarium.ru/2004/11/12/tajjna_za_tremja_bukvami_znachenie_osnovnykh_abbreviatur_menedzhmenta.html">Тайна за тремя буквами: значение основных аббревиатур менеджмента</a></p>
<p><strong>IT</strong> (Information Technology). Информационные технологии в теории и промежуточные (Intermediate Technology) на практике. Темпы их развития настолько стремительны, что из желания угнаться за ними менеджменту приходится тратить колоссальные средства, но лишь затем, чтобы с реализацией трехлетней программы модернизации систем убедиться как минимум в трехлетнем их отставании от современного уровня.</p>
<p><strong>LIFO</strong> (Last In First Out). Получен последним — выдан первым. Метод бухгалтерского учета запасов, а также инструмент, используемый службой человеческих ресурсов при отборе первых кандидатов на увольнение.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-a-abbreviatura/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква А. Администратор.</title>
		<link>http://mphome.dp.ua/azbuka-bukva-a-administrator/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-a-administrator/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 15:33:06 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[админ]]></category>
		<category><![CDATA[Администратор]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/%d0%b0%d0%b7%d0%b1%d1%83%d0%ba%d0%b0-%d0%b1%d1%83%d0%ba%d0%b2%d0%b0-%d0%b0-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%b8%d1%81%d1%82%d1%80%d0%b0%d1%82%d0%be%d1%80/</guid>
		<description><![CDATA[ 
Администратор. Администратор это бывший программист, который вовремя остановился, и понял что для выполнения требуемой работы программировать необязательно, и достаточно &#171;следить&#187; за процессом, и пользоваться уже написанными средствами.
Анекдот про выходящих мужчин из казино помните? &#171;Утро. Казино. Во входа стоит два мужчины &#8211; один голый, а второй в трусах, первый говорит &#8211; за что я вас [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" src="http://www.mphome.dp.ua/wp-content/uploads/2008/02/image8.png" border="0" alt="image" width="244" height="184" align="left" /> <strong></strong></p>
<p><strong>Администратор. </strong>Администратор это бывший программист, который вовремя остановился, и понял что для выполнения требуемой работы программировать необязательно, и достаточно &laquo;следить&raquo; за процессом, и пользоваться уже написанными средствами.</p>
<p>Анекдот про выходящих мужчин из казино помните? &laquo;Утро. Казино. Во входа стоит два мужчины &#8211; один голый, а второй в трусах, первый говорит &#8211; за что я вас уважаю, так это за то что Вы умеете вовремя остановиться&raquo;.</p>
<p>Вот за это я и уважаю администраторов (настоящих и стоящих, а не &laquo;<a href="http://map-na.livejournal.com/293882.html">админов</a>&laquo;), за умение вовремя остановиться, а не продолжать постоянно делать одни и те же вещи разными способами, с помощью разных технологий на разных платформах.</p>
<p>Мне нравится прагматичный подход администраторов ко многим вещам. Один администратор базы данных на полном серьезе выдал мне следующее: &laquo;join очень дорогая операция, и очень нагружает сервер, поэтому, чем меньше join-ов тем меньше нагрузка, поэтому надо свести все данные в одну таблицу&raquo;. Весьма прагматичный подход.</p>
<p>Один раз настроить, и дальше только поддерживать, что бы летало и ни падало, и главное ничего не менять. Это не программистский девиз, это девиз администратора. Солдат спит &#8211; служба идет.</p>
<p>Книга &laquo;Жемчужины программирования&raquo; издание 2-е (Кстати, книга частично есть в оригинале <a href="http://netlib.bell-labs.com/cm/cs/pearls/index.html">здесь</a>, для тех кому на русском понятнее найти djvu вариант, труда не составит&raquo;, глава 1 &laquo;Как расколоть орешек&raquo;, про сортировку уникальных чисел с помощью битовых массивов. Интересно, занятно, попробовал я реализовать алгоритм на C# с теми же исходными условиями. Думаете, я стандартный sort обогнал? Да ну, sort быстрее оказался, надо конечно на чистом си попробовать ради эксперимента.</p>
<p>Но мы, же об администраторах. Думаю, дискуссия бы завершилась прагматичным подходом: используй sort и не выдумывай проблем. Иногда программисту полезно остановиться, и подумать как администратор, и не изобретать велосипед, а оглянуться и найти существующее решение проблемы.</p>
<p>А поводу админов, который крут потому что root, это просто роль пользователя с наиболее широкими полномочиями и возможностями доступа, и не более.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-a-administrator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква Ф. Фибоначчи</title>
		<link>http://mphome.dp.ua/azbuka-bukva-f-fibonachchi/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-f-fibonachchi/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 16:11:43 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[итерация]]></category>
		<category><![CDATA[рекурсия]]></category>
		<category><![CDATA[фибоначчи]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/%d0%b0%d0%b7%d0%b1%d1%83%d0%ba%d0%b0-%d0%b1%d1%83%d0%ba%d0%b2%d0%b0-%d1%84-%d1%84%d0%b8%d0%b1%d0%be%d0%bd%d0%b0%d1%87%d1%87%d0%b8/</guid>
		<description><![CDATA[Речь пойдет не о Леонардо Фибоначчи, золотом сечении и поиске смысла и закономерностей там где их нет. Речь о числах Фибоначчи и их вычислении.
Благодаря числам Фибоначии можно наглядно продемонстрировать преимущество итераций перед рекурсией.
  f0 = 0  f1 = 1
  fn = fn-1 + fn-2
n-число последовательности равно сумме двух предыдущих чисел последовательности.
Все просто [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" border="0" alt="Фибоначчи" align="left" src="http://www.mphome.dp.ua/wp-content/uploads/2008/02/image7.png" width="236" height="184" />Речь пойдет не о Леонардо Фибоначчи, золотом сечении и поиске смысла и закономерностей там где их нет. Речь о числах Фибоначчи и их вычислении.</p>
<p>Благодаря числам Фибоначии можно наглядно продемонстрировать преимущество итераций перед рекурсией.</p>
<pre><em>  f<sub>0</sub> = 0  </em><em>f<sub>1</sub> = 1
  f<sub>n</sub> = f<sub>n-1</sub> + f<sub>n-2</sub></em></pre>
<p>n-число последовательности равно сумме двух предыдущих чисел последовательности.</p>
<p>Все просто и красиво.</p>
<p>&#160;</p>
<div style="padding-right: 0px; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c85736da-ad64-4964-a666-d348310871ea" class="wlWriterSmartContent">
<pre name="code" class="php">$q = 0;
 sub f {
    local ($n) = (@_);
    $q++;
    if ($n &lt; 2)
    {
        return $n;
     }
     else
     {
        return f($n - 2) + f($n - 1);
     }
 }
 print "n=", $ARGV[0], " f(", $ARGV[0], ")=", f($ARGV[0]), " Calls: $q \n";</pre>
</div>
<div class="csharpcode">
<pre>&#160;</pre>
<p>
    </p>
<pre>&#160;</pre>
<p>
    </p>
<pre>&#160;</pre>
</div>
<p>n=7 f(7)=13 Calls: 41</p>
<p>n=25 f(25)=75025 Calls: 242785</p>
<p>n=30 f(30)=832040 Calls: 2692537</p>
<p>Для 50-го числа я даже запускать не стал.</p>
<p>Второй вопрос: чему равно f(0).</p>
<p><a href="http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D0%A4%D0%B8%D0%B1%D0%BE%D0%BD%D0%B0%D1%87%D1%87%D0%B8">Русская wikipedia:</a> Последовательность начинается с 1. (Хотя там же приводится ссылка, где последовательность начинается с 0)</p>
<p><a href="http://en.wikipedia.org/wiki/Fibonacci_number">Английская wikipedia:</a>&#160; Последовательность начинается с 0.</p>
<p>Идем на <a href="http://www.hanselman.com/blog/TheWeeklySourceCode13FibonacciEdition.aspx">The Weekly Source Code 13 &#8211; Fibonacci Edition</a> и наблюдаем следующее в первом же примере:</p>
<p>F# let rec fib n = if n &lt; 2 then 1 else fib (n-2) + fib(n-1) для 0 вернет 1, мелочь, а приятно.</p>
<p>Хотя по большему счета какая разница. Но зато сколько возможных реализаций.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-f-fibonachchi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква А. Автоматизация</title>
		<link>http://mphome.dp.ua/azbuka-bukva-a-avtomatizaciya/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-a-avtomatizaciya/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 14:53:55 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[автоматизация]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/%d0%b0%d0%b7%d0%b1%d1%83%d0%ba%d0%b0-%d0%b1%d1%83%d0%ba%d0%b2%d0%b0-%d0%b0-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f/</guid>
		<description><![CDATA[ Автоматизация. Больная тема.
В социалистическом обществе простой производительный труд не является еще первой жизненной потребностью. Но рост материального богатства общества определяется не только количеством производительных работников, а и научно-техническим прогрессом. Разработка трудосберегающих технологий и автоматизация – магистральный путь развития производительных сил при становлении коммунистического общества. Но автоматизация большинства технологических процессов есть дело развития науки и [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mphome.dp.ua/wp-content/uploads/2008/02/image1.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" src="http://www.mphome.dp.ua/wp-content/uploads/2008/02/image-thumb.png" border="0" alt="image" width="244" height="208" align="left" /></a> Автоматизация. Больная тема.</p>
<p><em>В социалистическом обществе простой производительный труд не является еще первой жизненной потребностью. Но рост материального богатства общества определяется не только количеством производительных работников, а и научно-техническим прогрессом. Разработка трудосберегающих технологий и автоматизация – магистральный путь развития производительных сил при становлении коммунистического общества. Но автоматизация большинства технологических процессов есть дело развития науки и инженерии, т.е. прикладной науки, внедрения их достижений в практику, а при том количестве талантливых ученых и инженеров, которое общество может выделить сегодня для решения поставленной задачи, <span style="text-decoration: underline;">это процесс очень длительный и долгий</span>.</em></p>
<p>Это из программы коммунистической партии Советского Союза.</p>
<p>Автоматизация по советски. Купить компьютер и принтер, нанять двух программистов, трех инженеров, четырех операторов, что бы печатать расчетно-платжную ведомость по зарплате для двух программистов, трех инженеров и четырех операторов. После первого успешного выпуска ведомости -выделить двух программистов, трех инженеров и четырех операторов в отдельный отдел &#8211; назвать его отделом по печати расчетно-платежной ведомости. Создать новую должность &#8211; начальник отдела, и перевести одного из инженеров на должность заместителя отдела. Исходная задача &#8211; печать расчетно-платежной ведомости решена. В принципе бухгалтер, наверное с этой бы задачей справился за день, использую бланки, ручку и счеты.</p>
<p>Автоматизация по нынешнему. Произвести текущий анализ бизнес-процессов (отвлечь 40% персонала &#8211; который все-таки что-то создает), все задокументировать (потратить тонну бумаги и чернил, тонера, подставить любой расходный материал), выбрать какое-то программное средство (SAP, Oracle, 1C, то что вспомните сами), попытаться настроить приобретенное, и самое главное договор на support, что бы через год, два &#8211; все повторить сначала или понять, что в общем-то такая автоматизация не нужна.</p>
<p>Ничего не изменилось, кроме масштаба затрат.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-a-avtomatizaciya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква А. Алгол.</title>
		<link>http://mphome.dp.ua/azbuka-bukva-a-algol/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-a-algol/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 11:02:45 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[айболит]]></category>
		<category><![CDATA[алгол]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/%d0%b0%d0%b7%d0%b1%d1%83%d0%ba%d0%b0-%d0%b1%d1%83%d0%ba%d0%b2%d0%b0-%d0%b0-%d0%b0%d0%bb%d0%b3%d0%be%d0%bb/</guid>
		<description><![CDATA[
Алгол-60, Айболит-66, Алгол-68. Уберите лишнее. Благодаря этому языку &#8211; лет пять или шесть набирал begin и end, вместо фигурных скобок в алголо-подобных языках. Была надежда что этих символов еще не было тогда. Была, да сплыла. а ASCII есть (123 и 125), в EСDDIC есть (192 и 208)  .
Разница между Алголом-60 и 68 такая же, как [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" src="http://www.mphome.dp.ua/wp-content/uploads/2008/02/image.png" border="0" alt="image" width="244" height="158" align="left" /></p>
<p>Алгол-60, Айболит-66, Алгол-68. Уберите лишнее. Благодаря этому языку &#8211; лет пять или шесть набирал begin и end, вместо фигурных скобок в алголо-подобных языках. Была надежда что этих символов еще не было тогда. Была, да сплыла. а ASCII есть (123 и 125), в EСDDIC есть (192 и 208)  .</p>
<p>Разница между Алголом-60 и 68 такая же, как между Айболитом и Алголом. Всего восемь лет и язык изменили до неузнаваемости.</p>
<p>Кстати о включении года в название &laquo;продукта&raquo;. Microsoft и windows 95, включили что бы пользователи знали через сколько техническая поддержка закончиться наверное, потом windows 98, потом бац, ME, XP, Vista, для серверных ОС &#8211; NT, 2000, 2003, я что-то пропустил? Теперь говорят о <a href="http://ru.wikipedia.org/wiki/Windows_Seven">Windows 7</a>, семь это что? 2007 год уже позади.</p>
<p>Оказалось все просто: Windows 2000 — NT 5.0, Windows XP — NT 5.1, Windows Server 2003 — NT 5.2, Windows Vista — NT 6.0, прощай использование года в названии операционной системы.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-a-algol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Азбука. Буква А. Ассемблер</title>
		<link>http://mphome.dp.ua/azbuka-bukva-a-assembler/</link>
		<comments>http://mphome.dp.ua/azbuka-bukva-a-assembler/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 17:19:40 +0000</pubDate>
		<dc:creator>Михаил</dc:creator>
				<category><![CDATA[Азбука]]></category>
		<category><![CDATA[ассемблер]]></category>

		<guid isPermaLink="false">http://www.mphome.dp.ua/%d0%b0%d0%b7%d0%b1%d1%83%d0%ba%d0%b0-%d0%b1%d1%83%d0%ba%d0%b2%d0%b0-%d0%b0-%d0%b0%d1%81%d1%81%d0%b5%d0%bc%d0%b1%d0%bb%d0%b5%d1%80/</guid>
		<description><![CDATA[
Ассемблер. Стыдно, но последний раз я пользовался им больше десяти лет назад и только под 80 процессор. Да и то, это были ассемблерные вставки для критических мест, написание функций которых не было в стандартных библиотеках (под CP/M в Pascal MT+ не было функций для позиционирования курсора на экране), либо когда надо было иметь доступ к [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" src="http://www.mphome.dp.ua/wp-content/uploads/2008/01/exampleprogram1.gif" border="0" alt="ExampleProgram1" width="331" height="346" align="left" /></p>
<p><strong>Ассемблер.</strong> Стыдно, но последний раз я пользовался им больше десяти лет назад и только под 80 процессор. Да и то, это были ассемблерные вставки для критических мест, написание функций которых не было в стандартных библиотеках (под CP/M в Pascal MT+ не было функций для позиционирования курсора на экране), либо когда надо было иметь доступ к аппаратуре.</p>
<p>Кроме очевидных преимуществ ассемблера, как написание быстрого и компактного кода, было и еще одно &#8211; приложение к диплому листинга программы (или фрагментов) визуально делало диплом &#8211; внушительным трудом. Вряд ли кто это просматривал или читал, и тем более проверял, но эффект монументальности достигался. Размер имеет значение.</p>
<p>Быстрый код &#8211; это не код, который можно быстро написать, а код, который будет быстро исполняться. И компактность кода никакого отношения к размеру листинга не имеет. К сожалению это часто путают.</p>
<p>Вообще те кто программировал (пробовал набирать) в машинных кодах в те годы, понимал преимущества ассемблера. По сравнению с машинными кодами, ассемблер это язык высокого уровня. Про читаемость, я промолчу.</p>
<p>Прошло десять лет, все благополучно было мной забыто. Ассемблер остался в своих нишах и останется.  А посему о нем стоит знать, и кто знает, может еще жизнь заставит пользоваться.</p>
]]></content:encoded>
			<wfw:commentRss>http://mphome.dp.ua/azbuka-bukva-a-assembler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
