crypt of decay - немного про скучное отрочество [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

немного про скучное отрочество [Mar. 9th, 2017|03:40 am]
Previous Entry Add to Memories Tell A Friend Next Entry
Linkmeow!

Comments:
[User Picture]
From:[info]ketmar
Date:March 15th, 2017 - 12:30 am
(Link)
в принципе, сейчас «не начинайте с бейсика, а то вы говно» уже как-то и не актуально. а «сноб сраный» — это шутка, конечно. а вот про разные стартовые условия — нифига не шутка.

а в остальном — любой язык, поддерживающий структурное программирование, юзабелен примерно одинаково. плюс-минус мелкие удобства. конечно, иногда удобства решают, но в принципе — пофигу.

а в fpc, вроде бы, упёрли из дельфей генерики, так что теперь там уже возможно писать всякие универсальные контейнеры с меньшими изъёбами.
[User Picture]
From:[info]polytheme
Date:March 15th, 2017 - 12:41 am
(Link)
да, женерики уперли 100%, а вот лямбд и garbage collection, кажется, хуй.
а TCO, кажется, все-таки есть.

все-таки не совсем - там начинаются вот какие центы: удобство отладки, удобство написания IDE и манипуляции и разбора кода самим программистом на уровне AST и т.п.

и вот тут Pascal со своим простейшим грамматическим разбором, конечно, дает сто очков и сям и тем более плюсам. у него проблема в том, что сейчас у FPC есть даже некий культ, но там, судя по всему, преобладают чуваки, которые не могут в стандартные алгоритмы и структуры данных, а могут драйвера к базам данных и мидишкам и всяким кодекам. то есть, грубо говоря, коммьюнити есть, и даже писучее, а разработчиков нет.
[User Picture]
From:[info]ketmar
Date:March 15th, 2017 - 12:45 am
(Link)
>там начинаются вот какие центы: удобство отладки, удобство написания IDE и
>манипуляции и разбора кода самим программистом на уровне AST и т.п.

а тут или дубовый язык, или хуйраспарзишь.

впрочем, лично я не использую иды и отладчики, и всякие автодополняторы. поэтому мне пофигу на то, насколько сложно язык парзится. потому люблю дишечку, в которой есть более-менее (для c-like языков) метапрограммирование.
[User Picture]
From:[info]polytheme
Date:March 15th, 2017 - 01:04 am
(Link)
там же не только метапрограммирование - допустим, у тебя большая программа (даже не твоя пусть), и ты хочешь что-то про нее узнать, понять, как она работает, и т.п.

то есть это ты на CL не писал, иначе бы ты проперся фишке, когда вся программа у тебя рефлексируется прямо в языке.

насчет дубовости - нет: ST не дубовый совсем, и он парсится проще проще репы. собственно, это был first step осознания: чуваки, лисп-то это все же круто, только давайте у нас все-таки не будет пестреть в глазах от скобочек, и каждый раз глаза перерисовывать правее рта не надо будет пикассо-style, а то потом разговариваешь, как магистр Йода, и девки разбегаются. а в простоте синтаксиса мы не потеряем.

но ST все-таки сейчас уже устарел: объедкы это не волшебство, мы все это знаем, проверка типов in compile time это хорошо, мы все это знаем, и когда не нужно переписывать на C куски для скорости, в этом тоже нет особого неудобства - хоть вы и привыкли, поверьте, чуваки: на одном языке писать проще и быстрее.

а вот функциональщина и continuations туда ложатся ок.

ну вот OCaml был попыткой как-то сделать что-то ST-подобное, но в функциональном мире. но туда народ не хлынул (отчасти из-за сложноты, отчасти из-за отсутствия _полянки_, где бы он на старте всех сделал бы, отчасти из-за нет продвигателя вроде Google или JetBrain), и поэтому масскульта и массопыта, как писать _большие_ программы на статическом функциональном языке у нас пока нет. ну и с синтаксисом они чуть перемудрили - CAMLLite был по сути почти схемой, переписанной из скобок в человеческий язык, но постепенно оно перегрузилось, в LR(I), кажется, влазит, но с некоторым скрипом; и главное, там ещё и продвинутая машинерия типов и модулей, и чтобы это все использовать в полную силу (а не только писать IDE - но и для этого надо), надо в него всего въезжать, а таких чуваков мало; родина вам дала шашечки, носи, блядь, шашечки - нет, не хочу, хочу ехать !
[User Picture]
From:[info]ketmar
Date:March 15th, 2017 - 01:23 am
(Link)
>то есть это ты на CL не писал
зато на Схеме писал. и на классическом форте, где получить обратно исходник из threaded code совсем несложно.

>насчет дубовости - нет: ST не дубовый совсем
дубовый-дубовый. как и остальные языки с динамической типизацией.

«дубовый» — не значит «плохой», и даже не всегда значит «ограниченый в возможностях». точнее, так: дубовые со статической типизацией — ограничены в возможностях. а дубовые с динамической типизацией — в том, насколько компилятор может тебе помочь выловить глупые ошибки типов. при попытке же убрать дубовость — неизбежно начинаются траблы с парзингом.

а если к этому докинуть ещё и макросы, то всякие там иде и автодополняторы идут лесом. да и отладчики тоже, потому что «свернуть макрос взад» — это не так уж и просто, а ковырять развёрнутую макропростыню совершенно нерадостно.


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