Re[39]: Простота грамматик и простота языка
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 17.08.05 11:51
Оценка: -2
Здравствуйте, VladD2, Вы писали:

VD> LL(*) так вообще может описать почти все что нужно для ЯП.


LL(1) тоже, так "зачем платить больше"?
Re[36]: Простота грамматик и простота языка
От: Павел Кузнецов  
Дата: 17.08.05 12:08
Оценка: 33 (4) +2
mefrill,

> если ставить вопрос обощенно, то несоменно, при прочих равных условиях, язык, определяемый LL(1)-грамматикой, читать легче, нежели язык, определяемый КС-грамматикой без ограничений.


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

  • тексты на естественных языках, обладающих очень высокой синтаксической сложностью по сравнению с языками программирования, понимать обычно проще, чем на последних;

  • BrainFuck потрясающе прост синтаксически, но совершенно недостаточен для возможности внятно выразить даже простейшую программу "Hello World":
    > +++++++++[<++++++++>-]<.>++++++[<+++++>-]<-.+++++++..++
    +.
    >> +++++++[<++++++>-]<++.------------.<++++++++.--------.
    +++.------.--------.>+.>++++++++++.

    принципиально более сложный C позволяет это сделать намного понятнее:
    #include <stdio.h>
    
    int main()
    {
       printf("Hello World!\n");
    }

    однако (и здесь мы возвращаемся к предполагаемой тобой предпосылке) он позволяет вытворить и такое:
    #include "stdio.h"
    #define e 3
    #define g (e/e)
    #define h ((g+e)/2)
    #define f (e-g-h)
    #define j (e*e-g)
    #define k (j-h)
    #define l(x) tab2[x]/h
    #define m(n,a) ((n&(a))==(a))
    
    long tab1[]={ 989L,5L,26L,0L,88319L,123L,0L,9367L };
    int tab2[]={ 4,6,10,14,22,26,34,38,46,58,62,74,82,86 };
    
    int main(m1,s) char *s; {
         int a,b,c,d,o[k],n=(int)s;
         if(m1==1){ char b[2*j+f-g]; main(l(h+e)+h+e,b); printf(b); }
         else switch(m1-=h){
             case f:
                 a=(b=(c=(d=g)<<g)<'<g)<<g;
                 return(m(n,a|c)|m(n,b)|m(n,a|d)|m(n,c|d));
             case h:
                 for(a=f;a=e)for(b=g<<g;b<n;++b)o[b]=o[b-h]+o[b-g]+c;
                 return(o[b-g]%n+k-h);
             default:
                 if(m1-=e) main(m1-g+e+h,s+g); else *(s+g)=f;
                 for(*s=a=f;a<e;) *s=(*s<<e)|main(h+a++,(char *)m1);
             }
    }

    хотя это и не BrainFuck, но понять очень сложно.

    Резюме: имхо, говорить о читабельности языков столь же некорректно, как и говорить об их производительности. Вместо последнего стоит говорить о производительности конкретных реализаций. Вместо первого -- о читабельности конкретных программ.
    Posted via RSDN NNTP Server 2.0 beta
  • Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
    Re[2]: Вношу изменения в свой тезис
    От: AndreyFedotov Россия  
    Дата: 17.08.05 12:11
    Оценка: 44 (3) +1
    Сергей! Ты действительно предложил лучший вариант, чем был изначально. Но дело тут вовсе не в тезисе.
    Дело в том, что сама область настолько обширна, что просто-напросто не описывается разумным образом с помощью каких-либо тезисов.

    Это как красивая девушка. Или красивая картина, интересный фильм, шикарный автомобиль или марочное вино. Можно выдвинуть сколько угодно тезисов — как верных так и не верных. И всё равно — тезисы это одно — а девушка как и картина — совсем другое.

    Тут есть ещё одно интересное наблюдение. Умение выдвигать правильные тезисы относительно чьих-то картин ещё не означает способность создать нечто подобное и уж тем более — лучшее. Разве мало критиков, которые сами не в состоянии ничего сделать (в той области которую критикуют) — зато лезут со справедливой критикой?

    В общем анализ — одно, а синтез или творчество — совсем иное. Спроси себя — зачем ты затеваешь все эти дискуссии? Если твоя цель — создать нечто своё — то как я только что показал — ты ошибочно выбрал дорогу. Если же цель — анализ ради анализа — то подумай — так ли это интересно для всех остальных? (Судя по реакции — по-моему не очень )
    Re[3]: Вношу изменения в свой тезис
    От: eao197 Беларусь http://eao197.blogspot.com
    Дата: 17.08.05 12:22
    Оценка: :))) :)
    Здравствуйте, AndreyFedotov

    Чтобы внести чуть-чуть юмора...

    AF> В общем анализ — одно, а синтез или творчество — совсем иное.


    Синтез и творчество по отношению к картине -- понятно. И про автомобиль понятно. Даже про марочное вино понять можно.
    Но вот синтез по отношению к девушке -- это как?
    ... << RSDN@Home 1.1.4 stable rev. 510>>


    SObjectizer: <микро>Агентно-ориентированное программирование на C++.
    Re[42]: Простота грамматик и простота языка
    От: mefrill Россия  
    Дата: 17.08.05 12:24
    Оценка: +1
    Здравствуйте, VladD2, Вы писали:

    VD>Не обижайся. Разные бывают люди.


    А я и не обижаюсь . Просто, повертевшись лет этак 15 в научном сообществе, могу сказать, что там такие же люди, как и везде. Есть умные, есть глупые, есть талантливые и есть бездари. "Крэзи Саенсит" — это всего-лишь общественное клише, не более.
    Re[31]: Простота грамматик и простота языка
    От: mefrill Россия  
    Дата: 17.08.05 12:35
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    M>> Что мы сравниваем, легкость чтения EBNF и РВ?

    VD>Да.

    Тогда мы имеем два целевых языка? EBNF и РВ. И две КС-грамматики для них? ТИ мы должны сравнить эти грамматики, а не сами языки?

    M>> но, какое тогда это отношение имеет к осуждаемому вопросу?

    VD>EBNF в отличии от РВ обладает некоторым набором характеристик упрощающим восприятие описания для человека. В то же время РВ значительно проще для распознаования компьюетром.

    Хорошо, как тебе такая EBNF:

    A:B"45"CB:'3'+'G'*T'|HN:F':'K и т.д. Как вопринимается? И, кстати, попробуй прочитать это не слева направо, а иерархически.

    VD>Ну, а цель этого примера показать, что LL(1)-совместимость недостаточна для того чтобы язык стал простым.


    Я снова не понял цели. Есть сложное РВ. Как мы его рассматриваем? Как язык, о котором мы говорим и который задается другой КС-грамматикой и не является регулярным, или как способ задания регулярного языка? И где здесь LL(1)? Честно, я не понял о чем ты говоришь.
    Re[4]: Вношу изменения в свой тезис
    От: fddima  
    Дата: 17.08.05 12:43
    Оценка:
    Здравствуйте, eao197, Вы писали:

    E>Синтез и творчество по отношению к картине -- понятно. И про автомобиль понятно. Даже про марочное вино понять можно.

    E>Но вот синтез по отношению к девушке -- это как?
    Это про разработчиков... резиновых, наверное. Сначала долго анализируют, а потом синтезируют.
    ... << RSDN@Home 1.2.0 alpha rev. 605>>
    Re[41]: Простота грамматик и простота языка
    От: mefrill Россия  
    Дата: 17.08.05 12:45
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    VD>Неоднозначностей может не быть и в не LL(1)-языке. В том же Шарпе не мало усилий было приложено на решение всех неоднозначностей.

    VD>Не факт. Ты говоришь не о реальных языках, а о потенциальных возможностях. Вот в С++ действительно много неоднозначностей, что усложняет чтение коднов на нем. И то не всегда. А в Шарпе неоднозначностей (не разрешенных) нет. И получается, что при не совместимой с LL(1)-граматикой при том еще и довольно обемной код все же читается очень просто. Наличие же высокоуровневых конструкций хотя и усложныет краматику и семантику, но чтение только упрощает.

    Т.е. ты хочешь сказать, что LL(1)-граматика имеет меньше ограничений на синтаксис, чем не LL(1)-граматика??? Если нет, тогда о чем мы спорим?

    VD>Прицип тут простой. Декларация понятнее императивного описания более низкоуровневыми средствами. А чтобы добиться большей декларативности унжно или иметь некие очень не простые механизым ее достижения, либо расширять и усложнять грамматику чтобы впихнуть в нее эти декларативные конструкции.


    В выделенное не въехал. Почему понятнее? Кроме того, язык может быть и не декларативный и не императивный, а может сочетать в себе и то и другой, например, русский язык. Я уже несколько раз пытался объяснить: в лингвистике есть такой принцип композиционной семантики. Он говорит о том, что смысл предложения языка определяется смыслом входящих в предложение лексем и синтаксической конструкцией предложения. Хотя бывают, конечно, и исключения. Если отталкиваться от этого принципа, то при всех прочих равных факторах, чем сложнее структура предложения, тем сложнее его понимать. Что же здесь нелогичного?
    Re[4]: Вношу изменения в свой тезис
    От: AndreyFedotov Россия  
    Дата: 17.08.05 12:54
    Оценка:
    Здравствуйте, eao197, Вы писали:

    E>Чтобы внести чуть-чуть юмора...


    Тут уже не чуть-чуть. Тут уже психиаторов пора вызывать...

    E>Но вот синтез по отношению к девушке -- это как?


    Да в общем то так же как и тысячу лет назад. Сообразить — что и как нужно сделать что бы с ней познакомиться и ей понравится. Подозреваю, что чем меньше думать о LL(n) грамматиках — тем это проще.
    Re[37]: Простота грамматик и простота языка
    От: mefrill Россия  
    Дата: 17.08.05 12:58
    Оценка:
    Здравствуйте, Павел Кузнецов, Вы писали:

    ПК>Грубо говоря, похоже, что ты исходишь примерно из такой предпосылки: чем сложнее грамматика, тем больше возможностей написать на соответствующем языке непонятную программу. Это так. В теории. Однако, на практике есть и другой, имхо, более существенный фактор: более сложные языки (в т.ч. и синтаксически) дают большую свободу в выражении своих мыслей, и, соответственно, при сознательном стремлении написать понятную программу, очень вероятно, что на более сложном языке это может получиться лучше. Примеры привести легко:


    ПК>
  • тексты на естественных языках, обладающих очень высокой синтаксической сложностью по сравнению с языками программирования, понимать обычно проще, чем на последних;

    Тезис очень спорный. Как, например, читаются математические статьи?

    ПК>
  • BrainFuck потрясающе прост синтаксически, но совершенно недостаточен для возможности внятно выразить даже простейшую программу "Hello World":
    ПК>
    >> +++++++++[<++++++++>-]<.>++++++[<+++++>-]<-.+++++++..++
    ПК>+.
    >>> +++++++[<++++++>-]<++.------------.<++++++++.--------.
    ПК>+++.------.--------.>+.>++++++++++.
    ПК>


    Здесь я снова, в который уже раз, напишу что такое принцип композиционной семантики, применяемый в линвистике. Он говорит о том, что смысл предложения складывается из смысла слов этого предложения и его синтаксической структуры. Есть исключения, когда предложение имеет еще и контекст, но об этом мы здесь не говорим. Итак, а приведенном выше примере почему непонятен смысл?
    1. Мы не знаем грамматику языка, т.е. его синтаксис.
    2. Мы не знаем смысл лексем этого языка.

    Почему понятен пример ниже?
    1. Все на форуме знают грамматику языка си.
    2. Смысл лексем print и Hello World! унаследовал от английского языка, и потому ясен.

    Поэтому, приведенные примеры некорректны в том смысле, что не отражают обсуждаемой темы.

    ПК>принципиально более сложный C позволяет это сделать намного понятнее:

    ПК>
    ПК>#include <stdio.h>
    
    ПК>int main()
    ПК>{
    ПК>   printf("Hello World!\n");
    ПК>}
    ПК>


    ПК>Резюме: имхо, говорить о читабельности языков столь же некорректно, как и говорить об их производительности. Вместо последнего стоит говорить о производительности конкретных реализаций. Вместо первого -- о читабельности конкретных программ.


    Т.е. вообще нет смысла говорить о сложности языка? Согласен ли ты с тезисом: чем сложнее язык — тем сложнее его понимание?
  • Re[5]: Вношу изменения в свой тезис
    От: fddima  
    Дата: 17.08.05 13:03
    Оценка: :)
    Здравствуйте, AndreyFedotov, Вы писали:

    E>>Чтобы внести чуть-чуть юмора...

    AF>Тут уже не чуть-чуть. Тут уже психиаторов пора вызывать...
    Как по мне — так уже давно

    E>>Но вот синтез по отношению к девушке -- это как?

    AF>Да в общем то так же как и тысячу лет назад. Сообразить — что и как нужно сделать что бы с ней познакомиться и ей понравится. Подозреваю, что чем меньше думать о LL(n) грамматиках — тем это проще.
    А я вот думаю что чем больше думаешь о LL(n) то тем сложнее это будет. Впрочем справедливости ради наверное это касается и всех остальных LL- грамматик. Про остальные не знаю
    ... << RSDN@Home 1.2.0 alpha rev. 605>>
    Re[5]: Вношу изменения в свой тезис
    От: eao197 Беларусь http://eao197.blogspot.com
    Дата: 17.08.05 13:04
    Оценка: :))
    Здравствуйте, AndreyFedotov, Вы писали:

    E>>Чтобы внести чуть-чуть юмора...


    AF>Тут уже не чуть-чуть. Тут уже психиаторов пора вызывать...


    Да в этой ветке без юмора вообще делать нечего

    E>>Но вот синтез по отношению к девушке -- это как?


    AF>Да в общем то так же как и тысячу лет назад. Сообразить — что и как нужно сделать что бы с ней познакомиться и ей понравится.


    Так это же, имхо, чистый анализ!

    Мне показалось, что синтез -- это когда пластический хирург или косметолог/стилист создает красоту. А ты все это финансируешь
    ... << RSDN@Home 1.1.4 stable rev. 510>>


    SObjectizer: <микро>Агентно-ориентированное программирование на C++.
    Re[6]: Вношу изменения в свой тезис
    От: xBlackCat Россия  
    Дата: 17.08.05 13:18
    Оценка: +1 :))) :)
    Здравствуйте, eao197, Вы писали:


    E>Мне показалось, что синтез -- это когда пластический хирург или косметолог/стилист создает красоту. А ты все это финансируешь


    Нет, синтез — это когда ты с этой девушкой делаешь такую же (или похожую) девушку
    ... << RSDN@Home 1.1.4 beta 3 rev. 185>>
    Rojac &mdash; Rsdn Offline JAva Client
    Анонсы и обсуждение здесь
    Автор: xBlackCat
    Дата: 08.02.10
    Re[38]: Простота грамматик и простота языка
    От: Павел Кузнецов  
    Дата: 17.08.05 13:20
    Оценка: +4
    mefrill,

    > ПК>
  • тексты на естественных языках, обладающих очень высокой синтаксической сложностью по сравнению с языками программирования, понимать обычно проще, чем на последних;
    >
    > Тезис очень спорный. Как, например, читаются математические статьи?

    Обычно легче, чем соответствующие им программы.

    > ПК>
    >>> +++++++++[<++++++++>-]<.>++++++[<+++++>-]<-.+++++++..++
    > ПК>+.
    >>>> +++++++[<++++++>-]<++.------------.<++++++++.--------.
    > ПК>+++.------.--------.>+.>++++++++++.
    > ПК>

    >
    > Здесь я снова, в который уже раз, напишу что такое принцип композиционной семантики, применяемый в линвистике. Он говорит о том, что смысл предложения складывается из смысла слов этого предложения и его синтаксической структуры. Есть исключения, когда предложение имеет еще и контекст, но об этом мы здесь не говорим. Итак, а приведенном выше примере почему непонятен смысл?
    > 1. Мы не знаем грамматику языка, т.е. его синтаксис.
    > 2. Мы не знаем смысл лексем этого языка.

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

    > Почему понятен пример ниже?

    > 1. Все на форуме знают грамматику языка си.
    > 2. Смысл лексем print и Hello World! унаследовал от английского языка, и потому ясен.
    > Поэтому, приведенные примеры некорректны в том смысле, что не отражают обсуждаемой темы.

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

    > ПК>Резюме: имхо, говорить о читабельности языков столь же некорректно, как и говорить об их производительности. Вместо последнего стоит говорить о производительности конкретных реализаций. Вместо первого -- о читабельности конкретных программ.


    > Т.е. вообще нет смысла говорить о сложности языка?


    Отчего же? Конечно имеет. Но не отождествляя с легкостью чтения программ на нем.

    > Согласен ли ты с тезисом: чем сложнее язык — тем сложнее его понимание?


    Смотря что понимается под "пониманием языка".
    Posted via RSDN NNTP Server 2.0 beta
  • Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
    Re[38]: Простота грамматик и простота языка
    От: AndreyFedotov Россия  
    Дата: 17.08.05 13:21
    Оценка:
    Здравствуйте, mefrill, Вы писали:

    Потрясающе! Подмечено умно, тонко, глубоко — и совершенно бесполезно

    M>Здесь я снова, в который уже раз, напишу что такое принцип композиционной семантики, применяемый в линвистике. Он говорит о том, что смысл предложения складывается из смысла слов этого предложения и его синтаксической структуры. Есть исключения, когда предложение имеет еще и контекст, но об этом мы здесь не говорим. Итак, а приведенном выше примере почему непонятен смысл?

    M>1. Мы не знаем грамматику языка, т.е. его синтаксис.
    M>2. Мы не знаем смысл лексем этого языка.

    Это как раз то, о чём писал Влад — поиск сферических коней в вакууме.
    Потому, как на бумаге всё красиво и логично, но вот почему то оДнА и тАЖе фРаЗА (одна и таже фраза) тем не менее воспринимается по-разному — соответствуя при этом красивым научным принципам...

    M>Почему понятен пример ниже?

    M>1. Все на форуме знают грамматику языка си.
    M>2. Смысл лексем print и Hello World! унаследовал от английского языка, и потому ясен.

    Так ведь и так очевидно, что если бы лет эдак 900 назад за основу английского алфавита взяли бы не латынь, а арабский шрифт, а британия была бы завоёвана маврами — и язык был бы другой и пример бы выглядел по-другому. И мы наверняка его бы не поняли. Аналогично и с синтаксисом Си. Если бы в 70-х СССР завоевал бы америку и заставил бы их писать UNIX на рапире — нам роднее, ближе и понятнее был бы его синтаксис и увидев пример из этой параллельной вселенной мы тоже долго удивлялись бы.
    Да что там! Замените Hello World на аналогичную надпись на японском — и уже не поймёшь что делает программа.
    Но ведь мы то живём здесь и сейчас в конкретном историческом и конкретном культурном контексте. И естественно, для того, что бы сделать код более или менее читабельным потребуется учитвать этот контекст. Но к грамматикам это никакого отношения не имеет.

    Вот потому я полностью согласен с выводом Павла:

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


    M>Т.е. вообще нет смысла говорить о сложности языка? Согласен ли ты с тезисом: чем сложнее язык — тем сложнее его понимание?

    Есть. Но очень аккуратно и рассуждая не в общем — а делая осторожные обобщения на конкретных примерах, с учётом как положительных, так и отрицательных примеров.
    Re[7]: Вношу изменения в свой тезис
    От: eao197 Беларусь http://eao197.blogspot.com
    Дата: 17.08.05 13:28
    Оценка: +4 :))) :)))
    Здравствуйте, xBlackCat, Вы писали:

    E>>Мне показалось, что синтез -- это когда пластический хирург или косметолог/стилист создает красоту. А ты все это финансируешь


    BC>Нет, синтез — это когда ты с этой девушкой делаешь такую же (или похожую) девушку


    За точность цитаты не ручаюсь, но все же:

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

    ... << RSDN@Home 1.1.4 stable rev. 510>>


    SObjectizer: <микро>Агентно-ориентированное программирование на C++.
    Re[8]: Вношу изменения в свой тезис
    От: fddima  
    Дата: 17.08.05 13:32
    Оценка:
    Здравствуйте, eao197, Вы писали:

    E>За точность цитаты не ручаюсь, но все же:

    E>

    E>Однажды на светском приеме к Бернарду Шоу, у которого была страшноватая внешность, подошла знаменитая светская красавица и сказала: "О, мистер Шоу, я много о вас слышала и знаю, что вы очень умный. Представляете себе, какие у нас были бы дети? Они обладали бы моей внешностью и вашим умом". Бернард Шоу сказал: "Это очень хорошо, но представьте, что будет, если наши дети будут обладать моей внешностью и вашим умом?"

    Мда... всё таки синтез — вещь не предсказуемая...
    ... << RSDN@Home 1.2.0 alpha rev. 605>>
    Re[8]: Вношу изменения в свой тезис
    От: xBlackCat Россия  
    Дата: 17.08.05 13:32
    Оценка:
    Здравствуйте, eao197, Вы писали:

    E>За точность цитаты не ручаюсь, но все же:

    E>

    E>Однажды на светском приеме к Бернарду Шоу, у которого была страшноватая внешность, подошла знаменитая светская красавица и сказала: "О, мистер Шоу, я много о вас слышала и знаю, что вы очень умный. Представляете себе, какие у нас были бы дети? Они обладали бы моей внешностью и вашим умом". Бернард Шоу сказал: "Это очень хорошо, но представьте, что будет, если наши дети будут обладать моей внешностью и вашим умом?"


    На сколько я помню, наследование происходит чаще всего так, как говорит Бернард Шоу. Хорошо, что он отказал
    ... << RSDN@Home 1.1.4 beta 3 rev. 185>>
    Rojac &mdash; Rsdn Offline JAva Client
    Анонсы и обсуждение здесь
    Автор: xBlackCat
    Дата: 08.02.10
    Re[5]: Вношу изменения в свой тезис
    От: Privalov  
    Дата: 17.08.05 13:34
    Оценка:
    Здравствуйте, AndreyFedotov, Вы писали:

    AF>Да в общем то так же как и тысячу лет назад. Сообразить — что и как нужно сделать что бы с ней познакомиться и ей понравится. Подозреваю, что чем меньше думать о LL(n) грамматиках — тем это проще.


    Эээ, сдается мне, все не так просто. Наблюдал как-то в автобусе: кто-то кого-то толкнул, то ли он ее, то ли наоборот. Неумышленно, конечно. Завязывается непринужденная беседа. Через пару минут слышу, она его спрашивает, разбирается ли он в компьютерах и знает ли английский язык. Так что, возможно, знакомиться девушки скоро будут только с теми, у кого под мышкой выглядывает журнал "Хакер", не иначе.
    Re[6]: Вношу изменения в свой тезис
    От: AndreyFedotov Россия  
    Дата: 17.08.05 13:51
    Оценка: :))) :)
    Здравствуйте, Privalov, Вы писали:

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


    AF>>Да в общем то так же как и тысячу лет назад. Сообразить — что и как нужно сделать что бы с ней познакомиться и ей понравится. Подозреваю, что чем меньше думать о LL(n) грамматиках — тем это проще.


    P>Эээ, сдается мне, все не так просто. Наблюдал как-то в автобусе: кто-то кого-то толкнул, то ли он ее, то ли наоборот. Неумышленно, конечно. Завязывается непринужденная беседа. Через пару минут слышу, она его спрашивает, разбирается ли он в компьютерах и знает ли английский язык. Так что, возможно, знакомиться девушки скоро будут только с теми, у кого под мышкой выглядывает журнал "Хакер", не иначе.


    Разумно.

    Правда дискуссия свелась к вечному:


    (C) Отсюда
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.