Следующее будет интересно только программистам.
(вопрос: стоит ли мне создать отдельный журнал для записей на компьютерные/программистские темы? Я несколько раз об этом думал, но так ничего и не решил)
Один красивый хак, и две сырые мысли.
1. Tail-recursion в Питоне. Питон (
Python) не поддерживает оптимизацию хвостовых вызовов. Если вы не знаете, что это такое, то вам следует об этом почитать, профессиональный программист должен об этом знать.
Вот здесь понятным языком объясняется по-английски. В двух словах:
( ну хорошо, не в двух... )2. Следующие рассуждения в принципе мне кажутся очень простыми, но ни разу их не встречал.
Одна из главных причин, почему C++ плохой язык: для этого надо сначала понять, почему C хороший. В чем состоит то свойство C, из-за которого его называют "портабильным ассемблером"?
( Read more... )3. Монады и Хаскель. Это ещё более сырая и невнятная мысль, но попробую всё же высказать.
(если вы не знаете, что такое Хаскель и монады, примите условно такие определения: Хаскель - язык, в который нелегко "въехать", но очень мощный и интересный; монады - способ программирования внутри Хаскеля, в который очень, очень нелегко въехать, но тем не менее он фундаментальный и без него реальные большие и полезные программы на Хаскеле не сделать. Если вам интересно почитать больше о Хаскеле, см. сообщество ru_lambda и, например, мою незаконченную серию записей в нем).С одной стороны, мне сейчас полагается быть фанатом Хаскеля вообще и монадического программирования в частности. Т.к. я только что это изучил (собственно, продолжаю изучать), и оно действительно мощно, интересно, необычно, полезно. И с одной стороны, я действительно теперь фанат и мне всё очень нравится (не отменяя другие любимые языки). С другой, есть интересные сомнения. prosto_tak задал
правильный вопрос, на который у меня нет хорошего ответа: если оно всё такое сложное, зачем оно надо?
Мысль, которую я хочу передать, она примерно вот какая.
( Read more... )