?

Log in

язык, на котором не говорят [entries|archive|friends|userinfo]
beroal

[ website | personal website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]
[ tags | journal tags ]

о значении термина «блог» [Jan. 16th, 2017|08:05 am]
beroal
[Tags|, , ]

Когда появились блоги, я достиг сознательного возраста и уже пользовался интернетом. Я точно помню, что блоги, когда они появились, были местом, где люди рассказывали о своей жизни и свои мысли. Может, кому-то это кажется бесполезным или мелочным, но именно эта идея завоевала сердца пользователей интернета.

С удивлением я замечаю, что некоторые люди ожидают видеть в блогах полезные учебные статьи. Нет, не просто ожидают, требуют. Есть целые «блогосферы», наполненные такими «блогами», например, Хахахабр. Учёба — это прекрасно, но такой «блог» следует называть «научно-популярным журналом» или «учебником». Соответственно, такую «блогосферу» следует называть «журналосферой» или «учебникосферой». Один раз я даже пытался объяснить человеку разницу между этими понятиями, но он упорно продолжал называть научно-популярный интернет-журнал «блогом». Может, ему просто понравилось это иностранное слово?

Это смешение понятий вредит. Необходимость соответствовать высокому званию «научно-популярного журнала», обслуживать чьи-то учебные потребности (причём бесплатно) напрягает, расхолаживает и мешает живому общению. Когда посетитель блога начинает навязывать тебе это совершенно необоснованное требование, его можно просто послать. Хуже, когда это требование уже превратилось в самоцензуру. Как с этим бороться?
Link1 comment|Leave a comment

program size [Jan. 11th, 2017|01:39 pm]
beroal
[Tags|, , ]

As you probably know, programmers measure program size in lines of code (LoC). In most PLs, AST does not depend on line delimiters, so it is possible to increase or decrease a number of LoCs in a program, say, 3 times and preserve its semantics and a good look (more or less). So this measure is inaccurate. Measuring program size in text symbols has a similar caveat: it is possible to rename identifiers in a program and preserve its semantics. IMHO, the best measure is a number of nodes of AST. Counting them is particularly simple in Racket because of its regular syntax and dynamic type system. Maybe there is a library for doing this?
Link2 comments|Leave a comment

систематические горячие комбинации клавиш [Jan. 11th, 2017|10:39 am]
beroal
[Tags|, ]

В редакторах для программистов вроде Emacs мне не нравится то, что количество комбинаций клавиш в них огромно. Разумеется, пользователь не может запомнить все. Поэтому пользователь предпочитает «нормальные» редакторы вроде блокнота или Microsoft Word. Я такой пользователь. Я не хочу зубрить комбинации клавиш. No, thank you. Мне хватает действительно сложных и интересных вещей, которыми я могу загрузить свою голову. ☺

Однако нельзя сказать, что блокнот предоставляет меньше функций. Просто он предоставляет их более систематически. Вместо специальной комбинации клавиш для удаления слова в нём нужно выполнить последовательность («выделить слово», «удалить»). То есть удаление слова разлагается на более простые действия. Из простых действий можно построить много других действий, например, скопировать слово. При этом достаточно помнить только комбинации клавиш для простых действий. Разве это плохо?

Читати даліCollapse )
Link2 comments|Leave a comment

универсальный яп и Oz [Jan. 8th, 2017|09:44 am]
beroal
[Tags|]

Сначала определение универсального япа. Он удобен для решения всех программистских задач, все программы должны быть написаны на нём, и все программисты должны писать на нём. ☺ Также может называться идеальным, всеобщим или единым япом.

Конечно, я буду говорить не о универсальном япе, которого не существует, а о идее такого япа. Мне кажется, эта идея распространена среди программистов, хотя редко высказывается вслух. (Я говорю только о программистах, которые вообще думают о выборе япов и о преимуществах и недостатках япов, а не принимают пассивно то, что им навязывают начальники и преподаватели.)

Читати даліCollapse )
LinkLeave a comment

настоящие япы [Dec. 28th, 2016|04:59 pm]
beroal
[Tags|, ]

Как вы знаете, япы делятся на настоящие (real) и ненастоящие. Настоящие япы — это популярные и коммерческие япы. Я всегда их так называю, «популярные» и «коммерческие». По-моему, слово «настоящий» выбрано неудачно, так как оно не связано с смыслом термина. Чтобы понять, насколько оно неудачно, подумайте над словосочетанием «настоящая дорога». Что оно может значить? Дорога, которая существует только в воображении, но не в реальности? Дорога, которая нарисована на картине? Дорога, по которой трудно ходить и ездить? Чёрт его знает. Вот так и с япами. Я всё же хочу спросить у людей, которые употребляют термин «настоящий» вместо «популярный» или «коммерческий»: чего вы стесняетесь? Что вы на япе зарабатываете деньги, например?
Link4 comments|Leave a comment

ассоциативное мышление вредит при верификации [Dec. 21st, 2016|08:09 am]
beroal
[Tags|, , , ]

Недавно я писал о ассоциативном мышлении. Всё это выглядело как философия. Философы любят высасывать проблемы из пальца. Но ассоциативное мышление — это реальная проблема. Следующий пример демонстрирует это.

Читати даліCollapse )
LinkLeave a comment

Пролог и фанатизм в информатике [Dec. 18th, 2016|09:03 am]
beroal
[Tags|, , , , ]

Присказка. Однажды я захотел создать файл в формате Low Level Virtual Machine Intermediate Representation (LLVM IR). В ходе работы выяснилось, что официальная документация неясна, неполна и некорректна. Не то, чтобы совсем бесполезна, но многие вещи пришлось выяснять с помощью экспериментов и чтения исходного кода парсера на C++, который я не люблю. Родилась идея описать этот формат формально, чтобы потом уже обращаться к формальному описанию, а не блуждать каждый раз в плохой официальной документации. Я думал, что это не займёт много времени. I had no idea. ☺

Читати даліCollapse )
Link8 comments|Leave a comment

неявная верификация [Dec. 15th, 2016|02:03 pm]
beroal
[Tags|, , ]

Читати даліCollapse )
Link2 comments|Leave a comment

Откуда берутся правила игры? [Dec. 13th, 2016|04:59 pm]
beroal
[Tags|]

Правила игры задаются законами природы или человеческими законами. Откуда берутся законы природы, я не спрашиваю, потому что они никуда не денутся и мы на них не влияем. (Как написано в учебниках по физике: «Они не зависят от нас и от наших знаний о них».)

Человеческие законы устанавливаются организациями. Например, дилемма заключённого. Если добавить в игру мафию (организация), которая наказывает предателя, то в игре изменятся платежи. Если наказание за ход настолько большое, что ход не выгоден при любых стратегиях, то этот ход можно вообще исключить из игры. Это коммитмент. То есть организация задаёт платежи и ходы в игре. Иногда организация участвует в игре как игрок. Её можно подкупить, чтобы она не гарантировала соблюдение правил игры. Например, дать взятку чиновнику, чтобы он проигнорировал нарушение санитарных норм.

Организации моделируются правилами игры или игроком. С природой такой неоднозначности нет, она всегда моделируется правилами игры. Можно ли вывести деятельность организации по гарантированию соблюдения правил игры, рассматривая её как игрока в какой-то другой игре, правила которой заданы только законами природы? Другими словами, следует ли такая деятельность из постулата о рациональном поведении (о максимизации полезности)?
Link8 comments|Leave a comment

фильм о программистах [Dec. 12th, 2016|08:10 am]
beroal
[Tags|, , , ]

«Не несущие ответственности».
LinkLeave a comment

navigation
[ viewing | 10 entries back ]
[ go | earlier/later ]