LINUX.ORG.RU

Предлагайте - С vs C++ vs List vs ?


0

1

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

П.С. ушел гулять, буду поздно

★★★★

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

> во-первых я не лиспер;

во-первых он в основном пишет на С/С++

> а во-вторых, не суди людей по себе, кой-какая гордость у меня всё-таки есть


я тебе даже не видел, потому наличие гордости проверить не могу

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

>если мне не изменяет память

зря я хвалил твою память, зря. знать я C++ знаю, но особого желания писать на нём не испытываю. для багатона предпочёл бы проект на чистом С, Tcl или Haskell (последнее предпочтительно)

>ты думаешь кроме нас двоих кто-то будет что-то писать?

why not? я бы, например, на подобный спор подписался

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

> зря я хвалил твою память, зря.

у меня память хорошая, а не телепатические способности - топики про Tcl и Haskell не читаю

> why not? я бы, например, на подобный спор подписался


ждем тогда таких как ты

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

я предлагаю с самого начала все функции, кроме main, располагать в при-mmap-енном сегменте памяти (права: чтение и исполнение), и все функции дергать строго по указателю на указатель.

а параллельный процесс сможет этот сегмент менять, притом сам этот параллельный процесс может быть написан так же

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

>спросите у него( и сходите к окулисту )

ну найди, найди мне пруфлинк того, что mv пишет на C++ :) найдёшь - соглашусь сходить не только к окулисту, но и к психиатру

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

>я предлагаю с самого начала все функции, кроме main, располагать в при-mmap-енном сегменте памяти (права: чтение и исполнение), и все функции дергать строго по указателю на указатель.

>параллельный процесс сможет этот сегмент менять

а как ты это будешь делать безопасно?

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

> ну найди, найди мне пруфлинк того, что mv пишет на C++ :) найдёшь - соглашусь сходить не только к окулисту, но и к психиатру

Я писал на C++ за з/п до середины 2007 года, сейчас только время от времени, в качестве подработки.

Господа... (бормоча про себя: "Какой я, всё же, умный, почему меня руководство не ценит?...") Я решил задачу с подменой функции на Си :) На Лиспе делать не охота, про такую возможность (редефайн функции прямо по ходу работы программы) и так все знают.

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

> ну найди, найди мне пруфлинк того, что mv пишет на C++ :) найдёшь - соглашусь сходить не только к окулисту, но и к психиатру

да вот только в прошлой теме писал:
http://www.linux.org.ru/jump-message.jsp?msgid=3852965&cid=3853823

марш к психиатру( я серьезно, ты дал слово - исполняй )

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

> а как ты это будешь делать безопасно?

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

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

> Господа... (бормоча про себя: "Какой я, всё же, умный, почему меня руководство не ценит?...") Я решил задачу с подменой функции на Си :)

И какова общая идея по сравнению с моей? Это безопасно?

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

> И какова общая идея по сравнению с моей?

Использование возможностей Линукса.

>Это безопасно?


Да.

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

> Я решил задачу с подменой функции на Си :)

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

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

- проверить контрольную сумму тела функции :))
- заблокировать прерывания
- переключить указатель
- разблокировать прерывание

тогда , да - это безопасно

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

> а как ты это будешь делать безопасно?

причем новый код загружу на новый адрес, а не на старый.

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

> думаю никто не будет спорить, что при наличии готового решения задача снимается

Не было решения. Я хотел просто поглумиться, но потом задумался, как бы сам вывернулся из такой ситуации.

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

> - заблокировать прерывания

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

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

> но потом задумался, как бы сам вывернулся из такой ситуации.

а если система работает в штатном бесконечном цикле *внутри* этой функции?

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

> а если система работает в штатном бесконечном цикле *внутри* этой функции?

Тут и Лисп не спасёт.

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

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

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

>> а если система работает в штатном бесконечном цикле *внутри* этой функции?

> Тут и Лисп не спасёт.

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

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

>> Там соревновались ФП-языки

> fail, там не было ограничений на ЯП

Поставим вопрос по-другому: использовал ли кто-нибудь императивные языки? есть вообще разбивка по используемым языкам? Я пока не нашел.

>>интерпретатор команд, как выяснилось, вещь не самая сложная

>в исходной задаче с ICFPC - да. а у нас?

Ну, если ты хочешь придумать другую задачу, интересно будет посмотреть.

tailgunner ★★★★★
()

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

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

>а если система работает в штатном бесконечном цикле *внутри* этой функции?

то это плохая система

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

> круто же

еще сутки впереди - авось кто-то подбросит стоящую идею

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

> ну вот, снова тест Роршаха проходить... :-(

не забудь окулиста - ты к нему тоже обещался, ждем завтра сканы справок о состоянии здоровья

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

>использовал ли кто-нибудь императивные языки?

да, конечно

>есть вообще разбивка по используемым языкам?

не искал. думаю, что для ICFPC-2009 огласят не раньше августа

>Ну, если ты хочешь придумать другую задачу, интересно будет посмотреть.

я не хочу решать одну и ту же задачу дважды - это неинтересно :)

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

>не забудь окулиста

единственная патология - асимметрия глазного дна

>сканы справок о состоянии здоровья

не обещаюсь завтра, но как только - отправятся в Talks

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

> не обещаюсь завтра, но как только - отправятся в Talks

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

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

> Нет, я хочу посмотреть на то, как рантайме код, написанный на C/C++ менять будут. Много раз говорили, что это возможно, хотя и с лужами кровищи, но вот что-то хочется, в конце-концов, кровищу увидеть.

Ты забыл про десятое правило Гринспуна.

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

> Нет, я хочу посмотреть на то, как рантайме код, написанный на C/C++ менять будут.

А в чем, собственно, проблема?

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

> как пингвин с лямбдой на пузе? o_O

ты ассоциируешь себя с аватаркой? о_О тут явно без психиатра не обойтись

П.С. как трепло
П.П.С. наконец-то срач в темах про программирование, не попинаешь и матом не обложишь - никто и не чешется, вот почему без анонимусов все затихло

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

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

> П.С. как трепло


Будешь честь C/C++ в предложенной мной задаче отстаивать, или нет?

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

> Будешь честь C/C++ в предложенной мной задаче отстаивать, или нет?

"не подходящую под один специфический язык" - как бы специально для лиспофилов писал, но видно они не читают ;) так и быть - разве что давайте усложним задачу, пусть она еще что-то делает во время того как мы ее исправляем, но только не сеть - это банально, интерпретатор не нравится jtootf, у кого какие идеи?

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

>а параллельный процесс сможет этот сегмент менять, притом сам этот параллельный процесс может быть написан так же

Ненавижу всякую херь типа XOrg из-за которой PaX по дефолту выключен.

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

> "не подходящую под один специфический язык" - как бы специально для лиспофилов писал, но видно они не читают ;)

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

> так и быть - разве что давайте усложним задачу, пусть она еще что-то делает во время того как мы ее исправляем, но только не сеть - это банально, интерпретатор не нравится jtootf, у кого какие идеи?


Пое...ть, в моём решении жертва вообще ни о чём не догадывается.

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

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

где я это писал?

> Пое...ть, в моём решении жертва вообще ни о чём не догадывается.


решение кроссплатформенное?

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

> где я это писал?

Не ты, безликий аноним, но тенденция (отрицание фич, ради которых язык и стоит выучить) на лицо.

> решение кроссплатформенное?


Ты хотя бы для одной реши.

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

> У тебя есть работающий вариант? :)

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

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

> Не ты, безликий аноним, но тенденция (отрицание фич, ради которых язык и стоит выучить) на лицо.

вы мне еще холокост припишите и два мешка картошки украденных сегодня на рынке

> Ты хотя бы для одной реши.


т.е. нет? пионерщина на марше

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

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

Добровольное анальное рабство.

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

> Добровольное анальное рабство.

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

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

> т.е. нет? пионерщина на марше

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

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

> Много слов, мало дела. Я в шаге о того, чтобы начать считать тебя хроническим словоблудом. Понимаю, что языком чесать - не мешки ворочать, но не одобряю.

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

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