А в идеале -- реализовать свой SmallTalk, тогда будет понятно как это ООП вообще работает внутри. Но разжеванного мануала по реализации насколько я знаю никогда не было 8-(
сам ковыряю тему экспертной системы для программиста (скорее всего на базе фреймов Минского), если интересует, пока могу записать пару скринкастов по реализации парсеров любых текстовых файлов данных на flex/bison/C++, когда сам освою материал из [plai] -- реализацию собственного скриптового движка.
А из самых простых встраиваемых языков могу отметить Форт -- интерпретатор (или компилятор в кучу машинных CALLов) левой ногой за пару дней пишется под любую систему. Только работать с ним невозможно -- клинически низкоуровневый, и с эффектом "первый же залетевший дятел разрушит цивилизацию" при простешем присвоении переменной.
Если ближе к делу, меня он интересует своим свойством homoiconicity, что хорошо подходит для всяких экспериментов в области разработки трансляторов/компиляторов/ЯП -- с определенной точки зрения код на лиспе можно рассматривать как текстовое представление AST, соответственно появляется возможность "программировать обработку AST (и других структур данных) на самом AST". В инете периодически проскакивают идеи отказаться от синтаксиса ЯП, и работать непосредственно с AST-подобными структурами, как с исполняемыми элементами, способными модифицировать в т.ч. сами себя (точнее свою копию).
Были ли написаны на Lua какие-нибудь проекты, сходные по масштабности и сложности с Derive/Maxima, Emacs, Yahoo! Stores, AutoLISP, LilyPond,.. ?
Все зависит от задач, например для символьных вычислений и ИИ традиционен лисп и его расширения.
некоторые вещи удобно делать на чисто динамических языках, и наличие в своем инструментарии собственного (*) движка такого языка, который можно осознанно встраивать в другие программы (на mainstream языках) очень помогает.
(*) в отличие от стороннего движка, всегда знаешь где что и как устроено, где можно напороться на глюк, и как что поменять при необходимости
Из фич можно отметить встроенную авторизацию по SSH-ключу, уникальному для каждого клиента, и все встроенные механизмы гита, включая откаты и локальные ветки для скриптов пользователя.
По личному опыту: ценятся как ИТ-специалисты смежники, владеющие навыками в той области, ИТ-поддержкой которой они занимаются, а не ИТшник в вакууме, способный написать сортировку Хоара в машинных кодах, но не способный сделать каталог радиодеталей потому что тупо не в теме
Берешь то чем занимаешься сейчас (не важно, сейчас практически любая детальность связана с компами напрямую или косвенно), и занимаешься внедрением ИТ-технологии в свою _текущую_ деятельность: планирование работ, специфические калькуляторы, элементарные базы знаний (если разгрызешь, на нашем рынке я их вообще не видел никогда живьем), какие-нибудь учетные приложения под Android для телефона и т.п. В итоге получаешь скиллы, уникальную квалификацию (в зависимости от текущей специальности), при этом (а) не теряешь текущую базу (б) получаешь ++ в глазах работодателя и (в) готовишь базу для полного перехода на ИТ-специализацию.
Согласен, 6-8+ часов за монитором (если именно работать) х наличие проблем с глазами (если они есть) х неудобное раб.место (если себе сам стол/стул/комп не купил или начальство не позволило это сделать) => прогрессирующие проблемы со здоровьем типа головных болей
Хотя если задачи не выходят за рамки топового парсинга веб-контента на PHP, лучше смотреть готовые библиотеки, еще можно глянуть Python+PLY ([p]ython [l]ex [y]acc)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.