Re[12]: О закономерностях
От: Андрей Хропов Россия  
Дата: 05.02.07 09:47
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Я имел в виду только тот факт, что VS IDE есть .Net приложение. А на чем ее писали — естественно, я сказать не могу. Рефлектор, если захочешь, тебе и Delphi код ее покажет . Вполне допускаю, что там и unmanaged кода полно.


Судя по тому, что говорят люди из MS

Visual Studio is over 43 million lines of code


здесь

For those of you that refuse to believe, here's an estimate of the lines of managed code in Microsoft applications that I got permission to blog about:

* Visual Studio 2005: 7.5 million lines

(здесь)

, его там ~ 83% ((43-7,5)/43), т.е. подавляющее большинство.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: О закономерностях
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.07 14:52
Оценка:
Здравствуйте, Turtle.BAZON.Group, Вы писали:

TBG>Да ладно? И чем же они не совместимы? Тем, что АСТ функции, класса имеют другой класс? По сути все одно и то же.


Как называется конструкция AST в С++ выражающая окамловский case? Подсказка, switch не способен ее заменить.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: О закономерностях
От: Turtle.BAZON.Group  
Дата: 05.02.07 16:25
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Как называется конструкция AST в С++ выражающая окамловский case? Подсказка, switch не способен ее заменить.


Я про языки одной парадигмы говорил. Да и это частности. Если программировать в AST, то всякий зоопарк языков отпадет сам собой.
... << RSDN@Home 1.2.0 alpha rev. 669>>
Re[18]: О закономерностях
От: . Великобритания  
Дата: 05.02.07 18:18
Оценка:
Turtle.BAZON.Group wrote:

> VD>Как называется конструкция AST в С++ выражающая окамловский case?

> Подсказка, switch не способен ее заменить.
>
> Я про языки одной парадигмы говорил. Да и это частности. Если
> программировать в AST, то всякий зоопарк языков отпадет сам собой.
Наивный взгляд. Вы, видимо, не знаете несколько абсолютно разных языков (например, erlang и C++). Помимо синтаксиса (а
это и есть Abstract Syntax Tree) язык ещё представляется семантикой (ещё прагматика есть, но тут не в тему). И
невозможно семантически разные конструкции сводить к ast.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: О закономерностях
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 05.02.07 18:31
Оценка:
XC>Это как? Если я работаю с методом, ни разу не нужно было выходить за его пределы.

Некоторые разработчики пишут короткие методы
Re: О закономерностях
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 05.02.07 20:02
Оценка: 33 (4) +3 :))
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>Вышла новая статья о закономерностях в программировании. Приведу несколько выдержек из нее:


Статью прочёл. Она мне, как обычно это бывает со статьями ТРИЗовцев о программировании, не понравилась. Уж не обессудьте, слишком много у вас там наивного.

КЛ>"При этом каждое следующее серьезное изобретение в области программирования — это почти всегда изобретение следующего интерфейса (это и есть «этаж») между системными «слоями»:


КЛ>

КЛ>"Вспомним «эволюцию языков программирования»:


КЛ>

Кроме того, есть ещё и третий "надсистемный эффект". Это был первый и последний раз в истории компьютеризации, когда производительность программистов на задачах "общего характера" выросла в несколько раз из-за простого изменения инструментального средства. Всё. Больше этого чуда не повторялось, хотя спекуляции продолжаются по сей день. Инструментарий, данный средствами ООП позволил ещё несколько подтянуть эту самую пресловутую производительность, но дальше всё упёрлось в семантические характеристики проектируемой системы, в анализ предметной области и т.п. А потому "старое" структурное программирование вполне успешно может соперничать с ООП, при соответствующем проектировании.

КЛ>

КЛ>Изобретение языков высокого уровня позволило осуществлять перенос программы с машины на машину. И это позволило программисту (пишущему на высоком уровне) «не знать» или «знать минимально» устройство машины. Как бы сказали теперь, эти языки «инкапсулировали» (закрыли) «устройство машины» от программиста. Стали «интерфейсом» между программистом и компьютером.


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

КЛ>
  • Затем произошел четвертый надсистемный переход: «структурное программирование» вытеснило «линейное». Программа стала пониматься как группа (читай: «надсистема») модулей, которые можно писать отдельно, а проектирование в значительной степени стало пониматься как проектирование интерфейсов для общения модулей.
    КЛ>
  • Затем произошел пятый надсистемный переход: … впрочем, дальнейшую логику вдумчивый Читатель продолжит сам."
    КЛ>
    Конкретно эту "логику" лучше не продолжать. Например, структурное программирование к "модулям" имеет весьма опосредованное отношение. Ключевое понятие здесь: структурные блоки графа управления. Представление их в виде модулей (в частном случае — процедур, функций...) — уже отдельный вопрос.



    Собственно говоря, чем страдают статьи по программированию от ТРИЗовцев (и не только от них, но о других авторах чуть ниже), так это абстрагированием от целей рассматриваемых процессов. Читая вас, у меня, например, складывается впечатление, что программирование — это такой монстр, который растёт как-то сам по себе, вне требований пользователей, способностей аналитиков, и вообще — культурного контекста. На самом же деле это совсем не так.

    Глобальную задачу — научить компьютер общаться с человеком на естественном языке, — человечество так пока ещё и не решило. Хотя на этом пути отвалилось немало любопытных артефактов: языки высокого уровня, объектное програмирование, машинная лингвистика и т.п. Если их рассматривать по отдельности, или даже вместе, но тем не менее вне контекста этой самой глобальной задачи, то можно наплодить удивительное количество химеричных "аналитических" выводов. Что, собственно, я и вижу в ваших статьях, когда они касаются програмирования. Для сравнения поглядите в этом форуме, здесь иногда появляются студенты, с приблизительно такой же моделью рассуждений: берём артефакт А, артефакт Б и строим от них Глобальную Индукцию Развития Вселенной. Но то студенты, им простительно.
  • Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[19]: О закономерностях
    От: Turtle.BAZON.Group  
    Дата: 06.02.07 08:49
    Оценка:
    Здравствуйте, ., Вы писали:

    .>Наивный взгляд. Вы, видимо, не знаете несколько абсолютно разных языков (например, erlang и C++). Помимо синтаксиса (а


    Наивное предположение...

    .>это и есть Abstract Syntax Tree) язык ещё представляется семантикой (ещё прагматика есть, но тут не в тему). И

    .>невозможно семантически разные конструкции сводить к ast.

    В общем случае нельзя. При частных приближениях — можно. Это если к этому стремиться.
    ... << RSDN@Home 1.2.0 alpha rev. 669>>
    Re[2]: О закономерностях
    От: Кирилл Лебедев Россия http://askofen.blogspot.com/
    Дата: 06.02.07 08:54
    Оценка:
    Здравствуйте, Геннадий Васильев,

    Благодарю за конструктивный отзыв.
    С уважением,
    Кирилл Лебедев
    Software Design blog — http://askofen.blogspot.ru/
    Re[20]: О закономерностях
    От: . Великобритания  
    Дата: 06.02.07 10:55
    Оценка:
    Turtle.BAZON.Group wrote:

    > .>это и есть Abstract *Syntax* Tree) язык ещё представляется семантикой

    > (ещё прагматика есть, но тут не в тему). И
    > .>невозможно семантически разные конструкции сводить к ast.
    > В общем случае нельзя. При частных приближениях — можно. Это если к
    > этому стремиться.
    Ну если использовать только какой-то пересекающийся набор фич двух языков, то ещё можно со скрипом. Да даже с языками
    которые специально так создавались — С и С++ — и то есть проблемы.
    Только смысл от этого? Зачем использовать другой язык, если запрещено использовать его фичи?
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[21]: О закономерностях
    От: Turtle.BAZON.Group  
    Дата: 07.02.07 07:16
    Оценка:
    Здравствуйте, ., Вы писали:

    .>которые специально так создавались — С и С++ — и то есть проблемы.

    .>Только смысл от этого? Зачем использовать другой язык, если запрещено использовать его фичи?

    Ну потому как зоопарк возник, нет обобщенного AST, то смысла нет.
    ... << RSDN@Home 1.2.0 alpha rev. 669>>
    Re[2]: О закономерностях
    От: Кирилл Лебедев Россия http://askofen.blogspot.com/
    Дата: 07.02.07 10:29
    Оценка: 6 (1) +2
    Здравствуйте, Геннадий Васильев, Вы писали:

    ГВ>Собственно говоря, чем страдают статьи по программированию от ТРИЗовцев (и не только от них, но о других авторах чуть ниже), так это абстрагированием от целей рассматриваемых процессов.


    Цель как раз ясна — создавать устойчивые к изменениям архитектуры.

    ГВ>Глобальную задачу — научить компьютер общаться с человеком на естественном языке, — человечество так пока ещё и не решило.


    На самом деле, это такой миф про естественный язык. Никаких естественных языков, которые "естественнее" всех остальных, в природе не существует. Существуют языки, заточенные под решение определенных классов задач. Так для счета мы используем язык арифметики. Три тысячи лет назад люди для обозначения чисел и операций над ними тоже использовали естественный язык. Каждое число обозначалось отдельным словом. Получалось неэкономно. Попробуйте-ка вычислить: "Триста восемьдесят семь плюс пятьсот девяносто восемь" без использования арабских цифр, позиционной системы счисления и правила сложения в столбик! "Естественный" язык (а правильнее его называть — разговорный) очень плох для решения таких задач. Поэтому-то древние и изобрели цифры и позиционную систему счисления. Т.е. был изобретен язык, который приспособлен для счета.

    Точно так же и с другими областями человеческой деятельности. Попробуйте-ка написать программу уровня Microsoft Word на естестественном языке. Полагаю, еще та задачка. Не случайно, авторы ряда фундаментальных книг по алгоритмам и структурам данных как только дело доходит до описания алгоритмов, предпочитают псевдокод. А некоторые продвинутые товарищи изобретают даже собственные языки программирования — специально для записи алгоритмов.
    С уважением,
    Кирилл Лебедев
    Software Design blog — http://askofen.blogspot.ru/
    Re[22]: О закономерностях
    От: . Великобритания  
    Дата: 07.02.07 10:59
    Оценка: -1 :)
    Turtle.BAZON.Group wrote:

    > .>которые специально так создавались — С и С++ — и то есть проблемы.

    > .>Только смысл от этого? Зачем использовать другой язык, если запрещено
    > использовать его фичи?
    > Ну потому как зоопарк возник, нет обобщенного AST,
    Ну почему — есть и такая штука, обобщённое AST на "все случаи жизни" — это XML.

    >то смысла нет.

    Ты хочешь общую теорию всего? Это невозможно сделать. Потому и смысла нет. Для языка программирования синтаксис играет
    относительно незначительную роль.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re: О закономерностях
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 07.02.07 12:55
    Оценка: +1
    Здравствуйте, Кирилл Лебедев, Вы писали:

    КЛ>Вышла новая статья о закономерностях в программировании.


    Идея о такой закономерности приходит каждому мало-мальски размышляющему программисту в первые года 3 программистской деятельности. Только вот на практике все намного сложнее, печальнее и запутаннее.
    ... << RSDN@Home 1.2.0 alpha rev. 669>>
    AVK Blog
    Re[13]: О закономерностях
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 07.02.07 12:55
    Оценка:
    Здравствуйте, Андрей Хропов, Вы писали:

    PD>>Вполне допускаю, что там и unmanaged кода полно.

    АХ>Точно оценить сложно, но, я думаю, процентов 80%.

    Зависит от редакции и версии.
    ... << RSDN@Home 1.2.0 alpha rev. 669>>
    AVK Blog
    Re[2]: О закономерностях
    От: Кирилл Лебедев Россия http://askofen.blogspot.com/
    Дата: 07.02.07 15:13
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    AVK>Идея о такой закономерности приходит каждому мало-мальски размышляющему программисту в первые года 3 программистской деятельности.


    Вы, очевидно, имели в виду, что у меня мало опыта. Краткая справка:

    1. Мой опыт работы в коммерческом программировании — 11 лет.
    2. Количество реализованных проектов — больше 20.
    3. Мелкие проекты и учебу в институте сюда не включаю.

    Сейчас работаю с коллегами, которые в индустрии как раз три года или около того. Нельзя сказать, что они неразмышляющие. Размышляют и еще как. А вот закономерности, к сожалению, не ловят. И качество своей работы, к сожалению, тоже повышать не хотят. Любое улучшение идет с большим скрипом.

    AVK>Только вот на практике все намного сложнее, печальнее и запутаннее.


    Пожалуйста, приведите пару-тройку примеров "сложного, печального и запутанного". Мы в своей статье примеры приводим и разбираем их достаточно подробно. Поэтому, думаю, вправе требовать этого же и от тех людей, которые статью критикуют.
    С уважением,
    Кирилл Лебедев
    Software Design blog — http://askofen.blogspot.ru/
    Re[8]: О закономерностях
    От: Yuri Khomich  
    Дата: 07.02.07 15:18
    Оценка:
    Hello, VladD2!
    You wrote on Thu, 01 Feb 2007 23:05:29 GMT:

    XC>>> А пока я невооруженным глазом (!) по скорости открывания меню

    XC>>> и диалогов определяю, написан ли софт на Java, каком-либо
    XC>>> managed-языке .NET, или под реальный процессор, пишу на C++.
    XC>>> Хотя уже достало
    WH>> Жаба да. .NET извини не поверю.

    V> А что Жаба? Ты ИДЕЮ видел? Многие кто ею пользовался утверждают,

    V> что она работает вполне быстро.

    Работала. Ухудшаться ситуация начала версии с пятой, в шестой тормоза порою начинают доставать.
    Posted via RSDN NNTP Server 2.1 beta
    Re[23]: О закономерностях
    От: Turtle.BAZON.Group  
    Дата: 07.02.07 15:24
    Оценка:
    Здравствуйте, ., Вы писали:

    >> Ну потому как зоопарк возник, нет обобщенного AST,

    .>Ну почему — есть и такая штука, обобщённое AST на "все случаи жизни" — это XML.

    Ага. Только тоже имеет те же проблемы с семантикой.

    .>Ты хочешь общую теорию всего? Это невозможно сделать. Потому и смысла нет. Для языка программирования синтаксис играет

    .>относительно незначительную роль.

    Склонен к обобщениям. Сделать то как раз возможно. Вот только смысла нет, потому как никому не надо.
    ... << RSDN@Home 1.2.0 alpha rev. 669>>
    Re[3]: О закономерностях
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 07.02.07 15:31
    Оценка: +1
    Здравствуйте, Кирилл Лебедев, Вы писали:

    AVK>>Идея о такой закономерности приходит каждому мало-мальски размышляющему программисту в первые года 3 программистской деятельности.


    КЛ>Вы, очевидно, имели в виду, что у меня мало опыта.


    Нет.

    AVK>>Только вот на практике все намного сложнее, печальнее и запутаннее.


    КЛ>Пожалуйста, приведите пару-тройку примеров "сложного, печального и запутанного".


    В посте Re: О закономерностях
    Автор: Геннадий Васильев
    Дата: 05.02.07
    некоторые вещи упоминаются. Думаю, этого более чем достаточно, чтобы понять, что при увеличении стройная и примитивная картинка распадается на детали.

    КЛ> Мы в своей статье примеры приводим и разбираем их достаточно подробно. Поэтому, думаю, вправе требовать этого же и от тех людей, которые статью критикуют.


    Я статью не критикую, я намекаю на то, что идея в этой статье стара как мир.
    ... << RSDN@Home 1.2.0 alpha rev. 669>>
    AVK Blog
    Re[23]: О закономерностях
    От: konsoletyper Россия https://github.com/konsoletyper
    Дата: 07.02.07 17:24
    Оценка:
    Здравствуйте, ., Вы писали:

    >> Ну потому как зоопарк возник, нет обобщенного AST,

    .>Ну почему — есть и такая штука, обобщённое AST на "все случаи жизни" — это XML.

    Не, есть штука ещё обобщённее — Лисп
    ... << RSDN@Home 1.2.0 alpha rev. 672>>
    Re[9]: О закономерностях
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 07.02.07 19:06
    Оценка:
    Здравствуйте, Yuri Khomich, Вы писали:

    YK>Работала. Ухудшаться ситуация начала версии с пятой, в шестой тормоза порою начинают доставать.


    В ГУИ? Не поверю.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.