LINUX.ORG.RU

Выход mocl

 , ,


7

8

mocl — набор инструментов для разработки на Common Lisp под мобильные платформы iOS и Android. По заверениям разработчиков получаемый код (используется LLVM) по производительности значительно превосходит аналогичный на Java/Dalvik.

В основе mocl лежит идея, заключающаяся в том, что логика приложения должна быть полностью описана на Лиспе, а пользовательский интерфейс — быть «родным» для платформы. Авторы проводят аналогию с Вэбом, когда логика серверного приложения описана на одном языке (например, на Лиспе), а представление — на другом (HTML + JavaScript).

Цена лицензии варьируется от $1299 для серьёзных компаний до $199 для индивидуальных разработчиков. Также предусмотрена «Source code license» для особых энтузиастов, доступ к которой, по-видимому, дают после обращения в службу поддержки.

Пример приложения на Github.

>>> Подробности

★★★★★

Проверено: mono ()
Последнее исправление: Dendy (всего исправлений: 4)

Ответ на: комментарий от anonymous

Him: No way.

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

anonymous
()
Ответ на: комментарий от anonymous

Это несколько эмоционально называть разработки и сервисы гугла результатом работы стаи макак.

Инженеры (VP of Engineering это технарь а не манагер) с опытом очень знакомы с мифами и легендами в IT отросли, сознательно распространяемыми либо троллями just for fun, либо людьми с психологическими проблемами с целью оправдания собственных неудач/провалов с целью повысить самооценку (канонический пример Пол Грэм - вероятно 2 в одном).

К примеру вывод Питера Норвига после многолетней работы с разными командами - его ответ на вопрос

“You were a big advocate of Lisp, why isn't it used extensively at Google?"
... never expected programmers to be a as productive in C++ as Lisp ...

(http://www.youtube.com/watch?feature=player_detailpage&v=hE7k0_9k0VA#t=177s)

Далее прагматичное резюме также от Норвига:

[Programming] language choice is not as important as all the other choices:
if you have the right overall architecture, the right team of programmers, the right development process
that allows for rapid development with continuous improvement, then many languages will work for you;
if you don’t have those things you’re in trouble regardless of your language choice.

anonymous
()
Ответ на: комментарий от linuxnewb

Дурака включил?

Слишком сложный вопрос?

Там есть четыре алгоритма для четырех случаев.

Там нет описанного результата.

Да просто говори «соснул» да и всё.

Ты лучше прошение в трех экземплярах напиши и если я снизойду - тогда увидим.

r ★★★★★
()
Ответ на: комментарий от anonymous

либо людьми с психологическими проблемами с целью оправдания собственных неудач/провалов с целью повысить самооценку (канонический пример Пол Грэм - вероятно 2 в одном).

лол. Срубил несколько лимонов и все еще неудачник? лол^2.

anonymous
()
Ответ на: комментарий от anonymous

[Programming] language choice is not as important as all the other choices:

if you have the right overall architecture, the right team of programmers, the right development process that allows for rapid development with continuous improvement, then many languages will work for you; if you don’t have those things you’re in trouble regardless of your language choice.

Ну да, так и есть. Ну почему же у тебя столько попаболи от Лиспа? Чем же команда на Лиспе хуже команды на Java или C++. Задачи решаются, деньги зарабатываются.

anonymous
()
Ответ на: комментарий от anonymous

”You were a big advocate of Lisp, why isn't it used extensively at Google?"
... never expected programmers to be a as productive in C++ as Lisp ...

гугл здоровый — ресурсов много, могут и на C++ писать в сроки. Я разрешаю.

anonymous
()
Ответ на: комментарий от r

Слишком сложный вопрос?

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

Там нет описанного результата.

Результат --- дата рождения. Для всех четырех случаев.

Алгоритм --- «$birthday=now()-$age();». Для всех четырех случаев.

Вопрос --- алгоритм одинаков для всех четырех случаев или нет? Если нет, то в чем различия?

Запиши уже на стикере и повесь на монитор себе, что ли. Или, не знаю, маркером на экране. Сколько можно одно и то же переспрашивать?

linuxnewb
()
Последнее исправление: linuxnewb (всего исправлений: 1)
Ответ на: комментарий от linuxnewb

компьютер за тебя думать не станет.

За тебя тоже. Ты постишь нерабочие куски кода и спрашиваешь, какая разница в их работе - естественно, ее нет, они все одинаково не работают.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Чем же команда на Лиспе хуже команды на Java или C++.

Чем же хуже? Ты что, издеваешься? Я не знаю сколько нужно кодеров на C++ или Java (+ степень слаженности кодеров), чтобы они хоть сколь-нибудь приблизились к одному годному Лисперу по эффективности решений проблем.

BooBoo
()
Ответ на: комментарий от BooBoo

Я не знаю сколько нужно кодеров на C++ или Java (+ степень слаженности кодеров), чтобы они хоть сколь-нибудь приблизились к одному годному Лисперу по эффективности решений проблем.

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

wota ★★
()
Ответ на: комментарий от tailgunner

Ты постишь нерабочие куски кода и спрашиваешь, какая разница в их работе

Я постил _алгоритм_. Можешь записать его блок-схемой, например, если тебе так удобнее сравнивать. Какие затруднения?

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

linuxnewb
()
Ответ на: комментарий от anonymous

Денег Пол заработал, но по-видимому не смог смириться с тем что продукт пришлось полностью переписать и возможно тем что продукт никогда не был особенно популярным.

Разве не очевидно что реакция Пола была более чем странной (очень напоминает страдания брошенного неадекватна страдающего от неразделанной любви)? На протяжении последующих лет обвинять команду Yahoo в некомпетентности прямо и намеками через свои статьи. К сожалению никто и никогда не слышал комментариев 2й стороны - разработчиков Yahoo.

Разве не очевидно что персонажи бездоказательно принимающие высказиваниа Пола за истину и бездумно и остервенело их тиражируя, ничем не отличаются от психически неуравновешенных адептов любой секты? Масса успешных стартапов (часто также основанных одиночками) создавших множество популярных и всеми используемых приложений/игр/открытий с открытой и всем доступной документацией и работающим кодом не являются для них аргументом. А вот мифической веб магазин, _единственное_ поделие Пола никем из последователей Пола не использовшимся, кода которого никогда из не видел, является объектом бурного поклонения.

anonymous
()
Ответ на: комментарий от anonymous

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

Далеко ходить не надо, достаточно взглянуть на убеждения уважаемого товарища БуБу:

Я не знаю сколько нужно кодеров на C++ или Java (+ степень слаженности кодеров), чтобы они хоть сколь-нибудь приблизились к одному годному Лисперу по эффективности решений проблем.

Как думаешь, его устроит ответ что годных (ключевое слово) кодеров на C++ или Java нужно ровно столькоже как и на лиспе или это вызовет очередной всплеск эмоций? ;)

anonymous
()
Ответ на: комментарий от tailgunner

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

linuxnewb
()
Ответ на: комментарий от linuxnewb

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

Какой «этот»? Код, который постил r, выполняется в интерпретаторе Scala, твой - нет. О чем тут говорить?

Ничего фейспальмного в этом нет.

Ну да, ну да. Представление о фейспалме у тебя такое же глубуоко личное, как и представление об алгоритме.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от wota

каких именно проблем?

Подавляющее большинство проблем.

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

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

давай другую, только с полным твоим решением

На spoj'е смысла особого нет. Мне вообще кажется, что sbcl сорцы они пускают «sbcl --script» образом и далее всё считают за runtime. Тесты проходят, время приемлемое. Всё. Смысла тягаться с сишечкой нет.

Я делаю потихоньку что-то вроде ideone/spoj. Только более адекватный сервис, в плане замеров. Плюс из идей возможность использования не только стандартной бибилотеки. Например, для C++ можно будет использовать boost.

BooBoo
()
Ответ на: комментарий от anonymous

нужно ровно столькоже как и

Различия в эффективности инструментов объективно существуют, так что совсем ровно не получится, только в рамках некоторой погрешности.

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

linuxnewb
()
Ответ на: комментарий от tailgunner

Какой «этот»? Код, который постил r, выполняется в интерпретаторе Scala, твой - нет. О чем тут говорить?

В рамках этой нити разговора никто никакой код не постил. Так что да, говорить не о чем, спи дальше.

Ну да, ну да. Представление о фейспалме у тебя такое же глубуоко личное, как и представление об алгоритме.

Ну да, ну да. Это ведь я запихнул псевкдокод в скалу. Действительно, глубоко личное представление об алгоритме!

linuxnewb
()
Ответ на: комментарий от BooBoo

Подавляющее большинство проблем.

а почему они не решаются на лиспе, он же такой эффективный и простой? есть всего несколько достойных примеров, которыми лисперы постоянно махают, и то все старые

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

так ты и:

Выход mocl (комментарий)

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

wota ★★
()
Ответ на: комментарий от anonymous

Далеко ходить не надо, достаточно взглянуть на убеждения уважаемого товарища БуБу

Я убеждён не просто так, а совершенно рационально. Убеждение подкреплено практикой. В моей команде работают ещё 3 Лиспера. И по горькому опыту мы знаем, что, например, типичный Java-кодерок практически не поддаётся обучению и прожжён просиживанием штанов в больших тырпрайзных конторах. С плюсовиками чуточку лучше. Совсем всё хорошо с рубистами, питонщиками и перловиками.

BooBoo
()
Ответ на: комментарий от linuxnewb

Это ведь я запихнул псевкдокод в скалу

Не, ты написал волшебную функцию age, которая умеет работать с любыми входными данными.

tailgunner ★★★★★
()
Ответ на: комментарий от dave

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

-- Пятьдесят! — предложил отец Федор. -- Мусик! — сказал инженер. Позови Багратиона. Пусть проводит гражданина! -- Не корысти ради... -- Багратион!

В тот момент, когда инженер, обмотав косточку папиросной бумагой, поднес гусиную ножку к розовому рту, в окне появилось умоляющее лицо отца Федора. -- Не корысти ради, сказал мягкий голос. Пятьдесят пять рублей. Инженер, не оглядываясь, зарычал. Отец Федор исчез.

anonymous
()
Ответ на: комментарий от wota

а почему они не решаются на лиспе, он же такой эффективный и простой? есть всего несколько достойных примеров, которыми лисперы постоянно махают, и то все старые

Ещё как решаются, но в крайне меньшем объёме, чем на мейнстримных языках. Просто ты не вкурсе.

которыми лисперы постоянно махают, и то все старые

А что ещё делать, когда вместо того, что бы оценить качество инструмента и подискутировать о реальных достоинствах и недостатках инструментария, единственный аргумент лиспофобов — популярность и количество.

проиграл с большим разрывом

Я объяснил почему.

а насчет «реальных проблем » - еще как нужна, видимо ты просто их не решаешь

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

BooBoo
()
Ответ на: комментарий от anonymous

Почти на всех форумах последние 10 лет подобны диалог заканчиваются примерно одинаково - лиспомнаьяков с их слабыми аргументами игнорят или банят, но эти упорные люди имеют волевую привычку возвращаться все с теми же аргументами..

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

BooBoo
()
Ответ на: комментарий от BooBoo

Просто ты не вкурсе.

окай, и видимо не только я

А что ещё делать, когда вместо того, что бы оценить качество инструмента и подискутировать о реальных достоинствах и недостатках инструментария, единственный аргумент лиспофобов — популярность и количество.

да нет, как раз это ты начал говорить об абстрактной эффективности, хотя мой код в >20 быстрее, а пример quasimoto (при использовании современного стандарта) в два раза меньше и тоже гораздо быстрее

#include <cstdio>
#include <unordered_map>

int main() {
    std::unordered_map<int,int> stack;
    int heteros = 0, homos = 0;
    char buf[20];
    
    int n=atoi(fgets(buf, 20, stdin));
    do {
        fgets(buf, 20, stdin); int i = atoi(buf+7);
        if(*buf == 'i') {
            auto ret = stack.insert({i, 0});
            if (ret.second) ++heteros;
            else { ++(ret.first->second); ++homos; }
        } else {
            auto it = stack.find(i);
            if (it != stack.end())
                if (it->second--) --homos;
                else { --heteros; stack.erase(it); }
        }
        puts(heteros > 1 ? homos ? "both" : "hetero" : homos ? "homo" : "neither");
    } while (--n);
}

так что же эффективность в твоем понимании? писать много тормозного кода? пользоваться ЯП с убогим инструментарием? и да - ваш любимый LispWorks просто школьная поделка против, например, IDEA, про кол-во и качество библиотек и говорить не надо

И задачи на микрооптимизацию как правило совершенно не интересны и, в целом, просты

окей, догони мой результат, или балабол

wota ★★
()
Последнее исправление: wota (всего исправлений: 1)
Ответ на: комментарий от wota

окай, и видимо не только я

Да. Это не новость. Lisp решений действительно очень мало.

да нет, как раз это ты начал говорить об абстрактной эффективности

Вообще-то изначально я хотел помериться со Scala. Но позже попросил написать реализацию на C++ с использованием iostream. И ни про какую «абстрактную эффективность» я не говорил. Когда я говорю об эффективности, я имею ввиду либо эффективность (скорость и качество) разработки, либо производительность реализации.

писать много тормозного кода?

Эффективность разработки — это писать качественную реализацию с наименьшими усилиями с приемлемой конечной производительностью.

пользоваться ЯП с убогим инструментарием?

Это ты CL то называешь убогим, относительно C++? :) Даже не смешно.

и да - ваш любимый LispWorks просто школьная поделка против, например, IDEA

IDEA то? :) Что такое IDEA, если не школьная поделка относительно ИП Lisp c emacs/slime.

про кол-во и качество библиотек и говорить не надо

Про качество поговорить ещё можно, но вот про количество действительно нельзя.

окей, догони мой результат, или балабол

Догнать не получиться конечно. Какой смысл тягаться в производительности с языком, где долбёжка указателей и байтиков норма. Но сколь-нибудь приблизиться получиться наверняка. Но только не на spoj. Подожди немного, я выкрою время и допишу ресурс, где можно будет адекватно померить.

BooBoo
()
Ответ на: комментарий от wota

ваш любимый LispWorks просто школьная поделка против, например, IDEA

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

dave ★★★★★
()
Ответ на: комментарий от BooBoo

Вот именно что _только_ аргументы. Но оценивают то исключительно по результатм, а не по разговорам. У верующих аргументы тоже очень старые (сколько там лет самому известному мануалу по вере?) и тоже как ни странно не меняются.

Любой может скачать, собрать и запустить Quake, Blender, etc и да, дофига работающего (и часто отлично документированного) софта из энтерпрайзного мира Java. Соотвественно может самостоятельно (или в группе) изучить и оценить код.

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

Это как Сталин vs Ельцын:

В 1м случае аргументы «за» особо и не нужны - результаты и так всем видны и понятны - промышленность поднята, война выиграна, безопасность страны обеспечена на долгие годы. Аргументы (несмотря на их зашкаливающее количество) «против» (а вот мой дед другое рассказывал) действуют только на истероидов .

Во 2м сколько аргументов «за» не приводи (типа а я вот знаю у которых наступило благоденствие) - результаты тоже всем видны и понятны - промышленность и страна разрушена, холодная война проиграна, безопасность сильно пострадала...

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

anonymous
()
Ответ на: комментарий от linuxnewb

Вопрос элементарный.

Вот и дай на него ответ.

Результат --- дата рождения. Для всех четырех случаев.

Посчитай. У тебя есть конкретные входные данные - дай конкретный результат для каждого из четырех случаев.

Что за проблемы мужик? Я на своей «многословной статикой» со всеми типами тут дкнструкции словарей привожу в виде работающего кода. Ты в своей динамике одну строчку заэкзекутить не можешь в которой одно выражение с одни параметром?

Сколько можно одно и то же переспрашивать?

До тех пор пока ты не ответишь.

r ★★★★★
()
Ответ на: комментарий от anonymous

Вот именно что _только_ аргументы.

Настоящие и серьёзные аргументы относительно использования инструмента для нешуточного увеличения производительности труда. Примеры также есть и всем известны. Но ты же не хочешь ничего изучать, смотреть, пробовать. Тебе подобное большинство не интересуется увеличением производительности труда; ты совершенно не заинтересован в победе над конкурентами. Интересно лишь то, как урвать сиюминутную ржавую копейку, набить брюхо, да ничиго не делать. Принеси, да в рот положи. Но ты ведь снова нифига не поймёшь, да ещё и скажешь что «нинужно». Прогрессивному обществу такие свиньи не нужны. И чем дальше, тем больше тебе подобные будут уходить из IT работать ассенизаторами. Да и проблемы вами решаемые — примитивны, унылы и совершенно тривиальны.

Еще раз - массы интересеует исключительно результат, который можно потрогать - он или есть или его нет.

Массы интересует где что урвать сиюминутно, да и пожрать. Не обманывай себя. Рациональная логика при выборе инструментов остутствует. Да и кто тебе доверит выбирать инструмент? За тебя уже решили никчёмные манагеры, при выборе руководствуясь дебильным критерием популярности, ничего не имеющим общего с инженерными и научными критериями.

BooBoo
()
Ответ на: комментарий от anonymous

Да брось, а ты. Какой смысл что-то приводить анонимному психоаналитику. Это как об стенку горох.

BooBoo
()
Ответ на: комментарий от anonymous

Название конторы, где ты и еще трое лисперов трудятся - в студию.

Тебе, анонимной прошмандовке — ни за что.

BooBoo
()
Ответ на: комментарий от linuxnewb

Еще один дурака включил. Нормально, чо.

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

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Как думаешь, его устроит ответ что годных (ключевое слово) кодеров на C++ или Java нужно ровно столькоже как и на лиспе или это вызовет очередной всплеск эмоций? ;)

Нет. По производительности труда, типичный Java кодер не успеет и глазом маргнут, как «соснёт» у типичного Lisp программиста. Но справедливости ради надо заметить, что не все Java кодеры низкоэффективны. Есть малая часть Java программистов, которая действительно решает проблемы и остро осознаёт ущербность и ограниченность Java как инструмента. Такие господа всё чаще и чаще смотрят на вещи, навроде, Clojure и Scala.

BooBoo
()
Ответ на: комментарий от r

Вот и дай на него ответ.

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

Посчитай. У тебя есть конкретные входные данные - дай конкретный результат для каждого из четырех случаев

Какую еще, не относящуюся к вопросу информацию, тебе необходимо предоставить, чтобы ты смог ответить на вопрос? Давай сразу весь список. А то так и пойдет: сначала выход посчитать, потом готовый код написать...

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

И да, если тебе так нужны результаты — сам и посчитай: алгоритм есть.

Что за проблемы мужик? Я на своей «многословной статикой» со всеми типами тут дкнструкции словарей привожу в виде работающего кода.

...а на простой вопрос ответить не можешь. Не воспринемаешь такую запись — ну возми ты карандаш и бумагу, нарисуй его блок-схемой, или что там тебе удобнее. Непонятно что-то в записи — уточни, спроси. Что за проблемы, мужик? Любая школота справится за 10 минут. Но ты же у нас гуру! Тебе и 9 должно хватить.

До тех пор пока ты не ответишь

Я тебе пятый раз отвечаю.

linuxnewb
()
Ответ на: комментарий от BooBoo

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

Хочешь возразить что люди пишущие на лиспе лишены всех эти земных и примитивных инстинктов и желаний?

Или ты участвуешь в конкурентной борьбе исключительно ради высокой цели - построения «прогрессивного общества», а не ведомый инстинктами как остальные примитивные человекообразные?

Биомедицина, AI, 3D моделирование в военной и гражданской промышленности, etc - на твой взгляд это все унылые задачи с тривиальным решением - промежуточный, но необходимый этап карьеры ассинезатора?

Принеси, да в рот положи.

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

Проектам на лиспе не нужны менеджеры ставящие ограничения по фичам и времени? Задача проекта в строк от которого зависят сотни других проектов зданных в срок, от которых... рекурсия короче... в построенном тобой совместно с единомышленниками «прогрессивном обществе» (вот бы узнать определение такого общества по БуБу) отсутствует? Хотя вероятно я знаю - это царство божие - вне времени, никто никому ничего не должен, жрать не надо, зарабатывать не надо, можно вечно постигать дзен лиспа ;)

anonymous
()
Ответ на: комментарий от tailgunner

Мде. А привести в качестве «алгоритма» неработающий код (и ничего не сказать о деталях реализации)

Мде. Это вообще что, технический ресурс или детсадовская оналйн-группа для умственно-отсталых?

linuxnewb
()
Ответ на: комментарий от linuxnewb

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

Мде. Это вообще что, технический ресурс или детсадовская оналйн-группа для умственно-отсталых?

Сейчас уже и не знаю.

tailgunner ★★★★★
()
Ответ на: комментарий от linuxnewb

Хочешь содержательной дискусии — ответь на него

Хочешь содержательной дискусии — ответь на мой

Давай сразу весь список.

Ты пока на оди элементрный ответить не смог.

А то так и пойдет: сначала выход посчитать, потом готовый код написать...

Я понимаю - это невероятно трудно написать работающий код...

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

Алгоритмы имеют вход и выход. У тебя выхода - нет. Твое описание алгоритма совсем не говорит о том что оно делает. Твой «алгоритм» описан вот так:

R = f1 o a2

На таком уровне абстракции это может быть что угодно. Например как заработать денег - надо начать их зарабатывать.

Ты описал «алгоритм» для четырех входных данных почему- ты сопротивляешься показать какой выход дяля четырех рехультатов? В прочем можешгь не отвечать - всем включая тебя очевидно что как только ты покажешь 4 разных результата - сразу станет очевидным почему код «поломается» (за определением к BooBoo) при изменении входных данных.

И да, если тебе так нужны результаты — сам и посчитай: алгоритм есть.

Что - для тебя слишком трудно обосновать собственное решение? Понемаю...

...а на простой вопрос ответить не можешь

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

Непонятно что-то в записи — уточни, спроси.

Я тебя спрашиваю - результат вычислений в студию. Тебе отнялось?

Любая школота справится за 10 минут.

Ты уже третью страницу свой алгоритм запустить не можешь. Недошколота?

Я тебе пятый раз отвечаю.

Давай давай - четыре выходных результата. Напряги остатки мозга.

r ★★★★★
()
Ответ на: комментарий от dave

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

скорее не проникся фанатизмом, вот взять задачу приведенную выше лиспером:

#include <cstdio>
#include <map>

int main() {
    std::map<int,int> stack;
    int heteros=0, homos=0, n, i;
    char buf[20];
    
    scanf("%d",&n);
    do {
        scanf("%s %d", &buf, &i);
        if(*buf == 'i') {
            stack[i]++ ? ++homos : ++heteros;
        } else if(stack.count(i)) {
            if(--stack[i]) --homos;
            else stack.erase(i), --heteros;
        }
        puts(heteros > 1 ? homos ? "both" : "hetero" : homos ? "homo" : "neither");
    } while (--n);
}

это ее решение на С++, которое в 3 раза меньше решения на CL, забудем про скорость работы (не надо догонять даже этот пример, а он таки в разы быстрее), покажите хотя бы (не обязательно вы), что CL позволяет писать более компактный и более читабельный код чем на примитивном С++. И да - это задача про списки от лиспера, ну где как не ней развернуться, и да - пустых рассказов про эффективных лисперов уже было достаточно, в них вы, конечно, просто лучшие, но давайте поговорим про что-то связанное с реальным кодом, а там уже решать, что таки эффективнее. BooBoo, ты тоже приглашаешься.

wota ★★
()
Ответ на: комментарий от wota

Ты думаешь мне интересно заниматься твоей задачей? Не знаю, что там у тебя, но всегда можно найти примеры в пользу того или иного языка, особенно если большая часть работы делается какой-нибудь библиотечной функцией. Фича лиспа - в особенном стиле разработки.

dave ★★★★★
()
Ответ на: комментарий от dave

Ты думаешь мне интересно заниматься твоей задачей?

это не моя задача, и да - я не сомневался, что неинтересно, написать 10 строк для лиспера - подвиг, наплодить тысячи комментариев про крутость лиспа - рядовое занятие, ок - не буду вам мешать заниматься делом

Фича лиспа - в особенном стиле разработки.

есть более лучшие языки с REPL, например Ruby, но это уже чисто ИМХО, не стоит это обсуждать

wota ★★
()

Годный пост в тему, тащем: http://lists.racket-lang.org/users/archive/2013-June/058370.html

In my opinion, there are two kinds of DSLs: good ones and bad ones.

Good ones feel like you're using the programming language, but it has been tailored to the problem domain. Your intuitions about using the language still work in the DSL, and the DSL manages to fill in the boilerplate that would be required if you were using the raw language.

Bad ones are so special-purpose that you almost have to forget what you know about the programming language you're using to make the DSL work.

x4DA ★★★★★
()
Ответ на: комментарий от wota

есть более лучшие языки с REPL

лучшие

обоснуй

ados ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.