Тексты есть. Они, правда, занудны. Но основа-то очень простая. Компьютеры вообще тупые устройства, берущие скоростью и количеством. Большая часть существующих языков на грамматическом уровне работает с LR-грамматикой. Есть даже особый язык написания языков программирования (точнее, парсинга текста программ - yacc называется).
А вот семантическая область - это очень хитрО, тут стройной теории (по моим ощущениям) нет - зато есть то самое "ощущаю".
Вот математики очень много спорят "разные это нули или нуль один-единственный". Если мы из 0.1 вычли 0.1 - мы получили натуральный ноль или вещественный? А если из 1 вычесть 1? Колоссальная философская проблема, о которой можно написать трактаты. А ведь ещё бывают нулевые множества, нуль-векторы и т.д.
В программировании эта проблема решается понятиями "тип данных" и "приведение одного типа данных к другому". Это РАЗНЫЕ нули. Хотя часть из них прозрачно (автоматом) приводится друг к другу. А часть не приводится.
Или ещё одна проблема "прототип/экземпляр". В программировании это чётко выражено и сформулировано (чёткость её такова, что понимает это даже тупая железка).
Эти объектные модели, модели типов данных - они, разумеется, не есть отражение реальности (и не покрывают всю область человеческих мыслей). Но как минимум часть вопросов из абстрактно-философского имеет физическое воплощение (т.е. включается процедура обрезания философов до технологов - критерий практики).
Безусловно, летать "выше" этого надо - ведь откуда программированию брать новые идеи? (Я лингвистам благодарен за регулярные выражения - ибо сила в них великая). Но летая "выше" надо помнить про твёрдые основы. Когда человек начинает летать на той высоте, где остальные ходят пешком - это выглядит глупо. Как плавание в воде, которая по пояс.
Меня смущает вот какое соображение. Вы говорите об этих вещах как о "практической реальности", как о "вещи", которая проверяет теорию. Однако это ведь не "само такое", а "сделано". Вполне возможно, можно сделать и иначе. Для других целей, скажем.
"Просто иначе" сделать не получится. Сколько языков программирования - а всё равно концепции те же самые. Они могут быть в разном комплекте, в разных реализациях, но суть - всегда одна и та же.
Тип - это тип. И даже если в язык программирования вкручивается эвристический автоприводитель (вроде вижалбейсика, в котором можно написать a="5"+3 и он догадается, что "5" - это число, а не строка), то всё равно эти типы данных вылазят. Не в одном месте, так в другом.
Тут мы уже выходим с земли в полёт, но я считаю, что за всем этим стоит объективная реальность. Если мы обнаружили, что диагональ квадрата некратна стороне, то мы можем с помощь какой-то матери этот квадрат сделать таким, что таки будет кратна. Но чем больше мы будем с этим возиться, тем острее через все "подгонки" будет вылазить, что таки некратна.
Вот и в языках программирования. Можно сколько угодно мухлевать, но суть структур данных, их типов, различие между классом и экземпляром всё равно появится. То, что они "сделанные" не значит, что можно сделать по-другому. Сделать можно - но оно работать не будет. Или будет давать противоречивые результаты.
Общие рассуждения в "высокой науке" про данные и алгоритмы - это очень сложно (и за пределами моей квалификации), но оно есть, у него есть практические доказательства (в форме работающих программ) и основывается это на "земле" - так что летать тут не надо :)
есть тексты и обратного направления: от лингвистов для программистов.
разговаривал тут с одним мат.лингвистом, который занимается автоматическим извлечением "смысла" из текста. оказывается отношения между словами в тексте (и изображаемыми им понятиями) поддаются классификации. и число типов таких отношений около 50 всего.
А вот семантическая область - это очень хитрО, тут стройной теории (по моим ощущениям) нет - зато есть то самое "ощущаю".
Вот математики очень много спорят "разные это нули или нуль один-единственный". Если мы из 0.1 вычли 0.1 - мы получили натуральный ноль или вещественный? А если из 1 вычесть 1? Колоссальная философская проблема, о которой можно написать трактаты. А ведь ещё бывают нулевые множества, нуль-векторы и т.д.
В программировании эта проблема решается понятиями "тип данных" и "приведение одного типа данных к другому". Это РАЗНЫЕ нули. Хотя часть из них прозрачно (автоматом) приводится друг к другу. А часть не приводится.
Или ещё одна проблема "прототип/экземпляр". В программировании это чётко выражено и сформулировано (чёткость её такова, что понимает это даже тупая железка).
Эти объектные модели, модели типов данных - они, разумеется, не есть отражение реальности (и не покрывают всю область человеческих мыслей). Но как минимум часть вопросов из абстрактно-философского имеет физическое воплощение (т.е. включается процедура обрезания философов до технологов - критерий практики).
Безусловно, летать "выше" этого надо - ведь откуда программированию брать новые идеи? (Я лингвистам благодарен за регулярные выражения - ибо сила в них великая). Но летая "выше" надо помнить про твёрдые основы. Когда человек начинает летать на той высоте, где остальные ходят пешком - это выглядит глупо. Как плавание в воде, которая по пояс.
Reply
Reply
Тип - это тип. И даже если в язык программирования вкручивается эвристический автоприводитель (вроде вижалбейсика, в котором можно написать a="5"+3 и он догадается, что "5" - это число, а не строка), то всё равно эти типы данных вылазят. Не в одном месте, так в другом.
Тут мы уже выходим с земли в полёт, но я считаю, что за всем этим стоит объективная реальность. Если мы обнаружили, что диагональ квадрата некратна стороне, то мы можем с помощь какой-то матери этот квадрат сделать таким, что таки будет кратна. Но чем больше мы будем с этим возиться, тем острее через все "подгонки" будет вылазить, что таки некратна.
Вот и в языках программирования. Можно сколько угодно мухлевать, но суть структур данных, их типов, различие между классом и экземпляром всё равно появится. То, что они "сделанные" не значит, что можно сделать по-другому. Сделать можно - но оно работать не будет. Или будет давать противоречивые результаты.
Общие рассуждения в "высокой науке" про данные и алгоритмы - это очень сложно (и за пределами моей квалификации), но оно есть, у него есть практические доказательства (в форме работающих программ) и основывается это на "земле" - так что летать тут не надо :)
Reply
от лингвистов для программистов.
разговаривал тут с одним мат.лингвистом,
который занимается автоматическим извлечением
"смысла" из текста.
оказывается отношения между словами в тексте
(и изображаемыми им понятиями) поддаются
классификации. и число типов таких отношений
около 50 всего.
Reply
Leave a comment