![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
function New(name) { return java.lang.Class.forName(name).newInstance() } function newList() { return New("java.util.LinkedList") }
function New(name) { return java.lang.Class.forName(name).newInstance() } function newList() { return New("java.util.LinkedList") }
no subject
Date: 2012-08-14 08:06 pm (UTC)no subject
Date: 2012-08-14 08:13 pm (UTC)В моём специфическом случае я вынужден создавать линкедлист, потому что некоторые идиоты со стэнфорда не отличают интерфейс от имплементации.
no subject
Date: 2012-08-15 04:33 am (UTC)no subject
Date: 2012-08-15 04:42 pm (UTC)no subject
Date: 2012-08-15 05:09 pm (UTC)Замечу, что там наверху у меня джаваскрипт. И в таком стиле надо писать только core, а дальше уже вот:
no subject
Date: 2012-08-15 05:19 pm (UTC)no subject
Date: 2012-08-15 06:04 pm (UTC)Я лет пять, если не больше, пытался его понять.
no subject
Date: 2012-08-15 06:32 pm (UTC)глубоко похоронена под слоем идиотских граблей.
Мне же не только нумералы Черча и комбинаторы писать, надо и более приземленные задачи решать.
Вот тут дядя очень хорошо рассказывает про основные грабли
http://www.youtube.com/watch?v=hQVTIJBZook
И хотя он полон оптимизма, я не могу его разделить .
no subject
Date: 2012-08-16 09:15 pm (UTC)no subject
Date: 2012-08-17 04:00 am (UTC)no subject
Date: 2012-08-17 07:37 am (UTC)Петон тогда же пребывал в состоянии заброшенности и отставания от CPython по фичам и оптимизациям. Может, сейчас кто-то им начал заниматься. Подозреваю также, что там не слишком хорошая интеграция с java-кодом, потому что у питонистов на эту тему конь плексы. Хотя это выстрел в воздух, просто опасение.
В общем, если хочется просто повыполнять командочки, а не жениться на интерпретаторе языка, то это неподходящие варианты.
А, ну и плюс у них куча своего говна - то бишь библиотек низкого уровня, и каждый раз придётся думать - использовать мне java.io.file.File или их свою io-библиотеку. А у js этого всего нету и можно спокойно использовать те же абстракции, что во всём остальном коде на проекте.
no subject
Date: 2012-08-16 08:49 pm (UTC)Естественно, init.js:
ru = Packages.ru
Cf = ru.yandex.bolts.collections.Cf
no subject
Date: 2012-08-16 08:52 pm (UTC)no subject
Date: 2012-08-16 09:14 pm (UTC)Ещё мы сделали два тупых метода:
$F(объект, 'поле') для доставания значения приватного поля рефлекшоном
и $I(X) = java.lang.Integer.valueOf(X) (просто надобится постоянно)
no subject
Date: 2012-08-16 10:03 pm (UTC)no subject
Date: 2012-08-23 08:08 pm (UTC)no subject
Date: 2012-08-23 09:03 pm (UTC)$F = function(obj, fieldName) {
var f = obj.getClass().getDeclaredField(fieldName);
f.setAccessible(true);
return f.get(obj);
}
no subject
Date: 2012-08-23 09:38 pm (UTC)