LINUX.ORG.RU
ФорумTalks

Столяров и Макос

 ,


0

2

Периодически я посещаю сайт Андрея Викторовича Столярова, посмотреть что вышло нового благо, что книги действительно достойные.

И что я вижу: задаёт чувак вопрос Андрею Викторовичу, о возможности использовать макос для обучения, на что получает ответ:

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

   firefox http://stolyarov.info
В макоси вы этого сделать не можете. Ну то есть можно, конечно, рассказать тут публике, как именно (с помощью каких безумных идиотизмов) вы таки можете тот же браузер заставить запуститься, пользуясь только терминалом, но это будет чистая демагогия, поскольку реально использовать эту возможность ни один вменяемый человек не станет. Собственно говоря, всё. Для изучения моих книг командная строка должна стать основным средством работы с машиной, это абсолютно обязательное условие. Под MacOS это невозможно.

Последний абзац я пропущу от греха, а вы можете ознакомиться на сайте. Без КВНа из РФ это может быть проблемой. Уже который раз замечаю, что некоторые образовательные ресурсы по IT в РФ не работают, но я искренне уверен, что они это не по злому умыслу и не для того, чтобы сделать из граждан подданных.

ЗЫ Уважаемый @Croco с удовольствием изучал Си и С++ по вашему учебному пособию пользуясь Windows+Vs code+msys2(gcc)+powershell. ИЧСХ все получалось. Кому интересно, как этого добиться написано в доке к vscode.

★★★★★

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

Ну неосилил @Croco многопоточку, что его теперь убивать что ли?

Парадокс в том, что как раз осилил, я даже кое-что новое узнал из его главы про неё.

При этом он не осилил понять, что а) параллельные вычисления уже давно нужны не только для физиков что-то на суперкомпьютерах посчитать б) Для большинства Data parallel задач, которые сейчас востребованы не требуется сложная и запутанная логика в многопоточке, зато нужна общая память, а не трахание (и замедление) с межпроцессной передачей инфы в форках. в) Data parallel очень хорошо параллелятся, вплоть до десятков тысяч в GPU, так что ссылки на закон Амдала тут по сути ошибка.

Но а) б) в) противоречит его сектантским убеждениям, что задачи юзеров практически такие же как 30 лет назад; за последние лет 20-25 почти ничего нового не изобрели в ИТ; многоядерные пользовательские процессоры придумали маркетоиды, цинично и с особым глумом разводя пользователей на ненужные мощности; что вместо мультипоточности должны быть форки, а мультипоточность на практике допускает нужной разве что для GUI. Один поток собственно GUI, другой - основная работа.

anonymous_incognito ★★★★★
()

Требуется новая реакция: 🐘 – БАЗА

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

Парадокс в том, что как раз осилил

Как раз насколько помню он там предлагает форкнуться и начать обмениваться сообщениями через пайпы, что в 2020х несколько устарело для прикладного софта. Чтобы использовать треды надо изучать stl - фактически новый язык программирования. Сомневаюсь, что оно ему надо. Он как ехал на знаниях полученных в конце 90х, так и едет. Во всяком случае бабки позволяют жить и лечиться в Черногории. Он аж целую «философскую» степень защитил, о том, как всего его насилуют jsом. Для него это оказалось проще.

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

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

высотой метра три (буквально. Я не измерял, но там в метрах будет, может два, а не три).

Okular пишет, что 3 тома учебника 165 × 700 mm, а задачник — нормальные 143 × 215 mm (близко к 149 × 210 мм А5).

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

«…я ещё не совсем ушла в поля подсолнухов…»

Фига у тебя соседи.. Вангога по пъяни обсуждают..

ant1
()

Вот и встретились два одиночества wwwwwбола. :⁠-⁠D

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

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

Перечитай, он действительно считает, что для параллельных вычислений только так и надо (хотя вроде не только пайпы признаёт, но и просто сокеты и прочий posix IPC), тем не менее есть неплохая глава про мультипоточность с кучей оговорок, что из-за своей сложности и высокого риска нетривиальных ошибок это суксь и зашквар и допустимо разве что для GUI.

Опять же парадокс, что я даже частично с ним тут согласен: если необходимо задачу логически распараллелить на несколько логических частей, не требующих интенсивных вычислений или обмена данными между собой, то проще и надёжнее fork() eval() сделать, а не рисковать запутаться в синхронизациях потоков. Например, если программа асинхронно что-то считает, выводит на экран и подгружает с диска. Но когда надо распараллелить, например перемножение матриц, то уже наоборот: делать форки очень неудобно и запутанно становится.

То есть, имеются два вида параллелизма: Task Parallel (параллельное выполнение задач) и Data Parallel (параллелизм данных, параллельная обработка данных, HPC). То что пишет Столяров практически верно в основном только для Task Parallel (и то не всегда) и бредово для Data Parallel, который он игнорирует.

Чтобы использовать треды надо изучать stl - фактически новый язык программирования.

Эээ, чего? Мультипоточность - это pthreads (если в linux/unix), работает и в чистом C и в других языках. STL тут не обязателен совсем.

anonymous_incognito ★★★★★
()

Это вранье от первого до последнего слова. Все работает как часы. Это правда Столяров на столько глуп?

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

При всей моей нелюбви к макоси

А что с ней не так? - Уж точно лучше чем Linux.

У меня адаптер Thunderbolt 4 на Ethernet 10Gb работает на ура на macOS и не работает вообще в Linux. Как оказалось Linux не умеет Thunderbolt…

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

У меня адаптер Thunderbolt 4 на Ethernet 10Gb работает на ура на macOS и не работает вообще в Linux

Соболезную.

Мне, честно говоря, это не очень интересно, извини.

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

Перечитай

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

Мультипоточность - это pthreads (если в linux/unix), работает и в чистом C и в других языках. STL тут не обязателен совсем.

А завтра надо написать многопоток под esp32, что будем делать?

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

А завтра надо написать многопоток под esp32, что будем делать?

Очень специфическая задача, да чтобы ещё универсальный код был для x86 и esp32. Но если так нужно, то может быть и stl использовать, но тогда код к cpp привязывается. Или MycroPython вроде ещё умеет. Но я тут не вижу связи, что раз мультипоток, то обязательно stl изучать.

anonymous_incognito ★★★★★
()

Эм. Браузер на Маке запускается из терминала. Другое дело, что по умолчанию он не в PATH и надо либо указывать полный путь, либо прописывать PATH. Но на Linux тоже можно поставить бинарник браузера вне PATH.

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

Нашёл такое:
https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/pthread.html

C++ Standard Library implementations for std::thread, std::mutex, std::condition_variable, etc., are realized using pthreads and other POSIX APIs (via GCC libstdc++). Therefore, restrictions mentioned here also apply to the equivalent C++ standard library functionality.

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

Тогда вообще проблем не вижу, можно явно использовать pthreads. Хотя он вроде не полностью портирован и в любом случае обёртка над потоками в FreeRTOS, впрочем как и stl

anonymous_incognito ★★★★★
()

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

Ну и ещё один момент: безотносительно сказанного выше, пользователи любых железяк оот Apple представляют опасность для окружающих. Жизнь всей этой мрази охраняет уголовный кодекс, но если бы не он – несомненно, весь биомусор с макбуками, айфонами и прочей подобной пакостью следовало бы утилизировать. И уж точно лицам, которым «нравится» макбук, на моём сайте делать нечего, так что вон отсюда нахрен, дважды не повторяю.

Без КВНа

то же можно

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

Очень специфическая задача

А виндовс и пачка *bsd какая задача?

то обязательно stl изучать.

Всяко лучше чем заниматься хернёй, как предлагает Столяров и на каждый чих переписывая свои костыли вместо вектора, лист, мап, сет, std::thread и изучая 100500 платформ. Столяров в конце сказания о С++ даёт в качестве рекомендуемой литературы ссылку на чувака из нулевых, который 300 страниц рассуждает как лучше написать умный указатель, как реализовать std::move, как они делали все это в мс и тому подобное и так далее.

Но я тут не вижу связи

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

MycroPython

Питон вообще бесполезная херня если ты не дата сатанист. И она явно не проще чем std с просто какими-то закидонами на отступах.

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

Всяко лучше чем заниматься хернёй, как предлагает Столяров и на каждый чих переписывая свои костыли вместо вектора, лист, мап, сет, std::thread и изучая 100500 платформ.

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

Если потоки нужны для Data Parallel и это должно быть кросплатформенно между виндой и линуксом, напрашивается OpenMP использовать, а не std::thread. Или OpenCL или MPICH. Или для GPU Cuda и HIP. Впрочем и без крослатформенности.

Если для логического деления потоков, то там всё-равно кросплатформенный GUI, например, на stl не сделаешь. Как и интернет-сервер.

То есть, я не буду спорить, что stl - полезная вещь, но сводить многопоточность к нему не совсем правильно.

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

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

Занятные лекции. Там самая мякотка - лекция про UB. Всё, как мы любим ударить лицом в лужу на C++. Класс!

Если бы ещё рассказал полноценно про целочисленное переполнение, типовые ошибки при работе с плавучкой, то был бы зачёт.

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

Умеет Линукс Тандерболт. И ту 10гб сетевую карту умеет, я знаю её, она одна. Ну, как умеет. Кое-какие скрипты нужны, и не во всех дистрибутивах они есть. Просто установи Убунту. Усмири гордыню, установи Убунту.

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

Андрей Викторович

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

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

Он по умолчанию, в path. Кроме safari. Но Safari под Линукс нет, причем тут он вообще. Что вас всех тянет на safari? Профессор требовал простого запуска firefox из командной строки. Получите, распишитесь.

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

напрашивается OpenMP использовать, а не std::thread. Или OpenCL или MPICH. Или для GPU Cuda и HIP.

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

Всё неприятие stl Столяровым это два фактора личная неприязнь к его изначальному писателю, и то что в 1996 году у него что-то не получилось с вектором.

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

Ну давай пройдемся по DSM-5 (нужно набрать 5 пунктов):

Грандиозное самомнение (напр. преувеличенное мнение о своих талантах и достижениях).

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

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

И где?

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

Да как раз среди студентоты и столярят он как рыба в воде. К сильным мира сего и знаменитостям равнодушен. РМС и Кнута уважает, но где тут «Меня способны понять только такие люди, как РМС?»

Нуждается в чрезмерном восхвалении.

Чего нет, того нет. По части самооценки А.В. самодостаточен.

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

Ни разу не замечал.

Использует других для достижения собственных целей.

Не больше, чем любой другой человек, встроенный в экономику.

Не умеет сочувствовать.

Может сложиться такое впечатление, но по косвенным признакам.

Часто завидует другим и верит, что другие завидуют ему.

Вряд ли. У нарцисса первое вылилось бы в обесценивание более успешных программистов, преподавателей и писателей учебников, а второе - в обесценивание критиков, в том числе на ЛОРе.

Демонстрирует высокомерное, надменное поведение или отношение.

Вот тут 100500%.

Итого, достоверно видим только высокомерие. Но высокомерным человек может быть из-за чего угодно, особенно в интернете.

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

РМС уважает

Столяров, не без оснований как-то в своей гостевой написал что gnu расширения к Си херня (но это есть и в книге) и что его студенты кодят лучше чем РМС что с большой долей вероятности правда.

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

Лень по пунктам разбирать, но на мой взгляд, я видел 100% подтверждение по каждому пункту.

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

А завтра надо написать многопоток под esp32, что будем делать?

А причём тут шаблоны? Так же как и в linux, на esp32 в программе на C придётся дергать системную функцию для этого, просто другую.

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

следовало бы утилизировать

Едрить он идиот.

Перечеркнул с большим множителем все свои прошлые (местами сомнительные) достижения.

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

Эквипенисуально, по большому счёту…

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

Линукс пока еще, являясь актуальной ОС, может быть минимизирован для обучения.

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

Щито, не щито. Тандерболт - это pci, с работающим хотплагом. Вот, на этот хотплаг нужнен user-space software, которого в маргинальных дистрибутивах, нет. Ядро-то работает, но в целом - не работает. Хотплаг не срабатывает. Я сталкивался с таким в Slackware. Нет у Патрика кругозора и объёма железа.

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

Типа как в оффтопе?

Да как в любой системе. Что-то, а PATH везде работает одинаково. Я вот недавно qemu с virtiofs запускал, прописывал /usr/lib/virtiofsd потому, что этот каталог не в $PATH. Ну что поделаешь, так вот его странно упаковали арчеводы. Терпим, карлики.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)

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

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

https://blog.google/security/https-by-defau/

перестанет через несколько месяцев нормально открываться без предупреждения,

Только первый раз. Разве что ты маньяк, который каждый раз разрешает только на 1 раз.

question4 ★★★★★
()

по Столярову прямо видно, что это преподаватель без опыта практического программирования. Чему такой может научить - вопрос риторический, код у него очень так себе. По крайней мере из того что я видел.

Даже этот пример с огнелисом показательный. Если его и правда так запустить, то он займёт тебе окно терминала. И даже если запустить с &, то все равно будет туда спамить логами. А если использовать xdg-open , то и в маке есть такая же утилита, open.

И в целом в макоси можно работать в консоли. Homebrew, нормальный эмулятор терминала типа kitty, и вперёд. Хотя конечно я всегда предпочту линукс.

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

не надо вникать в ту сектанскую херню которую он пишет, а надо вникать в те знания которые есть на страницах его книг

Ну не знаю, у него в книжках нет сектантской херни? Книжки не читал и не буду, эта сектантская херня создала им антирекламу) Можно подумать больше по сишечке и плюсам почитать нечего)

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

Зачем захламлять /usr/bin тем, что там не нужно.

Если не ошибаюсь, у FreeBSD и у OpenBSD это всё идёт в /usr/local/bin.

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

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

Это уже что-то на уровне психопатии как минимум. Пациент буквально заявляет, что готов убивать людей только из-за того, что они пользуются той или иной компьютерной техникой. То есть, либо психопат, готовый всех непохожих или несогласных «утилизировать» по любому, даже самому малозначемому признаку или вопросу, либо настолько насрано в голове, что он искрене самое главное в мире — это компьютеры и софт, и именно выбор в них определяет, достоен ли человек жить, или нет… Ну или и то и другое сразу (скорее всего).

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

на уровне психопатии

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

amd_amd ★★★★★
()
Последнее исправление: amd_amd (всего исправлений: 1)

Уважаемый @Croco с удовольствием изучал Си и С++ по вашему учебному пособию

Последнее посещение: 10.09.25 01:22:06 MSK

Скорее всего, не прочитает.

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

Добавить в $PATH всё что нужно можно было даже в DOS

Только зачем этим заниматься, если можно пользоваться линуксом, где это просто работает? Может, сразу забраковывать – это перебор, но мне без такого тоже неудобно.

hobbit ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)