metaclass: (Default)
[personal profile] metaclass
К этому: http://jdevelop.livejournal.com/1969110.html
Вообще, в F# та же проблема. Когда функциональный язык сделан поверх не способствующей тому платформы, стеки вызовов превращаются в кромешный ад.
Причем, если при этом фигурирует ленивость - можно сразу вешаться, т.к. найти источник ошибки, не натыкав во все места принудительную активизацию всех ленивых величин, практически нереально (при работе с БД и утеканием итераторов из открытых запросв это еще обычно и ошибку вылечит).
Альтернатива, видимо - некая визуализация потоков данных и показ "откуда пришла эта хрень".

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

Date: 2012-06-17 04:47 pm (UTC)
From: [identity profile] antilamer.livejournal.com
Ну, первое из этого - результат использования примитивного средства, не предназначавшегося для программ со столь обильным и разносторонним использованием понятия "функция". Хотя я признаю, что альтернативы ему нет - как нет альтернативы, ну скажем, приборной панели с регистрами в виде лампочек и рычажков - при повышении уровня языка отладка на низком уровне становится сложнее, зато обычно упрощается на высоком уровне.

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

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2025 12:10 am
Powered by Dreamwidth Studios