Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Imperative v. Functional, выбираем языки и задачу 
:(
    Опции темы
setq
Дата 2.11.2005, 22:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











собственно "религиозная война" по сабжу проходит в данный момент здесь.

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

* скорость разработки
* производительность
* читаемость и элегантность
* ещё чего-нибудь
  Вверх
Void
Дата 2.11.2005, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



Цитата(setq @ 3.11.2005, 00:41)
предлагается выбрать два языка: один императивный и один функциональный

Зачем ограничиваться двумя языками? Сколько найдется желающих реализовать тестовую задачу, столько и языков. Функциональный мир тоже довольно разнообразен.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
LSD
Дата 2.11.2005, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: нет
Всего: 538



Цитата(setq @ 2.11.2005, 22:41)
* скорость разработки

Чтобы корректно сравнить данный параметр, надо вести разработку двумя командами разработчиков равными по уровню, и задание должно быть достаточно объемным на пол года год. А когда пишет один человек, да еще в свободное от работы/учебы время, сравнивать этот параметр нельзя. Да и уровень знания языка разный, что опять оказывает влияние.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Cr@$h
Дата 30.1.2006, 02:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: нет
Всего: 41



Цитата(setq @ 2.11.2005, 23:41 Найти цитируемый пост)

скорость разработки

Слмневаюсь в объективности, будут большие погрешности. А при большом интервале еще больше внешних условий и причин.
Лучше сравнить, сколько кода содержит программа. Она не должна быть большой.
PM MAIL ICQ   Вверх
Void
Дата 30.1.2006, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



Цитата(Cr@$h @ 30.1.2006, 04:45 Найти цитируемый пост)
Лучше сравнить, сколько кода содержит программа. Она не должна быть большой.

Тот еще критерий... Краткость кода не всегда является однозначным преимуществом. Классический антипример — Perl. То есть нужен разумный баланс с понятностью и эффективностью. Правда, проблема с первым — весьма субъективный параметр smile

Ну так как, никто еще не придумал сравнительных тестов? smile Я могу найти тесты заведомо выигрышные как для ИЯ, так и для ФЯ. А вот нейтральные что-то не получается smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Cr@$h
Дата 30.1.2006, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: нет
Всего: 41



Цитата(Void @ 30.1.2006, 20:24 Найти цитируемый пост)

Тот еще критерий... Краткость кода не всегда является однозначным преимуществом.

Я не про преимущество. Вообще, "птичие" языки не очень люблю за их }}}}. Просто можно сравнить объективно по громоздкости кода.
PM MAIL ICQ   Вверх
LSD
Дата 30.1.2006, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: нет
Всего: 538



Цитата(Cr@$h @ 30.1.2006, 19:38 Найти цитируемый пост)
Просто можно сравнить объективно по громоздкости кода.

Это как?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Void
Дата 30.1.2006, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



LSD
Методом экспертных оценок, гы smile На самом деле объективно сравнивать тут не получится по любому, да мы ведь вроде бы и не преследуем такие цели?


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Cr@$h
Дата 30.1.2006, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: нет
Всего: 41



Одно из решений может оказаться громоздким, значит язык для этого не подходит.
PM MAIL ICQ   Вверх
LSD
Дата 31.1.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: нет
Всего: 538



Цитата(Void @ 30.1.2006, 21:36 Найти цитируемый пост)
Методом экспертных оценок, гы

Где здесь в эксперты записывают? smile

Цитата(Void @ 30.1.2006, 21:36 Найти цитируемый пост)
На самом деле объективно сравнивать тут не получится по любому, да мы ведь вроде бы и не преследуем такие цели?

А тогда какие цели преследуем? Очередные "религиозные войны"?
Я понимаю, что полной объективности мы не получим, но попытаться стоит.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Void
Дата 31.1.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



Объективно нам удастся сравнить только быстродействие: эффективность по времени и по памяти. Все остальные метрики субъективны. Можно конечно ещепосчитать число строк, число лексем, отношение времени, потраченного программистом к норме осадков в Зимбабве... smile Субъективные выводы каждый сделает для себя сам.

Цитата(LSD @ 31.1.2006, 13:52 Найти цитируемый пост)
Где здесь в эксперты записывают?

Здесь и записывают smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Cr@$h
Дата 26.2.2006, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: нет
Всего: 41



Что-то глухо как-то, а? Для начала, думаю, нужна задачка незатейливая...
PM MAIL ICQ   Вверх
Void
Дата 27.2.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



Ну хорошо, держите задачку, не знаю правда, насколько незатейливую smile

Реализовать ассоциативный контейнер (map, dictionary) на базе AVL-деревьев.
Поскольку все тестируемые языки, я так понимаю, либо поддерживают статический полиморфизм, либо динамически типизированы, контейнер должен быть универсален — пользователь должен иметь возможность задать тип ключа и значения и метод сравнения ключей.
Обязательная функциональность: вставка и удаление элемента, проверка на наличие заданного ключа, перебор всех ключей по порядку.
Посмотрим на объем реализации, оценим эффективность по времени и по памяти; заодно сравним mutable vs immutable структуры данных и насколько велик проигрыш последних.

Объем кода около 100-300 строк. Чтобы реально что-то замерять, меньше не пойдет. Если хотите сначала просто прицениться к языкам, можно придумать что-нибудь попроще... Правда пока в голову ничего не идет. Не копировать же тесты с shootout smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
setq
Дата 27.2.2006, 23:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ТУПОЙ вопрос по теме можно? smile
Какие именно языки у нас функциональные. Названия.
  Вверх
Void
Дата 28.2.2006, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



Цитата(setq @ 28.2.2006, 01:46 Найти цитируемый пост)
Какие именно языки у нас функциональные. Названия.

Тебе все перечислять? smile Википедия знает много.
Имеет место некоторая путаница. Есть языки чисто функциональные, т.е. без побочных эффектов, например, Haskell, Clean и... все остальные smile Т.е. причислять язык к сонму функциональных или нет — вопрос не совсем формальный. Например, ML-оиды привыкли считать функциональными, хотя в них есть полноценные императивные возможности, а Python или Ruby — императивными, хотя там есть замыкания и функции как first-class values.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Тестирование программ"
mr.Anderson

Правила должны соблюдаться всеми без исключения.

  • Темы, в которых будут обнаружены нарушения, будут закрыты или удалены.
  • К пользователям, многократно нарушившим правила, будут применены отдельные санкции.

Для тех, кто создаёт темы:

В данном разделе запрещается размещать программы, которые в той или иной степени могут принести вред потенциальному тестеру программы (например, трояны, вирусы и т.д.)

  • Публикуя ссылку на программу, обязательно проверьте её работоспособность.
  • ОБЯЗАТЕЛЬНО: напишите название программы, а главное - её описание и приведите хотя бы один скриншот. Скриншот по размерам не более 500х500 пикселов, для скриншотов большего размера приводите ссылки на них.
  • Программа, которую Вы даёте на тестирование, должна быть откомпилирована, так как не каждый является программистом, да и мало кто будет ради тестирования устанавливать соответствующий софт.

Для тех, кто тестирует:

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.Anderson.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разное тестирование | Следующая тема »


 




[ Время генерации скрипта: 0.0928 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.