совет всем, кто хочет учиться по обмену: отправляйтесь в такое путешествие с человеком, которого знаете.
Если хотите погрузиться в языковую среду, подтянуть язык — оставьте сородичей и прочих русскоговорящих за кругом общения. Только местные, только хардкор.
Автор_ка, у вас есть аккаунт на хабре? Интересует diff статьи с тем, как она выглядела бы, будучи опубликована вне блога университета. Отдельным пунктом заинтриговала ваша любовь к курсам профессора Брауна вообще, и к «Введению в ИИ» в частности.
Далеко не всегда байткод отождествляется с минификацией. Есть примеры языков, скромные тексты которых разворачиваются в довольно жирный байткод. За примерами далеко ходить не надо: тот же Python в процессе constant folding может сделать такой unfold выражению
'a' * 100
, что в байткоде окажется константа длинною в сотню букв 'a'.
Крутая идея использовать «классы идентификаторов». В целом, если ещё заменить ";" на "!", язык станет совсем похож на GNU Smalltalk :)
По поводу «неудачи» — вы взялись «вручную» тягаться с зарекомендовавшим себя профессиональным инструментом. Не удивительно, что с первого раза не удалось завалить мамонта. Уверен, в этом языке ещё есть места для оптимизаций.
Ну come on, годная техническая статья новичка в области байтослерарства. Прокачается — будет что-то поинтереснее реверсить. Не стоит перебирать с сарказмом, так ведь и обломать можно.
/select дает RowSet (выборку). Он ленивый (кроме MockRowSet, например, для мастер-таблицы /autism). Проходка по нему итератором достает из блоков по одной записи за раз. В памяти это никак специально не кешируется — и возможно, зря, но это уже другая история. В конце концов ещё есть кеш файла в операционной системе, и его размер равен 16 блокам.
Если хотите погрузиться в языковую среду, подтянуть язык — оставьте сородичей и прочих русскоговорящих за кругом общения. Только местные, только хардкор.
У меня, человека далекого от технологий, сложилось впечатление, что в одну кучу смешали теплое с мягким.
Где-то такое уже было, и называлось это ngrok.com
По поводу «неудачи» — вы взялись «вручную» тягаться с зарекомендовавшим себя профессиональным инструментом. Не удивительно, что с первого раза не удалось завалить мамонта. Уверен, в этом языке ещё есть места для оптимизаций.
+ 2 * 2 2 == 8
* 2 + 2 2 == 6
очевидно, опечатка?
PS за минус сорян, случайно вышло :c
А, ну да. В нем всё ещё нет нормальных дженериков — только шаблоны а-ля банальный текстовый препроцессор.