Re[2]: Решение проблемы двух ботинок
От: Ведмедь Россия  
Дата: 23.12.11 14:32
Оценка: 3 (1) +1
Здравствуйте, DarkGray, Вы писали:


T>>"Предложения использовать иные [кроме C] языки часто имеет существенные изъяны в своей аргументации. Как пример -- анализ преимуществ языка Lisp приведённый в [ссылка на статью какого-то лисповеда из Беркли] основан на том как средcтва этого языка позволяют преодолевать проблемы, присущие C, но при этом опускаются его [языка Lisp] гораздо более существенные недостатки (примерно как если бы кто-то предлагал людям прыгать на одной ноге как средство избежать необходимости носить два ботинка, когда ходишь на двух)"


DG>так автор сам-то говорит, чем язык C хуже Лисп?

DG>или он других упрекает за то, что когда они говорят о своем языке, то хвалят только свой язык; а при этом сам же говоря о своем языке, хвалит только свой язык?

В общем тоже читаю и не понимаю в чем смысл топика? В том что когда хвалят лисп, то умалчивают его недостатки? А что авторы, пишушие положительные статьи по С выставляют напоказ его недостатки? И аллегория совершщенно дурацкая — В этом смысле можно сказать, что С в случае с одним ботинком предлагает выкинуть все ботинки и скакать без ботинок.
Да пребудет с тобой Великий Джа
Re[4]: Решение проблемы двух ботинок
От: boot  
Дата: 23.12.11 15:50
Оценка:
Здравствуйте, DarkGray, Вы писали:


T>>Не очевидно.


DG>как минимум очевидна чуть другая формулировка:

DG>(при прочих равных) лучше тот язык, который позволяет записать решение меньшим кол-вом бит.

DG>но т.к. человек плохо воспринимает абракадабру вида 1%343%:?№!ФВs-Az, то это требование заменяется другим:

DG>(при прочих равных) лучше тот язык, который позволяет записать решение меньшим кол-вом термов

Здесь Вы привязаны к конкретной задаче, тут и философствовать не о чем Так и рассуждают при выборе языка. А вот если говорить о совершенстве вообще... Нету его.
Жизнеспособность прямо пропорциональна простоте!
Re: Решение проблемы двух ботинок
От: gegMOPO4  
Дата: 23.12.11 17:03
Оценка:
Здравствуйте, Tilir, Вы писали:
T>Мне кажется, это прекрасно. Достаточно просто почитать немного этот форум и "решатели проблемы двух ботинок" обнаружатся в ассортименте. Мне кажется, эта фраза достойна быть мемом. Чтобы, когда видишь как люди изощряются на одной ноге прыгать, всё сразу было ЯСНО -- ага, вот ещё один дядя решает проблему двух ботинок.

Да, так и есть. Правда, дома удобнее ходить в тапочках, плавать в ластах, есть ботинки лыжные и коньковые. А некоторые люди вообще одноногие, им не нужен второй ботинок. Для каждого случая уместно своё (думаю, автор это понимает).

T>Кстати вся книга совершенно удивительна. Относительно каждой строчки стандарта C99 обсуждаются причины почему она должна быть именно такой и не иначе, приводится много кода, сравнение с другими языками (в первую очередь C++), обсуждается куча интересных вопросов из экономики и социологии разработки ПО, приводятся результаты статистических исследований и т.п., очень рекомендую к прочтению всем, кто интересуется языком C. Правда объёмная -- чуть больше 1600 страниц в pdf.


Спасибо, отложу, обязательно нужно будет посмотреть. Упс… она у меня давно отложена. Ну, тем более надо прочитать.

Правда, книга уже несколько устарела.
Re[3]: Аллегория совершенно дурацкая
От: Qbit86 Кипр
Дата: 23.12.11 18:07
Оценка: 93 (1) :))) :))) :)))
Здравствуйте, Ведмедь, Вы писали:

В>И аллегория совершщенно дурацкая — В этом смысле можно сказать, что С в случае с одним ботинком предлагает выкинуть все ботинки и скакать без ботинок.


Неудачная метафора подобна лягушке с форточкой.
Глаза у меня добрые, но рубашка — смирительная!
Re[6]: Решение проблемы двух ботинок
От: Tilir Россия http://tilir.livejournal.com
Дата: 23.12.11 18:42
Оценка: +1
Здравствуйте, HrorH, Вы писали:

HH>По поводу Haskell. Если Вы знаете его, не смейтесь, лучше помогите.

HH>Не могли бы Вы объяснить, как использовать type class Traversable на каком-нибудь доступном примере?
HH>Или Вы используете вместо него что-то другое?

Если у вас есть конкретная проблема c Traversal, задайте вопрос в "Декларативном программировании", вам помогут. Если же хочется узнать "как чего вообще", то есть замечательная публикация Гиббонса с примерами и доступным объяснением.
Re[4]: Решение проблемы двух ботинок
От: Tilir Россия http://tilir.livejournal.com
Дата: 23.12.11 18:49
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>как минимум очевидна чуть другая формулировка:

DG>(при прочих равных) лучше тот язык, который позволяет записать решение меньшим кол-вом бит.

Тоже неочевидно. По моим критериям, если у вас есть конкретная задача и программа для неё на нескольких языках, то с точки зрения операционной лучше тот язык для которого компилятор сгенерирует лучший (по важным для вас критериям -- скжаем быстродействию или потреблению памяти) код, а с точки зрения денотационной -- тот, программу на котором программисту равному вам по квалификации будет проще читать и поддерживать. Но и то и другое больше зависит не от языка а от культуры и инфраструктуры программирования и сильно плывёт от задачи к задаче.
Re[3]: Решение проблемы двух ботинок
От: Tilir Россия http://tilir.livejournal.com
Дата: 23.12.11 19:02
Оценка: 53 (2)
Здравствуйте, Ведмедь, Вы писали:

В>В общем тоже читаю и не понимаю в чем смысл топика? В том что когда хвалят лисп, то умалчивают его недостатки? А что авторы, пишушие положительные статьи по С выставляют напоказ его недостатки?


Как точный ответ на ваш вопрос я процитирую вступление к фундаментальному труду "Программирование на языке C" Кернигана и Ричи. Читайте:

...
В языке "C" отсутствуют операции, имеющие дело непосредственно с составными объектами, такими как строки символов, множества, списки или с массивами, рассматриваемыми как целое. Здесь, например, нет никакого аналога операциям PL/1, оперирующим с целыми массивами и строками. Язык не предоставляет никаких других возможностей распределения памяти, кроме статического определения и механизма стеков, обеспечиваемого локальными переменных функций; здесь нет ни "куч"(HEAP), ни "сборки мусора", как это предусматривается в АЛГОЛЕ-68. Наконец, сам по себе "C" не обеспечивает никаких возможностей ввода-вывода: здесь нет операторов READ или WRITE и никаких встроенных методов доступа к файлам. Все эти механизмы высокого уровня должны обеспечиваться явно вызываемыми функциями.
Аналогично, язык "C" предлагает только простые, последовательные конструкции потоков управления: проверки, циклы, группирование и подпрограммы, но не мультипрограммирование, параллельные операции, синхронизацию или сопрограммы.
Хотя отсутствие некоторых из этих средств может выглядеть как удручающая неполноценность ("выходит, что я должен обращаться к функции, чтобы сравнить две строки символов ?!"), но удержание языка в скромных размерах дает реальные преимущества. Так как "C" относительно мал, он не требует много места для своего описания и может быть быстро выучен. Компилятор с "C" может быть простым и компактным
...


Знаете в каком году это писалось?
Re: Решение проблемы двух ботинок
От: мыщъх США http://nezumi-lab.org
Дата: 23.12.11 19:17
Оценка:
Здравствуйте, Tilir, Вы писали:

T>Hi,


T> Мне кажется, это прекрасно. Достаточно просто почитать немного этот форум и "решатели проблемы двух ботинок" обнаружатся в ассортименте.

T> Мне кажется, эта фраза достойна быть мемом. Чтобы, когда видишь как люди изощряются на одной ноге прыгать, всё сразу было ЯСНО
T> -- ага, вот ещё один дядя решает проблему двух ботинок.
извините, но эта фраза вообще ни о чем. о какой проблеме ботинок идет речь? язык -- не ботинок, но даже в рамках такой аллегории -- использовать один язык все равно, что прыгать в одном ботинке.

язык -- не религия. и в промышленном программировании редкий комплекс написан на одном языке. и во многих случаях альтернативы нет. а сравнивать си и лисп это, извините, как сравнивать болид с шагающим экскаватором. ну или самолет с поездом. например, из питера в москву можно как доехать, так и долететь, но из москвы в сидней поезда не ходят.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: Решение проблемы двух ботинок
От: мыщъх США http://nezumi-lab.org
Дата: 23.12.11 19:24
Оценка:
Здравствуйте, Tilir, Вы писали:

T>Здравствуйте, Ведмедь, Вы писали:


В>>В общем тоже читаю и не понимаю в чем смысл топика? В том что когда хвалят лисп, то умалчивают его недостатки? А что авторы, пишушие положительные статьи по С выставляют напоказ его недостатки?


> # но удержание языка в скромных размерах дает реальные преимущества. Так как "C" относительно мал,

> # он не требует много места для своего описания и может быть быстро выучен.
> # Компилятор с "C" может быть простым и компактным
T> Знаете в каком году это писалось?
при всей моей любви к си я не могу удержаться от вопросов:

1) почему питон и руби предоставляют кучу мощных языковых средств, а начать писать на них, можно буквально с первых минут?
2) почему компиляторы си и документация по языку разрослить до ужасно нескромных размеров?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: Решение проблемы двух ботинок
От: Tilir Россия http://tilir.livejournal.com
Дата: 23.12.11 19:53
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>при всей моей любви к си я не могу удержаться от вопросов:

М>1) почему питон и руби предоставляют кучу мощных языковых средств, а начать писать на них, можно буквально с первых минут?
М>2) почему компиляторы си и документация по языку разрослить до ужасно нескромных размеров?

Скриптовых поделок было во все времена навалом и ещё будет навалом когда эти забудут. Во времена когда C только разрабатывался, эту нишу занимал basic. Тоже можно было писать с первых минут и была сразу куча сахара.

Компилятор может быть маленьким не означает что он будет маленьким. Современный оптимизирующий компилятор -- это как тяжёлый авианосец -- плод совместного инженерного труда сотен и тысяч людей. И большая часть -- под водой.

Вы лучше удивитесь как сквозь все эти годы была пронесена изящная рациональная простота и адекватность языка C. Я считаю это просто чудом.
Re[2]: Решение проблемы двух ботинок
От: Tilir Россия http://tilir.livejournal.com
Дата: 23.12.11 20:00
Оценка: +3
Здравствуйте, мыщъх, Вы писали:

М>извините, но эта фраза вообще ни о чем. о какой проблеме ботинок идет речь?


Речь идёт о том что программирование это инженерная дисциплина в которой нельзя что-то получить чем-то не заплатив. Получаете скорость разработки -- платите объёмом кода, получаете высокоуровневые примтивы -- платите быстродействием и так далее. Без вариантов. Решатель проблемы двух ботинок это человек который предлагает нечто новое и по его мнению лучшее (ага мы теперь не будем вынуждены носить два ботинка -- ну там не заботится о памяти, иметь функции как объекты первого класса, у нас будет паттерн матчинг и т.дю) -- при этом не осознавая настоящей инженерной цены этого решения (мелким шрифтом -- только прыгать придётся на одной ноге, треть времени программы у нас будет орудовать сборщик мусора, а для написания hello world -- вам придётся учить теорию категорий).

Речь об этом, а не о C и не о его сравнении с Лиспом пусть они оба будут здоровы. Чтож всех так на холивор тянет
Re[6]: Решение проблемы двух ботинок
От: мыщъх США http://nezumi-lab.org
Дата: 23.12.11 20:27
Оценка: 6 (3) +1 :)
Здравствуйте, Tilir, Вы писали:

T>Здравствуйте, мыщъх, Вы писали:


М>>при всей моей любви к си я не могу удержаться от вопросов:

М>>1) почему питон и руби предоставляют кучу мощных языковых средств, а начать писать на них, можно буквально с первых минут?
М>>2) почему компиляторы си и документация по языку разрослить до ужасно нескромных размеров?

T>Скриптовых поделок было во все времена навалом и ещё будет навалом когда эти забудут. Во времена когда C только разрабатывался,

T>эту нишу занимал basic. Тоже можно было писать с первых минут и была сразу куча сахара.
хотите сказать, что выучить фортран было сильно сложнее чем си? покажите мне монументальный faq по фортрану где на 100 страницах обсуждается, что внутренее представлене нулевого указателя никого не парит, и что *0 это никакой не нуль и на некоторых экзотических платформах программа может сломаться если функции передать 0, а не *0. а может и не сломаться, если компилятор поймет, что 0 это указатель.

еще интересно послушать где на фортране обсуждают разницу между массивами и указателями, особенно в контексте "указатель на" и "указатель на массив".

так же мне интересно сколько нужно затратить времени на изучение си, чтобы ответить, что напечатает вот такая прогрмма:

#include <stdio.h>
int main() {
  int x[5];
  printf("%p\n", x);
  printf("%p\n", x+1);
  printf("%p\n", &x);
  printf("%p\n", &x+1);
  return 0;
}


так что про простоту си не надо. чтобы писать промышленную программу на фортране большого опыта не надо, чего не скажешь о си.


T>Компилятор может быть маленьким не означает что он будет маленьким.

"может быть маленьким" -- очень сомнительное достоинство языка, если таких компиляторов нет.

T>Вы лучше удивитесь как сквозь все эти годы была пронесена изящная

T>рациональная простота и адекватность языка C. Я считаю это просто чудом.
кто же с этим спорит? си до сих пор мой основной язык. и мои коллеги тоже пишут на си (без плюсов). как раз по поводу плюсов у нашего тима однозначное мнение -- на фига нам это морская свинка, которая и не свинка, и не морская.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[7]: Решение проблемы двух ботинок
От: Tilir Россия http://tilir.livejournal.com
Дата: 23.12.11 21:16
Оценка: :)
Здравствуйте, мыщъх, Вы писали:

М> хотите сказать, что выучить фортран было сильно сложнее чем си?

М>так что про простоту си не надо. чтобы писать промышленную программу на фортране большого опыта не надо, чего не скажешь о си.

Поэтому их все и пишут на фортране, наверное, да?

Скажите вы вообще в жизни ну хоть раз крупную программу на фортране -- видели? Это как раз тот случай когда, как говорят, "простота хуже воровства". Ограничение программиста примитивными средствами -- это такое же зло как и запутывание его в дебрях возможностей. Стоимость поддержки и в том и в другом случае растёт в разы.

К тому же фортран не годился и не годится для системного и general-purpose программирования по понятным причинам, это числодробилка by design. Сейчас нишу фортрана занял Matlab, который уже совсем не конкурент, что и понятно -- scientific это очень специфичная область.

М>кто же с этим спорит? си до сих пор мой основной язык. и мои коллеги тоже пишут на си (без плюсов). как раз по поводу плюсов у нашего тима однозначное мнение -- на фига нам это морская свинка, которая и не свинка, и не морская.


Хороший у вас тим
Re[3]: Решение проблемы двух ботинок
От: мыщъх США http://nezumi-lab.org
Дата: 23.12.11 21:31
Оценка: +2
Здравствуйте, Tilir, Вы писали:

T>Здравствуйте, мыщъх, Вы писали:


М>>извините, но эта фраза вообще ни о чем. о какой проблеме ботинок идет речь?

T>Речь идёт о том что программирование это инженерная дисциплина в которой нельзя что-то получить чем-то не заплатив.
абсолютно с этим согласен. именно потому, нельзя критиковать недостатки языка без учета связанных с ними достоинств.

> Получаете скорость разработки -- платите объёмом кода, получаете высокоуровневые примтивы

> платите быстродействием и так далее. Без вариантов.
гм. позвольте внести поправки и уточнения. например, в си нет возможности вернуть более одного аргумента из функции. и потому приходится либо возвращать структуру, что тормоза, либо возвращать значение по указателю, что снова тормоза. добавив туплы мы не только сделаем программу нагляднее, но и в большинстве случаев сможем обойтись одними регистрами. мы выиграли скорость, наглядность, сократили размер сгенерированного кода, потребности в памяти и даже упростили оптимизатор, т.к. теперь ему не нужно проводить глобальную оптимизацию, чтобы понимать, что foo(int *data_in, int *data_a_out, int *status) это три разных непересекающихся блока памяти.

а что мы при этом проиграли? тем более, что если си позволяет вернуть структуру (а он позволяет), то возвращение тупла даже не усложняет компилятор. можно ввести очень простое правило -- если это тупл из двух int'ов, то на x86 мы возвращаем первый в eax, второй в edx. в остальных случаях действуем так, как при возвращении структуры.

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

> Решатель проблемы двух ботинок это человек который предлагает нечто новое и по его мнению лучшее (ага мы теперь не будем вынуждены носить два ботинка -- ну там не заботится о памяти, иметь функции как объекты первого класса, у нас будет паттерн матчинг и т.дю) -- при этом не осознавая настоящей инженерной цены этого решения (мелким шрифтом -- только прыгать придётся на одной ноге, треть времени программы у нас будет орудовать сборщик мусора, а для написания hello world -- вам придётся учить теорию категорий).


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

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

T>Речь об этом, а не о C и не о его сравнении с Лиспом пусть они оба будут здоровы. Чтож всех так на холивор тянет

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

"объективно" сравнивать достоинства и недостаки языков нельзя. например, и для самолетов, и для автомобилей категория "аэродинамика" очень важна. для грузовиков она уже сомнительна, а к тракторам и комбайнам -- не применима в принципе. и у трактора с автомобилем настолько мало общего, что их сравнивать вообще неуместно. так почему же мы сравниваем си с лиспом, но не сравниваем танк с крейсером?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[8]: Решение проблемы двух ботинок
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 23.12.11 21:34
Оценка: +1
Здравствуйте, Tilir, Вы писали:

М>> хотите сказать, что выучить фортран было сильно сложнее чем си?

М>>так что про простоту си не надо. чтобы писать промышленную программу на фортране большого опыта не надо, чего не скажешь о си.
T>Поэтому их все и пишут на фортране, наверное, да?
T>Скажите вы вообще в жизни ну хоть раз крупную программу на фортране -- видели?

Видел.

T> Это как раз тот случай когда, как говорят, "простота хуже воровства". Ограничение программиста примитивными средствами -- это такое же зло как и запутывание его в дебрях возможностей.


А гнать на язык, называя его "примитивными средствами", когда имеешь о нём представление в лучшем случае из юношеских воспоминаний про версии IV и 66 — вот это точно зло.

А добро — использовать такой язык, который содержит как раз то, что нужно, и даёт возможность аккуратно обойтись без того, что имеет смысл в системном программировании, но является в лучшем случае идиотизмом в прикладном.

T> Стоимость поддержки и в том и в другом случае растёт в разы.


Стоимость поддержки сишных тараканов вроде указателей — да, растёт в разы.

T>К тому же фортран не годился и не годится для системного и general-purpose программирования по понятным причинам, это числодробилка by design.


Для системного — согласен. Для общего — нет. Про числодробилку — повторяю: перестаньте думать о версиях 40-летней давности. Вообще потрясающе — про Си Вы знаете самое свежее, а чуть отойти в сторону от этого — начинаются дела давно минувших дней, времён очаковских и покоренья крыма.

М>>кто же с этим спорит? си до сих пор мой основной язык. и мои коллеги тоже пишут на си (без плюсов). как раз по поводу плюсов у нашего тима однозначное мнение -- на фига нам это морская свинка, которая и не свинка, и не морская.

T>Хороший у вас тим

Для их задач, видимо, совершенно адекватный.
The God is real, unless declared integer.
Re: Решение проблемы двух ботинок
От: batu Украина  
Дата: 23.12.11 21:40
Оценка:
Здравствуйте, Tilir, Вы писали:

T>Совершенно гениальная фраза из введения:



T>"Предложения использовать иные [кроме C] языки часто имеет существенные изъяны в своей аргументации. Как пример -- анализ преимуществ языка Lisp приведённый в [ссылка на статью какого-то лисповеда из Беркли] основан на том как средcтва этого языка позволяют преодолевать проблемы, присущие C, но при этом опускаются его [языка Lisp] гораздо более существенные недостатки (примерно как если бы кто-то предлагал людям прыгать на одной ноге как средство избежать необходимости носить два ботинка, когда ходишь на двух)"

Неудачное сравнение Кроме декларативных языков (логических и функциональных) и императивных (которых тоже куча от ассемблеров и объектных до прототипных или жабы) существуют и экзотические. Но все они скорее хождение на руках или скачки на одной ноге.. До хождения на двух ногах мы еще не дошли.. Скорее спорим на какой ноге эффективней прыгать на левой или на правой.
Re[9]: Решение проблемы двух ботинок
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 23.12.11 21:46
Оценка: :)
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Tilir, Вы писали:


T>>Скажите вы вообще в жизни ну хоть раз крупную программу на фортране -- видели?


Кстати, интересно получается: Вы утверждаете, что всего лишь рекламируете книгу, которая адекватно описывает язык Си, рассказывает исторические причины, etc. Но при этом почему-то мимоходом дважды наехали на другие языки — сначала на LISP, потом на Фортран — в очень характерной форме, которая у англоязычных братьев носит название FUD. Вот мне интересно, это намеренно или просто само собой получается?

А по поводу истории и обоснований языка — позвольте-ка задать пару встречных вопросов. Вот как Вы считаете (после чтения книги) — какой частью тела вообще думал тот, кто вводил функции типа strncat(), и тот, кто сохраняет их в современном стандарте даже без пометки "deprecated, don't use"?
The God is real, unless declared integer.
Re[2]: Решение проблемы двух ботинок
От: batu Украина  
Дата: 23.12.11 21:53
Оценка: +1 :)
Здравствуйте, boot, Вы писали:

B>Здравствуйте, Tilir, Вы писали:


T>>...


B>Добавлю только, что совершенный язык, это тот, в котором меньше слов, а сказать можно больше. Наличие 2-х пунктов сравнения, значительно затрудняет задачу поиска совершенного языка. То ли найти клопа на веревке для белья, а то ли на всем полу...

С количеством слов не согласен. Теоретически все можно обозначить знаками.. Но разиьаться в этой мешанине знаков будет совсем не просто. Это типа каста организуется. Важнее минимизация правил языка и базовых понятий. А уже из сколько понятий (они же слова) можно из них определить вопрос сорок пятый. Кстати, если не ограничивать длину слова, то вообще континуум получается. Частенько встречаю что количество фраз языка счетно. Это не правильно.
Re[3]: Решение проблемы двух ботинок
От: batu Украина  
Дата: 23.12.11 21:56
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, boot, Вы писали:


B>>Добавлю только, что совершенный язык, это тот, в котором меньше слов, а сказать можно больше. Наличие 2-х пунктов сравнения, значительно затрудняет задачу поиска совершенного языка. То ли найти клопа на веревке для белья, а то ли на всем полу...


DR>Совершенный язык помогает решить задачу быстро, дёшево и качественно. Соответсвенно, он должен быть не только краток, но и широко распространён, прост в изучении, итд.

Совершенно согласен. Очень много внимания уделяется именно эффективности языка, а ведь он выполняет еще задачу общения и документирования. Зашифровать кракозябрами можно все что угодно. Только потом еще один язык дешифратор понадобится
Re[4]: Решение проблемы двух ботинок
От: batu Украина  
Дата: 23.12.11 22:01
Оценка:
Здравствуйте, DarkGray, Вы писали:


T>>Не очевидно.


DG>как минимум очевидна чуть другая формулировка:

DG>(при прочих равных) лучше тот язык, который позволяет записать решение меньшим кол-вом бит.

DG>но т.к. человек плохо воспринимает абракадабру вида 1%343%:?№!ФВs-Az, то это требование заменяется другим:

DG>(при прочих равных) лучше тот язык, который позволяет записать решение меньшим кол-вом термов
Есть на эту тему очень удобный язык. Пронумеруем все задачи решаемые этим языком и программирование тогда будет заключаться в написании номера задачи.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.