Re[30]: Вопрос о конкретных примерах
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.10.04 01:07
Оценка:
Здравствуйте, Nick_, Вы писали:

N_>Я считаю, что с тобой уже обсуждать что-то бессмысленно.


Так что тогда разговариваешь? Столько пафоса и все в пустую.

N_> Мало того, что ты Си не знаешь, так еще и не удосужился проверить.


N_>
N_>typedef int free;
N_>int main()
N_>{
N_>    free(ptr); /* обьявление переменной int ptr */
N_>}
N_>


Да, ошибся я тут. По крайней мере VC действительно воспринимает это за объявление переменной. Был лучшего мнения о С++. В Шарпе такой бред недопустим, а к хорошему быстро привыкаешь. Хотя возможно это очередная глюка VC. Тут нужно стандарт глядеть. А его под рукой нет.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Вопрос о конкретных примерах
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.10.04 01:07
Оценка:
Здравствуйте, Quintanar, Вы писали:

Q>Атомарность кашицы на ИЯ и ФЯ разная. Пример сортировки на haskell тому пример, хоть и одиозный. И причем тут итеративные языки — все языки итеративные.


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

Так же многие тут предлагали создать более близкий к жизник пример. А то примеры уж больно оторваны от жизни. Например, интересно было бы поглядеть на то как будет выглядеть динамическая веб-страничка на одном из ФЯ. Ну, или утилита вроде этой: http://gzip.rsdn.ru/article/dotnet/regexprep_.xml
Автор(ы): Владислав Чистяков
Дата: 26.10.2002
Аннотация: Статья рассчитана на тех, кто хочет изучить программирование в .Net и язык C#, или хотя бы понять, как можно использовать эту среду, чтобы решить стоит ли этим заниматься. Эта статья также будет полезна начинающим программистам, так как позволяет пройти весь цикл разработки программы. В качестве побочного эффекта вы получите полезную утилиту.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Вопрос о конкретных примерах
От: INTP_mihoshi Россия  
Дата: 10.10.04 10:38
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Так же многие тут предлагали создать более близкий к жизник пример. А то примеры уж больно оторваны от жизни. Например, интересно было бы поглядеть на то как будет выглядеть динамическая веб-страничка на одном из ФЯ. Ну, или утилита вроде этой: http://gzip.rsdn.ru/article/dotnet/regexprep_.xml
Автор(ы): Владислав Чистяков
Дата: 26.10.2002
Аннотация: Статья рассчитана на тех, кто хочет изучить программирование в .Net и язык C#, или хотя бы понять, как можно использовать эту среду, чтобы решить стоит ли этим заниматься. Эта статья также будет полезна начинающим программистам, так как позволяет пройти весь цикл разработки программы. В качестве побочного эффекта вы получите полезную утилиту.


А как она должна выглядеть? HTML как HTML. С вкраплениями типа
<?ocml Printf.printf ("This is generated by the OCAML interpreter.");; ?>
, если используется mod_ocaml

Имху, реальным стресс-тестом для любого языка общего назначения может быть серьезная real-time 3d графика и/или физика...
Re[16]: Вопрос о конкретных примерах
От: FR  
Дата: 10.10.04 12:21
Оценка: +1
Здравствуйте, INTP_mihoshi, Вы писали:


INT>Имху, реальным стресс-тестом для любого языка общего назначения может быть серьезная real-time 3d графика и/или физика...


Только если брать ту же 3D графику там очень много алгоритмов завязанных на большие массивы данных, а с ними (даже на примере обсуждения здесь) проще работать императивно.
Хотя в 3D есть и алгоритмы которые могут неплохо лечь под функциональный стиль(те же построения всякого рода древовидных конструкции для определения видимости и т. п.), но боюсь с ними может получится то же что и с быстрой сортировкой, так как реализация обычно сильно усложнена всякими мелкими деталями и оптимизацией.
... << RSDN@Home 1.1.3 stable >>
Re[28]: Вопрос о конкретных примерах
От: WolfHound  
Дата: 10.10.04 12:29
Оценка:
Здравствуйте, Nick_, Вы писали:

WH>>Ты бы пошол станларт почитал чтоли.


N_>Вот не надо придираться к фразам выранным из контекста. Если бы читал о чем была речь ранее, то обратил бы внимание на "...unless the applicable name lookup finds a type name..."

Re[6]: ??? Какого оно компилится???
Автор: WolfHound
Дата: 01.10.04
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[15]: Вопрос о конкретных примерах
От: Quintanar Россия  
Дата: 10.10.04 14:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Так же многие тут предлагали создать более близкий к жизник пример. А то примеры уж больно оторваны от жизни. Например, интересно было бы поглядеть на то как будет выглядеть динамическая веб-страничка на одном из ФЯ. Ну, или утилита вроде этой: http://gzip.rsdn.ru/article/dotnet/regexprep_.xml
Автор(ы): Владислав Чистяков
Дата: 26.10.2002
Аннотация: Статья рассчитана на тех, кто хочет изучить программирование в .Net и язык C#, или хотя бы понять, как можно использовать эту среду, чтобы решить стоит ли этим заниматься. Эта статья также будет полезна начинающим программистам, так как позволяет пройти весь цикл разработки программы. В качестве побочного эффекта вы получите полезную утилиту.


Динамическая — это с событиями? Думаю так же, как и javascript какой-нибудь.

А с утилитой вроде этой есть один вопрос — она с графическим интерфейсом. ФЯ используют обычно чужие билиотеки (OCaml, вроде, GTK. Haskell — wxWidgets и GTK). И вид конкретной программы будет зависеть от того, какую библиотеку она использует. Я чисто из интереса мог бы попробовать написать интерфейс на Haskell + wxWidgets, там это относительно легко, как я понял из примеров.
Re[17]: Вопрос о конкретных примерах
От: Quintanar Россия  
Дата: 10.10.04 14:54
Оценка:
Здравствуйте, FR, Вы писали:

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



INT>>Имху, реальным стресс-тестом для любого языка общего назначения может быть серьезная real-time 3d графика и/или физика...


FR>Только если брать ту же 3D графику там очень много алгоритмов завязанных на большие массивы данных, а с ними (даже на примере обсуждения здесь) проще работать императивно.


Они там read only в основном, вроде, и проблемы с массивами есть только у ленивых языков. Но все равно сложно сказать, что получится в результате.
Re[16]: Вопрос о конкретных примерах
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.10.04 15:00
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

VD>>Так же многие тут предлагали создать более близкий к жизник пример. А то примеры уж больно оторваны от жизни. Например, интересно было бы поглядеть на то как будет выглядеть динамическая веб-страничка на одном из ФЯ. Ну, или утилита вроде этой: http://gzip.rsdn.ru/article/dotnet/regexprep_.xml
Автор(ы): Владислав Чистяков
Дата: 26.10.2002
Аннотация: Статья рассчитана на тех, кто хочет изучить программирование в .Net и язык C#, или хотя бы понять, как можно использовать эту среду, чтобы решить стоит ли этим заниматься. Эта статья также будет полезна начинающим программистам, так как позволяет пройти весь цикл разработки программы. В качестве побочного эффекта вы получите полезную утилиту.


INT>А как она должна выглядеть? HTML как HTML. С вкраплениями типа

INT><?ocml Printf.printf ("This is generated by the OCAML interpreter.");; ?>
INT>, если используется mod_ocaml

Как она должна выглядить я не знаю. Но то что к ней нужно подробное объяснение приложить и аналогичный пример на том же ASP.NET — это точно. Вот такой пример тут был бы воспринят на ура.

INT>Имху, реальным стресс-тестом для любого языка общего назначения может быть серьезная real-time 3d графика и/или физика...


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

Но как пример того, что такие проекты возможны и есть было бы неплохо заполучить ссылку на подобное приложение. Кстати, сказать 3D-игры на дотнете уже точно есть. Я тут как-то скачивал и устанавливал одну 3D RTS. Надо признаться очень недурственно (жаль немецы делали... слишком много немецкого). Со скоростью проблем нет. Использует D3D и вообще DX.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Вопрос о конкретных примерах
От: FR  
Дата: 10.10.04 16:08
Оценка: 4 (1)
Здравствуйте, Quintanar, Вы писали:


FR>>Только если брать ту же 3D графику там очень много алгоритмов завязанных на большие массивы данных, а с ними (даже на примере обсуждения здесь) проще работать императивно.


Q>Они там read only в основном, вроде, и проблемы с массивами есть только у ленивых языков. Но все равно сложно сказать, что получится в результате.


Полно и не read only, например динамическое заполнение вершиных и индексных буферов, по довольно замороченному алгоритму и со скоростью близкой к пропускной способности ОЗУ. И вообще общение с 3D API практически очень близко к системному программированию. Мне кажется писать именно 3D движек на функциональном языке (даже на ocaml) будет намного сложнее чем на C/C++.
... << RSDN@Home 1.1.3 stable >>
Re[16]: Вопрос о конкретных примерах
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.10.04 17:12
Оценка:
Здравствуйте, Quintanar, Вы писали:

VD>>Так же многие тут предлагали создать более близкий к жизник пример. А то примеры уж больно оторваны от жизни. Например, интересно было бы поглядеть на то как будет выглядеть динамическая веб-страничка на одном из ФЯ. Ну, или утилита вроде этой: http://gzip.rsdn.ru/article/dotnet/regexprep_.xml
Автор(ы): Владислав Чистяков
Дата: 26.10.2002
Аннотация: Статья рассчитана на тех, кто хочет изучить программирование в .Net и язык C#, или хотя бы понять, как можно использовать эту среду, чтобы решить стоит ли этим заниматься. Эта статья также будет полезна начинающим программистам, так как позволяет пройти весь цикл разработки программы. В качестве побочного эффекта вы получите полезную утилиту.


Q>Динамическая — это с событиями? Думаю так же, как и javascript какой-нибудь.


Динамическая — это значит интерактивная. Но не клиентских скриптах, а не серверном коде. Ну, там оформление заказа на продажу.

Q>А с утилитой вроде этой есть один вопрос — она с графическим интерфейсом.


Дык это как раз одно из самых интересных. Кому сегодня нужен язык не позволяющий создавать ГУИ?

Q> ФЯ используют обычно чужие билиотеки (OCaml, вроде, GTK. Haskell — wxWidgets и GTK). И вид конкретной программы будет зависеть от того, какую библиотеку она использует.


Да какая разница? Интересен сам пример.

Q> Я чисто из интереса мог бы попробовать написать интерфейс на Haskell + wxWidgets, там это относительно легко, как я понял из примеров.


Давай. Но потому нужно будет описать все по шагам. Ну, чтобы начинающий мог понять что и как.

ЗЫ

Кстати, тем и интересен F#. В нем же можно использовать тот же WinForms.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Вопрос о конкретных примерах
От: Quintanar Россия  
Дата: 10.10.04 18:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Да какая разница? Интересен сам пример.


Q>> Я чисто из интереса мог бы попробовать написать интерфейс на Haskell + wxWidgets, там это относительно легко, как я понял из примеров.


VD>Давай. Но потому нужно будет описать все по шагам. Ну, чтобы начинающий мог понять что и как.


wxWidgets — мультиплатформенная. А поскольку Haskell тоже мультиплатформенный, то такая прога будет работать и под Мас и под XWindows и под просто Windows, в отличие от WinForms. Хотя у wxWidgets есть свой минус, к выходному файлу статически прилинковывается немерянный 8 метровый файл библиотеки. Возможно это можно обойти, но пока не знаю.
Пока для примера могу запостить код Hello World с кнопкой, чисто для сравнения, хотя сравнивать особо нечего — получается практически тоже самое, что и в C# — длинные вереницы команд для создания контролов, задания свойств контролов и добавления одних контролов в другие.
module Main where

import Graphics.UI.WX

-- главная функция. start - инициализирует библиотеку и запускает цикл для сообщений
main :: IO ()
main = start demo     -- "start" initializes the GUI.

demo :: IO ()
demo = do f <- frame        [text := "Bye!"] -- создаем главное окно
          p <- panel f      []  -- создаем панельку для размещения других контролов
          t <- staticText p [text := "Hello World"] -- контрол Static Text
          b <- button     p [text := "Bye"] -- кнопка
          set b [on command := bye f t b] -- устанавливаем event "command", срабатывает при нажатии
          set f [layout := fill $ container p $ margin 10 $ -- указываем как должны быть расположены контролы друг относительно друга
                           column 5 [widget t, widget b]]      
          focusOn b -- ну тут понятно - фокус на кнопку
     where
       -- вызывается при нажатии на кнопку
       bye f t b
         = do set t [text := "Goodbye"] -- устанавливаем новый текст для Static Text
              set b [on command := close f]   -- и новый обработчик события для кнопки
Re[18]: Вопрос о конкретных примерах
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.10.04 21:01
Оценка:
Здравствуйте, Quintanar, Вы писали:

Q>wxWidgets — мультиплатформенная. А поскольку Haskell тоже мультиплатформенный, то такая прога будет работать и под Мас и под XWindows и под просто Windows, в отличие от WinForms.


Ну, это не хорошо и не плохо. 90% програмистам с этого сайта переносимость ненужна. Но раз уж она есть, то не бороться ся же сний?

Q> Хотя у wxWidgets есть свой минус, к выходному файлу статически прилинковывается немерянный 8 метровый файл библиотеки. Возможно это можно обойти, но пока не знаю.


Да уж. 8 метров это что-то крутовато. Хотя если дальнейший рост маленький то пержить можно.

Q>Пока для примера могу запостить код Hello World с кнопкой, чисто для сравнения, хотя сравнивать особо нечего — получается практически тоже самое, что и в C# — длинные вереницы команд для создания контролов, задания свойств контролов и добавления одних контролов в другие.

Q>
Q>module Main where

Q>import Graphics.UI.WX

Q>-- главная функция. start - инициализирует библиотеку и запускает цикл для сообщений
Q>main :: IO ()
Q>main = start demo     -- "start" initializes the GUI.

Q>demo :: IO ()
Q>demo = do f <- frame        [text := "Bye!"] -- создаем главное окно
Q>          p <- panel f      []  -- создаем панельку для размещения других контролов
Q>          t <- staticText p [text := "Hello World"] -- контрол Static Text
Q>          b <- button     p [text := "Bye"] -- кнопка
Q>          set b [on command := bye f t b] -- устанавливаем event "command", срабатывает при нажатии
Q>          set f [layout := fill $ container p $ margin 10 $ -- указываем как должны быть расположены контролы друг относительно друга
Q>                           column 5 [widget t, widget b]]      
Q>          focusOn b -- ну тут понятно - фокус на кнопку
Q>     where
Q>       -- вызывается при нажатии на кнопку
Q>       bye f t b
Q>         = do set t [text := "Goodbye"] -- устанавливаем новый текст для Static Text
              Что-то я не понял, когда устанавливается текст "Goodbye"? Его хоть кто-то увидит?
Q>              set b [on command := close f]   -- и новый обработчик события для кнопки
Q>


Замечания:
1. Переменным все же нужно давать осмысленные имена, а не однобуквенные. Инача воспринимать код очень трудно. Это больше похоже на шифрование.
2. Хотя бы скриншот того что получилось. Ведь не каждый может скачать себе все что жуно чтобы зпустить этот пример. Тут же потребуется и Цигвин ставить, и Хаскель, и еще чего нить.

Кстати, конструкции вроде:
f <- frame        [text := "Bye!"]

тоже хорошо бы объяснить.

С шарпом подобный пример тяжело сравнивать по той причине, что он а) ничего не далет, б) дизайн форм в Шарпе делается визуально и из всего приведенного кода написать прийдется только "Close();". Но конечно можно и вручную:
using System;
using System.Windows.Forms;

class Form1 : Form
{
    public Form1()
    {
        // Настраиваем лэйбл
        Label _labelText = new Label();
        this.Text = labelText.Text = "Hello World";
        labelText.AutoSize = true;
        
        // Настравивем кнопку
        Button pbGoodbye = new Button();
        pbGoodbye.Text = "Close";
        pbGoodbye.Click += delegate(object sender, EventArgs e) { Close(); };

        _pbGoodbye.Anchor = labelText.Anchor = AnchorStyles.None;

        // Настраиваем лэйаут (просто для похожести). С ним можно и не выпендриваться.
        TableLayoutPanel tblLayout = new TableLayoutPanel();
        tblLayout.Controls.Add(pbGoodbye, 0, 1);
        tblLayout.Controls.Add(labelText, 0, 0);
        tblLayout.Dock = DockStyle.Fill;

        this.Controls.Add(tblLayout); // Дабавляем TableLayoutPanel к форме
        this.Size = new System.Drawing.Size(200, 100); // Задаем размер формы.
    }
}




Я не знаю как-кто, а я особоно приемущества не вижу.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Вопрос о конкретных примерах
От: Quintanar Россия  
Дата: 10.10.04 21:56
Оценка: 15 (1)
Здравствуйте, VladD2, Вы писали:

VD>bye f t b

VD>Q> = do set t [text := "Goodbye"] -- устанавливаем новый текст для Static Text
VD> Что-то я не понял, когда устанавливается текст "Goodbye"? Его хоть кто-то увидит?
VD>Q> set b [on command := close f] -- и новый обработчик события для кнопки
VD>Q>
При нажатии на кнопку вызовется этот метод. Он поменяет текст в static text и установит новый обработчик события нажатия на кнопку для кнопки. При следующем нажатии, выполнение программы закончится.

VD>Замечания:

VD>1. Переменным все же нужно давать осмысленные имена, а не однобуквенные. Инача воспринимать код очень трудно. Это больше похоже на шифрование.
VD>2. Хотя бы скриншот того что получилось. Ведь не каждый может скачать себе все что жуно чтобы зпустить этот пример. Тут же потребуется и Цигвин ставить, и Хаскель, и еще чего нить.

Получится тоже, что и у тебя. Хотя у меня стиль GUI старый, не знаю, что на XP будет. И я не знаю, как сюда вставлять рисунки. Что нужно для этого сделать?

VD>Кстати, конструкции вроде:

VD>
VD>f <- frame        [text := "Bye!"]
VD>

VD>тоже хорошо бы объяснить.

Это синтаксис языка заточенный под работу с монадами (в конечном счете для того, чтобы ввод-вывод был более красивым и понятным). Подобная конструкция означает, что с переменной f будет связано некоторое значение, в данном случае окно. frame — функция, которая его создает. В квадратных скобках список пропертей. := — на самом деле просто перегруженная функция, а не равно, которая присваивает значение соответствующему атрибуту и возвращает его в виде проперти.

VD>С шарпом подобный пример тяжело сравнивать по той причине, что он а) ничего не далет, б) дизайн форм в Шарпе делается визуально и из всего приведенного кода написать прийдется только "Close();". Но конечно можно и вручную:


VD>Я не знаю как-кто, а я особоно приемущества не вижу.


Ну правильно. Я же говорю, все очень похоже. То что есть визуальный редактор, облегчает работу, конечно, но теоретически можно и для Haskell такой написать.
Re[20]: Вопрос о конкретных примерах
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.10.04 22:32
Оценка:
Здравствуйте, Quintanar, Вы писали:

Q>При нажатии на кнопку вызовется этот метод. Он поменяет текст в static text и установит новый обработчик события нажатия на кнопку для кнопки. При следующем нажатии, выполнение программы закончится.


Ужас какой.
К сожалению это совсем не очевидно.

Q>Получится тоже, что и у тебя.


Вот только я не уверен, что все догадаются об этом.

Q>И я не знаю, как сюда вставлять рисунки. Что нужно для этого сделать?


Нажать на свое имя в верхнем правом углу броузера. Откроется профайл... Выбрать в нем пункт "Файлы" (ссылка сверху). Далее сделать картинку и положит ее где-нить на свой винт. Потом указать путь в соотвествующем текстовом поле и нажать кнопку "загрузить". После этого файл добавится в твой личный список файлов на сервере и ты сможешь дать на него ссылку (она как раз появится на экране после загрузки). На, а далее все элементарно. Берешь ЮРЛ и помещаешь в тэк [url=]мой юрл[/url]. При этом уже в превью картинка должна быть видна.

VD>>Кстати, конструкции вроде:

VD>>
VD>>f <- frame        [text := "Bye!"]
VD>>

VD>>тоже хорошо бы объяснить.

Q>Это синтаксис языка заточенный под работу с монадами (в конечном счете для того, чтобы ввод-вывод был более красивым и понятным). Подобная конструкция означает, что с переменной f будет связано некоторое значение, в данном случае окно. frame — функция, которая его создает. В квадратных скобках список пропертей. := — на самом деле просто перегруженная функция, а не равно, которая присваивает значение соответствующему атрибуту и возвращает его в виде проперти.


Во! Это уже обяснение! Именно так и нужно.

Q>Ну правильно. Я же говорю, все очень похоже. То что есть визуальный редактор, облегчает работу, конечно, но теоретически можно и для Haskell такой написать.


ЗЫ

А вот с подменой обработчика я без объяснения врубиться не смог.

В обще, нужно взять этот бесхитросный пример и разжевать до мелочей. При этом продемонстрировать его на несколькоих языках, чтобы те кто знает один из них поняли остальные по аналогии (и объяснениям).
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Вопрос о конкретных примерах
От: Gaperton http://gaperton.livejournal.com
Дата: 11.10.04 03:10
Оценка:
Здравствуйте, prVovik, Вы писали:

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


FR>>В тесте с решетом я не увидел никакого жульничества, другое дело что как тест производительности он никуда ни годится.

FR>>А вообще пусть компиляторы "жульничают" при условии что выдают корректные результаты.
V>Конечно, это не плохо, это очень даже хорошо. Это говорит о качестве компиляторов, о том, что они могут оптимизировать. НО! Не стоит на основании частного случая делать общих выводов!

V>То, что компилятор Clean научен оптимизировать именно массив и только тогда, когда на него существует единственная ссылка — это, конечно, хорошо, но проблемы, которую я описал еще в посте Re[10]: Вопрос о конкретных примерах
Автор: prVovik
Дата: 02.10.04
в не решает. То есть проблемы изменения объекта, когда на него существует множество ссылок.

Компилятор Clean научен оптимизировать изменение любого объекта, тип которого помечен как unique. Если на такой объект будет больше одной ссылки, прога не скомпилируется — признак unique часть сигнатуры типа. Для того, чтобы решить твою неразрешимую "проблему", достаточно добавить этот признак к некоторым объектам и немного перекомпоновать структуру данных, и в результате удастся получить производительность сравнимую с С (не более чем в 2-3 раза медленнее с одинаковой асимптотикой) в чисто функциональной программе. Что я, так же как и Quintatar, готов показать на конкретном примере.

Без которого вся твоя "философия" — просто сотрясяние воздуха. Привел бы ты конкретный пример с самого начала — не было бы вопросов. А так — похоже на студенческий замер пиписьками.
Re[23]: Вопрос о конкретных примерах
От: Gaperton http://gaperton.livejournal.com
Дата: 11.10.04 03:23
Оценка: +1
Здравствуйте, prVovik, Вы писали:

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


V>Наша беседа:

Поправлю.

V>Gaperton:

V>-- Гы-гы. Ацтой! Гы-гы. Ацтой! Гы-гы. Ацтой!
Поклеп и инсенуации.

V>Я:

V>-- С чем именно ты не согласем? Приведи аргументы!
Не, не так. Ты:
Ты чо, чувак, МОИ посты не читаешь, я не понял? Не понимаешь, чо за умную штуку я тут написал? Так я для тебя еще разок повторю, может тебе надоест, и ты согласишься?
А я тебе:
Нет, не понимаю, и не соглашусь.



V>Gaperton:

V>-- А мне за аргументы деньги не платят.
Ну да. Не платят ведь, и в самом деле!

V>Нормальное такое конструктивное обсуждение

Обсуждения я не заметил. Заметил, что ты споришь, а не обсуждаешь.
А по существу аргументы люди тебе привели в достаточном количестве, я расставил им плюсы, и не вижу нужды повторяться.
Re[17]: Вопрос о конкретных примерах
От: Sinclair Россия https://github.com/evilguest/
Дата: 11.10.04 04:10
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Дык это как раз одно из самых интересных. Кому сегодня нужен язык не позволяющий создавать ГУИ?

Кстати, если верно то, что я понял об функциональных языках, то на них можно писать совершенно замечательный гуй. Только нужно отвлечься от этих дурацких Button1.Width=71.
По идее, если придумать удачное описание гуя, то всякий докинг и прочее должно очень изящно получаться. При помощи функций высшего порядка

Кстати, обрати внимание, что в MS тоже догадались, что большая часть инициализационного кода (того, что в Delphi лежало в DFM) тоже нафиг никому не упала. Существуют диздоки, которые явным образом запрещают программерам заниматься попиксельной подгонкой контролов. Вместо дурацких статичных диалогов, стандарты на которые надо пересматривать раз в 5 лет для адаптации к новым характеристикам мониторов, мы переходим к динамичным "резиновым" формам. Ну и язык разметки вместо разбрасывания контролов как коровьих лепешек на лугу превращается в задание взаимосвязей между ними. В новых WinForms есть соответствующие контролы для управления собсно алигнментом.

Так вот если я что-то в чем-то понимаю, то ФП может предоставить еще более крутые методы управления всей этой ерундой. Типа выбора алигнмента контролов на основе паттерн-матчинга и прочих всяких суперпозиций.
Вот только чтобы это придумать голову надо очень сильно извернуть.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: Вопрос о конкретных примерах
От: faulx  
Дата: 11.10.04 06:04
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Так же многие тут предлагали создать более близкий к жизник пример. А то примеры уж больно оторваны от жизни. Например, интересно было бы поглядеть на то как будет выглядеть динамическая веб-страничка на одном из ФЯ.


Это не подойдет? Если верить тому, что написано здесь, это то, что нужно.
Re[17]: Вопрос о конкретных примерах
От: faulx  
Дата: 11.10.04 06:19
Оценка: :))
Здравствуйте, VladD2, Вы писали:


INT>>Имху, реальным стресс-тестом для любого языка общего назначения может быть серьезная real-time 3d графика и/или физика...


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


VD>Но как пример того, что такие проекты возможны и есть было бы неплохо заполучить ссылку на подобное приложение


Это не подойдет? Erlang.

Вроде видел и другие ссылки, но они менее серьезные. Кое-что есть здесь, можно также поискать в Google на предмет OcamlDoom.
Re[18]: Вопрос о конкретных примерах
От: faulx  
Дата: 11.10.04 06:28
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Кстати, если верно то, что я понял об функциональных языках, то на них можно писать совершенно замечательный гуй. Только нужно отвлечься от этих дурацких Button1.Width=71.

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

S>Кстати, обрати внимание, что в MS тоже догадались, что большая часть инициализационного кода (того, что в Delphi лежало в DFM) тоже нафиг никому не упала. Существуют диздоки, которые явным образом запрещают программерам заниматься попиксельной подгонкой контролов. Вместо дурацких статичных диалогов, стандарты на которые надо пересматривать раз в 5 лет для адаптации к новым характеристикам мониторов, мы переходим к динамичным "резиновым" формам. Ну и язык разметки вместо разбрасывания контролов как коровьих лепешек на лугу превращается в задание взаимосвязей между ними. В новых WinForms есть соответствующие контролы для управления собсно алигнментом.


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

S>Вот только чтобы это придумать голову надо очень сильно извернуть.

Здесь нельзя не вспомнить о Fudgets, FranTk, а также о кое-каких любопытных статьях вроде этой или этой.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.