LINUX.ORG.RU

Ответ на: комментарий от mertvoprog

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

Учитывая, что в эту ветку кастанули @maxcom, видимо он носитель ценной информации, либо интересуется вопросом, поэтому не премину удвоить каст.

pon4ik ★★★★★
()
Последнее исправление: pon4ik (всего исправлений: 1)
Ответ на: комментарий от byko3y

Ссылки на проекты, где обеспечивается динамическая загрузка и выполнение кода не подскажете?
Хотелось бы вместо jit попробовать такой способ загрузки и выполнения кода.

Конечно речь о легальном способе

Владимир

anonymous
()
Ответ на: комментарий от byko3y

Если мне нужно будет, то я сделаю себе гуй.
Просто, нынче писать код стало немодно, все в основном занимаются переделкой копипасты со стаковерфлоу. А гуй? Пусть его энтерпрайз архитекторы пишут.

О том и речь. Код писать не модно, можно ныть и молиться на ынтерпрайз в надежде, что они сделают тебе гуй.

crutch_master ★★★★★
()
Ответ на: комментарий от pon4ik

Прикол в том, что возможность измерить какой процесс сколько жрёт сети есть. Либа для этого есть. Сорцы для этого есть. Люди, которые всё это сделали есть. Но нет ни одного человека, который взял бы жопу в руки сделал гуй. Или хотя бы сказал, «пацаны, давайте соберёмся и сделаем гуй». Зато нытиков, которым он нужен навалом. Вот они ходят по лору и ноят, «ууу в венде есть гуй, а у меня гуя нет и надо ставить nethogs». А как появился nethogs? Какому-то чуваку был нужен nethogs, он сел, написал его и выложил сорцы. Но нет, у нас тут каждый адепт гуйцов считает, что он не тот чувак, он лучше будет ныть.
Задолбали. Нет чего-то идите и запилите. Не можете запилить, сделайте тред, мол давайте запилим. Репу на гитхабе сделайте пустую, обсуждение поднимите. ЧТО-НИБУДЬ СДЕЛАЙТЕ, ВМЕСТО НЫТЬЯ.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 2)
Ответ на: комментарий от Im_not_a_robot

Зачем?

Ну вот, им НУЖНО, чтобы было как в венде. Я тоже запускаю htop, а гуйнёй вообще не пользуюсь.

Скорее всего гноморазработчики пошлют такого самаритянина подальше, потому что у них СВОЕ ВИДЕНИЕ

Не обязательно тащить это в апстрим гнома, можно тупо форкнуть и сделать свой супер-таскманагер-про. Хотя нет, нельзя. Приделать готовую либу к готовому таскманагеру - это какой-то крутой инженеринг за гранью. НИКТО такого не осилит.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Лол. Кого-то припекло.

Дружочек пирожочек, речь как раз про либу и в принципе системный API для подобных вещей. Или ты в серьёз рассматриваешь libpcap + анализ статистики по открытым процессами портам, как адекватный способ делать такие вещи?

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

pon4ik ★★★★★
()
Ответ на: комментарий от crutch_master

Нет чего-то идите и запилите. Не можете запилить, сделайте тред, мол давайте запилим. Репу на гитхабе сделайте пустую, обсуждение поднимите. ЧТО-НИБУДЬ СДЕЛАЙТЕ, ВМЕСТО НЫТЬЯ.

Можно @metaprog попросить …

anonymous
()
Ответ на: комментарий от pon4ik

Или ты в серьёз рассматриваешь libpcap + анализ статистики по открытым процессами портам, как адекватный способ делать такие вещи?

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

proxifier

Недовпн с недопрокси для инвалидов с 30-days-trial. Достижение века.

crutch_master ★★★★★
()
Ответ на: комментарий от anonymous

Можно @metaprog попросить …

Именно. На ЛОРе один герой - метапрог. Остальные разделились на 2 лагеря: одних всё устраивает, другие вечно ноют.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от mertvoprog

В языках с GC GC принудительный ко всему.

Вычёркивай C# и Dlang из языков с GC. Так точно так же как в Pascal, хочешь используешь GC, хочешь сам управляешь памятью без GC.

fsb4000 ★★★★★
()
Ответ на: комментарий от fsb4000

Вычёркивай C# и Dlang из языков с GC.

Не получится, в обоих даже строки (встроенные в язык конструкции) перестанут работать. В Dlang также перестанут работать встроенные в язык массивы и ассоциативные списки.

anonymous
()
Ответ на: комментарий от anonymous

И в C# и в Dlang можно выделить память в обход GC, и если самостоятельно не освободить, то будет утечка.

В паскале, кстати тоже строки и динамические массивы являются managed типами, и память управляется автоматически, никакие nil/free не нужны для этих типов.

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от fsb4000

Да, в С++ shared_ptr это форма GC. Помоему в CPython тоже используется GC на подсчёте ссылок.

Все-таки shared_ptr (и паскалевское) не дотягивают до полноценного GC. Есть проблема циклических ссылок, что вынуждает использовать weak_ptr и освобождение памяти на деле становится полуавтоматическим в общем случае.
А вот CPython уже другое дело там вполне полноценный GC хоть и основанный на подсчете ссылок. Полноценным его делает то, что к подсчету ссылок добавлен механизм удаления циклических зависимостей уже не доступных из программы (который кстати вызывается периодически, а не на каждое перещелкивание счетчика, что приближает питоновский GC к «взрослым» GC).

Понятие не имею как там в дельфи, я про freepascal.

Куда конь с копытом, туда и рак с клешней :)

anonymous
()
Ответ на: комментарий от fsb4000

И в C# и в Dlang можно выделить память в обход GC, и если самостоятельно не освободить, то будет утечка.

В любом языке с полноценным GC и нормальным FFI это можно сделать, например в haskell или в том же питоне.

В паскале, кстати тоже строки и динамические массивы являются managed типами, и память управляется автоматически, никакие nil/free не нужны для этих типов.

Да там подсчет ссылок, в старом паскале строки вообще были тупо массивы и размещались на стеке по умолчанию. Но это в лучшем случае элементы GC.

anonymous
()
Ответ на: комментарий от anonymous

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

Очень медленная компиляция всё портит. Добавил пару зависимостей и всё - компиляция по минуте и больше. Ещё из-за zero-cost abstractions бывает приходится много писать бойлерплейта.

fulmar_lor
()
Ответ на: комментарий от st4l1k

ponylang вам надо посмотреть если уж zig недостаточно рарный

Ты знаешь, есть лекция эдак десятилетней давности, вполне возможно от автора этого языка или кого-то из слушателей, которая как раз эту проблему и обжевывала, то есть, проблему неизменяемых и изменяемых данных в контекста многозадачности. Ponylang решает проблему коренным образом, запрещая разделять изменяемые и разрешая разделять неизменяемые данные. Первый релиз Ponylang был в 2015, но уже в 2007 был релиз Clojure, которая пилилась два года, и которая тоже построена на неизменяемых общих данных, однако, в этом языке уже решен следующий круг проблем, не затронутых Ponylang, а именно — что делать с большими изменяемыми данными и/или сложными наборами изменений большого числа ячеек? Для этого в Clojure есть и атомарные операции, и Software Transactional Memory, и многоверсионность, которая позволяет хранить мелкие изменения в малом объеме памяти, независимо от общего объема контейнера. Собственно, как я понял, именно последнее и стало фундаментом Clojure, дав языку фундаментальные многоверсионные структуры данных list, set, vector, map — на основе их уже строятся и атомы, и STM, и прочее.

byko3y ★★★★
()
Ответ на: комментарий от fulmar_lor

Очень медленная компиляция всё портит. Добавил пару зависимостей и всё - компиляция по минуте и больше. Ещё из-за zero-cost abstractions бывает приходится много писать бойлерплейта

Кстати, да, в эту сторону есть какие-то подвиги у раста? Потому что рак раздельной конпеляции давно убивал кресты — удалось ли его как-то побороть в расте? В конце-концов, они же зачем-то сделали статическую типизацию на уровне интерфейсов функций?

byko3y ★★★★
()
Ответ на: комментарий от pon4ik

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

Нет, надо работать исключительно из под одного юзера (причем лучше, если это будет рут), устраивать в его профиле говняный свинарник, а потом удивляться, что так хотят не все.

crutch_master ★★★★★
()
Ответ на: комментарий от fulmar_lor

Очень медленная компиляция всё портит. Добавил пару зависимостей и всё - компиляция по минуте и больше.

Для С++ программиста очень привычно. Но да согласен что по сравнению с другими языками компиляция медленная, из тех языков что тыкал только Scala и местами Haskell еще медленнее. Но с С++ вполне сопоставимо.

Ещё из-за zero-cost abstractions бывает приходится много писать бойлерплейта.

Ну в околосистемных языках от этого не уйти.

anonymous
()
Ответ на: комментарий от byko3y

Кстати, да, в эту сторону есть какие-то подвиги у раста?

Судя по этой статье https://blog.mozilla.org/nnethercote/2020/09/08/how-to-speed-up-the-rust-compiler-one-last-time/ за три года компилятор ускорился в два три-раза за последние три года. Здесь https://news.ycombinator.com/item?id=23550493 вполне подтверждается - примерно в два с половиной раза.

anonymous
()
Ответ на: комментарий от byko3y

Подвижки были. Последняя запись из серии блог постов про улучшение перформанса компиляции чувака который этим занимался: https://blog.mozilla.org/nnethercote/2020/09/08/how-to-speed-up-the-rust-compiler-one-last-time/

Теперь он будет работать в ёпл https://blog.mozilla.org/nnethercote/2020/12/04/farewell-mozilla/ и что дальше - кто-то будет продолжать его работу, надеюсь.

Thank you to everyone who has contributed, and good luck to all those who will contribute to it in the future!

fulmar_lor
()
22 января 2021 г.
Ответ на: комментарий от byko3y

к появлению указателей

Будто их изначально не было.

но они непопулярны по одной причине — отсутствие четко прописанного в языке понятия ссылки на объект

Не-а, просто не нужно собирать мусор, когда его нет ;) А языки, которые не дают его не плодить — зло.

Последние версии VCL так себе работают даже под виндой

Будто лучше есть ;)

а потом внезапно выяснилось, что теперь их пишут на крестах

Это кого, маргинальщину и экспериментальщину всякую?

Но неужели ты не понимаешь, что программу с потенциальным удаленным выполнением кода в принципе нельзя допускать к сетевой среде!

Потому что сесуритифанатики сказали?

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

Пока не будет решена проблема способности людей совершать преступления, латать её в отдельных сферах типа технической, где это возможно, особого смысла нет. Сродни пристёгиванию ножей цепями к стенам, как в Китае.

Сидящие тут ньюфаги и не слышали о таком, они на полном серьезе думают, что дырявость — это винда

Просто их сервера как таковые не интересуют, только потребительский сегмент. Отсюда же ползучие стереотипы про статистику ОС исключительно по десктопам, будто кроме десктопов ОС нигде нет.

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

а винда уже унаследовала это свойство вместе с языком Си

И успешность, ага. Благодаря высокой производительности, которой у поделий на безопасных языках нет и не будет. А были они ещё в древние времена, и сдувались одно за другим. Даже ZCA не панацея, в вашем хрусте другого оверхеда хватает.

На одни пинги отвечать?

Какие пинги, аллё? ;) Вам рассказать, что можно делать с ЭВМ в оффлайне?

это возможность менять код программы при ошибке работы с данными

Это уходит корнями глубже, а именно в возможности фон-неймановской архитектуры по сравнению с гарвардской, и постепенно вытеснение гарвардской архитектуры фон-неймановской. Какой прок в фон-неймановской архитектуре, если ЯП не предоставляют средств для эксплуатации её возможностей?

С этим тяжело что-то сделать, и ни один язык тут напрямую не виноват

А дело здесь и не в языках, а в том, что side channel в реальном мире торчат изо всех щелей, и сесуритифанатичная стратегия окукливания обречена на провал. Сколько Safe Space ни строить, а первый же катаклизм его сдует и отправит мягкотелых инфантилов в /dev/null ;)

mertvoprog
() автор топика
Ответ на: комментарий от byko3y

У тебя почему-то не возникает вопроса «а что если браузер поддерживает только ES4?»

Потому что ES4 не взлетел.

И ни в ES5, ни в ES3 синтаксических нововведений не было. Если какие-то API отсутствуют — можно их заполифиллить или в крайнем случае проверить наличие и отключить кусок кода, это ерунда.

Беда ES6 именно в том, что не умеющие его браузеры гарантированно вообще ничего не выполнят, а только выплюнут Syntax error.

Нельзя запустить десктопный электрон на мобилке, нельзя запустить приложения под React Native на десктопе и надеяться

Опять Вы со своими десктопами — речь не о них. Речь сугубо о кроссплатформенности в мире мобилок, которая лет 5 назад атрофировалась до iOS/Android.

Slack

умирает

Что, серьёзьно? ;)

который тратит сотни миллионов долларов в год на сервера

Могут себе позволить, бабла-то за пользование дерут немало. А с кого не дерут, у тех лимиты смехотворные.

А теперь сравни это со старым Skype, который почти не создавал нагрузку на сервера

Ага, в начале 00-х, когда домашние пользователи ещё не сидели за NAT чуть менее чем поголовно. К моменту покупки мелкомягкими это давно стало неактуально.

Что характерно, благодаря буму IPv6 (в Пиндостане, например, его уже все опсосы умеют) у такой модели есть второй шанс, но проэксплуатирует его кто-нибудь другой ;) Если в этом вообще есть смысл, ибо STUN/TURN давно отлажены и работают прозрачно и ненавязчиво.

заставить работать проще

Ну в этом плане любая скриптуха впереди, да.

Но для культей-то тоже есть PySide/PyOtherSide, и на нём неплохие програмки высирают, шустрые и красивые даже ;)

mertvoprog
() автор топика
Ответ на: комментарий от byko3y

Есть примеры

Да любая Наша поделка на Rust ;) (из всех полутора, ага).

@bq:18:22:35:/tmp/dl$ ls -l /data/progs/rust/
итого 32
drwxrwxrwx 1 root root 4096 сен  5 20:38 hide_my_g
drwxrwxrwx 1 root root 4096 авг 24 15:15 limon
drwxrwxrwx 1 root root 4096 авг  3  2019 mimicd
drwxrwxrwx 1 root root 4096 апр 27  2019 redmon
drwxrwxrwx 1 root root 4096 янв 31  2020 secamfire
drwxrwxrwx 1 root root 4096 апр 28  2019 tgbakdedup
drwxrwxrwx 1 root root 4096 мая 20  2019 wallpaper1
drwxrwxrwx 1 root root 4096 ноя 25  2017 zisi

Из них только первые два вроде и допилены и опубликованы. Ну и код от обоины вроде тоже, на конкурс делали.

Ибо TRPL читали-читали, да всё забыли и пишем, воюя с компилятором, пока не даст наконец собрать, после запихивания кучи явных преобразований типов.

mertvoprog
() автор топика
Ответ на: комментарий от DarkEld3r

Да их много где нет. Мы даже застали времена, когда их не было в JS, и до сих пор не пользуем :P

Проблема в том, что предложены аццкие костыли, лишь бы видимость плюх создать.

mertvoprog
() автор топика
Ответ на: комментарий от crutch_master

Либо всё-таки проблема в том, что код пишут несколько отличные люди от тех, кому нужен гуй.

mertvoprog
() автор топика
Ответ на: комментарий от pon4ik

адекватный способ делать такие вещи?

Ну конечно, вместо этого ядро должно считать кучу всякого ненужного :P

mertvoprog
() автор топика
Ответ на: комментарий от crutch_master

один раз в год

Мы когда на GPRS/EVDO сидели — каждый день пользовались.

mertvoprog
() автор топика
Ответ на: комментарий от gag

Но новость-то ни о чём.

Отдельной от графики консоли всё так же нет, просто стало проще делать сторонние графические.

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

Ну вот @torvn77 давеча сделали и обсуждение подняли, а толку? ;)

Поичём у меня ещё и тема была резонансная.

Но вообще два человека в организацию записались, но что там сейчас не знаю, сам на github давно не ходил, а здесь меня по той теме никто не кастует.

torvn77 ★★★★★
()
Ответ на: комментарий от anonymous

Для С++ программиста очень привычно. Но да согласен что по сравнению с другими языками компиляция медленная, из тех языков что тыкал только Scala и местами Haskell еще медленнее. Но с С++ вполне сопоставимо.

Референсный компилятор Dlang dmd компилируется с нуля несколько секунд. Полноценный компилятор. Бекэнд там не такой продвинутый как в gcc или llvm, но все же компилятор полноценный. Несколько секунд собирается всего лишь. Есть о чем подумать.

anonymous
()
Ответ на: комментарий от mertvoprog

Какой-никакой прогресс винды на фоне регресса с консолью в линуксе. Печальная тенденция.

gag ★★★★★
()
Ответ на: комментарий от anonymous

Референсный компилятор Dlang dmd компилируется с нуля несколько секунд. Полноценный компилятор.

Go аналогично.

gag ★★★★★
()
Ответ на: комментарий от torvn77

но что там сейчас не знаю, сам на github давно не ходил

Вы с этим поаккуратнее ;)

Мы так когда-то на одном сайте закрытый блог создали, добавили туда пару мимокрокодилов по их просьбе, оставили без присмотра, а потом оказалось, что они туда фоалкона накидали (видимо, чтобы куда-то донести) — а спрашивали в итоге с Нас, конечно ;) Прилетела карма за ЛОР ;)

mertvoprog
() автор топика
Ответ на: комментарий от gag

регресса с консолью в линуксе

Это какого, выкидывания прокрутки, которая толком и не работала? ;)

mertvoprog
() автор топика
Ответ на: комментарий от gag

На Нашем утюге за пару секунд? что-то о-о-о-о-очень сомнительно :P Тут ведро компилируется пару часов, только с нужными модулями.

mertvoprog
() автор топика
Ответ на: комментарий от pon4ik

Диспетчер задач в винде?

это нагрузка от которого вынуждает проц бустить до 1.2ггц, хотя ютуб играется на 0.8ггц в браузере?

anonymous
()
Ответ на: комментарий от anonymous

Несколько секунд собирается всего лишь. Есть о чем подумать.

Там не о чем думать, я в его исходниках копался еще тогда, когда он на C++ был написан, весь код в стиле Си с классами притом сильно ближе к си, например с кучей goto и мелких сишных трюков, потом смотрел когда на D переписали, тупо синтаксис под D подправили. В общем и сейчас судя по беглому тыканию в исходники все примерно так и осталось. Понятно что Валтер так привык и может и умеет писать, но для остальных такое мало подходит, фактически мы отказываемся от очень большей части возможностей языка, по моему это слишком дорого.

anonymous
()
Ответ на: комментарий от gag

Go аналогично.

Это из-за примитивности языка, там даже шаблонов нет.

anonymous
()
Ответ на: комментарий от mertvoprog

а потом внезапно выяснилось, что теперь их пишут на крестах

Это кого, маргинальщину и экспериментальщину всякую?

«Экспериментальщина» — это всё, что младше 25 лет. До этого BSD, Linux, и винда были написаны таки на Си.

Пока не будет решена проблема способности людей совершать преступления, латать её в отдельных сферах типа технической, где это возможно, особого смысла нет. Сродни пристёгиванию ножей цепями к стенам, как в Китае

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

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

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

Вам рассказать, что можно делать с ЭВМ в оффлайне?

Это как раз я пишу, что юникс и винду нельзя выпускать в сеть. Что делать с ними в оффлайне мне как раз ясно.

Это уходит корнями глубже, а именно в возможности фон-неймановской архитектуры по сравнению с гарвардской, и постепенно вытеснение гарвардской архитектуры фон-неймановской

Язык Си никак не использует возможности фон-неймановской архитектуры, максимум его динамичности — это вызов функции по указателю. Никакой кодогенерации во время выполнения нету.

byko3y ★★★★
()
Ответ на: комментарий от mertvoprog

Slack
умирает

Что, серьёзьно?

Его выкупят при банкротстве и пользователей сохранят, но проект уже сейчас разорился, потому что при росте числа пользователей расходы растут быстрее доходов.

byko3y ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.