Цитата:
Здесь вы просто не знакомы с JNI. <...>
Что ж, хорошо. Хотя почему-то везде где я видел работу с JNI, она делалась как-то криво. Раз можно прямо - отлично, этот вопрос снимается. Хотя работа со структурами (полями классов) остается под вопросом, а также работа с массивами нетривиальных типов (классов).
Цитата:
Речь ведь зашла о выходе Java за те пределы, которые вы ей назначили. Вот я и написал вам, что С когда-то тоже взял да вышел за пределы, в области царств фортрана и ассемблера
Си вышел, да не очень. Си тоже далеко не является идеалом.
Писать системные вещи на чистом Си как правило глупо и костыльно, а писать на Си под слабые МК, к примеру, на какие-нить 8-битные 10-рублевые схемки, зачастую просто невозможно, и приходится использовать ассемблер.
Так что это не C++ вышел за свои пределы, а программистам стало лень учить другие языки, в то время как мощность процессоров позволяет реализовывать все на C++, хоть и медленно (относительно ассемблера), из-за чего и стали писать на си все, что возможно. Но вот по кодам, выигрывавшим соревнования Zealint'а понятно, что даже в математике чистый си мало применяется.
Скажем так. Ассемблер в общем случае может быть оптимален. C++ - это первый уровень неоптимальности (т.к. это ЯВУ, имеет ООП и все дела). Java - уже второй уровень (из-за сборщиков мусора, безопасности и т.д.).
Когда-нибудь, возможно, у процессоров будет хватать мощности на выполнение дважды неоптимального кода, и тогда Java действительно можно будет кое-как применять для тех областей, где она сейчас бесполезна. Но постойте, если у процессора избыток мощности, то почему бы не направить ее на решение более сложных задач, вместо того, чтобы решать существующие неоптимальным методом? Поэтому я не считаю, что так
должно быть. Не вижу ничего хорошего в том, что Intel выпускает очередной супермощный процессор, после чего набегают индусы и тратят всю его мощность на выполнение каких-то ненужных вещей.
И я более чем уверен, что когда мощность процессоров будет позволять, в моду войдут средства визуального программирования, когда интерфейс просто рисуется мышкой, а весь код до последней команды задается всякими "мастерами" создания кода. Прототипы есть уже сегодня. И когда этот день настанет, на этом форуме (если он будет еще жив) появится человек, который будет заявлять, что Java - прошлый век, а все задачи надо решать на этой новомодной системе, где потыкал мышкой - и всё. Разработка абсолютно безопасна, и делается все очень быстро и легко. Так будет просто потому, что чем меньше знаний требуется для написания кода, тем дешевле соответствующий специалист, а значит, меньше себестоимость продукта.
Только вот в некоторых областях ассемблеру по-прежнему не будет замены. Где-то будет всё еще нужен Си, а где-то - Java с C#-ом.
И я совершенно не понимаю вашего рвения использовать один инструмент для всех целей, в том числе для тех, для которых он не был создан и оптимизирован.
P.S. некоторые знакомые физики, например, обожают маткад. Там ведь тоже свой язык есть, вообще почти скриптовый вроде. Почему обожают? Потому, что чтобы на нем писать, не надо быть программистом вообще: просто записал формулу, и он ее посчитал, да еще и графики построил. Маткад - тоже инструмент, тоже решает свои задачи. И вот объясните этим физикам, что им надо использовать Java, что всё, что им надо, есть в джаве, надо просто немного покодить.
