- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
> https://habr.com/ru/post/518308/
> Мне надоело, что индустрия зависит от прихоти создателей языков программирования. Сообществу нужно больше власти
> В языках вечно не хватает чего-то простого — лямбда-функций,
> именованных объединений, кастомных примитивных типов. Я лезу
> в обсуждения на Stack Overflow, в Github и вижу, как разрабы жалуются
> — им не хватает того же, чего и мне. Но обсуждения почти всегда
> заканчиваются одинаково: нужная фича не появится, потому что
> главный дизайнер языка и члены его команды нужной ее не считают.
Именно поэтому я за Си. Хорошо что есть крестопарашная помойка, в которую дизайнеры языка добавляют всякую хуйню по желанию каждого встречного и поперечного. Если б такого не было, всю эту поебень пытались бы пропихнуть в Си. Так что от крестопараши определенно есть какая-то польза.
j123123 09.09.2020 15:03 # 0
> Я давно убедился: разработчики языков ничуть не лучше обычных программистов. У них нет никакого уникального знания или экспертизы, которая делала бы их лучше, чем вы. Зачастую они игнорируют базовые практики разработки программного обеспечения, которые известны даже новичкам. Если код компилятора нужно переписать — это вина создателей компилятора, это они не следили за архитектурой и все запустили.
Бляя... ну что за хуйня... С каких хуев он приравнял разработчиков стандарта языка к разработчикам компилятора/рантайма конкретного языка? Не, ну я понимаю что в каком-то там Go-вне это может быть действительно так, но ведь есть и языки, у которых более одного компилятора
j123123 09.09.2020 15:06 # +1
> Без лямбд, которые позволяют передать фильтер в коллекцию одной строкой, кодовая база наших репозиториев разрослась бы кратно. Когда у тебя кодовая база вдвое больше, чем могла бы быть — ты в полном дерьме. Это работает, как снежный ком. Чем больше на проекте необязательного кода, тем сложнее его будет поддерживать — а чем сложнее его поддерживать — тем быстрее качество его кодовой базы будет ухудшаться. В плохом проекте любое изменение делает его ещё хуже.
Так всё просто. Надо просто сделать язык с ГОМОИКОНАМИ, и пусть каждый как ему вздумается нахуеверчивает там лямбды-хуямбды, рекорды-хуекорды и прочую поебень через метушню.
bormand 09.09.2020 15:48 # 0
Обычные языки сейчас дают хуёвый, но базис. С гомоиконами у всех всё будет по-своему.
Desktop 09.09.2020 15:55 # 0
В лишпах там как раз всё единообразно и есть базис в виде s-exp. Хотя тот же Рэкет позволяет строить в целом произвольные парсеры
А какие ещё есть семейства языков с иконностью?
j123123 09.09.2020 15:58 # 0
Реальные примеры: https://ru.wikipedia.org/wiki/Гомоиконичность#Примеры
Desktop 09.09.2020 16:00 # 0
Хотел про них написать, но как-то не был уверен до конца
guest8 09.09.2020 16:05 # −999
j123123 09.09.2020 15:55 # 0
Ну так пусть будут какие-нибудь либы из официального пакетного менеджена такого языка, которые через гомоиконы добавляют разного рода хуйню, и пусть этими либами пользуется 99% тех, кому такая-то хуйня нужна в языке. И если какая-то библиотека пользуется гомоиконами из такой-то библиотеки, то пусть требует ее в зависимостях. Не вижу проблемы
bormand 09.09.2020 16:11 # 0
Но сообщество пильнуло три разных реализации, на то оно и сообщество. Теперь читая чужой код ты должен понимать все три варианта. И городить адаптеры между либами, которые завязались на разные.
Посмотри на те же кресты, сколько там разных реализаций строк нахуевертили...
defecate-plusplus 09.09.2020 16:24 # +1
давай теперь их все в стандарт добавим!
j123123 09.09.2020 16:28 # 0
Ну и хуй с ним, под крестоговно никто ж не запрещает пилить всякую хуйню типа boost. Можно сделать официально одобренные создателями языка гомоиконы, которые там какую-то питушню добавляют, а если кто использует какую-то непонятные сторонние васянские гомоиконы, не одобренные официальными создателями языка - ну как бы это их проблемы.
В том же питоне ж как-то умудряются соблюдать PEP 8 в 99% случаев? Ну вот пусть так же соблюдают правила, что использовать можно только официально одобренные гомоиконы из особого раздела в пакетном менеджере
bormand 09.09.2020 16:45 # 0
Какая диктатура )))
Собственно от этого и пытались уйти, не?
Desktop 09.09.2020 16:48 # +1
А есть циркониевые зависимости, которые по тв рекламирует Джигарханян
j123123 09.09.2020 17:50 # 0
Стандартизация в говнокрестах - вот это диктатура, например если я в кресты захочу новую разновидность метушни добавить, ну чтоб помимо препроцессора, шаблонов с концептами и констэкспров чтоб еще какая-то хрень была, что надо делать? Ну допустим я могу всех послать нахуй и запилить свой ни с чем не совместимый компилятор (или запатчить существующий), в котором та хуйня будет, только вот им нихуя никто пользоваться не будет. А если будет возможность делать компилтайм-библиотеки через гомоиконы для добавления хуйни - это уже намного проще, к тому же такая компилтайм-библиотека может быть совместимой с кучей компиляторов, а не запиливаться отдельно под clang, отдельно под gcc, отдельно MSVC и так далее, как сейчас по факту происходит, когда крестокомитет очередную версию своего говностандарта выпускает
Desktop 09.09.2020 16:29 # 0
CHayT 09.09.2020 16:23 # +2
j123123 09.09.2020 16:31 # 0
bormand 09.09.2020 16:44 # 0
Форт?
j123123 09.09.2020 17:54 # 0
Я о том, что можно ассемблер с s-expr сделать, типа там
bormand 09.09.2020 17:57 # 0
Ну и "режим" ассемблера часто есть, примерно как твои s-expr'ы только кверху жопой.
j123123 09.09.2020 18:00 # 0
bormand 09.09.2020 18:08 # 0
j123123 09.09.2020 18:15 # 0
bormand 09.09.2020 18:15 # 0
defecatinho 09.09.2020 18:43 # 0
guest8 09.09.2020 18:48 # −999
defecatinho 09.09.2020 18:53 # 0
Очевидно, ты не прав. Я всегда могу построить отображение XML -> JSON. Обратно не всегда, т.к. можно нахуевертить невалидную схему, но я могу и просто невалидный XML сделать.
> кроме скриптоблядей
Да даже на плюсах с JSON работать приятнее.
guest8 09.09.2020 18:59 # −999
defecatinho 09.09.2020 19:04 # 0
2) Я могу проверить любой JSON, что он соответствует формату, который я придумал на шаге 1.
3) В итоге могу использовать JSON вместо XML.
На каком пункте ты не согласен?
guest8 09.09.2020 19:06 # −999
defecatinho 09.09.2020 19:06 # 0
guest8 09.09.2020 19:08 # −999
defecatinho 09.09.2020 19:11 # 0
guest8 09.09.2020 19:21 # −999
defecatinho 09.09.2020 19:23 # 0
guest8 09.09.2020 19:25 # −999
defecatinho 09.09.2020 19:26 # 0
defecate-plusplus 09.09.2020 19:34 # 0
Desktop 09.09.2020 23:46 # 0
Скармливаем движку БД json и потом можем по нему делать выборки?
defecate-plusplus 09.09.2020 23:54 # +1
Реально же это хуй знает что надо парсить, чтобы по-царски принимать мегабайты текста (хмл или жсон, не критично), но искать в них где-то глубоко в дереве избранные штуки. Какой-то сценарий "прими, загляни, не вздумай десериализовывать, передай дальше".
defecate-plusplus 09.09.2020 19:14 # 0
В жсон есть и свой жсон-патх, а ну для особых ценителей есть и жсон-схема.
Работать с жсоном даже в постгресе куда приятнее, и уже охуенно эффективно.
Как поможет твоя схема, если клиенту требуется только тот набор полей, который ему понятен, а сервер уже помолодел и присылает что-то дополнительно?
guest8 09.09.2020 19:19 # −999
defecate-plusplus 09.09.2020 19:31 # 0
ты и так провалидируешь эту структуру, когда соберешься её десериализовать в объект и напорешься на отсутствие поля, которое not null, зачем делать это два раза?
> SOAP позволяет
и при этом не очень отличает идемпотентность и неидемпотентность, по крайней мере когда HTTP является транспортом (ну и я навскидку не могу сказать, где там какие могут быть пометки, чтобы отметить, что данный результат RPC можно покешировать)
в следствии чего требуется руками размечать на нжинксе пути, по которым должны быть прокешированы данные и на сколько, и всё равно будет поебень
> Чем приятнее?
jsonb
Desktop 09.09.2020 23:52 # 0
- ого. А кстати когда выгодно использовать такой подход?
defecate-plusplus 10.09.2020 20:50 # 0
всегда?
json вместо jsonb надо выбирать только в одном случае - ты собираешься сохранить оригинальное авторское форматирование
Desktop 10.09.2020 20:51 # 0
А про то, когда это вообще надо в реляционной базе держать.
defecate-plusplus 10.09.2020 21:33 # 0
Во вторых тебе не всегда нужна 7 нормальная форма, и даже наоборот, после того как база нормализована предельно, ты для ускорения делаешь денормализацию. Чем хуже хранить жсон в постгресе вместо монгодибил? Хранить такое можно в text (CLOB), а можно и в jsonb.
Ну и наконец всякие составные типы (для записи эн локализованных переводов хранить там же) очень заебись в jsonb (раньше был ещё hstore, сейчас jsonb уже достаточно заебись, чтобы не добавлять экстеншеном негативные типы).
defecatinho 09.09.2020 19:10 # 0
Его удобно парсить, он удобно ложится на объекты в скриптушне.
Он проще: в нём есть только объекты, массивы, числа, строки и null.
В общем 99% макак c тобой не согласны, и выберут JSON, а XML вызывает рвотный рефлекс.
guest8 09.09.2020 19:16 # −999
defecatinho 09.09.2020 19:19 # 0
JS - JSON.parse
PHP - json_decode
Python - json.loads
Во всех этих языках я получаю то, что ожидаю.
guest8 09.09.2020 19:22 # −999
defecatinho 09.09.2020 19:24 # 0
<petuh name="petya"/>
и
<kuritsa name="kvochka"/>
?
guest8 09.09.2020 19:27 # −999
defecatinho 09.09.2020 19:29 # 0
Мне удобнее работать с
а не с домом
3.14159265 09.09.2020 21:24 # 0
> массива с массивами
> на ПХП
Идеальное сочетание.
defecate-plusplus 09.09.2020 19:09 # 0
CHayT 09.09.2020 17:59 # 0
Как выше сказали, это деталь имплементации. Были стековые процессоры, которые его вообще нативно поддерживали.
defecatinho 09.09.2020 15:05 # +2
guest8 09.09.2020 15:10 # −999
defecatinho 09.09.2020 15:11 # +1
MAPTbIwKA 09.09.2020 15:06 # 0
"Мне надоело, что гугл зарабатывает так много денег, а я так мало. Сообществу бедных негров нужно больше власти над гуглом".
* Любое сообщество на 80% состоит из идиотов
* Сообщество популярных языков состоит из идиотов на 98%
* Если пустить сообщество, то завтра в стандартной библиотеке в глобальном неймспейсе будет mysql_real_escape_string и twitter_tweet.
* Почти все языки развиваются ровно так, как хочет их создатель (иначе будет еще более неконсистентное говно, см design by committee).
* Сообщество может форкнуть язык, и сделать его пад сибя. Или пойти нахуй
bormand 09.09.2020 16:54 # 0
Ага, и получится замечательная история с крестами от борланда, крестами от майкрософта и крестами от гну. Или с джаваскриптом в разных браузерах. Проходили всё это уже...
Desktop 09.09.2020 16:57 # +1
А просто авторам выпустить третий питон и надцать лет ждать, пока закопают второй
Sers 09.09.2020 22:41 # −1
urinoterapevt 09.09.2020 21:24 # 0
Но третий пункт был зря.
Sers 09.09.2020 22:18 # 0
guest8 11.09.2020 05:44 # −999