← Программирование -- это про деятельность. Программирование -- это про грамотность.
Обсуждение
Читать и комментировать в ЖЖ ↗
Метаязыки - костыль. Сдохнут. Существуют ввиду плохой масштабируемости и отсутствия хороших инструментов для описания прав доступа в рамках обычных языков.
Комментарий
Не думай о них, как о "метаязыках". Это вполне "обычные языки". Думай о них как о Smalltalk-07.
Комментарий
Знаешь, кто мой любимый программист? Айзек Азимов. Он за свою жизнь успел создать один из наиболее впечатляющих из известных мне миров. Называется - История будущего. Начиная с I, Robot, Стальные пещеры, еще про роботов, про Транторианскую Империю и потом Foundation. Томов 20, что ли - не помню уже. Все эти тексты взаимосвязаны и взаимодействуют, а в совокупности представляют собой, таки да, непротиворечивый мир.
Комментарий
И еще, про мышление. Сегодня рассказывал, в чем заключается деятельность сисадмина. Сначала там идут понятные вещи - спланировать (спроектировать) решение и проинсталлировать софт (выполнить инструкцию по его установке). А вот потом этот софт перестает работать. И здесь основная задача сисадмина - понять, где и как ошибся программист, который писал этот софт. Отрефлексировать ход его мысли, понять, что он имел в виду и что упустил. А потом создать какой-нибудь bypass.
Комментарий
Не очень-то в тему, но отчего-то вспомнилось:
"Что делает обычный человек, если знает что захочет ночью пить? Он ставит на ночь на тумбочку рядом с кроватью стакан воды.
Что сделает на его месте программист? Он ставит на тумбочку два стакана, один с водой, а другой без воды. Первый на тот случай, если он захочет пить, а второй если не захочет.
Что сделает в такой ситуации опытный программист? Опытный программист давно всё оптимизировал и ставит ровно пол стакана воды."
Комментарий
Если вы надеетесь узнать, чем именно рыбка не птичка и не зайчик, вытащив её для этого из воды, то вы получите безукоризненно точный ответ: тем, что на воздухе дохнет.
... Слабая, но многообещающая садистская струнка ...
Комментарий
А графические метаязыки тоже сдохнут? Или очень специальные, "предметные" языки?
Комментарий
Да, именно.
Комментарий
Отрефлексировать мысли другого программиста -- это необходимое умение. Я тут написал, что программисты в одиночку не работают, а с другими программистами они работают часто асинхронно.
Комментарий
В тему, в тему.
Комментарий
И что?
Комментарий
вчера буквально убеждался в справедливости Programming's stone - обсуждали архитектуру нового продукта, и людей видящих ландшафт сверху сразу можно было отделить от видящих только деревья в лесу - достаточно полслова, чтобы также смотрящие сверху смогли понять тебя, и скорректировать свои карты. А видящим деревья - приходилсь объяснять, что это означает
Комментарий
Замечательный пример плохо спроектированного сшитого белыми нитками из разнородных компонентов проекта. Из многочисленных "историй будущего" едва ли не самая корявая. Каждая отдельная книга хороша (я люблю Азимова), но как "мир" попросту никуда не годится.
... Беспартийный приключенец ...
Комментарий
Ну, если уж мы здесь рассказываем анекдоты про программистов, вот ещё два байта (читать до конца, даже если начало знакомо!):
Задача: есть газовая плита, кран, кастрюля и спички. Получить кипяток. Решение, вторую задачу и решение математиком этой второй задачи ("сводится к предыдущей") знают все, набивать его здесь я не буду. Но не все знают решение второй задачи программистом: вылить воду на огонь и тем самым сэкономить одну операцию. К сожалению, такие вот некорректные оптимизации изначально неэффективных алгоритмов встречаются чаще, чем хотелось бы. :-(
... Остерегайтесь случайных знаний! ...
Комментарий
То, что таким путём вы получаете безусловно верную, практически полезную, но, увы, явно недостаточную информацию. Чтобы изучать поведение рыб (а не, скажем, их анатомию), придётся нырять в пруд.
... Давай лучше предположим, что не упадёт ...
Комментарий
какая ода программистам. :)
едва ли 5% из нынешней IT могут считаться такими программистами!
Комментарий
Не нужно выжимать из этой метафоры больше, чем она может дать. Я хотел тут сказать, что особенности мышления программистов хорошо проявляются в тех случаях, когда они применяются к реалиям обыденной жизни, а не к привычным им реалиям разработки софта: так сказать, поведение типичных героев в нетипичных обстоятельствах. Если есть возражение против моей метафоры -- приведите свою, радостно использую.
Комментарий
Это и есть моя (и некоторых других, например, Alan Kay) печаль.
Комментарий
Это непринципиально. Приставка "мета-" здесь лишь отражает точку применения языка. Кроме того, это не я, а ты думаешь о них, как о мета - я же тебя цитирую, и это в твоих проектах они появлялись. :) Появление их есть следствие ограничений "основных" языков.
Комментарий
Тут есть несколько отдельных позиций.
Графичность - не свойство языка, а метод представления программы - если вы имеете в виду "диаграммные" выразительные средства. Как таковой он, в общем, применим к любому языку.
Выше речь шла о языках "скриптовых", функция которых - обеспечить "доводку напильником" логики программы после её написания. Ну или, что то же самое, обеспечить сборку функциональных "кубиков" согласно конечной задаче.
В этом плане они ничем не отличаются от "нижележащих" языков и появляются только потому, что нижележащие (читай - С++) компилируемы, уродливы (неудобны для казуала) и не обеспечивают управления правами доступа. То есть - нельзя позволить юзеру дописать кусок на си, не дав ему при этом возможность влезть куда угодно и сломать что угодно.
Любая программа на любом языке де факто порождает (в виде набора объектов и методов) в рамках себя предметный язык. Наличие или отсутствие лексической или синтаксической поддержки непринципиально.
Ну и, на самом деле, конечно, предметные языки, тем не менее, не сдохнут прям совсем. Просто граница подвинется.