Музей истории компьютера
Музей истории компьютера, совместно с YouTube, открыли канал, на который будут выкладываться видео выступлений, происходящих в музее.
Сейчас там лежит 23 различных видео, ну и думаю будут ещё :-)
"Software developers have neutralized the astounding performance of modern computer hardware by adding layer upon layer of overelaborate [software] abstractions." Bjarne Stroustrup, Creator of C++
Музей истории компьютера, совместно с YouTube, открыли канал, на который будут выкладываться видео выступлений, происходящих в музее.
Сейчас там лежит 23 различных видео, ну и думаю будут ещё :-)
Posted by Lev Kurts at 6:45 PM 1 comments
Программист и возраст. Я собственно собирался написать о том, что считаю что возраст никому не помеха, и что тенденция указывать в вакансиях верхнюю "планку" возраста - это просто пережитки "молодости" индустрии, признак того, что молодые люди работающие программистами и менеджерами проектов хотят работать с такими же молодыми людьми и так далее ...
Ну и в качестве подготовки просмотрел вакансии некоторых популярных и не очень популярных компаний. В качестве disclaimer, хочу сказать что я конечно смотрел не все вакансии, а некоторые, и при этом "программистские" - С++ программист, java программист и тому подобные. Ну и список компаний, конечно достаточно произвольный, просто те что так сказать "на слуху".
Результаты довольно интересные:
Posted by Lev Kurts at 8:37 PM 1 comments
Небольшое видео про Web 2.0 бум :-) Смешно, особенно потому что очень правдиво.
P.S. Если по каким-то причинам не получается посмотреть видео, то вот ссылка:
http://dev.podesk.com/guest.php/post/2007/12/04/Here-Comes-Another-Bubble-lyrics
Posted by Lev Kurts at 7:57 PM 2 comments
Labels: fun
Довольно давнее время назад мне попалась на глаза статья Eric Sink, под названием "Career Calculus". Статья показалась довольно интересной, и я даже перевёл её на русский язык.
Речь там шла большей частью о том, что программист должен постоянно стараться повышать свое образование, поскольку это единственный и самый верный способ добиться успеха. Ну то есть там предлагалось просто больше стараться.
С другой стороны, недавно возник такой вопрос - насколько важен для успеха такой фактор как талант? Многие люди, выбирающие работу спрашивают себя: "А что, если у меня нет к этому способностей?"
Мне кажется что вопросы перекликаются - для того чтобы добиться успеха необходимы какие-то предусловия, что-то заложенное в нас при рождении или мы сами "кузнецы своего счастья"?
Действительно ли способности так важны? Мне кажется влияние способностей сильно преувеличено. Более того, ссылка на "отсутствие способностей" очень часто является просто поводом "увильнуть" от неприятной для человека работы.
Конечно, способности оказывают влияние, вопрос только какое именно?
Мне кажется существенно большее влияние на "успешность" оказывает упорство и трудолюбие. Заметим, при этом я не говорю о "великих", хотя и они, в большинстве своём, были большими тружениками. Я говорю о "крепких середняках", людях вполне добившихся успеха, но не о Биллах Гейтсах, Ньютонах или Пеле.
Для достижения "нормальных" результатов в спорте, программировании и даже музыке или рисовании необходимо только одно - упорство. Все это лестница и талантливые просто начинают с более высокой ступеньки. Конечно, Леонардо Да Винчи большинство из людей не станет, но научиться рисовать "приемлемо" вполне возможно. (между прочим Леонардо, который, как известно, испытывал свои силы практически во всех областях наук и искусств, говорил "“Счастье приходит к тому, кто много трудится”; неизвестно, добился бы он таких успехов, если бы "не очень" старался)
Почему же большинство людей тем не менее не добивается успеха "во всем". Очень просто - для достижения успеха необходимо упорство, а для того чтобы этого упорства было достаточно, необходимо желание. Вот желания то у нас частенько и не хватает.
Поэтому, шансы на успех есть в любом начинании, если только действительно есть желание. Нет смысла беспокоиться о своих способностях - терпение и труд все перетрут.
Как говорил Л.Н. Толстой: "Единственное условие, от которого зависит успех, есть терпение".
Posted by Lev Kurts at 10:34 AM 2 comments
Некоторое время назад я написал небольшой пост под названием "Хорошие вопросы", в котором рассказывал про вопросы, которые, как мне кажется, стоило бы задавать на собеседованиях. Там же были некоторые мысли почему именно подобные вопросы стоит задавать, а другие не стоит.
С тех пор уже прошло довольно много времени и у меня появились ещё вопросы, которые вполне можно добавить в тот список.
Posted by Lev Kurts at 12:56 PM 9 comments
Labels: вопросы для собеседования, образование
Иногда возникает необходимость узнать какой шрифт был использован в той или иной картинке.
Задача казалось бы довольно простая - раз уж у нас существуют средства, позволяющие распознавать сам текст с картинки, то уж распознать шрифт, которым этот текст написан не должно быть очень сложно.
На самом деле задача обычно состоит из двух подзадач - распознать шрифт, которым написан исходный текст, а также подобрать из имеющихся в данный момент на машине шрифтов наиболее к нему близкий.
Для решения есть несколько более или менее автоматизированных средств:
Posted by Lev Kurts at 1:12 AM 2 comments
Labels: утилиты
XSLT не очень "быстрый" язык. Разные XSLT процессоры работают по разному, и пользуются разными методами оптимизации.
На практике довольно часто встречаются ситуации, когда одна и та же XSLT программа быстро работает при использовании одного процессора и медленно при использовании другого.
В XSLT существуют потенциально медленные конструкции, при этом разные процессоры могут с разной скоростью исполнять разные инструкции, поскольку по-разному оптимизированы.
В этой заметке я попытался собрать некоторые наблюдения по поводу производительности XSL.
XSLT процессор и ОС
Иногда может показаться так, что один и тот же XSLT процессор по разному работает на под разными ОС.
Убедитесь что вы действительно используете один и тот же процессор и одну и ту же версию, иначе все ваше сравнения окажутся пустой тратой времени.
Про переменные
Для большинства замедлителей почти всегда действует общий совет - вычисляйте каждую вещь только один раз. Результат любого вычисления можно сохранить в переменной, и после этого спокойно использовать.
count
Ф-я count вычисляет количество узлов в наборе и работает иногда чрезвычайно медленно. Если есть необходимость её использовать, то старайтесь вызывать её минимальное количество раз и помещать вычисленное значение в переменную.
preceding:: и другие
Использование preceding и других "осевых" функций (preceding-sibling, following, following-sibling) может существенно замедлить XSL преобразование, поэтому необходимо постараться от них избавиться.
Часто preceding и preceding-sibling используются для организации группировки или выборки уникальных элементов. Вместо этого можно пользоваться методом Мюнха(xsl:key + generate-id()).
//
Использование '//' для поиска также может сильно замедлить преобразование, особенно в случае большого файла, с большим количеством узлов. Здесь, также как и в случае группировки, стоит подумать об использовании xsl:key.
Проход по узлам
Старайтесь осуществлять "проход" по коротким спискам.
Использование ключей
Ключи (элемент xsl:key и функция key) могут очень сильно улучшить производительность XSL программы, особенно если в ней производятся "большие" поиски.
В зависимости от реализации использование элемента xsl:key приводит к созданию XSL процессоров внутреннего индекса, за счёт чего достигается очень быстрый доступ к соответствующим узлам.
Использование сокращённого вычисления (short-circuiting)
В XSL, как и во многих других языках программирования вычисление булевых выражений осуществляется при помощи сокращённого вычисления. Это значит что вычисление прекращается, как только ясен результат. Например в выражении [1 OR (всё-что-угодно)] значение выражения 'всё-что-угодно' вычисляться не будет, поскольку ясно, что общий результат от этого не изменится.
А раз так, то стоит в логических вычислениях (xsl:if, xsl:when) ставить в начало те выражения, которые требует меньше времени для вычисления.
Не стоит полагаться на xsl:message
Очень часто мы пользуемся в своей работе "отладочной печатью". В случае XSL ф-ю печати выполняет элемент xsl:message. Этот элемент тем не менее не совсем прост. Дело в том, что он нарушает необходимое в функциональном языке (а XSL - функциональный язык) свойство отсутствия побочных эффектов. На самом деле порядок вывода xsl:message не обязательно будет таким, как нам кажется, он может зависеть от используемого XSL процессора. Поэтому для отладки, на мой взгляд, лучше пользоваться встроенными средствами трассировки, имеющихся практически во всех процессорах.
И напоследок
Каждый XSLT процессор работает немного по-своему. Совершенно необходимо тестировать подготовленное XSLT преобразование именно на том процессоре, который будет работать в реальной версии продукта.
Нужно обязательно ознакомиться с возможностями используемого процессора. Часто проблемы с производительностью может помочь решить трассировка, которую можно включить при помощи опций командной строки.
Также, помочь определить проблемные места программы на XSLT может профилирование, то есть измерение времени выполнения определенных участков кода. Практически все современные IDE для работы с XML и XSLT (например Altova XMLSpy, Stylus Studio, oXygen XML) предоставляют также средства профилирования.
Что ещё почитать про производительность XSLT
Posted by Lev Kurts at 4:49 PM 1 comments
Labels: практика программирования
Недавние мои собственные посты на темы "portable applications" и по поводу "носителей информации", а также комментарий Morph натолкнули меня на следующие размышления.
Действительно, сейчас наблюдаются несколько тенденций, которые тянут "персональные данные" в противоположные стороны.
Все своё ношу с собой
С одной стороны, portable программы получили большое развитие. Все больше программ становятся независимыми от реестра (в windows мире), поскольку хранят свои настройки в собственных конфигурационных файлах (и .NET только способствует этому). А раз так, то они по сути все ближе приближаются к portable миру. Flash-ки и внешние USB-винчестеры становятся все более ёмкими и надёжными, возможность полностью носить с собой всю свою рабочую "среду" является все более и более реальной (например "нафаршированная" флэшку n-Key Flash).
Omnia mea mecum porto
:-) Да, на самом деле второй заголовок - это первый на латыни. Но вот история исходного выражения говорит нам о том, что в дни завоевания персами греческого города Приены за толпой беглецов, еле тащивших на себе тяжёлое имущество, спокойно шёл налегке мудрец Биант. Когда его спрашивали, где его вещи, он, усмехаясь, говорил: «Все, что имею, всегда ношу при себе». На самом деле он вероятно имел ввиду, что ум, знания и внутренняя сила человека гораздо важнее, чем какие-то конкретные вещи и материальные накопления.
Сейчас есть возможность не носить с собой ничего. Google, а сейчас и многие другие компании создали в Сети такую среду, что многим людям достаточно иметь компьютер, подключенный к интернет, а все необходимы им программы и данные они могут найти в сети. Вся почта в gmail, все документы в Google Docs или подобных системах.
По сути дела, все хранится у больших и малых компаний, которые предоставляют нам подобные услуги.
Большой брат
Крупные компании исповедуют конечно же свой путь. Они запрещают подключать флешки, пользуются внутрикорпоративной почтой и так далее. Закон Сарбейнс-Оксли и все такое.
В большой компании не нужен "персональный компьютер". любой сотрудник может подойти к любому компьютеру и работать( ну конечно это натяжка, но ведь они к этому стремятся, это так сказать недостижимый идеал). [большие компании бывают разные и я здесь конечно говорю в основном НЕ про компании-производители программного обеспечения].
Тем не менее, мне кажется что на самом деле большие компании давно идут по пути "централизации" информации. Ведь нет большой разницы между тем, что у обычного пользователя почта хранится в Google или на корпоративном Exchange сервере. Разница есть с точки зрения компании - хранится ли информация у самой компании или у "чужой" компании. А вот с точки зрения человека разницы нет - его данные хранятся не у него в обоих случаях.
Размышления
И что же мы видим? Мне видится два момента.
Во-первых "централизованные" система довольно уверенно вытесняют "персональные". Все больше людей доверяют свои персональные данные многочисленным сетевым службам, по своей воле или по воле компаний, в которых они работают. И постепенно идея иметь данные "в сети" становится очень "привычной", забывается как же могло быть иначе.
Во-вторых, автономные устройства пока что проигрывают "сетевым" даже по техническим характеристикам. Их ёмкость невелика, они не всегда удачно сочетаются со всеми имеющимися в различных местах компьютерами, надёжность оставляет желать много лучшего.
В 1975 году появился компьютер Altair, что ознаменовало собой начало эры персональных компьютеров. Говорят, что название компьютера было придумано дочерью технического редактора журнала "Popular Electronics" Леса Соломона, поскольку в тот день корабль Enterprise из популярного сериала "Звездный путь" должен был направится именно на Альтаир. Прошло 32 года. Эра персональных компьютеров закончилась? Enterprise улетает с Альтаира?
Posted by Lev Kurts at 10:48 AM 2 comments
Блог High Scalability опубликовал интересную статью о внутренней архитектуре amazon.com и о некоторых принципах организации работы в amazon (в частности, там есть немного про премии).
P.S. На том же сайте есть подобные описания архитектуры google, youtube, wikipedia и других по настоящему больших проектов.
17458907.48319b4763d4aa2700c0fda3363b9fab.1190107741.d9c1ec9c770af938959863dd60b588c0
Posted by Lev Kurts at 1:29 PM 0 comments
Labels: Интересно
Недавно мой КПК упал на асфальт. У меня Dell Axim X50v. Довольно приличная машинка - вполне удовлетворяет всем моим потребностям, которые ограничиваются, если честно, адресной книгой, калькулятором и программкой-хранителем паролей.
Так вот он упал на асфальт. Не очень-то с большой высоты - я выходил из машины, КПК висел на поясе, я обо что-то задел, машинка отсоединилась и упала с высоты сидящего в машине человека. КПК был конечно же в чехле, так что удар был совсем не сильный. У меня подобные падения и раньше случались, но тем не менее ни к каким неприятным последствиям не приводили.
Но в этот раз везение кончилось. Теперь при включении КПК стал выдавать сообщение о какой-то "Memory error". И дело кончилось тем что мне пришлось произвести полную его перезагрузку. Кто пользовался КПК знает что полная перезагрузка подразумевает приведение машинки в девственно-чистое состояние, при котором исчезают все установленные программы и данные (ну кроме данных которые записаны на flash карту).
Обидно было. На самом деле у меня такое не первый раз. У меня и с этим КПК раньше случались всевозможные казусы, приводившие к полной потере данных - то батарейку забуду зарядить, то какая-то программа зависнет настолько, что ничего не сделать кроме как произвести полную перезагрузку. Более того, это у меня ведь не первая электронная игрушка (уж будем честны сами с собой, в большинстве случаев действительно игрушки). И с каждой из них были проблемы, связанные с потерей данных. Конечно все они решаются наличием более или менее свежих резервных копий, но все равно досадно - времени жалко да и вообще.
Я "много думал" :-) Сначала мне вспомнились многочисленные виды носителей информации, придуманные человечеством за всю историю его существования. О них я писал в предыдущем посте: "Носители информации: краткая истрия в картинках". А потом я начал анализировать чего мы добились и какой ценой.
Современные носители - характеристики
Posted by Lev Kurts at 2:50 PM 3 comments
Наша цивилизация немыслима в её сегодняшнем состоянии без носителей информации. Наша память ненадёжна, поэтому достаточно давно человечество придумало записывать мысли во всех видах.
Носитель информации - это любое устройство предназначенное для записи и хранения информации.
Примерами носителей могут быть и бумага, или USB-Flash память, также как и глиняная табличка или человеческая ДНК.
Информация тоже бывает разная - это и текст и звук и видео. История носителей информации начинается довольно давно ...
Камни и стены пещер - палеолит (до 40 до 10 тыс. лет до нашей эры)
Первыми носителями информации были, по всей видимости, стены пещер. Наскальные изображения и петроглифы (от греч. petros - камень и glyphe - резьба) изображали животных, охоту и бытовые сцены. На самом деле точно неизвестно, предназначались ли наскальные рисунки для передачи информации, служили простым украшением, совмещали эти функции или вообще нужны были для чего то ещё. Тем не менее это самые старые носители информации, известные сейчас.
Глиняные таблички - 7-й век до нашей эры
На глиняных табличках писали пока глина была сырой, а затем обжигали в печи.
Именно глиняные таблички составили основы первых в истории библиотек, наиболее известной из которых является библиотека Ашшурбанипала в Ниневии (7 век), которая насчитывала около 30 тысяч клинописных табличек.
Восковые таблички
Восковые таблички - это деревянные таблички, внутренняя сторона которых покрывалась цветным воском для нанесения надписей острым предметом (стилосом). Использовались в древнем Риме.
Папирус - 3000 лет до нашей эры
Папирус - писчий материал получивший распространение в Египте и во всем Средиземноморье, для изготовления которого использовалось растение семейства осоковых.
Писали на нем при помощи специального пера.
Пергамент - 2 век до нашей веры
Пергамент постепенно вытеснял папирус. Название материала происходит от города Пергам, где стали впервые изготавливать этот материал. Пергамент представляет собой недубленую выделанную кожу животных - овечью, телячью или козью.
Популярности пергамента способствовало то, что на нём (в отличие от папируса) есть возможность смыть текст, написанный растворимыми в воде чернилами (см. палимпсест) и нанести новый. Кроме того, на пергаменте можно писать с обоих сторон листа
Бумага - 1-й или начало 2 века нашей эры
Предполагается что бумага была изобретена в Китае в конце первого или начале второго века нашей эры.
Широкое распространение получила благодаря арабам только в 8-9 веках.
Береста - широкое распространение с 12 века
Берестяные грамоты использовались в Новогороде и были открыты учеными в 1951 году.
Тексты берестяных писем выдавливались с помощью специального инструмента — стилоса, изготовленного из железа, бронзы или кости.
Перфокарты - появились в 1804 году, запатентованы в 1884 году
Появление перфокарт в основном связывается с именем Германа Холлерита, который применил их для проведения переписи населения в США в 1890 году. Тем не менее первые перфокарты были созданы и использованы существенно раньше. Жозеф Мари Жаккард использовал их для того чтобы задавать рисунок ткани для своего ткацкого станка ещё в 1804 году.
Перфоленты - 1846 год
Перфолента впервые появилась в 1846 году и использовалась для того, чтобы посылать телеграммы
Магнитная лента - 50-е годы
В 1952 году магнитная лента была использована для хранения, записи и считывания информации в компьютере IBM System 701.
Далее магнитная лента получила огромное признание и распространённость в форме компакт-кассет.
Магнитные диски - 50-е годы
Магнитный диск был изобретен в компании IBM в начале 50-х годов.
Гибкий диск - 1969 год
Первый, так называемый, гибкий диск был впервые представлен в 1969 году.
Жесткий диск - настоящее время
Вот мы и добрались до современности.
Жесткий диск изобретен в 1956 году, но продолжает использоваться и постоянно совершенствоваться.
Compact Disk, DVD - настоящее время
На самом деле CD И DVD это очень близкие технологии, отличающиеся не столько типом носителя, сколько технологией записи
Flash - настоящее время
Естественно здесь перечислены далеко не все придуманные и использованные человечеством носители информации. Часть видов носителей опущена специально (CD-R, Blue Ray, магнитные барабаны, лампы), а часть конечно просто забыта. Во всех ошибках или неправильных описаниях, виноват конечно же я,был бы благодарен за любые дополнения и уточнения.
Благодарности
При подготовке текста были использованы источники:
Posted by Lev Kurts at 1:13 PM 1 comments
Labels: Интересно, история, образование
Я, как и многие блоггеры, конечно слежу за тем, что происходит в блогосфере вообще и в области механизмов рекламирования себя, в частности.
А в этом смысле, как многие вероятно уже знают, сейчас стали популярны "Вьетнамские эксперименты" Дмитрия Давыдова. По следам этих экспериментов, насколько я понимаю, и родился сервис Блог-Фильтр, который собственно и предназначен для более или менее автоматизированного проведения "вьетнамских экспериментов.
Вот соответственно и я решил поучаствовать в его работе, для чего выкладываю сюда ссылки на блоги из блог-фильтра, которые мне кажутся интересными:
1) Блог Дмитрия Давыдова - автора "вьетнамского эксперимента"
2) Блог успешного web-разработчика
3) Блог интернет-разработчика
Posted by Lev Kurts at 11:37 AM 0 comments
Некоторое время назад узнал про новое значение термина "portable application". Это раньше мне казалось, что portable - это такая программа, код которой можно без больших усилий переносить между операционными системами - например с Windows на Solaris. Современная трактовка, более известная непрограммистской публике, другая.
Portable Applications - это такие приложения, которые для работы не требуют инсталляции - достаточно скопировать файлы самого приложения и, может быть, настройки.
Таким образом программы можно носить с собой на flash-ке или на USB-винчестере.
Уже три года у меня всегда с собой такой винчестер с вот таким вот "джентльменским набором" программ. И благодаря ему за любым компьютером, к которому можно подключить этот винчестер, я чувствую себя как дома - все настройки, все программы как я привык.
Вот что у меня всегда с собой:
Posted by Lev Kurts at 4:00 PM 1 comments
Labels: утилиты
В Сети помимо порнографии есть и ещё кое-что :-) В частности, выложены в сеть архивы многих выдающихся учёных.
Программистское
Posted by Lev Kurts at 2:55 PM 0 comments
Labels: о жизни, образование, разговоры
В Блоге Тру Программиста появилась подборка статей, посвящённых типам данных. Всем интересующимся рекомендуется к прочтению.
Все описанное в статьях (как тех на которые я ссылался, так и первоисточниках имени Chris Smith и Luca Cardelli), написано на довольно высоком уровне. Мне же кажется, что очень важным моментом здесь является "качественное" понимание, объяснение, так сказать "на пальцах". Потому что без подобного понимания знание фактов и определений скорее является следованием "культу карго", чем настоящим знанием.
Итак, что же такое типы и зачем они нужны?
Типы данных пришли в программирование из математики. В математике же, как и многие другие понятия они появились по необходимости.
Как известно математики часто проводят в своих рассуждениях чёткое различие между элементами, множествами элементов, функциями и так далее. Для новой переменной, используемой в первый раз, математик определяет "тип", например: "Пусть f - это функция действительного переменного". Часто в книгах (обычно во введении и предисловии) также даются подобные определения: "В дальнейшем для множеств будут использоваться прописные буквы". Эти определения являются не более чем "помощниками" для читателя, позволяют ему быстрее ориентироваться в дальнейшем тексте.
Представители логики и теории множеств предпочитали не иметь дело с переменными различных "типов". Однако, такая необходимость появилась весной 1901 года, когда, во время работы над фундаментальным трудом "Principia Mathematica" известный английский математик и философ Бертран Рассел сформулировал так называемый парадокс Рассела:
"Пусть S - это множество всех множеств, которые не содержат себя в качестве элемента. Содержит ли S само себя?"
Любой ответ, данный на этот вопрос практически мгновенно приводит к противоречию. Данный парадокс можно также переформулировать несколькими более "жизненными" способами:
Posted by Lev Kurts at 12:54 PM 2 comments
Labels: образование, практика программирования
Меня продолжает сильно интересовать проблема оценки сроков проекта. В этой связи я наконец добрался до книги Steve McConnel Software Estimation: Demystifying the Black Art, которая в русском переводе имеет совершенно удивительное название "Сколько стоит программный проект". (на самом деле объяснить название конечно можно, поскольку в содержании книги сроки, затраты или рабочее время считаются более или менее взаимозаменяемыми понятиями).
Книга на самом деле очень неплохая и ознакомиться с ней любому, кому по своей или по воле начальства, приходится писать планы, без сомнения стоит.
В книге описаны различные способы оценки сроков (или затрат) на выполнение проектов, но меня заинтересовало вот что.
В какой-то момент любые, даже самые сложные и "научные" способы оценок сводятся к вопросу: "А тебе сколько времени будет нужно для того, чтобы сделать вот это?". И в этот момент называется число (или диапазон, или лучший худший и наиболее вероятный вариант - неважно).".
Насколько это число соответствует действительности - неважно, лучшего у нас все равно нет. Однако важным является то, учитывает ли это число время, проведённое на работе, но при этом потраченное на "нерабочие дела" - интернет, кофе, перекуры и так далее.
В связи с этим какое-то время назад я организовал на RSDN голосование поэтому поводу. Вот вопрос, который я задавал и результаты голосования:
Вот такие результаты. Думаю, что при планировании очень стоит помнить про то, что не все время, проведённое на работе, действительно уделяется работе.
Замечания
Там же, на RSDN, к данному опросу было дано несколько замечаний, на которые я думаю важно ответить. Я здесь попробую кратко отразить замечание и дать на него комментарий.
Posted by Lev Kurts at 1:03 PM 3 comments
На форуме Artima Developer Spotlight появилась тема: "What's the Most Effective Code Style Policy?", посвящённая обсуждения "стандартов кодирования".
Немного о терминологии
На самом деле даже сам термин "coding policy" или "стандарты кодирования" многозначен. Разные авторы или компании вкладывают в него разные смыслы, в зависимости от которых область применения стандартов может быть существенно сужена или наоборот расширена.
Рассмотрим возможные смыслы термина:
Posted by Lev Kurts at 9:14 AM 4 comments
Часто получается так, что я выступаю в роли этакого неверующего циника, который отрицает существование биополя, не верит в потрясающие и магические свойства пирамид, считает гороскопы обманом доверчивых людей, не верит в существование бога (богов) и так далее. И не менее часто подобные разговоры заканчиваются обсуждением вопроса о том, не является ли наука одним из видов веры. Мне говорят - но ведь ты веришь в науку, также как иной человек верит в бога.
Именно этот вопрос и хочется обсудить. Является ли наука своего рода «верой»? Я осознаю, что затрагиваю в этом небольшом обсуждении такие вопросы, которыми занимались и продолжают заниматься великие мыслители и ни в коей мере не пытаюсь себя к ним причислить, но тем не менее мне кажется что многие их мысли так и не нашли своего читателя, во многом из-за не совсем внятного, перегруженного деталями изложения.
Хочу также заранее попросить прощения у читателей за дилетантизм. Я ни в коем случае не причисляю себя к учёным, а также не являюсь специалистом в вопросах религии.
Введение
Нет никаких сомнений в том, что философия, наука и религия, в их современном виде произошли от общего «корня». Когда-то все они представляли собой некий сплав, насыщенный идеями, из которого впоследствии выросли имеющиеся различные направления.
Однако, в настоящее время между наукой и различными религиозно-философскими построениями существует серьёзная, фундаментальная разница, не позволяющая смешивать науку с философией или религией (как это было когда-то). Хочу заметить, что я при этом совершенно не утверждаю, что наука находится в каком-то смысле "выше" или "ниже" философско-религиозных построений. Просто это совершенно разные вещи.
О научном мировоззрении
(заголовок взят из заголовка статьи В.И Вернадского «О научном мировоззрении», опубликованной в журнале «Вопросы философии и психологии», 1902)
Научные и религиозные мыслители отличаются друг от друга прежде всего мировоззрением. Именно поэтому сравнение или практически любые споры на темы «Есть бог или нет» между двумя достаточно разумными и эрудированными собеседниками никогда не могут закончится победой одного из них. У них просто разный взгляд на мир, разная картина мира, и у каждого из них она непротиворечива. Именно поэтому спор не может привести к чьей-либо победе, они оба правы. Поэтому же являются достаточно бессмысленными споры представителей религиозных конфессий или философских течений между собой – при условии непротиворечивости их построений (или неспособности спорщиков выявить противоречия), каждый останется при своём мнении и будет прав.
Для понимания отличий между наукой и религией необходимо представлять себе картину мира учёных, научное мировоззрение.
Как мне кажется (как я уже говорил, я не учёный и поэтому все здесь изложенное конечно же является спекуляцией), научное мировоззрение основано на нескольких «столпах»:
Здоровый консерватизм заставляет ученого тщательно проверять и перепроверять полученные результаты, стараться всегда увязать новые результаты с уже имеющимися фактами, найти не вкралась ли в рассуждения и вычисления ошибка.
Стремление к поискам истины, представляет из себя обратную сторону консерватизма. Это собственно и есть мерило «здоровья» консерватизма. Каждое подтверждённое расхождение с господствующими в настоящий момент представлениями – это вызов учёным, «звоночек», прислушавшись к которому, необходимо расширять существующие теории или даже полностью отметать их и создавать новые. Абсолютных истин нет, каждый раз наука создаёт модели, все более приближающиеся к реальности, на основе того набора фактических данных, которыми она к данному времени располагает.
Как указано в предыдущем разделе, мерилом «правильности» наших теорий и гипотез, близости их к истине является совпадение теоретических результатов с практикой, с экспериментом. Без этого гипотезы не могут приняты, а теории будут отвергнуты. При этом чрезвычайно важным является вопрос о достоверности наблюдений, то есть о степени истинности наблюдаемого, отсутствия в наблюдении ошибок, подтасовок, неверных интерпретаций, посторонних эффектов.
Научный подход представляет из себя способ исследования и получения новых знаний и обычно выглядит так:
Необходимо также понимать разницу между гипотезами и теориями и «господствующими в настоящий момент в науке представлениями». Наличие огромного набора экспериментальных фактов вынуждает добросовестных учёных, создающих новые теории и гипотезы проверять практически все их. Это необходимо, либо для выяснения ложности фактов, либо для отбрасывания теории или гипотезы, как противоречащей наблюдениям. В каждый конкрентный момент в науке существует свод «господствующих представлений». Они не обязательно являются истинными. Помните, что наука – это набор последовательных моделей, которые должны приближаться к истине все больше и больше. Однако проверить то, приближается модель к истине или нет можно только лишь экспериментом. В разные времена господствовали разные научные представления, которые заменялись новыми с появлением новых экспериментальных фактов. И с каждым годом фактов становится все больше и больше! Поэтому старые, устаревшие или применимые только в частных случаях теории отбрасываются (или устанавливаются границы из применения, как с механикой Ньютона) и заменяются новыми, включающими их в себя, как частные случаи. В этом и состоит непрерывность поиска истины.Мы не можем быть уверены в том, что господствующие в данный момент научные преставления истинны и навсегда останутся таковыми. Мы можем лишь быть уверены в том, что они согласуются с теми набором достоверных экспериментальных фактов, которые накопило человечество (без сомнения может быть так что не все имеющиеся факты достоверны или в теориях есть ошибки).
Коренное отличие науки от религии и философии
Теперь, когда разобран вопрос о том, что представляет из себя научное мировоззрение можно ответить на основной вопрос статьи – является ли наука предметом веры?
Данный вопрос был затронут известным учёным, В.И. Вернадским в его работе "Научная мысль, как планетное явление" (написана в конце 1930-х годов).
В.И. Вернадский пишет:
"Есть одно коренное явление, которое определяет научную мысль и отличает научные результаты и научные заключения ясно и просто от утверждений философии и религии - это общеобязательность и бесспорность правильно сделанных научных выводов, научных утверждений, понятий, заключений. Научные, логически правильно сделанные действия имеют такую силу только потому, что [...] в ней [в науке] существует область фактов и обобщений, научных, эмпирически установленных фактов и эмпирически полученных обобщений, которые по своей сути не могут быть реально оспариваемы. Такие факты и обобщения, если и создаются временами философией, религией, жизненным опытом [...] не могут быть ими как таковые доказаны. [...] Общеобязательные научные истины не являются самоочевидными и должны во всех случаях непрерывно проверяться сравнением и реальностью. Эта реальная проверка составляет основную ежедневную работу учёного.
[...]
Как религий, так и философий, поэтических и художественных выражений, здравых смыслов, традиций, этических норм очень много, может быть [...] столько же, сколько отдельных личностей. Но наука одна и едина, ибо [...] они все связаны в единое научное построение и не могут логически противоречить одна другой."
Конечно, современная наука пропитана религиозными, политическими и философскими идеями, однако, как считал В.И. Вернадский «[…] есть часть науки общеобязательная и научно-истинная. Этим она резко отличается от всякого другого знания и духовного проявления человечества – не зависит ни от эпохи, ни от общественного и государственного строя, ни от народности и языка, ни от индивидуальных различий.
Это:
Хотелось бы отметить, что объяснение основных положений науки, научного мировоззрения, научного подхода требует на мой взгляд специального разъяснения, которое я в меру сил попытался дать в этой статье. Без такого разъяснения наука остаётся для далёких от неё людей слепой системой верований, которой она ни в коем случае не является.
17458907.195e50a0db7e7428ccd693c67f635406.1186148117.6d2ce9534a9cad439ee9664a6e39399e
Posted by Lev Kurts at 9:22 AM 3 comments
Labels: о жизни
Какое-то время назад я писал здесь об изданном академией наук бюллетене под названием "В защиту науки". Писал в основном о том, что по моему скромному мнению, лучшей защитой науки является не разоблачение лженаучных построений, а популяризация той самой настоящей науки. Мне кажется что только подробное знакомство с предметом может заставить людей прекратить верить во всякие небылицы.
Так вот, современные научно-популярные книги, которые читать не менее интересно чем труды, например, Носовского и Фоменко, существуют (тиражи, правда сказать, невелики, 2500 - 3000 экземпляров).
Вот те из них, что мне удалось прочитать:
Posted by Lev Kurts at 7:45 PM 0 comments
Labels: о жизни
Я на прошлой неделе дважды посетил аэропорт "Домодедово" ... Много думал.
На веб-странице посвящённой аэропорту сказано:
"Новый реконструированный аэровокзальный комплекс Домодедово – современный пассажирский терминал по обслуживанию пассажиров, предлагающий клиентам услуги европейского класса."
Вот план аэропорта:
Можно на него посмотреть и со спутника вот тут (только хочу обратить внимание на то, что спутниковое фото на момент написания поста старое - сейчас здание стало ещё длиннее).
На плане можно видеть, что аэропорт представляет собой вытянутое в длину
здание. Автостоянка находится слева от здания. Такое расположение удивительно неудобно!!! Порой для того чтобы дойти до нужного места аэропорта нужно идти наверное с километр!!!
И так уж совпало что недавно я перечитывал роман А. Хейли "Аэропорт". Вот небольшая цитата оттуда (с некоторыми сокращениями):
"Как вы считаете, мистер Бейкерсфелд, это верно, что через три‑четыре года в авиации будет сплошной хаос?
— Хаос — вещь относительная, — сказал Мел ... В жизни, мы сталкиваемся с ним в самых разных проявлениях и так или иначе приспосабливаемся.
— Так было всегда, — в авиации прогресс в воздухе постоянно опережал прогресс на земле. Временами нам казалось, что мы нагоним и пойдём в ногу — в середине шестидесятых годов мы почти достигли этого. И все же так не получилось. Видимо, самое большее, чего мы можем добиться, — это не слишком плестись в хвосте.
Но репортёр не унимался.
— Что же мы должны предпринять в отношении аэропортов? Что мы можем предпринять?
— Прежде всего мы должны научиться мыслить шире, давать волю воображению. Нужно освободиться от железнодорожного способа мышления.
— Вы считаете, что мы от него еще не освободились?
Мел кивнул.
— К несчастью, мы сталкиваемся с ним довольно часто. Все наши старые аэропорты представляют собой просто имитацию железнодорожных вокзалов, потому что их строителям приходилось опираться на опыт своих предшественников. Потом это стало уже шаблоном. Вот почему и в наши дни так много «вытянутых» аэропортов, где здание аэровокзала тянется до бесконечности и пассажиры вынуждены вышагивать не одну милю.
— А их не перестраивают? — спросил Томлинсон.
— Только кое‑где, и то очень медленно. — Несмотря на серьезность момента, разговор этот задел Мела за живое. — Кое‑где строятся циркообразные аэропорты — вроде пирога с начинкой, с автомобильными стоянками, расположенными внутри самого аэровокзала, а не за его стенами; там пешее передвижение пассажиров по аэровокзалу сокращено до минимума с помощью скоростных горизонтальных эскалаторов, а кроме того, самолеты подъезжают к пассажирам, а не наоборот. Это говорит о том, что аэропорт начинает завоевывать себе место как самостоятельная единица, а не просто приставка к чему‑то."Posted by Lev Kurts at 12:40 PM 5 comments
Labels: о жизни
Почему-то последнее время вокруг меня часто всплывает тема о совещаниях. И люди говорят, и на RSDN тема появилась.
Я очень уверен в том, что почти всегда совещания на самом деле не нужны. Ну, то есть, в подавляющем большинстве случаев все полезное, что делается во время совещания, можно сделать и так, в рабочем, что называется, порядке.
Про то, как правильно проводить совещания, многократно расписано и рассказано (необходимость повестки дня, ознакомительных материалов, присутствие только тех, кто действительно нужен, наличие ведущего и так далее). Другое дело, нужны ли они вообще.
Ну то есть, конечно поймите меня правильно, совещания нужны. Но не всякие и не всегда.
В моей голове есть три типа совещаний.
Posted by Lev Kurts at 4:35 PM 3 comments
Labels: Управление проектами
Довольно давно мне попалась где-то в Сети довольно смешная карта "World according to America". Вот сделал небольшую подборку из такого рода карт :-)
Posted by Lev Kurts at 1:39 PM 2 comments
Labels: fun
Мне всегда казалось, что первым был Фортран, что, в частности отображено и в наверное наиболее известной диаграмме истории языков программирования. На самом деле по влиянию и известности Фортран конечно и был первым. Однако с исторической точки зрения - нет.
[Если быть совсем точным, то уж по настоящему первым языком программирования была, по всей видимости, та нотация, с помощью которой были написаны программы Чарльза Бэббиджа в знаменитой статье Ады Августы Байрон, графини Лавлейс "Sketch Of the Analytical Engine"(статья представляла собой перевод статьи итальянца Менабреа о работе разностной машины Бэббиджа и, содержала существенное дополнение, написанное самой Адой Августой). Однако это был не вполне язык программирования, да и машина, для которой он предназначался существовала только в уме гениального человека. Замечу кстати, что в 1991 году музей науки в Лондоне создал по чертежам Бэббиджа его машину и она сейчас существует в рабочем состоянии]
Итак, первый язык программирования. Это был вовсе не Фортран, а язык с удивительным названием - Plankalkül, то есть в переводе с немецкого "Исчисление планов" или "План вычислений", был разработан немецким учёным, изобретателем и конструктором Конрадом Цузе в нацистской Германии между 1942 и 1945 годами.
[Цузе также сконструировал несколько различных моделей компьютеров. Например его Z3 тоже был создан раньше знаменитых Marc I и ENIAC и являлся при этом вполне полноценной машиной. ]
Утверждается, что всех своих достижений Цузе добился абсолютно самостоятельно, не обладая сведениями ни о работах американцев и англичан, проводившихся в близкое время, и даже не зная о работах Бэббиджа.
Создание языка программирования было естественным продолжением работ по созданию "железной" части компьютеров. Сам Цузе пытался с его помощью писать программу для игры в шахматы. Работы над языком были закончены около 1946 года, однако развития язык не получил и даже написанное руководство увидело свет только в 1972 году. Из-за этого язык оказался неизвестным и существенного влияния на дальнейшее развитие индустрии не оказал (в сравнении например с тем же Фортраном).
Тем не менее Plankalkül несомненно был первым в мире языком программирования высокого уровня. Основные концепции языка включают:
Posted by Lev Kurts at 5:53 PM 5 comments
Labels: Интересно