Пришло время напомнить позёрам, первокурсникам и прочим отбросам критерии хорошего языка программирования. 1. Язык должен быть интерпретируемым. Хороший язык не заставляет программиста ебаться с компиляторами и прочим ненужным говном, позволяя сфокусироваться на основной задаче — программировании (запиливание параши — программирование). 2. Нет никакой типизации. Максимально допустимая — как в перле. Как сказано выше, хороший язык позволяет программисту не отвлекаться на хуйню и заниматься непосредственно делом (программированием). 3. Язык не принуждает к определённой парадигме (как это делает, например, уёбищная жаба или ещё более уёбищный си). Можно писать как угодно, объявлять и вызывать что угодно и где угодно, при этом код будет работать — программисту виднее, как ему писать его парашу. Исходя из вышесказанного, Примерами хороших языков программирования можно считать, например, PHP и JS. Это самые лучшие и востребованные языки из существующих на сегодняшний день. Сюда также можно отнести питон, если закрыть глаза на его своеобразность. Ещё менее хорошим примером является перл. Примеры уёбищных языков программирования — Java, C#. Говно для студентов, которым ебанутые преподы не разрешают писать на нормальных языках, потому что сами, являясь бухим патриотичным быдлом с семьями, детьми и виндовсом, их не знают. Для программирования как такового практически бесполезны. Примеры говна, не имеющего отношения к программированию — C, C++. Эталоны чистейшего говна. Мудаки, которые тратят свою жизнь на изучение этого омерзительного кала, никогда не запилят хорошую парашу и не попадут в правящую верхушку, так как их умения не имеют ничего общего с программированием и потому бесполезны. Такие опущи пьют мочу на всех парашах и умирают рядовыми анонимами (мочехлёбами), чего и заслуживают. Не будьте такими и учите хорошие и полезные языки. Всякую дрисню типа хачкеля, несмотря на то, что истории известны примеры долбоёбов, пытавшихся на ней программировать, даже упоминать противно, так что не будем.
>>142011 Парашам, наверное, без разницы, а вот лучшая борда в мире была на PHP. Но была. Так что сам решай.
> Нет никакой типизации. энжой дебаггер в голове кодеришки. статистика фатальных ошибок безопасности говорит сама за себя. пруфы у Рейму.
>>158945 Рейму умерла. Под поезд кинулась.
>>131017 Питон для хипстеров, пыхп для серверов!
Проверялка наличия новых постов на третьем питоне.
>>140142 Да, но этот тред начался скриптом на динамическом язычке программирования сверхвысокого уровня Piston3.
Ну теперь перл не запостить.
>>140024 > > Только пока в нём меньше пяти сотен строчек и все действия несложно воспроизвести мысленно. > У меня на разных языках было и больше пяти сотен, на какой-то сотне код разделяется на независимые модули, особо друг на друга не влияющие. Пожалуй, насчёт всех действий я погорячился. Нарастающая абстракция позволяет декомпозировать выполняемую задачу. > В питоне сильная динамическая типизация, разговоры по неявное приведение тут заводить вообще не стоит. Не завожу. > Но из каждого утюга эти комментарии называют «статической типизацией» и пиарят, тем самым, заливая мне в голову буллшит. Чего я очень не люблю. Не читай IT-изданий до обеда. Проверка типов не допилена, факт. И толку от того, что парсер пропускает лишние надписи, без сторонних инструментов — нет. > jq > Он сам по себе занимает меньше gawk. $ ldd $(command -v jq) linux-vdso.so.1 libjq.so.1 => /usr/lib/x86_64-linux-gnu/libjq.so.1 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 libonig.so.5 => /usr/lib/x86_64-linux-gnu/libonig.so.5 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2 $ ldd $(command -v gawk) linux-vdso.so.1 libsigsegv.so.2 => /usr/lib/x86_64-linux-gnu/libsigsegv.so.2 libreadline.so.7 => /lib/x86_64-linux-gnu/libreadline.so.7 libmpfr.so.6 => /usr/lib/x86_64-linux-gnu/libmpfr.so.6 libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 /lib64/ld-linux-x86-64.so.2 $ ldd $(command -v grep) linux-vdso.so.1 libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 /lib64/ld-linux-x86-64.so.2 $ ldd $(command -v sed) linux-vdso.so.1 libacl.so.1 => /usr/lib/x86_64-linux-gnu/libacl.so.1 libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 libattr.so.1 => /usr/lib/x86_64-linux-gnu/libattr.so.1 libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 /lib64/ld-linux-x86-64.so.2 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 $ time for I in $(seq 1000); do board="c"; grep -Eo '"'"$board"'":"[0-9]+"' counters.json | sed 's/"//g' | grep -Eo '[0-9]+$' >/dev/null; done real 0m8.763s user 0m1.188s sys 0m3.296s $ time for I in $(seq 1000); do board="c"; jq -r ."$board" counters.json >/dev/null; done real 0m5.713s user 0m3.432s sys 0m1.216s Показатели time — усреднённые после трёх выполнений; файл закэшился и дисковый I/O не добавляет задержку. Числа как бы намекают на то, что jq отработает быстрее, чем приведённая выше связка grep | sed | grep. И тот, и другой при этом подгружают дохуя всего, а gawk — больше всех.
$ ldd $(command -v jq) linux-vdso.so.1 libjq.so.1 => /usr/lib/x86_64-linux-gnu/libjq.so.1 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 libonig.so.5 => /usr/lib/x86_64-linux-gnu/libonig.so.5 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2 $ ldd $(command -v gawk) linux-vdso.so.1 libsigsegv.so.2 => /usr/lib/x86_64-linux-gnu/libsigsegv.so.2 libreadline.so.7 => /lib/x86_64-linux-gnu/libreadline.so.7 libmpfr.so.6 => /usr/lib/x86_64-linux-gnu/libmpfr.so.6 libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 /lib64/ld-linux-x86-64.so.2 $ ldd $(command -v grep) linux-vdso.so.1 libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 /lib64/ld-linux-x86-64.so.2 $ ldd $(command -v sed) linux-vdso.so.1 libacl.so.1 => /usr/lib/x86_64-linux-gnu/libacl.so.1 libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 libattr.so.1 => /usr/lib/x86_64-linux-gnu/libattr.so.1 libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 /lib64/ld-linux-x86-64.so.2 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 $ time for I in $(seq 1000); do board="c"; grep -Eo '"'"$board"'":"[0-9]+"' counters.json | sed 's/"//g' | grep -Eo '[0-9]+$' >/dev/null; done real 0m8.763s user 0m1.188s sys 0m3.296s $ time for I in $(seq 1000); do board="c"; jq -r ."$board" counters.json >/dev/null; done real 0m5.713s user 0m3.432s sys 0m1.216s
time
jq
grep | sed | grep
gawk
https://www.youtube.com/channel/UCi1D_YFT6yabV1jgq8VgnjA/videos
https://searx.me/ https://search.snopyta.org/ Метапоисковик. Рекомендую. Смешные картинки с реддита бонусом.
https://tinystash.undef.im/il/5rYJo7QXaQQWa4CA2vXmozuSpCBw5qjxrr3GRmeVbGPwVVw8DCJJCwyP3n7gAMaUDFPSUkir87WQmREA1kz4skKo.pdf Золотце перекроил свои истории в PDF.
>>159376 > Nikita Sadkov Он обратно себя переименовал? > Like grandmother, grandfather was fond of urine therapy, sometimes forcing me to endure and not go to the toilet, and then piss into a prepared jar. Grandfather diluted my urine with water and drank. The funny thing is that after this grandfather said that the so hated by him Coca-Cola is "urine". Indeed, the mysterious Russian soul. 10/10.
>>159966 Он теперь сам по себе назвается Nash Gold. А в середине (и где-то в начале) хочет упорно поменять имя. Но так как имя поменять не так-то просто, похоже, ходить ему под этим именем ещё долго. > > Like grandmother, grandfather was fond of urine therapy, sometimes forcing me to endure and not go to the toilet, and then piss into a prepared jar. Grandfather diluted my urine with water and drank. The funny thing is that after this grandfather said that the so hated by him Coca-Cola is "urine". Indeed, the mysterious Russian soul. > 10/10. Я как-то хотел понадёргать цитаток и запилить тут Zolotce Appreciation Thread похоже именно из-за его древних цитат я выучил то, что выучил, но как-то не сложилось и наступил новый год. На предыдущей итерации пасты про кодинг брали за душу, честно говоря.
> На предыдущей итерации пасты про кодинг брали за душу, честно говоря. Итерируй в цикле.
На дворе 2к20 уже подходит к концу, а я так и не осилил гит. Здесь я буду страдать и ныть, а вы — утешать меня.
Ртуть лучше гита при том же функционале. Но даже в програмной индустрии миллионы мух не могут ошибаться.
>>158629 > даже в програмной индустрии миллионы мух не могут ошибаться Они не ошибаются каждый день по всему миру. И, кстати, ртуть на пиздоне, это ли не повод для радости?
>>158677 > ртуть на пиздоне, это ли не повод для радости? Вообще похуй. Мне достаточно того что она просто работает и имеет вменяемый синтаксис команд.
>>158677 > И, кстати, ртуть на пиздоне, это ли не повод для радости? Это повод послать её нахуй.
Пишу скрипт АИБ на php с использованием фреймворка Symfony. Сайт для демонстрации: https://symfony2ch.ru
Правила: Запрещено обсуждение наркотиков. Запрещено порно. Запрещено распространение нелегального контента. Запрещено возбуждение вражды либо ненависти к тем или иным социальным группам. Запрещена пропаганда суицида. Запрещена нацистская символика. Запрещено обсуждение политики. О премодерации: Включена премодерация для картинок, которые не находятся на iqdb.org и sauceNAO.com, если хотите точно убедиться, что ваш пост пропустит, тогда предварительно проверьте на этих двух сайтах, достаточно совпадения на одном из них, требуемая степень соответствия минимум 70%. Включена премодерация картинок, которые содержат в себе запрещённые теги определяемые через iqdb.org. Включена премодерация сообщений, в которых есть запрещённые слова.
Трусливое говно.
Сап. Вкатываюсь в погромирование. Зачем использовать редактор кода вместо IDE? Зачем использовать VS Code вместо Visual Studio? Ведь IDE удобнее: можно сразу запускать приложение, приложение само форматирует код и выделяет ошибки. Единственные минусы: скорость работы — IDE сильнее грузит компьютер
>>133504 > Мне очень нравится возможность не выходя из редактора кода кликнуть по какому-то библиотечному элементу и посмотреть его исходники > приходится руками гуглить документации и маны Не скажу про остальных, но в виме можно нажать две клавиши и посмотреть этот метод. Другое сочетание — откроет в новом окне, другое — выведет только декларацию функции, третье напишет за тебя код.
>>133395 > Алсо, никогда не понимал использующих gvim. Какие у него плюсы перед привычным софтом? Работает через иксы и с двумя буферами обмена вне зависимости от консоли. У меня была такая маза, цеплять два компа на кабель, открывать на одном x-сервер без аутентификации и с другого запускать на первом окна редактора, чтобы не заходить по ssh на свой комп. В GTK и Qt должна быть возможность отключать Pango и прочие их костыли к чертям, без них всё должно летать.
>>142371 > Работает через иксы и с двумя буферами обмена вне зависимости от консоли. Удваиваю. Если не гуру сосноли, то без этого никак.
>>144764 Мне лень пилить бинды к xclip, да и отдельный x-сервер по проводу там всяко лучше ssh на свой комп. У меня такое правило: на свою пеку не пускать. Тюкать код меж своей пекой и чужой, чтобы это делать в консольке на ноуте и пекарне, мне лень. Впрочем, в последнее время я обхожусь консолькой за неимением компов и мониторов, с которых никто не попросит.
Мануал по слову под кареткой: Shift+K. Справка по всем утилитам, системным вызовам и функциям стандартной библиотеки прямо под рукой.
Shift+K
>>146093 И ещё команды наподобие: ci" — change in " (удалить в кавычках). Принимаются также скобки, фигурные, квадратные.
ci"
Чтоб скопировать в/из терминала через мышку, нужн gvim -v
gvim -v
>>146637 > vim > через мышку Ты проиграл, уходи. А чтобы скопировать, нужно "*y на выделенном фрагменте текста.
"*y
>>146877 > Ты проиграл, уходи. Ага, когда тебе понадобится вытащить что-нибудь из браузера в терминал или наоборот.
Как вкатиться?
> Я не понимаю смысла этой картинки. Не мог бы ты мне его объяснить? «Ты здесь недавно?». Столяров озвучивает те же идеи, что на протяжении лет нередко можно было услышать в /c/ и /s/. • systemd — говно. • JS — говно. • Винда — говно. • Не пользуется смартфонами (прямо как Столлман). • Любит юниксы, vim и консольный софт. • Ненавидит засилие блотвари, слежки, маркетинговой аналитики и прочие радости продуктов больших корпораций. > Дело в том, что ранее в /b/ на мои вопросы о программировании никто не отвечал, мотивируя тем, что в /c/ это делать уместнее. Задавай, не стесняйся.
>>133610 Может, он в /c/ и /s/ как-то ходил?
>>141532 Как знать. На ЛОРе вот бывает. https://www.linux.org.ru/forum/web-development/13199140
>>133585 Всё правильно. Такие вопросы уместнее всего задавать на 2ch.hk, аноньчик. А на нульчане сидят серьёзные дяди и обсуждают программирование на PHP. Теперь пошёл нахуй. Сажа.
Payload, «полезную нагрузку» называют в обиходе «груз», или я это сам придумал?
> или я это сам придумал? this
>>133413 `те`ст
`те`ст
program Hello; begin writeln('Hello, world.'); end.
#include <stdio.h> int main(void) { puts("Hello, world!"); return 0; }
format binary use16 org 100h ; ---------------------------------------------------------- mov dx, msg mov ah, 9h int 21h mov ah, 4Ch int 21h msg: db 'Hello, world.', 0Dh, 0Ah, '$'
>>133366 > 'Hello, world.', 0Dh, 0Ah, '$' > '$' Это надо было додуматься…
'Hello, world.', 0Dh, 0Ah, '$'
'$'