Все игры
Обсуждения
Сортировать: по обновлениям | по дате | по рейтингу Отображать записи: Полный текст | Заголовки

История заблуждений... 10 лет спустя

Для начала, хотелось бы указать вам на различия между уровнями программирования. Путь от более низкого уровня к более высокому, это путь от компьютерного мышления к человеческому. Это не значит, что в скором времени компьютер будет точно также понимать человека, как один человек понимает другого. Просто в дальнейшем человеку придется меньше "влезать в шкуру компьютера", чтобы "объяснить" ему задачу. Многие вещи, которые сейчас вполне естественны для программиста могут уйти в небытие (например: циклы, переменные, условные операторы). Уже сейчас существуют способы, которые позволяют без них обходиться.

Вспоминаю свои молодые годы, когда я была привлекательна и ветрена... Я не могла писать программы без конструкции goto, т.к. ее использование мне казалось вполне разумным и оправданным. Это было связано с тем, что язык Си я рассматривала как язык ассемблера с циклами, условными операторами и переменными. Просто как расширение... Вот только новые возможности стали порождать новые подходы, алгоритмы, новое мышление. Я совершала ошибку "несопоставимого мышления": пыталась применить низкоуровневые конструкции к среднеуровневому языку программирования (тогда он считался языком высокого уровня).

Что мы имеем на данный момент? Существует множество языков высокого уровня, но программисты, воспитанные на языках среднего уровня, продолжают применять среднеуровневые подходы в языках высокого уровня. По сути, они повторяют мою ошибку 10-летней давности.

Почему подобная ситуация меня волнует? Просто противно смотреть как вместо молотка используют микроскоп! А ведь происходит именно так. Те преимущества, которые предлагают языки высокого уровня не задействуются или используются нерационально, т.к. вместо высокоуровневых конструкций программисты продолжают использовать среднеуровневые.

настроение: Озадаченное

Программирование мышкой терпит крах...

Как показала практика, программисты предпочитают писать интерфейсы пользователя клавиатурой, а не мышкой. Поэтому будущее за ней.

Сокращения в Borland: http://business.compulenta.ru/267204/

Аспектно-ориентированное программирование

Второй раз пытаюсь понять, что это такое... безуспешно. Может вам повезет больше?

Источник моих мучений: http://www.javable.com/columns/aop/workshop/01/

Фразы для раздумий (цитаты)

Дизайн языков захвачен хакерами (примечание: здесь и далее слово "хакер" употребляется в его "http://catb.org/~esr/jargon..." исходном положительном значении, а не как синоним "компьютерного преступника"). Результаты пока неоднозначны, но уже способны воодушевить.

Языки всё реже разрабатываются в "исследовательских" целях, и всё чаще как проекты с открытым исходным кодом. Дело, впрочем, не в этом. Тенденция, скорее, состоит в том, что языки теперь придумывают не авторы компиляторов, а прикладные программисты, которым и придётся с ними работать.

Hа самом же деле, язык, на котором мы думаем, так ограничивает наши представления о возможном, что более простые способы формулировки программ удивят нас.


Если проект SETI@home завершится успешно, нам потребуются библиотеки для связи с инопланетянами. Впрочем, возможно, инопланетяне уже достаточно развиты, чтобы поддерживать связь в формате XML.

Если бы мы получили язык программирования будущего, стали бы мы использовать его? Чтобы попытаться ответить на этот вопрос, оглянемся назад. Захотел бы кто-нибудь программировать на современных языках сорок лет назад?


Мысли позаимствованы с сайта: http://fido-arhiv.narod.ru/ru.computerra/015/00015582.HTM

Про парадигму и функциональное программирование

Парадигма программирования представляет (и определяет) то, как программист видит выполнение программы. Например, в объектно-ориентированном программировании программист рассматривает программу как набор взаимодействующих объектов, тогда как в функциональном программировании программа представляется в виде цепочки вычисления функций.

Взято с ru.wikipedia.org

Perl умер?

Просматриваю спецификацию Perl6. Нашла несколько позитивных и негативных моментов:
  • Может быть я ошибаюсь, но одной из изюминок Perl было другое разделение на типы данных (скаляр, список, массив, хеш и т.д.). В Perl6 хотят добавить типизацию (Int, Time и т.д.). Не заменить контекст на типы, а именно добавить типы к контекстам. Теперь придется следить не только за контекстом, но и за типом. Мда... Вот тебе и "Perl должен оставаться Perl'ом".
  • В Perl6 нет регулярных выражений. Шокирует? Не все так страшно. Просто разработчики поняли, что регулярные выражения и то, что сотворили они -- две разные вещи. Теперь то, что раньше называлось регулярными выражениями, называется "правилами" (rules). Помимо этого "правила" претерпели существенные изменения: появились именованные правила (вещь крутейшая. Потом расскажу подробней), объединение правил в грамматики, новые метасимволы и новое обозначение старых, модификаторы пишутся теперь спереди, а не сзади и много еще чего. Есть подозрение, что Perl знаменит только механизму "правил". Не зря Ларри Уолл (создатель) лингвист по образованию.
  • Добавлены ссылки. Не знаю, были ли они до этого, но на данном этапе они обнажили одну важную проблему языка: при ссылочной структуре (ссылка является скаляром по контексту) контекст почти не работает. Ведь любой контекст теперь можно свести к скаляру (ссылке). Получилось некое подобие Ruby (как известно, все переменные в Ruby являются ссылками).
  • Неплохая реализация ООП. Добавлены: mix-ins ("примеси"), подметоды (не шучу... именно подметоды), множественное наследование (хотя "примеси" избавляют от необходимости такового) и прочее. Выглядит все это многообещающе, но жаль, что вся библиотека функций реализована не в стиле ООП, что оставляет некоторый осадок незавершенности (спецификация не окончательная).
  • Есть еще масса интересных вещей, которые я начала уже реализовывать в Ruby. Поэтому следите за моим блогом... =)

В целом создается следующие впечатление: масса интересных и оригинальных вещей, но попытка сделать из языка "винегрет программных подходов" не радует и создает впечатление нецелостности и непродуманности. Поживем увидим... но учить Perl6 я буду только в части использования "правил", т.к. они реализованы в Ruby 1.9 и скорее всего войдут в версию 2.0.

Что такое язык программирования высокого уровня?

Оказывается, что это тоже вечная тема. После прочтения статьи стало понятно, что к чему...


Языки программирования традиционно оцениваются в терминах "уровня". Однако понятие языка высокого уровня не однозначно. Под этим можно понимать либо использование синтаксических конструкций, позволяющих коротко записывать то, что длинно выглядит в объектных кодах, либо возможность рассматривать в виде единого объекта сложные структуры данных, либо освобождение пользователя от принятия решений технического характера, либо возможность использовать готовые программы, выполняющие сложные действия над данными и, далее, самостоятельно пополнять запас таких программ, либо возможность поручить программе поиск пути к цели, оставляя за пользователем лишь указание этой цели, и т.д.

Еще несколько моментов из жизни программистов СССР

Не могу не опубликовать достаточно актуальную на данный момент фразу:

Объем и сложность программ возрастают непропорционально по отношению к зарплате.

Вот только что растет быстрей, автор к сожалению не указал... а жаль. =) Читаем дальше:

Романтический ореол непостижимости этой профессии, если он когда-либо и существовал, начинает меркнуть. На Западе софтверхаусы тают как вчерашний снег, а программисты начинают пополнять армию безработных. Оспаривается даже само стремление рассматиривать программистов как профессионалов особого рода. Главное же -- это то, что вольная армия программистов постепенно попадает в "плен" к администраторам и руководителям, которые стремяться сделать труд программиста планируемым, измеряемым, однородным и обезличенным.

Напоминаю, что статья написана 1972 году. Вот вам и Эдвард Йордон, вот вам и "Экстремальное программирование".

настроение: Задумчивое

Без заголовка

Людиии... Фсем прывет... у мя вот проблема, оч больфая... - я не дружу с паскалем. кто-нить может решить задачки на паскале? Помоги, пожалуффффто.... 

В этой группе, возможно, есть записи, доступные только её участникам.
Чтобы их читать, Вам нужно вступить в группу