Re[17]: 32/64/AnyCPU - что за @$^%$?
От: alexzzzz  
Дата: 10.10.16 23:51
Оценка: +5
Здравствуйте, ·, Вы писали:

A>>Ключи существуют, чтобы решать конкретную проблему, которая Яве естественно тоже есть, но решает её там конечный пользователь самостоятельно.

A>>http://stackoverflow.com/questions/9757456/java-native-interface-32-bit-dll-on-64-bit-system
·>Ну понятно, раз нет нативных бинарников под данную платформу — их надо либо поставить, либо запустить под 32 бита. Зачем это делать программисту во время билда CIL-сборок?

Это программисту понятно, что у него есть, а что у него нет. Пользователю это непонятно. У пользователя всё просто должно работать. Если не работает, это проблема не пользователя, а программиста.

Стоит у пользователя 64-разрядная Ява, он программу запускает, а она не запускается. Ему что, обязательно знать, что проблема из-за того, что Явы, оказывается, бывают разные? Ну допустим так, но 64 ведь лучше, чем 32. Должно же работать. Или нужно 86-разрядную? Да он даже не знает, что такое Ява. Остров вроде, а может мотоцикл.

При таком отношении к пользователю не удивительно, что Ява на десктопах начинается и заканчивается на Майнкрафте.

A>>Ну вот нет у тебя нативной библиотеки подо все платформы. Автор библиотеки скомпилировал её в 1995 году только под x86, а про x64 и x128 не догадался. Исходники стёр, сам застрелился, бекапы сгорели.

·>Ну запусти под 32 битной vm. Делов-то. А если таки есть?

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

·> Что делать с x86 CIL-сборкой, если автор застрелился?


Забавный факт: программисты на C++ умирают чаще, чем программисты на C#.

Конечному пользователю вообще-то пофиг. X86 у него и так запустится. Если ты программист, и попалась управляемая библиотека x86-only, то варианта два:

1. Либо она под x64 в принципе неработоспособна, потому что, например, в свою очередь зависит от x86-only нативной библиотеки. Тогда делаешь свою программу тоже x86-only, другого варианта всё равно нет.

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

A>>Зачем такой геморрой? Достаточно в своей программе выставить флажок на запуск её в 32-разрядном виде всегда, независимо от разрядности ОС.

·>Не надо такой гемморой. Ведь на ОС запускается не сама программа, а vm. Просто запусти эту же программу под 32-битной VM. Ведь байт-код для этого и придумывали, чтобы можно было менять VM, используя те же bytecode-бинарики.

Ты программист, ты заранее знаешь, что твой код не будет работать в 64-разрядном процессе. Не обманывай людей, поставь флажок x86-only и избавь пользователей от ненужного ни им, ни тебе геморроя, а то и по воскресеньям начнут звонить.
Отредактировано 11.10.2016 0:33 alexzzzz . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.