Компьютерра, 2007 № 08 (676) - [13]

Шрифт
Интервал

Если бы «язык программирования» был всего лишь инструментом, вроде столярного, то очевидно, что за столь долгий срок (история развития языков программирования, если считать, к примеру, от первого Fortran’а, насчитывает больше полувека) должны бы возникнуть какие-то устоявшиеся «формы инструментов на каждый день» — по одной-две для каждой задачи (молоток, пила, отвертка), и дальнейшее развитие было бы лишь непринципиальным осовремениванием этих инструментов (бензопила, электропила, отвертка с моторчиком).

Но программисты — люди странные. Как правило, язык программирования они воспринимают именно как язык — в первую очередь средство для мышления и выражения мыслей, а потом уже все остальное [Классическая работа на эту тему — «Notation as a Tool of Thought» («Нотация как способ мышления», 1979) — лекция, прочитанная автором языков APL и J Кеннетом Айверсоном при получении Тьюринговской премии]. Отсюда — великое множество языков, «языковые войны», любовь и ненависть, страх и отвращение…

И все же, несмотря на то что существуют тысячи [Если кому-то оценка «тысячи» покажется преувеличенной, порекомендуем ему посетить сайт «Энциклопедии языков программирования» http://hopl.murdoch.edu.au, где на момент написания статьи любовно каталогизированы 8512 языков программирования] языков программирования, и десятки, если не сотни из них активно использовались и используются для написания софта и обучения, — в любой период времени существует всего несколько (три-пять) языков «общеизвестных» и «используемых буквально всеми»; эту группу принято называть мэйнстримом, основным направлением и главной тенденцией индустрии. В разное время и в разных отраслях мэйнстримом считались (считаются) Fortran, C, C++, Java, C#, PHP…

Интересное свойство всех или почти всех мэйнстримовых языков — они находятся в русле одной традиции, которую можно проследить вплоть до ассемблера и машинных кодов (выполнение инструкций по порядку, оперирование с именованными ячейками памяти — то, что называется императивным программированием). Такой способ написания программ естественным образом вытекает из самой фон-неймановской архитектуры — как литературный классицизм, построенный на «стройности и логичности самого мироздания», строго блюдущий традиции, зародившиеся еще в античности.

В оппозиции к «классицистическим» языкам всегда находились языки программирования, авторы которых основывались на собственных концепциях, не желая ограничиваться «естественными для компьютера» условиями; зачастую (но не всегда) идеологическая стройность ставилась выше практичности и вообще применимости к реальным задачам. Такие, условно говоря, «модернистские» языки (Smalltalk, Lisp, Haskell, Prolog) выглядят непривычно для «традиционного» программиста, их изучение требует определенных усилий [Интересно, кстати, что существует довольно распространенное среди программистов мнение: «профессиональный программист легко и быстро освоит любой новый язык, потому что все языки, в общем-то, похожи». Как правило, к этому мнению склонны именно программисты «классицистической» школы, и в ее рамках оно действительно верно; в противоположность этому изучение совершенно незнакомого модернистского языка обычно требует немалых усилий и времени], но и значительно расширяет кругозор и заставляет изменить взгляд на программирование как таковое. «Модернистский» подход предлагает «взгляд на программирование с другой стороны» — который, как предполагается, дает программисту возможности совершенно иного уровня. Благодаря своей непривычности и концептуальной новизне, «модернистские» языки участвуют в «общем прогрессе индустрии» опосредованно: в мэйнстрим, как правило, проникают не сами языки, а их отдельные концепции и подходы.

Диффузия идей модернистских языков в программистское сообщество происходит с двух направлений — через постепенное изменение «классицистических» языков и через появление языков абсолютно новых, которые можно назвать постмодернистскими [Мы не станем дальше углубляться в искусствоведческую метафору: определения программистского рококо, романтизма, экспрессионизма, кубизма и абстракционизма оставим в качестве развлечения для читателя] (OCaml, Python, Ruby, Scala). «Постмодернистские» языки выходят за рамки стилей и парадигм, смешивая старые и новые идеи в разных пропорциях; зачастую жертвуют концептуальной целостностью ради выразительности и поливариантности возможностей. На уровне отдельных «фраз» многие из постмодернистских языков выглядят просто и понятно любому программисту, отчего их проникновение в мэйнстрим идет куда легче, чем у «более идейных» предшественников. А тем временем и сами мэйнстримовые языки стремительно впитывают новые идеи: подобно миру искусства, в мире программирования широкое наступление постмодернизма характеризуется смешением стилей и парадигм до их полной неразделимости.

Объект исследования темы этого номера — языки программирования, которые в разное время и в разных условиях предлагались и предлагаются как альтернатива привычному, мэйнстримовому, и общепринятому; их судьба, свойства и шансы. В первой обзорной статье вкратце описывается история самого мэйнстрима — без понимания перипетий смены одного языка другим рассмотрение «альтернативы» бессмысленно. Вторая статья посвящена языкам модернистским, а третья — постмодернистским. Каждая из трех частей отслеживает развитие соответствующей ветки истории; таким образом, должна получиться некая общая картина сегодняшнего состояния дел (возможно, несколько перекошенная, и наверняка неполная).


Еще от автора Журнал «Компьютерра»
Компьютерра, 2008 № 01-02 (717-718)

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


Компьютерра, 2007 № 15 (683)

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


Компьютерра, 2008 № 10 (726)

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


Цифровой журнал «Компьютерра» 2013 № 18 (171)

ОглавлениеКолонкаПочему мы позволяем нас обманывать, или Грустные размышления об иррациональности политической жизни Автор: Дмитрий ШабановГолубятня: Samsung Galaxy S4 — цидули перебежчика (часть 1) Автор: Сергей ГолубицкийУроки любви к Родине: McAfee патентует технологию обнаружения и блокировки пиратского содержания Автор: Сергей ГолубицкийПодпадает ли астрономия под закон о митингах Автор: Дмитрий ВибеIT-рынокНасколько глупа шумиха вокруг «умных» часов? Автор: Андрей ПисьменныйПромзонаПосмотрите на свалку, которую китайцы превратили в парк Автор: Николай МаслухинЭтот сайт позволяет создать собственное световое шоу на точном макете Токио Автор: Николай МаслухинТехнологииДжипег, подвинься! Веппи как единственный необходимый графический формат Автор: Евгений ЗолотовИнновацииПочему менеджерам российских корпораций не нужны стартапы Автор: Елена КраузоваИнга Нахмансон (Fitting Reality): «Российскому e-commerce не до виртуальности» Автор: Елена КраузоваГидGoogle Now для iOS появился без лишнего шума и уже собирает сведения Автор: Андрей Васильков.


Компьютерра, 2005 № 27-28 (599-600)

Документ создан на основе открытого контента, расположенного по адресуhttp://offline.computerra.ru/2005/599/Размер изображений не менялся, поэтому некоторые могут быть некорректно отображены на неVGA-моделях КПК (особенно скриншоты и таблицы).


Цифровой журнал «Компьютерра» 2012 № 01 (101)

ОглавлениеСтатьиTertium datur: другие компьютеры Автор: Евгений Лебеденко, Mobi.ruИнтервьюПавел Фролов («ГНУ/Линуксцентр») о НПП Автор: Евгений КрестниковА. Самсонов о троичной логике и цифровой археологии Автор: Андрей ПисьменныйКолумнистыВасилий Щепетнёв: Месть индейских вождей Автор: Василий ЩепетневКивино гнездо: Беззаконие роботехники Автор: Киви БердКафедра Ваннаха: Подарки и конструкции Автор: Михаил ВаннахАлександр Амзин: Силой данного мне природой мозга Автор: Александр АмзинВасилий Щепетнёв: Гимн усталому караулу Автор: Василий ЩепетневКивино гнездо: Беззаконие роботехники (окончание) Автор: Киви БердДмитрий Шабанов: Марков и Эволюция человека Автор: Дмитрий ШабановКафедра Ваннаха: Пришельцы на Луне Автор: Михаил ВаннахГолубятня-ОнлайнГолубятня: Даже гоблин ходит в отпуск Автор: Сергей ГолубицкийГолубятня: Железный парад 2011 Автор: Сергей Голубицкий.


Рекомендуем почитать
Газета Завтра 1225 (21 2017)

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


Российский колокол №7-8 2016

Рада приветствовать авторов и читателей очередного, последнего в уходящем году, номера литературного журнала «Российский колокол», 7-8 выпуск. Для каждого из нас год был по своему разнообразным: кому-то он запомнился яркими событиями и творческим взлетом, кого-то баловал белыми полосами в жизни и работе. Но, а мы, в свою очередь, на протяжении этого года продолжали знакомить вас с талантливыми писателями современности. Авторы, с которыми вы всегда встречаетесь в нашем издании, это не только люди знаменитые, как говорят – «из первых рядов современной литературы», но и только набирающие литературный вес писатели, творчество которых из номера в номер находит свое достойное место на страницах журнала.Вот уже 20 лет «Российский колокол» являет собой своеобразную выставку достижений литературы современности.В новом выпуске мы представляем вашему вниманию высококачественную художественную литературу, объединив произведения рубриками, что дает возможность выбрать по вкусу и верно сориентироваться в наиболее интересных для вас публикациях в каждой отдельно взятой рубрике.


«Если», 2012 № 12 (238)

Адам-Трой КАСТРО. НЕЧИСТЫЕ РУКИНачало карьеры уже известного нашим читателям межгалактического адвоката признано зарубежными любителями фантастики лучшей повестью, опубликованной на страницах журнала «Analog» в прошлом году.Евгений ЛУКИН. ТЕЛО, КОТОРОМУ СЛУЖИШЬ«Производственная повесть» — так определил автор жанр своей новой работы. В рамках «соцреализма», о котором у наших читателей лишь смутные представления, это воистину образцовое произведение. Но, как всегда, с поправкой на парадоксальность прозы любимого писателя.Рик УИЛБЕР.


Цифровой журнал «Компьютерра» 2012 № 48 (148)

ОглавлениеКолумнистыДмитрий Вибе: Заблудшая планета Автор: Дмитрий ВибеВасилий Щепетнёв: Укрепление тары Автор: Василий ЩепетневКафедра Ваннаха: Душа по Пенроузу Автор: Михаил ВаннахГолубятня-ОнлайнГолубятня: Аудиофилия второй волны Автор: Сергей Голубицкий.


Компьютерра PDA N136 (17.09.2011-23.09.2011)

ОГЛАВЛЕНИЕСергей Голубицкий: Голубятня: Ужастик ЕвернотВаннах Михаил: Кафедра Ваннаха: Углерод и кремнийДенис Злобин: Пиратство: почему мы перестали ценить информациюСергей Голубицкий: Голубятня: Исход из 1PasswordВасилий Щепетнев: Василий Щепетнёв: Исчезновение столицыДмитрий Шабанов: Аргумент ХойлаАлла Аршинова: Александр Бондарь (ИЯФ СО РАН) о megascience-проектахВаннах Михаил: Кафедра Ваннаха: Удешевить странуЮрий Ильин: После шаттла: "Клипер" и "Русь"Киви Берд: Кивино гнездо: Дежавю, или Хождение по кругуСергей Голубицкий: Голубятня: News360 и ZiteВасилий Щепетнев: Василий Щепетнёв: Светлая сторона торгаАлександр Амзин: Возникнут модыАндрей Федив: Обзор Windows 8 Developer PreviewВаннах Михаил: Кафедра Ваннаха: Демократия хищных вещейДмитрий Вибе: Почтальон сойдёт с ума.


Компьютерра PDA N142 (22.10.2011-28.10.2011)

ОГЛАВЛЕНИЕСергей Голубицкий: Голубятня: Хронотоп детстваВасилий Щепетнев: Василий Щепетнёв: Колхоз имени Тома СойераЕвгений Лебеденко, Mobi.ru: Микропроцессор Hobbit: на каком языке говорили полуросликиВаннах Михаил: Кафедра Ваннаха: Intel в зеркале финансов Киви Берд: Кивино гнездо: Стены и мосты Олег Нечай: Обзор NAS Buffalo Link Station Pro Duo 2 ТВВасилий Щепетнев: Василий Щепетнёв: Без параллелейЕвгений Крестников: Валентин Макаров (РУССОФТ) о тендере на создание НППВаннах Михаил: Кафедра Ваннаха: Выкидуха в боюДмитрий Шабанов: Аргумент ГоссеАлександр Амзин: На отвлечённую темуСергей Голубицкий: Голубятня: Будучи ТАМВасилий Щепетнев: Василий Щепетнёв: До двенадцатого знакаДмитрий Вибе: Немного холодной воды у солнцаАндрей Федив: Обзор телефона Apple iPhone 4S.


Компьютерра, 2006 № 19 (639)

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


Компьютерра, 2006 № 06 (626)

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


Компьютерра, 2006 № 23 (643)

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


Компьютерра, 2006 № 30 (650)

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