LINUX.ORG.RU

Что нужно из библиотек\фич на джаве, чтобы втулить это в дипломную работу

 , , нужно-нужно


0

1

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

Куда можно глянуть, какой функционал допилить\запилить для каких либ на джаве?

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

Линукс тут при том, что код будет православен и открыт

Перемещено mono из talks



Последнее исправление: by_zero (всего исправлений: 2)

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

А если я возвращаю какое-то Callable, у которого call() просто вызывает println() - это слегка похоже на принцип работы этого в хаскеле?

Да, похоже, но только этого мало. По хорошему нужны гарантии, что call() ты сам никак вызвать не можешь, иначе, как я понял, может быть нарушена ссылочная прозрачность (в хаскеле такой call называется unsafePerformIO, который уместен, главным образом, для вызова сторонних сишных чистых функций типа синуса). А без ссылочной прозрачности игра совершенно не стоит свеч.

То есть, возвращаясь к изначальному посту, можно сказать, что @pure, если его реализовать для джавы, будет неполноценным костылем просто в силу того, что в джаве нет вот такого «возвращения вычислений IO»? Если я правильно понял.

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

На мой взгляд вторая проблема в том, что в java нет удобного синтаксического сахара для работы с вычислениями на вроде IO. Из известных языков, кроме хаскеля, что-то похожее есть только в F# в виде computation expressions, но по слабее. В scala же все не то, ни for-comprehension, ни плагин продолжений.

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

А что мы будем иметь в Java? Например, компилятор F# порождает довольно неэффективный код для своих computation expressions.

Так что, нет практического смысла в @pure для java на мой взгляд, хотя если заняться нечем...

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)

особенно люблю всякие манипуляции с байткодом

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

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

Ну если нужны инновации то придется этот формат еще и изобрести, а это уже не хорошо.

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

Сравнивать их просто смешно. Например, for-comprehension не поддерживает ни if (который полноценный if, а не фильтр), ни match-case. Я уж не говорю о поддержке циклов while (которые, кстати, поддерживаются в F#).

dave ★★★★★
()

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

З.Ы. а что из общественно-полезного вообще под линукс на джаве написано?

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

навскидку: иклипсы же всякие, soapui, idea.

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

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