Pull to refresh

Comments 1135

PinnedPinned comments

Зачем нужен состав на этикетке продукта? Что бы знать что ты употребляешь в пищу. Мы можем его не прочитать, но найдется служба которая занимается контролем за этим процессом, что бы мы были уверены в своей еде.

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

Пользователи windows и macos принципиально отличаются от пользователей linux

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

Программы невозможно изучить, изменить или доработать

плагины для экселя или ворда (в том числе платные) , трейнеры, читы, моды для игорей

Видимо это все не то

И так далее. На любой тезис из вашего поста, можно найти 100 аргументов его опровергающих

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

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

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

плагины для экселя или ворда (в том числе платные) , трейнеры, читы, моды для игорей

Да, windows и macos и правда позволяют сделать данные доработки. Но фундаментальные изменения в системе позволяет делать только линукс.

причем тут дворянство?

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

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

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

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

В случае с macos и microsoft контроль над программами отдается на аутсорс, в то время как с линуксом есть возможность коллективного контроля.

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

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

И это принципиальное преимущество.

Молодости присущ максимализм/категоризм. Потому и "дворянство", и контроль пакетов, и другие фантазии.
Всячески поддерживаю автора с его юношеским пылом ! Пусть дерзает. Ну а жизнь сама все по местам расставит.

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

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

порнуха

Вот на святое то не надо позаряться. ИМХО для подростка оно скорее будет во благо, чем во вред.

Перегруз по учёбе

Думаю, с этого и стоит начинать. Всё остальное [должны быть] в состоянии проконтролировать родители.

шумовое и визуальное загрязнение в городах

А это не только на детей влияет. Мне, как человеку, прожившему первые 20 лет вдали от цивилизации, а потом переехав в крупный город, очень знакомо всё это.

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

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

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

1) Истощение
2) Появление толерантности

Пообщайтесь с заядлыми любителями порнухи на тему их потенции и влечения (а за одно жизненных амбиций и волевых качеств).

Я не из моралистов и сам смотрел, но кардинально пересмотрел отношение к ней со временем.

С одной стороны, всё это похоже на правду.


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

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

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

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

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

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

Так порнозависимость делает человека нечувствительным к биологическому партнёру

Ого, то есть, это не нечувствительность к биологическому партнеру приводит к необходимости сублимации через порно, тем самым формируя и закрепляя зависимость, а наоборот?
У вас телега впереди паровоза.

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

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

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

старый, тёплый, ламповый и аналоговый

это набежать и изнасиловать.
Ваш кэп.


Аналогия ваша — котенок с дверцей. Biased is not based.

Есть путь реализации софтварный: быстрый, лишенный поведенческих рисков, беслатный, сверхстимулирующий
Он еще и не менее старый и ламповый.

Пообщайтесь с заядлыми любителями порнухи на тему их потенции и влечения (а за одно жизненных амбиций и волевых качеств).

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

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

Театр еще )
Молодежь стала наглой и распущеной, не слушает старших, жадно глотает еду…

Ну разумеется, обзови оппонента шизиком и все его аргументы волшебным способом окажутся опровергнутыми.

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

Ключевой вопрос - на что знание в конечном итоге будет направлено.

Очень правильная мысль. Можно направить его на устройство ОС, а можно - на решение прикладных задач.

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

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

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

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

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

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

В этом есть необходимость? Продолжать работать на своём уровне абстракций, постепенно расширяя границы фундамента свободных/открытых программ тоже хорошо.

Это хорошо, когда вы делаете это хорошо, а не когда вы просто делаете это. А механизмов отделить первое от второго в комьюнити просто нет. Я, например, не хочу расширения фундамента программ, у которых куча легаси-кода на С++, новый код на тайпскрипте под нодой, и ещё требуется пайтон. Потому что изначально писалась на плюсах, потом зашла пара современных мейнтейнеров, которые плохо знали плюсы, но хорошо знали тайпскрипт, и прикрутили его к старому ядру, а вон те три контрола, которые им понравились, были на пайтоне. Не надо их расширять, их надо хоронить. Но люди этим пользуются, потому что "жричодали" - основной принцип потребления софта юзерами, выбора-то нет. А раз пользуются, то эти обвешанные костылями монстры все равно развиваются.

А вы уверены что у вас хватит квалификации этот фундамент качественно укреплять?

И у вас есть на это время? Или вы готовы заниматься этим в свободное от работы время? Или у вас официально отводится сколько-то процентов времени на непроектные (технические) задачи?

Кроме того, любое изменение кода в любом мало-мальски серьезном проекте влечет за собой огромное количество регресс-тестов.

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

Кроме того, если речь идет о каких-то изменениях я ядре ОС, то эти изменения должны делаться централизованно. Иначе следующее же обновление ядра ОС может вызвать конфликт.

А любое централизованное изменение должно быть согласовано с майнтенером.

А вы уверены что у вас хватит квалификации этот фундамент качественно укреплять?

Это должно решать сообщество. Мне не кажутся невозможным создание PR в открытые проекты, помощь в реализации уже существующих инструментов.

При этом даже направление квалификации не имеет значения, разные люди решают разные задачи.

И у вас есть на это время? Или вы готовы заниматься этим в свободное от работы время? Или у вас официально отводится сколько-то процентов времени на непроектные (технические) задачи?

Время есть.

Когда работал, занимался открытыми проектами в личное время (с чайком и музыкой по-вечерам).

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

Я понимаю, что это некорректно, но не могу удержаться: допустить орфографическую ошибку в слове "грамотнее" - это какой-то новый уровень.

Да, windows и macos и правда позволяют сделать данные доработки. Но фундаментальные изменения в системе позволяет делать только линукс.

порог вхождения в "фундаментальные изменения" в ОСи неприемлемо высок.

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

Сколько людей в мире могут заменить ядро линукс на свое?

Поскольку в мире линукс собрать свои ядра принято у гентушников да LFS, то результирующая цифра будет стремиться к 100%. Потому что там где так принято — так делают практически все.
У остальных же гораздо актуальнее установка пакета со свежим или, наоборот, LTS ядром из того что есть в доступности. Как ни удивительно, но установка пакетов делается пакетным менеджером, в наше прогрессивное время уже четверть века как гуевым. Что автоматически дает опять близкую к 100% цифру.


Ваш кэп.

По первому абзацу вопросов нет, но среди "людей в мире" этих товарищей очень немного.

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

что лежит вне дефолтного репозитория дистрибутива

Но это же не мешает быть ему опакеченым или иметь PKGBULD

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

Каджит вас не понимает. Возможно, вы ошиблись подветкой?

Поскольку в мире линукс собрать свои ядра принято у гентушников да LFS, то результирующая цифра будет стремиться к 100%. Потому что там где так принято — так делают практически все.

Я так понял, что вы перепутали "сделать свое ядро" или "пересобрать уже готовое Линукс ядро даже не с собственными изменениями, а просто с другими параметрами, уже известными и документированными", например просто отключив/включив какие-то модули или драйвера в ядро.

А в винде это делать не нужно, потому что ядро не монолит с драйверами, и они просто устанавливаются или удаляются.

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


потому что ядро не монолит с драйверами, и они просто устанавливаются или удаляются

Ви таки не поверите, но:


  • отключать модули, в том числе вкомпилированные в ядро, давным-давно можно просто передав параметры ядру
  • чтобы подключить произвольный модуль при старте системы, вроде модулей ФС, придумали initramfs. Тоже давным-давно
  • модули, ВНЕЗАПНО, хранятся прямо в файловой системе, а не составляют одно целое с ядром
  • модули легко и непринужденно загружаются и выгружаются прямо в рантайме

Ваши представления устарели на четверть века

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

Возможно.
Но это вопрос совершенно отдельный.

То есть вы просто включаете/отключаете что-то в ядре Линукса, а не заменяете ядро Линукса СВОИМ ядром, которое написали самостоятельно.
Так в чем собственно смысл? Отключить опции в реестре, или отключить опции при пересборке ядра? Второе звучит круче?

Значит, все-таки, неутешительные.
Ну, ожидаемо.

Disclaimer: я не топлю ни за Windows, ни за Linux. Каждому удобнее своё. Я просто попробую описать почему Linux для некоторых людей может быть удобнее.

У меня на днях был квест отключить Windows Defender. Комп достаточно слабый, он используется только для просмотра трех сайтов в Chrome, в антивирусе нет нужды. Я так и не осилил выполнение этого квеста. В инете много рекомендаций как это сделать через реестр, политики и т.д. Большая часть рекомендаций не работает. Как я понял, у части ключей в реестре владелец Trusted Installer и так просто эти ключи не изменишь. В гугле рекомендуют скачать стороннюю утилиту, которая позволяет запустить редактор реестра под этим пользователем. Вопрос на сколько этой утилите вообще можно доверять. В итоге я вроде что-то отключил, но только частично. Всё это выглядит как какое-то шаманство, штатной документации и штатных утилит на этот случай нет.

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

Или, например, мне нужно найти все файлы по какому-то критерию, массово переименовать их, массово преобразовать svg в png с нужными параметрами и т.д. В Linux я ищу для этого подходящую утилиту, изучаю документацию. А в Windows в большинстве случаев ищу готовую программу, возможно проприетарную, возможно с рекламой, возможно с меньшими возможностями, возможно с не удобным ограниченным графическим интерфейсом, в котором ещё разобраться нужно.

В Linux унифицированный интерфейс для поиска и установки программ через пакетный менеджер, без визардов, без галочек "Установить до кучи ещё какой-нибудь браузер или антивирус". Унифицированный интерфейс у утилит (в виде командной строки), обычно с большим количеством возможностей, которые было бы сложно уложить в GUI. Унифицированная документация, которая одинаково открывается для большинства программ, одинаково оформлена. Относительно унифицированные конфиги, журналы работы и т.д., которые лежат в соответствующих каталогах и всегда знаешь где их найти. Для меня это банально удобнее.

Ещё мне последние версии Gnome визуально нравятся гораздо больше, чем интерфейс Windows. Но это очень субъективно, как и всё остальное перечисленное здесь.

Плюс, раз статья про образовательный процесс, то на мой взгляд всё это способствует приобретению знаний (по крайней мере для разработчиков и админов). Когда ты разбираешься с командами типа find, grep, sed, а не просто ищешь программу с GUI, которая решит узкую задачу, то явно обучаешься, узнаешь что-то новое.

Но, ещё раз, у меня такие запросы, поэтому мне это удобнее. У дизайнеров, например, другие запросы, им нужна куча специфических программ, которые есть только в MacOS. Другим людям нужны специфические программы, которые есть только под Windows.

Унифицированный интерфейс у утилит (в виде командной строки)

Вы просто не видели реально унифицированного интерфейса...
Где команда - это не какая-то программа с именем, которое ей придумал обкурившийся гик, а вполне внятная мнемоника типа:
CLRMSGQ - очистка очереди сообщений (что делаем - чистим - CLeaR, что чистим - очередь сообщений - MeSsaGe Queue)
или
WRKOBJLCK - WoRK with OBJect LoCKs
и т.п.

Все имена команд интуитивно понятны - WRK - работать с... DLT - удалить ... CRT - создать... и т.п.
И если вы ввели недостаточно параметров для команды, вам выведется формочка (текстовая) где будет предложено ввести недостающее

И тут вы увидите и параметры которые должны быть введены обязательно и дефолтные значения для необязательных параметров...

Ну и нет нужды писать командные строки в километр длиной

Где это так продумано?

IBM i (AS/400)

Но это вообще система, построенная на совершенно отличных от Win/*nix принципах. Там полностью другая идеология - это объектная ОС - там "все есть объект". У объекта есть имя, тип (из списка заранее определенных) и атрибуты (присущие данному типу). Тип и атрибуты задаются при создании объекта и не могут быть изменены.

С каждым объектом можно производить только те действия, которые определены для данного типа. Например, если в винде вы можете открыть файл .exe в hex редакторе и поправить там несколько байтиков (ну чтобы регистрацию не проверяла, например), то тут такое не пройдет - для объекта типа *PGM (программа) такая операция запрещена на уровне системы.

Там и файловая система своя - нет файлов, есть объекты (есть объект типа *FILE, но это просто один из типов объектов). Нет папок, есть библиотеки (библиотека тоже есть объект типа *LIB). Нет PATH как в винде, есть LIBL (Library List) который уникален для каждого задания (JOB - все, что делается в этой системе, делается в рамках какого-либо задания - запустили терминальную сессию - создалось новое задание, программу можете запустить прямо из терминала в том же задании, а можете запустить в новом фоновом задании командой SBMJOB - Submit Job) и может динамически изменяться командами ADDLIBLE (Add Library List Entry) или RMVLIBLE (Remove Library List Entry) по мере текущей необходимсти.

В общем, это совершенно другая система. Как писал Френк Солтис (один из отцов-основателей AS/400) во вступительной главе своей книги "Основы AS/400" (там много интересного как про историю ее создания, так и технических подробностей как она устроена внутри):

Я был в Буэнос-Айресе на встрече с группой пользователей этой системы. По окончании встречи молодой репортер газеты «La Nacion» спросил меня: «Сформулируйте, пожалуйста, коротко причины того, почему в AS/400 столь много новшеств?». И я ответил: «Потому что никто из ее создателей не заканчивал MIT.» Заинтригованный моим ответом, репортер попросил разъяснений. Я сказал, что не собирался критиковать MIT, а лишь имел в виду то, что разработчики AS/400 имели совершенно иной опыт, нежели выпускники MIT. Так как всегда было трудно заставить кого-либо переехать с восточного побережья в 70-тысячный миннесотский городок, в лаборатории IBM в Рочестере практически не оказалось выпускников университетов, расположенных на востоке США. И создатели AS/400 — представители «школ» Среднего Запада — не были так сильно привязаны к проектным решениям, используемым другими компаниями.

Если кому-то интересно - в сети есть достаточное количество ресурсов (гуглить IBM i, AS/400) по этой системе. Можно даже самому попробовать - есть публичный сервер PUB400 - можно зарегистрироваться бесплатно и поработать (все что для этого потребуется - эмулятор терминала IBM5250, он есть в составе бесплатного пакета Access Client Solutions от IBM).

Я к чему все это... А к тому, что когда слышу яростные холивары на тему Win-Linux, хочется спросить - "ребята, а вы что-то иное пробовали?". Просто потому что мир очень многообразен. И есть другие системы помимо этих. Да, специализированные, да малораспространенные. Но там могут быть заложены очень интересные концепции, принципы и решения, которые могут оказаться несравнимо удобнее того, что мы видим в винде или линуксе.

У меня вот сейчас два рабочих компа. Один под виндой, второй под линуксом. А пишу я сейчас под AS/400 (и, естественно, провожу много времени в терминале на сервере). А до этого жизнь сталкивала (правда, достаточно кратковременно) с QNX - это такая юникс-подобная система реального времени построенная на микроядерной архитектуре...

Например, если в винде вы можете открыть файл .exe в hex редакторе и поправить там несколько байтиков (ну чтобы регистрацию не проверяла, например), то тут такое не пройдет — для объекта типа *PGM (программа) такая операция запрещена на уровне системы.

Ужас какой… Ну то есть я понимаю что это может быть полезной фичей в отдельных сценариях. Но в контексте того как я пользуюсь компьютером это было бы катастрофой.

Это гарантирует устойчивость системы в целом.

Вообще, все это начиналось как платформа для серверов для малого и среднего бизнеса (middleware), для тех, кому мейнфреймы S/390 (сейчас это платформа IBM z) дороги и избыточны. Но получилось настолько удачно и масштабируемо, что теперь широко используется и в крупном бизнесе.

Там еще все очень изолировано. Есть, например, т.н. SLIC - System Licensed Internal Code. Это уровень ядра ОС. Туда нет доступа никому кроме разработчиков самой системы.

Там нет ассемблера. Т.е. он есть, но только на уровне SLIC. Обычным разработчикам недоступен. Для обычных разработчиков есть язык машинных инструкций (нечто среднее между ЯВУ и ассемблером). Причем, эти инструкции не зависят от конкретной машины (т.н. TIMI - Technology Independant Machine Instructions). Более того, компилятор (любой) там генерирует этот самый TIMI код который потом переводится в исполняемый, но при этом хранится в программном объекте наряду с исполняемым кодом для данного процессора. И если вы собрали программу и установили ее, скажем, на машину с Power8, исполняемый код будет оптимизирован под Power8. А потом переносите ее в виде программного объекта на Power9, система при первом запуске увидит что код сгенерирован под другой проц и по TIMI коде автоматически перегенерирует исполняемый код под Power9.

Там еще есть т.н. "уровни безопасности". На разных уровнях разные ограничения. Например, есть объекты в домене *SYSTEM и есть объекты в домене *USER. На уровнях безопасности до 30-го включительно вы можете работать с объектами в домене *SYSTEM на низком уровне - через машинные инструкции и системные указатели. А вот на 40-м и 50-м уровнях безопасности такое разрешается только с объектами в домене *USER... А в *SYSTEM вся работа с объектами только верхнеуровневая, через системные API.

Очень много всяких специфических типов объектов. Например, User Space (*USRSPC) - что-то типа memory mapped file. Некое персистнтеное хранилище на диске, на которое вы можете получить указатель и работать с ним как с областью памяти.

Или очереди. Данных (Data Queue - *DTAQ, User Queue - *USRQ) - что-то типа mailslot в винде, но мощнее кратно. Или очередь сообщений - Meaasge Queue, *MSGQ - очень удобно для вывода всяких трейсов при отладке. Программа работает, а вы можете смотреть чего она в очередь пишет в реальном времени.

Смотреть можно хоть скулем

select message_timestamp, from_job, message_text from qsys2.message_queue_info where msgq_lib = 'ALIBD09' and msgq_name = 'CPOSTATUS';

хоть в терминале (DSPMSGQ MSGQ(ALIBD09/CPOSTATUS)

Вообще очень мощная, надежная и устойчивая система с очень широкими возможностями.

Это гарантирует устойчивость системы в целом

Это может быть. Но какой смысл в устойчивой системе если она не даёт нормально работать?

Что значит "нормально работать"? Ковырять хексом исполняемый код не есть нормальная работа.

Здесь "нормальная работа" есть выполнение неких бизнес-задач с максмальной эффективностью.

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

Ковырять хексом исполняемый код не есть нормальная работа.

Для вас может быть и нет. Для кого-то другого да.

Здесь "нормальная работа" есть выполнение неких бизнес-задач с максмальной эффективностью.

Ну так я же не отрицаю что такого подхода может быть своя ниша. Но мне такое точно не подойдёт. И подозреваю что я точно не один такой. Мягко говоря.

> Ковырять хексом исполняемый код не есть нормальная > работа.

Для вас может быть и нет. Для кого-то другого да.

По определению ковырять исполняемый код хексом - не есть нормальная работа. Потому что норма - это поведение большинства. А большинство пользователей ПК вообще не имеют представление о том что такое хекс.

Тогда и писать программы это не нормальная работа. Потому что большинство пользователей ПК этого не делают :)

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

Ну так ваше "абсолютное большинство программистов" является явным меньшинством на фоне всех пользователей ПК. То есть любое программирование это уже не нормальная работа.


А если мы начинаем смотреть что является или не является нормальной работой для какой-то более узкой выборки, то почему вы считаете что именно "все программисты" это единственно допустимая выборка? И для каких-то "подразновидностей" программистов ковырять хексом исполняемый код будет вполне себе нормальной работой.

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

Большинство пользователей ПК могут и не заниматься работой вообще. Давайте брать все-таки профессиональное использование.

Ну и если вы уж так хотите копнуть поглубже - расскажите общее название программиста, для которых ковыряние исполняемого файла хексом - нормальная работа.
Я таких не знаю.
Безопасники? Вряд ли, есть дебаггеры.

Те, кого 30 лет назад называли cracker, ломающие жизни и патроны в игрушках? Тоже устарело, сейчас есть всякие читенжин, что заменяет все эти хекс ковыряния.

Кто остается? Попов?

Давайте брать все-таки профессиональное использование.

И это ничего не изменит. Куча людей работает за компьютером и программисты однозначно не большинство таких людей.


Ну и если вы уж так хотите копнуть поглубже — расскажите общее название программиста

Зачем? Главное что они есть и для них это нормальная работа.

Для вас может быть и нет. Для кого-то другого да.

Можно пример такой работы за исключением реверс-инжиниринга? Гугол когда-то вставлял метки в PE-заголовки установщика Хрома, но это тоже хак и вряд ли кто-то редактировал их руками.

Можно пример такой работы за исключением реверс-инжиниринга?

Ну например ряд наших клиентов любят нам присылать ехешники в которых запакованы библиотеки. И мы их оттуда "ручками" выковыриваем.

 для объекта типа *PGM (программа) такая операция запрещена на уровне системы

Авторы Юникса считали это страшно неудобным и одной из их мотивацией как раз было сделать все ортогонально.

Не смог сходу найти цитату, там было что-то вроде "а вы можете пропустить результат работы компилятора Фортрана через форматировщик"?

Не смог сходу найти цитату, там было что-то вроде "а вы можете пропустить результат работы компилятора Фортрана через форматировщик"?

Не совсем понятно что имеется ввиду и зачем это может быть надо...

Авторы Юникса считали это страшно неудобным и одной из их мотивацией как раз было сделать все ортогонально.

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

Вообще, я с ней 6 лет работаю и чем дальше тем больше нравится. И идеология и возможности для разработки...

Не совсем понятно что имеется ввиду

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

/Ну как бы юникс был раньше чем появилась АС-ка

Такие ограничения были типичны для доюниксовских систем и дожили до советского "Эльбруса" в виде разных типов файлов.

AS/400 в плане интерфейса четко следует традициям IBM. Мне ваш снимок экрана сразу напомнил VM/VMS.

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

Тут как раз от этого ушли. И это не просто "разные типы файлов". Это разные типы объектов. Как в ООП. Каждый тип объекта обладает своим набором свойств и определенным набором действий над ним.

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

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

Например, передаете в С-шную функцию указатель на char, внутри получаете операционный дескриптор и видите физический размер буфера на который этот указатель ссылается.

Так что там все немного сложнее чем просто разные типы файлов.

Ну и безопасность - никакая вирусяка не сможет "встроится" в программу. Это просто запрещено на уровне системы.

А как же динамически собираемый код программы. Решения такого класса гибкости просто недоступны бай дезайн?
Опять же, я скачиваю программу с сервера обновлений. Явно я сначала скачиваю просто поток байт нетипизированный, и лишь потом наделяю его свойством "быть программой" или нет?

хочется спросить - "ребята, а вы что-то иное пробовали?"

Очень верная мысль. Жаль, Лисп-машины умерли. Думаю, там было, чему поучиться.

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

Вот после командной строки 5250 а-ля WOP ASID144401 ZCMSMB0P я в упор не могу вспомнить там несравнимо более удобных концепций и решений, которые хотел бы видеть хоть на линуксе, хоть на винде.

Все имена команд интуитивно понятны - WRK - работать с... DLT - удалить ... CRT - создать... и т.п.

"- Что у нея... гм... у нея внутре за лэпэчэ... Лэпэчэ... Кэпэдэ, наверное? Что еще за лэпэчэ? - Лампочка, значит, - сказал старичок, хихикая и потирая руки. - Кодируем помаленьку."

А в винде это делать не нужно, потому что ядро не монолит с драйверами, и они просто устанавливаются или удаляются.

Вообще-то точно такое же монолитное ядро, с точно такими же драйверами-модулями, работающими в кернелспейс.

Для себя - пожалуйста, собирайте.

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

И дополню: сколько из них могут внятно объяснить, зачем они это делают?

*так-то я с матами и манами, пожалуй, сдюжил бы, но ни одной причины для этого не вижу

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

Теперь насчёт "зачем": ну например один раз я отлаживал неработающий сериальный порт. Начал с ядра (вставлял печать стектрейсов), дорыл до какого-то левого скрипта, который при старте системы зачем-то переписывал базовый адрес сериального порта.

Иногда нужна поддержка свежего железа, которое на дистрибной версии ядра глючит, например медиатековская вайфайка в asus vivobook не работала примерно никак в дистрибном ядре от убунты 20.04.

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

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

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

Я сейчас решаю квест по переносу ОС с неисправной железки в ВМ и чтобы отключить модули для отсутствующих устройств надо пересобрать ядро в идентичной конфигурации без них - blacklist там ещё нет, зато с диска подгружаются другие модули от производителя.

сколько из них могут внятно объяснить, зачем они это делают?

слышал что оно круче/быстрее/потюнено — достаточная причина, разве нет?


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

Этот разрешает вам материться, устанавливая zen или xanmod через pamac, synaptic, ubuntu software center, yast2 — но не видит ничего сложного в нескольких щелчках мышью.

Исходная тема - необходимость Linux в общем образовании. Вопрос, от которого отпочковалась эта ветка комментариев - "сколько людей в мире?"

Причина-то в общем случае вполне валидная, но даже я, знающий слово "ядро", положа руку на сердце, обновлюсь только на стандартное ядро дистрибутива и только когда меня software center напоминаниями задолбает.

А что говорить о тех, кому само понятие ядра столь же близко, как мне - чемпионат Новой Зеландии по... да по чему угодно?

Вопрос <…> "сколько людей в мире?"

И для ответа на него, хотя бы примерного, надо узнать, какую причину вы считаете достаточной… )


обновлюсь только на стандартное ядро дистрибутива

В роллинге вы обновитесь достаточно быстро, в стейблах можно не апать мажорную версию до следующего релиза, если не задаваться такой целью.
Кстати, насчет стандартов: убунтовские hwe-ядра достаточно стандартны?


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

Не так уж важно, сколько. Главное, что такая возможность существует. Это снижает порог входа на многие порядки. Да, он всё равно катастрофически высок, но сделать конкурента windows ещё сложнее, чем конкурента linux. А возможность конкуренции принципиально важна.

А тут никто не спорит с тем, что Linux как таковой нужен. Вопрос, напрямую следующий из обсуждаемой статьи, в другом: нужен ли он всем как дефолтная, безальтернативная в общем образовании ОС?

И замена скучных обоев на нескучные?

Дворянство,

Это вы намекаете, что в 2023 году монолитное ядро смотрится пережитком феодализма ??

Ахвхахаха, ну по крайней мере некоторые из основных утилит я бы переписал (те, в которых нельзя использовать -h)

Дворянство, как правило, было граммотнее. Это отличало их от крестьян.

Это вы себя записали в аналоги дворян, а пользователей неугодных OS - в крестьян?

Очень интересная теория, что думают о ней ваши 0 друзей?

Пользователи windows и macos принципиально отличаются от пользователей linux. Красивый интерфейс и базовое удобство рабочего процесса ставится выше, чем понимание принципов работы операционной системы.

Это утверждение неверно. Как следствие, никакие последующие выводы рассматривать нет смысла.

Признаю, был в корне не прав! Внёс корректировки. Спасибо что сказали.

Windows и macos принципиально отличается от linux. Красивый интерфейс и базовое удобство рабочего процесса ставится выше, чем понимание принципов работы операционной системы.

А лучше-то не стало.

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

Спасибо! Буду всегда учитывать это в своей работе, внесу корректировки в текст.

Да всё он понимает. Знает человек, что учить детей линунксу будет просто некому, нет преподов под операционку с 3% рынка на десктопах. Зато пропиарился.

У детей есть много источников для получения информации.

Более благоприятная для обучения среда делает лучше процесс обучения.

Линус Торвальдс начал программировать в 10, возможно в какой-то степени потому, что к этому располагала среда. Сейчас среда тоже не должна ограничивать возможности к познанию.

Более благоприятная для обучения среда

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

Сейчас среда тоже не должна  ограничивать возможности к познанию

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

битву преподов с малознакомой ОС

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

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

Главное русифицировать документацию, что бы у всех был доступ к необходимой информации.

Главное русифицировать документацию

Интересно, с какой целью в школе изучают иностранный язык? Для Лондон is the кєпитєл оф?

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


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

Шта? В документации не используются сложные языковые конструкции. Словарный запас - минимальный. Есть онлайн переводчики.

Да, какая документация нужна? Какой мануал до сих пор не переведен на все популярные языки?

Шта? В документации не используются сложные языковые конструкции.

Дети в школе изначально не знают и простых языковых конструкций.


Словарный запас — минимальный.

Специфичный.


Есть онлайн переводчики.

Угу:


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

Я бы не назвал это переводом, понятным начинающему пользователю, который не знает контекста.


Да, какая документация нужна?

Для детей. В стиле книжек про профессора Фортрана.

Дети в школе изначально не знают и простых языковых конструкций.

Дети изначально и писать не умеют. Ни ручкой, ни в горшок ;)

Словарный запас — минимальный.

Специфичный.

Минимальный. Можно не отличать past indefinit от present simple, не помнить неправильных глаголов и спокойно понимать о чем текст. Конечно, можно вспомнить канонического гуртовщика мышей ;) Но если человек совершенно не различает, имеется в виду драйвер (программа), драйвер (водитель), или драйвер(человек-скотовод с мышиным уклоном), он на любом языке ничего не поймет.

Для детей.

Это называется учебник. Не вижу препятствий написать учебник про bash но с картинками ;) Про проффесора получилось же?

Дети изначально и писать не умеют.

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


Не вижу препятствий написать учебник про bash но с картинками

Конечно. Помнится, у MS была брошюрка для детей на тему "папа принёс домой сервер".
Но для башей почему-то всё пока что ограничиваются манами. И гуглом.

Специфичный

И что? Я английский язык первоначально учил по словарям, компьютерным играм и учебникам по программированию.

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

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

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

Ну да. Для того чтобы изучать программирование "настоящий" английский совсем не обязательно нужен. И дети вполне себе могут обойтись без него.

Лично мне кажется, что "настоящий" английский детям гораздо полезнее, чем программирование и программистский пиджин.


Да и вообще, не уверен, что в основной школьной программе надо программирование изучать. Про какую-то базу рассказать не помешает — всякие там системы счисления, форматы данных, алгоритмы и циклы, но не более. Лучше про прикладные задачи рассказывать. Только не на базе одной программы, а в плане общих принципов. И давать самостоятельные задания вида "На прошлом уроке мы учились, как оформлять документ со стилями в ворде. А теперь вот вам либра — сделайте то же самое." Чтобы дети видели разнообразие и умели сами искать пути решения, пользоваться справкой, гуглом и т.п.


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

Лично мне кажется, что "настоящий" английский детям гораздо полезнее, чем программирование и программистский пиджин.

Даже не собираюсь спорить. Но речь была не об этом :)


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

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

Даже не собираюсь спорить. Но речь была не об этом :)

Примерно об этом. Там же не последовательно учат "сперва английский, потом компутеры". Там всё параллельно идёт.


"База" детям скучна. Детям скорее хочется что-то делать.

Школа детям вообще скучна. Но там должны вбивать фундамент. Пусть не очень глубокий, но какой-никакой должен быть.


Можно водить каких-нибудь роботов по лабиринтам, картинки алгоритмами рисовать или ещё что-то в этом роде.

Ну так КУМИР с исполнителями. Можно черепашку в лого гонять. Для понимания всяких там логических операций была простенькая игрушка по имени LOGIC (где бомбочку надо было вниз опускать).


А на факультативе, если кому "настоящего" программирования хочется, можно леговских роботов гонять (Mindstorm которые).


Впрочем, дитям не хочется программировать, дитям хочется машинок и майнкрафта...

Примерно об этом. Там же не последовательно учат "сперва английский, потом компутеры". Там всё параллельно идёт.

Ну так одно другому не мешает. Более того можно поначалу просто выучить написание операторов на английском и при этом не понимать что эти слова означают.


Школа детям вообще скучна. Но там должны вбивать фундамент. Пусть не очень глубокий, но какой-никакой должен быть.

Ну так если фундамент можно "спрятать" во что-то интересное, то почему это не сделать?


Впрочем, дитям не хочется программировать, дитям хочется машинок и майнкрафта...

Ну так тот же майнкрафт можно великолепно использовать для обучения. И насколько я знаю куча школ в мире так делает.

можно поначалу просто выучить написание операторов на английском

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


Ну так тот же майнкрафт можно великолепно использовать для обучения

Можно. Но это школьную программу надо переделывать. Ну и линукс тут уже никаким боком. А началось ведь всё с предложения изучать линукс и баш. :)

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

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


Можно. Но это школьную программу надо переделывать.

Ну так по хорошему и надо.


Ну и линукс тут уже никаким боком. А началось ведь всё с предложения изучать линукс и баш. :)

Однозначно никаким. То есть опять же когда я учился в универе, то у нас всё было на линуксе. И не сказал бы что это что-то особо дало.

То есть опять же когда я учился в универе, то у нас всё было на линуксе. И не сказал бы что это что-то особо дало.

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


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

почти с всем согласен кроме кумира или лого. https://codecombat.com/ и аналоги а не скукота древняя

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

В общем случае нужен.
Меня задолбали практиканты-первокурсники, которые кроме телефона ничего в руках не держали.

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

Им много что не нужно из школьной программы. Но это не повод этого не изучать.
А в институте подразумевается, что студент должен обладать каким-то набором навыков. И если его приходится обучать включать компьютер и запускать программы, то это отнимает ценное время. Когда я учился, у нас в провинциальном университете было обучение на бакалавра не четыре, а пять лет. Потому что набирали всех подряд и на "первом" курсе вдалбливали ускоренно школьную программу по математике и английскому. Кто всё это знал (сдал экзамен), то поступал на "второй" курс (по факту первый).
Ну и с компьютером там, кстати, учили обращаться — студенты хотели в чятик, чятик тогда в основном был irc, доступ к интернету более-менее свободный был только со студенческого линукс-сервера — потому даже девочки-блондинки умели поставить терминалку, прикрутить к ней koi-шные шрифты, зателнетиться на сервер и чятится через bitchx. Транслитом, правда — поставить ещё и koi-раскладку уже мало кто справлялся.

В западных университетах курсы обычно самодостаточны. То есть, например, теоретическую физику начинают с математики, не рассчитывая, что студенты уже ее знают.

Откуда вы это взяли? Я учился в "западном вузе" и такого не было.

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

разве это не процесс обучения?

Для кого?

То что преподователи тоже узнают что-то новое можно считать бонусом.

А пока не узнали, то пусть просто что-то рассказывают? Неважно что?

Ну есть altlinux, там довольно большой пласт документации переведен. Из минусов, там могут быть старые версии пакетов. У них как-то долго свежая версия пакета попадает в дистрибутив.

А разве это не процесс обучения? То что преподователи тоже узнают что-то новое

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

Главное русифицировать документацию

А сейчас то её нет русифицированной чтоли? И что, популярнее от этого линух на десктопах стал?

Обычные люди сильно отличаются от задротов типа нас с вами, у них ОС это "нечто с кнопочками", позволяющее им выполнять их задачи. Восприятие ЭВМ без благоговейного восторга, как бытовую электронику.

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

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

1) У них родители должны "гореть" и интересоваться ИТ.

2) У них должны быть учителя, интересующиеся ИТ и хорошая программа обучения.

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

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

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

Мотивация человеческих существ это удовольствие (например от удовлетворения любопытства) и социальное поощрение. Если взрослые смогут показать детям как получать удовольствие от программирования то тогда ребёнок станет интересоваться программированием. Если общество одобрит занятие, поощрит то люди будут программистами.

Человек гибко подстраивается под окружающую среду и перенимает повадки и ценности общности в которой он вырастает. И это потом формирует его поведение на оставшуюся жизнь. Формирование ценностей и воспитание общества это комплексная задача требующая финансовых, политических, организаторских ресурсов. В каком-то смысле это задача направления и контроля культурной эволюции человечества. Одной заменой ОС с винды на GNU\LINUX мало что можно изменить.

Не думаю, что преподаватели информатики в школе глубоко знают Windows. Я не видел, чтобы преподавали именно устройство ОС, это все таки дисциплина ВУЗов. А обучать основам программирования, работы в офисном пакете и базовой компьютерной грамотности - практически любой преподаватель информатики сможет.

Проблема в перестройке курса на новые программы. И в том, чтобы дома был компьютер с линукс. С последним как раз проблем может быть куда больше, так как далеко не все родители обладают навыками установки ОС. Да и часть бюджетных решений нельзя будет рассматривать, так как может не быть поддержки аппаратной части со стороны дистрибутива линукс. В основном это камера, wi-fi модуль, может и сетевая карта, ну и могут быть проблемы с дискретными видеокартами, особенно когда их есть в паре ещё и интегрированная. Т.е. у родителей нет возможности купить уже полностью готовый ПК для учебы ребенку.

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

Да, статья - пиар дистрибутива автора.

обладают навыками установки ОС.

Windows Subsystem for Linux/Cygwin - запретили Личным Указом Путина ?? PS По моему скромному мнению как раз нет ничего удобней чем win машина cygwin ...

WSL дает представление о работе с командной строкой, но не для погружения целиком в дистрибутив. В идеале, в случае с линукс/*BSD показать несколько окружений рабочего стола. По моему опыту люди теряются при виде чего-то непривычного и просто не будут этим пользоваться. А так им GUI будет более привычен. Показать что искать, чтобы поменять какие-то настройки, как минимум управление сетями.

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

"Полное погружение" в линукс актуально, если есть какая-то глобальная цель у государства снизить зависимость от продуктов Windows, если такой цели нет, то и мучать детей этим особо смысла не вижу. Можно просто в виртуалке или с Live носителя с линукс показать, что есть альтернатива Windows. А кому надо, тот потом сам разберется.

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

В естественных языках тоже нужно понимать принцип работы.

Я знаю много людей, которые языком пользуются, но принципа не понимают.

Ну дык у них есть волшебные слова-плейсхолдеры, вроде б..., х... и п....

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

А "принцип работы" простой: так исторически сложилось. Вот почему русский человек называет, скажем, ксерокс ксероксом? А потому что 50 лет назад побывал человек в какой-нибудь стране первого мира, увидел бандуру, в которую местные пихают документы, а оттуда выходят копии, а на ней надпись — XEROX. Приехал домой — рассказал другу: "видел у них там такую машину, что копии делает, XEROX называется", друг пересказал своим друзьям — "Вася за бугром копировальную машину видел, как он там сказал? А, ксерокс" — и всё, так и пошло. И с флешками та же фигня: "What is this?" — "Flash card" — "ага, понятно, флешка".

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

Всё же есть разница между "знать в общих чертах" и "иметь полное представление о деталях работы".

В естественных языках такого навалом:

  • "щ" всегда мягкая (потому что для твёрдой есть "ш") - но в концах слов женского рода она... ещё мягче?

  • фразы "я сегодня плотно пообедал" и "сегодня плотно пообедал я" имеют одинаковый смысл и набор слов, но вторая выглядит гораздо поэтичнее (в смысле "более вероятно встретить в поэзии") - почему мы не говорим так в повседневной жизни?

  • раньше по правилам можно было только "мой кофе" (хотя на "-е" оканчиваются слова только среднего рода, но вы не понимаете, это так исторически сложилось), теперь можно ещё и "моё кофе". А вот если сказать "моя кофя остыла" - вас примут за неграмотного, потому что два рода - это максимум (почему?)

Я не могу ответить ни на один из этих вопросов (то есть не понимаю как язык работает, лишь "сердцем чувствую, что надо так") - но пользоваться, похоже, могу. Иногда даже без опечаток и прочих ошибок по невнимательности.

И в программах/ОС так же: я знаю, что если я щёлкаю левой кнопкой мыши, то объект под стрелочкой нажимается (что происходит примерно во всех графических интерфейсах). Этого достаточно, чтобы пользоваться графическим ПО, для этого не надо знать ни как про нажатие кнопки узнаёт ОС (аппаратное прерывание или регулярный опрос?), ни как это передаётся программе (выставляются флаги в специальных регистрах процессора, кладётся сообщение в очередь, или ещё как-то), ни чем это действие отличается от нажатия клавиши на клавиатуре.
Когда я использую конструкцию вида find . -name '*.jpg' | sort | head -n 10 | rm - мне не важно, как find определяет какие файлы подходят под маску, какой именно алгоритм используется в sort, используется в head цикл или рекурсия со счётчиком, какие системные вызовы выполняет rm.

Раньше по правилам говорили — «чёрный кофий».

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

Ну, а потом пришло новое поколение, для которого «чёрный кофий» уже не имело смысла, а «чёрный кофе» было материнской традицией. Новое поколение не понимало, что оно унаследовало упрощённый и бескультурный вариант, поэтому и решило, что так — прилично и культурно.

Теперь мы второй раз проходим через то же самое колесо, только не со словом «кофе», а со словом «чёрный». Теперь вместо «чёрный кофе» будет «чёрное кофе». И точно так же, как ругались в прошлый раз — так же будут ругаться и в этот раз.

А помните, ещё было такое грамотное и приличное слово — козак, через о? Почему теперь казак стал через а?

А помните, ещё было такое грамотное и приличное слово — вакация? Не какие-то собачьи каникулы, а настоящая, приличная, культурная вакация! А ещё были не какие-то лаунжи, а рекреация! Видел бы адмирал Шишков, докуда мы провалились…

Наи хирувалиэ Валимар?

Да-съ, милостивый государь, какъ много утратъ и прорѣхъ зримъ на вѣтхомъ рубищѣ нашей культуры! Нѣкогда чёрный, тепѣрь кофий буквально краснѣетъ за насъ.

вѣтхомъ <...> тепѣрь

ветхомъ, теперь

В целом рукоплещу, особенно за нѣкогда и чёрный )

Допустил ошибку.

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

Красивый интерфейс и базовое удобство рабочего процесса ставится выше, чем понимание принципов работы операционной системы.

С точки зрения обычного пользователя - зачем знать как работает ОС? ему нужно что бы работало, а как там что внутри ему глубоко до лампочки. Это как с автомобилем - пока едет - всё ок, ну сломалась - отвез в автосервис. Ну можешь сам починить конечно, но зачем? Мы же не лезем в устройство ТЭЦ что бы узнать как получают электричество для дома? Если хочется узнать - это уже обычное любопытство.

С течением времени люди в принципе больше узнают. Откуда нам знать, что смогут придумать пользователи, если у них даже не будет возможности узнать про систему? Если нет возможности изучить программы, то пользователи 100% ничего не придумают, а если такая возможность будет, то смогут найтись те, кто что-нибудь улучшит.

какая разнице условной бухгалтерше Марии Ивановне на каком уровне модели OSI отсылается ее отчет/накладная/договор в 1С? Работает - ок, не работает - пусть админы веселятся с этим. Ей главное работу во время сделать.

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

вот это вот Ваше "найдутся"- оно совершенно негарантированое. Кодовая база с каждым годом растет. Ядро линкуса под 30 лямов строк кода- любая его подсистемка- от нескольких тысяч строк, это несколько сотен страниц текста. просто чтобы их прочитать и понять, что там происходит- нужно несколько недель погружения в тему. Сможет ли Марьиванна из бухгалтерии подправить драйвер принтера? нет. В маршрутизаторах под ОпенВРТ при подключении SSD-дисков через контроллер JMicron580 по USB3 диск не стартует- какая-то ошибка в инициализации питания контроллера, багу скоро пять лет, про него знает куча программистов, и все знают, где он лежит. но до сих пор не смогли починить. Я пробовал- но бросил затею, потому что разобрать по исходникам, как там происходит инициализация этого контроллера и как передернуть питание диска- невозможно без плотного погружения в детали работы USB3.0 и программной и аппаратной части- это требует слишком много времени, которое ни я, ни другие причастные не готовы тратить на этот диск. И с каждым годом вероятность "найдется" падает и падает еще ниже.

Если не секрет, сколько открытого кода лично вы проверили, чтобы убедиться в его безопасности?

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

Много раз приходилось смотреть исходники зависимостей, которые я использовал.

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

Нашли?


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


Сможет ли сеньор фронтендер найти уязвимость в опенсорс программе или ядре написанном на С/С++?

UFO just landed and posted this here

Ага, я бы посмотрел, как тру синьор ищет отсутствующую уязвимость

А продать на чорном-чорном рынке?

Похоже вы реально не ощущаете разницу между С\С++ и javascript....

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

UFO just landed and posted this here

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

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

Нашли?

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

Смог убедится в том, что её нет.

Я посмотрел на звездное небо - чайника возле Марса не наблюдается. Шах и мат, Рассел, нет там никакого чайника ;)

в опенсорсном openssl десятилетия тысячи профессионалов не замечали heartbleed баг. Это не означало, что его там не было.

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

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


А вот чтобы заметить отладочный ГПСЧ и понять что это плохо — надо иметь квалификацию.

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

В виндовой самбе тысячи профессионалов M$ не замечали баг, из-за которого ее первую версию пришлось отключить насовсем.
В Sun, а потом и в Oracle тысячи профессионалов не замечали выстреливший пару лет назад CVE в логировании.


Справедливого мира нет, волшебных корпоратов нет, магии нет тоже — есть матстат и тервер.

тысячи профессионалов M$… В Sun, а потом и в Oracle тысячи профессионалов

Не тот аргумент. Тут же как раз речь про то, что проприетарный софт забагованный, потому что там исходники не почитать и багу не найти. А у опенсорса — "миллионы внимательных глаз".


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

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

Вообще-то, голым задом ничего не рекомендуется в инет выставлять. Но RDP с нормальными паролями и чем-то типа fail2ban нормально живёт в инете. Не уверен, что направленную атаку переживёт, но от ботов нормально отбивается.
Конечно, через VPN ходить было бы секьюрнее, но юзеры не всегда хотят дополнительных сложностей.

ssh голым задом вполне себе живёт, ну проблемы могут быть только со слабыми паролями (и против них даже fail2ban слабо поможет, при распределённом переборе), кардинально лечится полным запретом входа по паролям. А вот рекомендациями ни в коем случае не выставлять rdp голым задом полон весь интернет.

рекомендациями ни в коем случае не выставлять rdp голым задом полон весь интернет.

Рекомендациями отключать обновление file access time в NTFS и не размещать файл подкачки на SSD тоже весь интернет полон был.


А уж в наше время, когда большая часть интернета превратилась в SEOшную копипасту…


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


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

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


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

Если исходники открыты — их видит больше людей и больше людей может их проверить

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

"Ложь, большая ложь и статистика".
Конечно, открытые исходники позволяют больше. Но они не панацея.

А панацею кто-то обещал? Гоните его в шею ))

Проповедники святого пингвина постоянно такое обещают.

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

Вот да. А то они напроповедуют, а нам потом с этим жить.

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

Некоторые программы не были проверены. Большая часть из официальных репозиториев, часть из AUR.

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

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

Ключевыми в таком случае станут 2 фактора - открытость всех компонентов и удобство использования.

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

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

Десять лет назад я учил пару студентов программированию. Знаете, с чем вышел главный затык? Они вообще не понимали, что такое консоль и перевод строки. Они никогда не видели черного экрана с курсором.

Это было десять лет назад. А вы предлагаете скрипты писать и обрабатывать вывод программ.

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

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

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


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

Лично вам не нужно уметь проверять софт на уязвимости

Лично я проверял сколько байт пропатчено в трех раздачах %software_name% на рутрекере по сравнению с установками из оригинального дистрибутива :)

То есть, преимущества открытости вы понимаете и даже прочувствовали на личном опыте, но гнусно троллите?

Гнусно демонстрирую паранойю в некоторых вопросах.

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

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

Проще пытаться поймать закладку по косвенным признакам (сетевой траффик) или запускать подозрительный софт на изолированной/виртуальной машине.

Трагедию общин Фигню вы демонстрируете, если честно. И вот почему.
Одному — невозможно, да. Но пользователь у открытого кода не один, их десятки миллионов, среди которых — тысячи высококлассных специалистов.
И если будет повод заглянуть внутрь и распотрошить код — с исходником это сделать неимоверно проще.
А для этого нужно иметь те самые открытые коды, даже если лично тебе они как собаке пятая нога, и всех их ты проверить не сможешь никогда.


Опять мы приходим к одному и тому же; порадуйте каджита, скажите что-нибудь новенькое.

Там же, где и тысячи высококлассных специалистов, разрабатывающие Windows, с каждым ежемесячным зеродеем?

Ну и где были эти тысячи высококлассных специалистов?

"Кормить их нужно — они и не улетят" (c)

Я знаю, что для линуксойдов что "опенсурс = безопасность" это мантра не требующая подтверждения. Но мне как нужны доказательства этого утверждения, есть исследования на эту тему? Есть доказательства того, что открытость не облегчает внедрения закладок? Есть доказательство того, что открытость не позволяет не компетентным людям делать такую полнейшую глупость как Heartbleed? И есть объяснение, почему военные когда им нужна безопасность не берут опенсурс, а делают свои "корпоративные" разработки?

есть исследования на эту тему?

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


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

Берут и опенсорс, просто делают аудит и, да, возможно, свои доработки, отрезая им не нужное, чтобы не тратить ресурсы на аудит этого. Это если есть подходящее решение опенсорс решение.
Ну это если не считать компиляторов и различных библиотек. Да и ОС линукс военными используется.

Да и ОС линукс военными используется.

А можно конкретные примеры использования военными Линукса? Какой дистрибутив, где именно?

Раньше был МСВС (мобильная система вооруженных сил), сейчас Астра Линукс используется.
Для последнего, можно купить лицензию и использовать дома.
Раньше ещё Солярис на Эльбрусах использовался для управления разными системами. Но Солярис все таки не опенсорс, покраснел мере не opensolaris использовался.

Так где именно? Писарями в штабах или в системе управления РВСН?

Насколько знаю, в иных ВС для всяких серьезных вещей используются серьезные системы - QNX, VxWorks, LynxOS и подобные. Но это все ОСРВ весьма специфические и весьма недешевые. Еще и обвешанные кучей сертификатов (безопасность и т.п.)

Из линуксов для подобных вещей знаю только Wind River Linux. Но это тоже не совсем тот линукс который в широкораспостраненных дистрибутивах. Хотя бы потому что оно реального времени.

Например, система управления и мониторинга оборудования РЛС наземного базирования. Там как раз использовался Солярис и в планах, насколько я понял, был переход на что-то типа линукса.
Не все задачи требуют жесткого реального времени и соответствующих ОС.
Бортовые навигационные системы, которые Транзас делал и они использовались так же и военными. Часть точно работала под управлением линукс, но что конкретно за дистрибутив - не знаю, скорей всего так же Астра.
Да и те же данные накапливать и обрабатывать где-то надо, аналитику и тому подобное, да и писарям в штабах тоже за чем-то работать надо. Но там винда скорей всего, не знаю, не видел. В военкоматах, вроде, винду видел.

для всяких серьезных вещей используются серьезные системы

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

Правильно говорить специфические нишевые системы с определенной сертификацией.

С течением времени люди в принципе больше узнают.

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


Если нет возможности изучить программы, то пользователи 100% ничего не придумают

А вот это просто неверно. Я бы сказал что уже сейчас даже среди айтишников приличная часть людей не особо понимают как "физически" работают компьютеры. Или как это всё выглядит на уровне машинного кода. Но это не мешает им придумывать всякие разные вещи.


Да и вообще времена "универсалов" в науке и технике уже давно прошли. Сейчас практически все открытия делаются "узконаправленными специалистами".

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

Вот это меня особо расстраивает. Был у нас молодой сотрудник у которого самым ходовым словом при попытках объяснения происходящего в программе, было слово "магия".

Ну так без этой "магии", то есть новых абстракций и прогресс не особо возможен.

Вы лично до конца понимаете всю современную физику, химию и математику? Или вы просто выбрали себе какой-то "пласт" абстракций и тоже хорошо разбираетесь только в нём?

любой человек разбирается только в своём слое абстракций.

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

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

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

И даже если, то если это так работает, то в чём проблема?

Я считаю, что я достаточно эрудирован в вопросах физики, астрономии и математики.

То есть всё-таки до конца не разбираетесь. Я уверен что найдутся люди, которых вы расстраиваете :)

Ну я и не позиционирую себя как физик/математик/электронщик. Если я сунусь в какую-нить лабораторию, то естественно буду там всех расстраивать.

Но если человек умеет "программировать" лишь меняя местами фреймворки, даже не пытаясь понять "а почему так?" - мне такой "специалист" не нужен.

Ну я и не позиционирую себя как физик/математик/электронщик.

Да, но вы пишите программы для железа и при этом не до конца понимаете как это железо на самом деле там работает. И даже не работает, а просто существует.

мне такой "специалист" не нужен.

Ну так вас никто и не заставляет их на работу брать. А кому-то и их достаточно и они их на работу берут.

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

Я представляю. Я могу объяснить все процессы до необходимого в работе уровня не прибегая к слову "магия".

Ну так вас никто и не заставляет их на работу брать.

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

Я расстроился. А он больше у нас не работает. (сам ушёл. Видимо "заболтал" другого работодателя. Теперь пусть он "водит")))

Я могу объяснить все процессы до необходимого в работе уровня

Угу. "До необходимого уровня". Об этом и речь. Вы один уровень считаете необходимым, другие люди другой.

К сожалению не сразу можно понять.

То есть вы ещё и в этом не до конца разбираетесь? Людей, которых вы расстраиваете, становится всё больше и больше :)

До необходимого В РАБОТЕ уровня. Вы же сами процитировали, но, видимо, не прочитали)

То есть вы ещё и в этом не до конца разбираетесь?

Конечно. Но я учусь на ошибках. В этом разница.

До необходимого В РАБОТЕ уровня

И? Вы считаете что один уровень необходим для работы, кто-то считает иначе.

А если ещё учитывать что и работа у разных людей может разная быть...

Конечно.

Непорядок.

Но я учусь на ошибках. В этом разница

Вам ваше белое пальто не жмёт? :)

Вы считаете что один уровень необходим для работы, кто-то считает иначе

Здесь всё просто. Необходимый для работы уровень определяет работодатель. В данном случае - я.

Вам ваше белое пальто не жмёт?

Нет. За год работы, тот молодой человек так ничему и не научился.

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

Ну тестовое он прошёл :).

А на собеседовании он сумел всех заболтать. Сейчас я понимаю кого он напоминал. Чат-гпт (но он был раньше чата)). Он умел очень убедительно "галлюционировать" на любые темы. Т.к. С таким "высокоэрудированным" человеком мы до сих пор не встречались, мы и "повелись".

Ну бывает.

Т.е. все на собеседовании не смогли распознать "галлюцинации"? Получается, это и есть ваш "необходимый уровень" - не уметь отличить "галлюцинации" от реальных знаний?

Тем более в течение года.

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

Так я не жалуюсь. Я привёл его в качестве примера.

у меня к нему претензий вообще нет. Пришёл и ушёл. Ничего не сломал. Могло быть и хуже :)

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

Опыт - сын ошибок трудных. В следующий раз будем умнее. Всё хорошо.

ну если не знаете плис то как можете себя программистом называть)
а если серьезно - я тоже программист уже 10+ лет. Начинал с асемблера для микроконтроллеров в универе, потом С++ потом ПХП и уже 10+ лет на С#. Сидел и на линуксе какое-то время поначалу. И даже было прикольно поковыряться и потыкаться. Но сейчас я уже взрослый мужик, много чего знаю и я хочу только одного - что-бы то что я хочу чтобы работало как я хочу и не доставляло проблем. С этой точки зрения винда меня полностью устраивает. Меня так же устраивает маджаро на виртуалке чтобы не засорять винду разными фрэймворками. Вот недавно купил макбук эир в качестве мультимедийного и... пришлось привыкать и плеваться. Но вроде притерся, но до сих пор не выбрал бы как рабочую среду)
И по поводу тоны абстракций. Знаете, все все люди в этом мире технари. Есть большое количество людей, скажем так, владеющим словом, или умеющим рисовать. И.... я рад (думаю они тоже), что такие люди могут открыть анрил энжин и просто на блюпринтах наваять игру (да с гуглежом и осваиваниям простых алгоритмов) но им совершенно не нужно для этого знать С++, OpenGL(D3X), работу с пакетами UDP для сетевой игры например. Так что абстракции - не есть зло.

Возможно, я не корректно выразил свою мысль. Прошу прощения, если кого-то задел. Абстракции и фреймворки здесь конечно же не причём. дело в конкретном человеке. Простой пример. Есть небольшая задачка на простой текстовый поиск по базе, которую вполне можно реализовать на мощностях текущего боевого оракла. Наш новый "специалист" перехватывает инициативу, и утверждает что это непременно надо делать на на каком-нить волшебном условном "эластике". После чего начинает красочно расписывать его возможности. Мы его слушаем, видим его уверенность и думаем - "чёрт, этот парень, вероятно, знает о чём говорит. Пусть покажет нам возможности этой волшебной технологии. Сроки вроде не горят, риски минимальны". И получает "карт-бланш" на реализацию сего проекта.

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

В результате оказывается, что он раньше с этим продуктом вообще дела не имел. И все свои "знания", которыми блистал, когда рекламировал сей продукт нам, он подчерпнул из роликов на ютубе.

P.s. Названия продуктов условные (за давностью лет)

Я понимаю такую боль и принимаю. Я тоже не утверждал что надо городить лишь бы городить. И повзрослев постарев стараюсь выбирать проверенные и знакомые решения.
А когда был молод - я бы тоже с удовольствием прикрутил бы эластик)) Вот серьезно! Мне опыт, задача бы закрылась. Косяк произошел, что за такими молодыми нужны мудрые которые дают поиграться но не заигрываться. (Ну и перед задачей надо создавать спайк на ресерч чем лучше и быстрее решить проблему, но это уже скучный управленческий разговор про процессы)

Мы же не лезем в устройство ТЭЦ что бы узнать как получают электричество для дома?

Ви так говорите, как будто это что-то хорошее.

А я вот в детстве слазил. И в устройство ТЭЦ, и ГЭС, и даже АЭС. И даже модели сделал (как сейчас помню, роль реактора выполняла жестяная банка от болгарского зелёного горошка, в которую были вбиты гвозди-сотки — "топливные" и "регулирующие" стержни).

Передовой линукс дистрибутив

Посоны, кажись Денис вернулся.

Не факт, скоее всего Попов смог бы нормально прикрутить летсенкрипт к домену, а вот автор не смог.

UFO just landed and posted this here

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

Проверьте пожалуйста уязвимости парочки программ на Андроиде. Это же Линукс на самом деле?

linux должен быть единственной системой в образовательном процессе

Я бы сделал упор на Unix, включая linux.
В 1987 году в журнале "Техника и наука" была опубликована статья "Операционные системы: зачем они инженеру". Она хорошо согласуется с посылом автора.

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

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

Мне кажется, что базовое [впишите любое умение по вашему вкусу] вряд ли кому-то повредит :)

Базовое - да, как и в случае с Windows и Mac OS, но базовое - это на уровне, вот командная строка, вне можно запускать программы. Справку о команде чаще всего можно получить так и так. Ну и базовый набор команд типа cd, ls, dir, pwd. Вот на такому уровне - да. Глубже смысла нет, так как забудется.

Так базовое умение работать с командной строкой можно освоить в любой ОС

Принцип работы ОС для юзера не важен вообще, так же как для забивания гвоздей не нужно знать металлургию (как эти гвозди делались), для поедания колбасы - животноводство (как вырастить корову на мясо), для вождения не нужно знать машиностроение и тд и тп. "Машина должна работать, человек-думать".
Отдельно по командной строке - ненавижу! В любом софте. В принципе ненавижу - потому что для работы в ней надо знать и держать в памяти кучу команд, вместо того. чтобы найти пункт в меню. Удачи вам с командной строкой и к примеру, с солидворксом. Умение пользоваться командной строкой для обычного юзера - такой же архаизм, как умение затачивать гусиные перья для письма.

UFO just landed and posted this here

Каждый раз man не назипускаешься. Недаром существует даже отдельный tldr, потому что документацию того же tar можно использовать как чтиво не на один вечер

UFO just landed and posted this here

Да-да, прям как в старой шутке :-)

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

<@insomnia> Нужно выполнить всего три команды, чтобы поставить Gentoo

<@insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6

<@insomnia> это первая
ИСТОЧНИК: https://linux.ru/forum/topic/170141-нужно-всего-три-команды-чтобы-поставить-gentoo/

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

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

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

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

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

зачастую это превращается в полчаса чтения мана

Но ведь эти полчаса — они нужны только один раз. Вас же не раздражает, что, скажем, за руль автомобиля пускают только после сдачи экзамена,

а не как у Незнайки?

— Дайте мне поездить на автомо­биле! Я тоже хочу рулить и дудеть.

— Тут дело не в том, чтоб рулить и дудеть, — сказал Винтик. — Пре­жде всего машину изучить надо, понять, что и как работает.

— А чего там ещё изучать! — от­ветил Незнайка. — Дёргай за ручки да верти руль — вот и вся наука. Сел — и поехал.

Оно обычно как бывает - понадобилось сделать что-то с программой, загуглил/почитал мануалы, все понял, разобрался, заработало... И в следующий раз эта задача возникает через полгода, когда уже все аргументы забылись и снова идти ковыряться в манах и тратить время. Вместо того, чтобы кликнуть какой-нибудь очевидный File->DoSomething.

Проблема, в том что пользуешься ты этим раз в год, а читаешь документацию полчаса, а для пользования приложением на гуи, зачастую читать документацию не нужно. Я надеюсь не нужно доказывать, что в PartitionMagic можно разобраться впервые его увидев, впервые увидев DiskPart, придётся очень долго вникать. А разбивать диски, среднему пользователю придётся как раз в лучшем случае раз в пятилетку.

Я надеюсь не нужно доказывать, что в PartitionMagic можно разобраться впервые его увидев

Хотел вот в PartitionMagic отформатировать один раздел размером в 3 TB под FAT — почему-то не получилось. Пришлось разбираться!

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

Его скриптами можно кормить )
Иногда это удобнее.

Но ведь мы в итоге и пришли к ситуации "сел и поехал". ТИповому водителю совершенно не нужно знать, что и как работает. Ему достаточно запомнить относительно несложные правила пользования - осмотреть машину перед поездкой, заводить вот так, прогреть до температуры такой-то, заправлять таким-то топливом, вот сюда лить омывайку, раз в две недели посмотреть уровень вот в этих бачках и померить давление в колесах. Регламентное обслуживание по сервисной книжке. Если что-то не так - обратиться в сервис. А дальше - опциональные знания для тех, кто хочет на этом сервисе экономить (и которые со временем всё равно придут).

Если что-то не так - обратиться в сервис

Если Вы миллионер — то, конечно, да.

Смотрю на свой ланос 2012-го года, который вчера забрал из местного "сервиса" в гаражах, где мне аж за 500 рублей и полчаса поменяли колодки (с чем я бы сам возился полдня, угваздавшись по уши и задолбавшись на неделю вперёд), и понимаю - да я миллионер!

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

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

Живу в Москве, чиниться ездил в ближайшее Подмосковье. Не, ну, наверное, это тоже можно назвать гребенями; гребеня - вообще категория плохо формализуемая.

Но вы тогда сразу ставьте граничные условия. А то сначала "сервис - это для миллионеров", а теперь вон какие-то "цивилизованные локации" появились. Это какие, кстати?

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

если что, помогут специально обученные люди

Так и я про то же говорил: конечно же, помогут. Конечно же, за мзду малую немалую. Потому что бабло, заплаченное за специальное обучение, надо отбивать.

Вы к врачам ходите? Деньги немалые отдаете. Учитесь и оперируйтесь сами. И еду сами на полях выращивайте. и дома сами из камней да бревен стройте. И машину покупать ни в коем случае нельзя - вы так переплачиваете. сделайте ее сами из металлопроката. А металлопрокат покупать тоже нельзя - самим руду копать, домну строить и плавить. Ату этих дармоедов всех... Вперед, в пещеры, к охоте и собирательству.

Ну так примерно и есть. Что могу — делаю сам. Что не могу — нанимаю. А могу я мнооооогое...

P.S. О врачах — больная тема.

Лучше бы не ходил, потому как за большие деньги прошёл кучу анализов и обследований с финальным ответом "а хрен его знает, что у вас там такое — все анализы в порядке", в то время как подруга детства (тоже врач) мельком взглянула на МРТ-скан и совершенно забесплатно посоветовала взять подушку пониже — и, йокстель, именно это и помогло!

Да ради бога, пусть берут. Если я могу вместо ползания под машиной в лужах масла ( = ковырянию в реестре/конфигах/компиляторе) отдать стоимость примерно пары часов своего рабочего времени, а сам попить кофе и получить работающую машину ( = программу) - это ж хорошо! Затем и работаю, чтобы мне было удобно и приятно.

Затем и работаю, чтобы мне было удобно и приятно.

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

Или когда у Вас машина заглохла в непонтяных гребенях, где до ближайшего автосервиса (да и вообще цивилизации) 100 км по буеракам — лучше, конечно, не знать, как самому починить, а кому-нибудь заплатить, ага.

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

чем больше я знаю — тем из большего количества задниц я смогу выбраться в рекордно короткие сроки

А зачем вы в эти задницы попадаете?

когда у Вас машина заглохла в непонтяных гребенях

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

:D

А зачем вы в эти задницы попадаете?

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

А зачем вы в эти задницы попадаете?

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

Значит вы за машиной не следите.

Ну вот тут недавно парни за машиной следили-следили, а она раз — и сломалась. "Титаном", кажется, звали.

За Титаном парни как раз не следили. Поверили в то, что ихний автоматический контроль целостности поможет, и всякая рентгеноскопия им не нужна А может просто поверили что это Toyota, она не ломается.

За Титаном парни как раз не следили.

Ну это Вы так считаете. А они считали иначе. Регулярно лобовуху протирали и по шинам стучали.

И даже запасные батарейки к джойстику в бардачке были ;)

Но шансов на выбирание из задницы это не добавило ..

Регулярно лобовуху протирали и по шинам стучали.

То есть что-то знали об обслуживании ;)
Ну, допустим, залили вы в свой жып, будучи в диких гребенях, ослиной мочи, и он больше не едет. Вы всегда с собой возите ультразвуковую промывалку?

Это называется специализация. Один из факторов прогресса.

Это называется специализация. Один из факторов прогресса.

Так Робинзону Крузо и передам. А то — вот дурень: всё сам делал!

всё сам делал!

Чел 10 лет строил хижину из г**на и палок. Так себе прогресс.

Хотя, если рассматривать это как хобби-проект.. Чем еще на острове заниматься? Азиаты в ютубах хижину с бассейном за неделю строят. А до статуй как на о. Пасхи он не додумался ;)

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

Если не путаю, тогда и экзамены по устройству сдавали. Сейчас это не нужно.

В милой доброй гуёвой 1С ERP 300+ документов и 300+ справочников (плюс столько же настроечных констант, но в них хоть не каждый день лазить надо)
Да, каждый отдельный пользователь (если их 10+) работает с 20 видами объектов, не больше. Но я как служба поддержки 3 уровня всё это достаю через поиск по строке в полном меню "технического специалиста" (офф название в платформе).
То есть фактически из командной строки. Так как ветвистые меню + отдел двигания кнопки убивают все ваши мечты о трех нажатиях.

Но пользователю-то достаточно его трёх кнопок.
У меня вот в 1С именно что три кнопки — оформить доверенность, посмотреть проведённые платежи и глянуть список сотрудников. Я их вытащил себе на панельку и больше никуда не хожу. Зачем мне командная строка?

Запускаем man узнаем, что нужной информации там нет или не актуальна или же количество опций 100+ и это прямо томик войны и мир.

Отдельно что при любой опечатке можно долго и упорно не понимать где проблема.

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

UFO just landed and posted this here

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

UFO just landed and posted this here
UFO just landed and posted this here

Как будто нужные команды не различаются между версиями/дистрибутивами...

UFO just landed and posted this here

По поводу команд - залоченные по фьюзам AVRки передают привет - ведь в одном программаторе прошитый фьюз - 1, а в другом - 0. А уж если взять что-то посложнее фьюзов, ну например среду прошивки от Altera, там констрейны вообще свой синтаксис имеют, да, в командной строке, но я вот, например на этом застрял и забил.
Ну и количество менюшек в одной программе конечно, в отличие от того. что можно набрать в консоли.

UFO just landed and posted this here

а что нужно изучать заново при минимальном изменении интерфейса? По-моему, вообще ничего не нужно.

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

UFO just landed and posted this here

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

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

ну так делайте через cmd. CMD всегда в одном и том же месте.

Всегда считал что set в cmd работает на время сеанса консоли. Или надо использовать магию типа той, что уже разбросана на скриншотах в этой ветке, чтобы добавленный в Path путь остался после перезагрузки и для всех пользователей?

эта магия называется setx

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

В "новых" виндах такие вещи относительно просто находятся через поиск.

Пуск — sysdm.cpl, дальше путь вам должен быть известен )
Со времен винтукея работает везде одинаково.

sysdm.cpl это точно вы меня гую учите?


Гуй это правой по "мой компутер"-Свойства — дополнительные параметры системы-переменные среды. на моей актуальной.
На не актуальной то ли по свойствам сразу окно "свойства системы" открывалось и надо было на вкладку "дополнительно" идти, толи не помню как.

Гуй это правой по "мой компутер"-Свойства

Точно так же гуй это нажимаем на иконку с увеличительным стеклом -> вводим "переменные среды" -> выбираем нужное в списке(у меня даже сразу в самом верху) ->профит.


И конкретно в этом случае максимум что надо "переучивать" это местонахождение иконки.

нажимаем на иконку с увеличительным стеклом -> вводим "переменные среды"

И чем это отличается от "нажимаем на иконку с надписью CMD, вводим...."?

Ну во первых если вы в CMD напишите "переменные среды", то это вам ничего не даст.

А во вторых даже если оно ничем не отличается, то значит искать куда эти переменные "запрятали" и там и там одинаково просто :)

А я не знаю, что такое "переменные среды" — сегодня никакая не среда, а очень даже вторник. Я знаю только "environment variables".

(Руки поотрывал бы локализаторам)ю.

Вот дополнительные параметры системы — это sysdm.cpl и есть

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

Есть же просто кнопка Win на клавиатуре.


Win => печатаем "Env" => получаем результат.


Заголовок спойлера

Это если у вас винда англоязычная. В русской надо печать "пере..."
Иначе только в инете поискать предложит.

Точно? На немецкой можно env и предложит то, что нужно. Можно и по-немецки (umg от Umgebung,хотя сам пункт меню называется вообще Systemumgebungs..., т.е. ищет и в середине строки, получается), тоже поймет

Точно, проверял.
И в 10, и в 11.


А вот если начать писать sys..., то параметры системы предлагает.

UFO just landed and posted this here

Ну тут какая картинка была, такая и была. Да и по роду деятельности ffmpeg команды мне чаще приходится городить, чем awk использовать

без filter_complex оно конечно проще, но и много чего не сделаешь без этого ужаса

UFO just landed and posted this here

Для них, таким конфигурировать может быть скрипт запуска, в котором будут зашиты не меняющиеся параметры, а остальные так же передавать через командную строку. Ну или алиасы.
Сам так делал и другие делали. Как альтернатива кончинам - вполне себе.

UFO just landed and posted this here

ну регулярки то точно простые. Их просто неправильно учат

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

Не соглашусь.

В регулярках вполне логичный синтаксис, во всяком случае любому, кто знаком с ассемблером или различными парсерами, - понятно почему он такой.

В то время как Снобол, это не паттерн, это просто целый отдельный язык с функциями обработки текста. Тогда можно уже и просто с перлом сравнивать, или с полным набором substr, index, sort.

Встроить в любой язык PCRE все же дешевле чем встроить Снобол или какой-нить lua.

В регулярках вполне логичный синтаксис

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

просто целый отдельный язык

Именно как язык Снобол устарел уже к 70-м годам даже в глазах авторов. Но вот та часть, что обрабатывает строки, до сих пор выглядит куда лучше РВ.

Интересно, а в гуи такое возможно сделать в принципе?

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


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

можете посмотреть любые гуи к ffmpeg. эта команда, в целом, выглядит гуманнее.

а что эта команда вообще делает?

я совсем не настоящий ффмпегер, но сдается мне, этот фильтр "накладывает" четыре видео друг на друга, чтобы получилось - на заднем фоне видео 1280x720, на нем по центру 640x360, еще сверху - 480x270, ну и самым "верхним" - 270x180. еще и чтобы появлялись не одновременно, а с задержкой в секунду.

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

В гуе накручивается сильно быстрее, вы еще читать не закончите к тому моменту, как я в Premiere такое проверну.
А вот для каких-то простых задач, типа отделения видео от звука или создания скриншота на определенном таймкоде в куче файлов подряд — это как раз проще в ffmpeg. У меня под него даже целая папочка с bat-никами лежит на разные случаи жизни.
Операции с кучей файлов — это к нему.

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

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

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

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

Зачем нужен состав на этикетке продукта? Что бы знать что ты употребляешь в пищу. Мы можем его не прочитать, но найдется служба которая занимается контролем за этим процессом, что бы мы были уверены в своей еде.

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

UFO just landed and posted this here

В идеале оно так, а на практике состав не всегда детализуют, особенно у не-пищевых продуктов. Запросто может быть написано "добавки" без пояснений. Опять же, можно ли гарантировать, что состав на этикетке полностью честный?

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

Это пока все ваши задачи такие же, как у всех остальных пользователей. Шаг влево или вправо и идёшь лесом.
Мне не так двано одна инспекторша пожаловалась, что ей понадобилось рассортировать фотоотчёты за несколько лет по объектам, а поскольку геопозиции в большинстве фоток нет, то ориентироваться можно только по датам из списка в Excel. Она сначала несколько дней расспрашивала по форумам о подходящей программе, а потом ещё несколько дней мышью сортировала свои фото, пользуясь только поиском в проводнике.
Я бы эту задачу в PowerShell сделал за час-два. И то только потому, что я в нём не очень. Командная строка - если правильно спроектирована - позволяет комбинировать инструменты способами, о которых их разработчики даже не задумывались. В этом их сила. Но при этом пользователь нихрена не сможет сделать в коммандной строке, если будет вспоминать о ней только когда всё остальное не поможет.

Так это потому что Вы знаете павершелл

А если чел знает питон, он бы питоном этот вопрос решил.
а если знает VBA, то с помощью VBA

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

список можно продолжать и дальше. В целом, кому как удобнее, так и делает. И тут нет какого-то единственно правильного решения

/ Удачи вам с командной строкой и к примеру, с солидворксом.

Кстати, да! СолидВоркс ни на Маке, ни на Линуксе не работает. Да и вообще на Линуксе КАД-систем, как говорится, днём с огнём. Как они пласт инженеров собираются обучать, которые и мышку, и клавиатуру им проектируют. Создавать с нуля математические ядра... годы и годы, если кто-то группой из уникальных математиков мира согласится взглянуть на Линукс, но за бесплатно этого точно не будет.

UFO just landed and posted this here

Так проблема не только в САПРах, а ещё и в куче проектов и всей документации, которая в них сделана. Кто это всё будет переносить и за чей счёт?! Кто и за чей счёт будет писать новые САПРы, когда и сейчас очень тяжело идёт стыковка реальных пользователей из конструкторов и программистов, поскольку последним тяжело даже поверхностно понять процессы проектирования?! А главное, кто будет обучать всему новому, если этого не организовать за год-другой?! А кто будет поддерживать уже существующие проекты?!

Вопросов много, но идеологам не до реализации.

UFO just landed and posted this here

к примеру, с солидворксом

а вот в автокаде прям царская командная строка, очень удобно

UFO just landed and posted this here

Поучавствуйте в хоть одном турнире спидмоделинга, тогда поймёте, что АвтоКАД даже часть задач решить не может, не говоря о том, что в построении моделей он никем в здравом уме пользоваться не может, а главное, самой AutoDesk не нужно было бы выпускать свой Inventor вслед за поездом SolidWorks.

UFO just landed and posted this here

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

Для поиска нужной фичи в меню надо пролезть половину меню и прочитать все что там есть и так каждый раз, когда что-то ищешь, а в командной строке достаточно сделать что-то типа ls --help | grep author чтобы вспомнить нужный ключ моментально. Что-то найти, например, в либре/мс офисе получается подавляющем большинстве случаев только загуглив. Т.к. очень часто нужного нет в меню, а есть оно в окне, который открывает весьма неочевидный пункт меню.

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

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

Удачи вам с командной строкой и к примеру, с солидворксом.

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

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

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

 Удачи вам с командной строкой и к примеру, с солидворксом.

В своё время строил довольно сложную геометрию (компрессорная лопатка авиадвигателя) в ANSYS, пользуясь встроенным языком. То есть, по сути, закидывая файл с пачкой команд в командную строку.

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

Вот например у меня есть код для расчёта развесовки двигателя на опорах. И таких тел - несколько от разных заказчиков, при этом компоновка похожая (эн опор в ряд, на некотором расстоянии от них второй ряд). Я смотрю габаритный чертеж, читаю с него расстояние между опорами и положение центра масс относительно них, забиваю эти числа в свой код, туда же вношу данные по жёсткости опор - и через минуту у меня есть данные о нагрузке на каждую опору. Ещё минута - и собственные частоты с формами колебаний на этих опорах. В графическом интерфейсе это будет дольше, проверено.

Да, можно сказать, что это не командная строка как таковая, а скорее выполнение программы. Соглашусь. Но и командной строкой пользовался регулярно. Потому что различных команд ОЧЕНЬ много, и найти нужную в графическом интерфейсе зачастую дольше, чем забить руками. Например, создание точки: k,n,x,y,z создаёт вам точку с номером n и указанными координатами. Это быстрее, чем продраться через дерево Preprocessor>Modeling>Create>Keypoints>In Active CS и всё равно вбивать руками номер точки и координаты. А уж когда вам надо создать десять точек, расположенных по известному закону - то проще написать цикл (в notepad++ и закинуть в командную строку), чем вбивать 40 чисел. Разумеется, работает это только в случае, если часто пользуешься какой-то командой и помнишь её наизусть. Но именно при частой работе с командой экономия времени на каждой операции и получается значительной.

В графическом интерфейсе это будет дольше

А что, вы в графическом интерфейсе какие-то другие кнопки нажимаете, чем когда в командную строку печатаете?

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

Если посчитать время и деньги на это «наизусть», обычно в итоге не экономия получается, а слёзы. Если б было иначе, gui не вытеснил бы командную строку практически повсеместно.

А что, вы в графическом интерфейсе какие-то другие кнопки нажимаете, чем когда в командную строку печатаете?

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

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

Так их не надо специально учить. Любая сколь-нибудь сложная модель (говорю сейчас за классический ANSYS Mechanical) всё равно создаётся и исправляется набором команд, а не через графический интерфейс. Поэтому команды со временем заучиваются сами, и когда вы таки работаете в графическом интерфейсе - их можно быстро вспомнить и вбить, а не искать по дереву.

Далеко не повсеместно. В программировании, например, не вытеснили не вытеснит.

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

Это континуум, зависящий от задач.

То есть вы ваш код прямо в командной строке набираете? Или всё-таки пользуетесь хотя бы редактором, а может даже и IDE? :)

Боюсь про однострочные редакторы типа EDIT.SAV или EDLIN.EXE мало кто из них знает.

А это не фоточки сортировать :)

Я начинал на pc с edlin.com, и это редкостное гэ. Edit.com уже вполне удобный кстати, никакой он не однострочный, там фуллскрин в текстовом режиме.

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

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

А во вторых с таким же успехом тогда "компонование" команд в графическом редакторе(тот же LabVIEW например) это тогда тоже разновидность программирования. И я посмотрю как вы будете создавать модули под LabVIEW в командной строке :)

Графическое программирование существует. Но это именно что узкая специализированная ниша (или даже ниши).

Сегодня ниша, завтра не ниша. Когда-то вон на перфокартах программировали и ваш "командная строка" нишей была.

Идеи графического программирования периодически реанимируются уже лет тридцать как. И так же периодически пропадают. Так что я бы особо на них не рассчитывал.

Зато IDE используется всё больше и больше и имеют всё больше и больше "графических элементов" и всевозможных редакторов.


А командная строка и терминалы скорее наоборот используются всё меньшим процентом людей.

Иде это такое? я пока все больше обратный поток вижу: plantUML всякий со товарищи. То есть то, что раньше было графикой или бинарником — становится кодом. А решения типа Rational Software Architect Designer как появились в конце 90х, так и остались нишевыми продуктами.

То есть то, что раньше было графикой или бинарником — становится кодом.

Так а код то откуда берётся? Его весь пишут ручками в командной строке?

Где хотят, там и пишут. Мы вроде обсуждаем текстовое управление компом против графического. Текстовое рулит.
А вот удобный вывод информации — в рамки терминала не помещается. Даже если он будет текстом — удобнее разложить его на несколько окон.

Где хотят, там и пишут. Мы вроде обсуждаем текстовое управление компом против графического

Мы обсуждаем "командная строка/терминал" vs "графический интерфейс". В принципе.

То есть если совсем грубо, то либо всё в через командную строку, либо всё через GUI.

П.С. И да, логичнее использовать и то и другое. Но спор не о том :)

ИДЕ - это ведь не язык, а лишь костыль к языку, слегка нивелирующий сложность программирования на последнем.

IDE это обычно какая-то графическая оболочка. То есть тот самый графический интерфейс.

Кроме того командная строка и терминалы это тоже не язык, а точно такой же "костыль" .

Сегодня ниша, завтра не ниша. Когда-то вон на перфокартах программировали и ваш "командная строка" нишей была.

Неудачная аналогия. Графическое "программирование" существует уже достаточно долго чтобы обнаружить и достоинства, и недостатки. Для мало0мальски сложных проектов недостатков оказывается больше. Но для "примитивной" автоматизации — почему бы и нет.

Хм. А командная строка она часто используется для "мало0мальски сложных проектов"? Или в основном тоже для "примитивной" автоматизации? :)

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

Так это вы замахнулись в этой ветке на программирование, а не примитивную автоматизацию.

Ну так тут идёт сравнение "графического программироаания" и "командной строки".

С ростом сложности — не скейлится, текст становится проще в понимании.

Не вижу принципиальной разницы. В том же LabVIEW вы можете запихать всё что помещается на экране в отдельный блок и потом уже использовать его. Точно так же как с текстом.

С ростом сложности — не скейлится, текст становится проще в понимании.

Но́ при чем тут командная строка? Простыню исходников в IDE вижу, командной строки и консоли не вижу ;)

(там слева внизу кнопочка с кружочком и треугольником, потом перейти на вкладку терминал)


В этой ветке мы кажется уже перешли от терминал против гуя к вообще текстовый способ управления компьютером против графического. Начиная с комментария Канута в 1424

А командная строка она часто используется для "мало0мальски сложных проектов"? Или в основном тоже для "примитивной" автоматизации? :)

В основном для примитивной автоматизации, конечно. Когда админу надо именно что склеить кучку существующих команд в одно целое. Если нужно что-то совсем сложное, синтаксис того же bash'а начинает мешать, и проще написать код на нормальном языке программирования.


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

Как раз на эту нишу великолепно претендуют всякие LabVIEW/Teststand и иже с ними. И вполне себе успешно.

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

На нишу системной автоматизации, которая зачастую проводится вообще без графического режима (потому что серверу он не нужен)? Ну-ну.


Вообще, идея у Labview интересная, но то ли реализация подкачала, то ли сам подход графического программирования нежизнеспособен. Например, сложно свой "код" показать другому человеку, сложно использовать системы контроля версий, невозможно охватить весь код взглядом (приходится кликать по вкладкам switch'ей), сложно создавать функции и комментарии. Я когда-то составлял целый список недостатков Labview.


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

оторая зачастую проводится вообще без графического режима (потому что серверу он не нужен)? Ну-ну.

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

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

Слепить десяток приборов

Вот именно что он позволяет с железом работать.

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

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


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

Ну да, у нас в лаборатории эта штука и используется, я с нее постоянно плююсь: крайне неудобная среда. А уж что с ней не-программисты вытворяют… как вам десяток sub-vi для записи результатов измерения: отдельно для таблицы из 2 столбцов, отдельно для таблицы из 3, 4 и так далее. Терпения хватило до 11-столбцовой, если я правильно помню.


В общем, недостатки Labview я могу перечислить без проблем. Что объективные, что субъективные, что фундаментальные.

Ну так и недостатки консолей/терминалов тоже уже немало озвучили. Что субъективных, что объективных.

И самое интересное что графический интерфейс вполне себе может включать в себя и терминал/консоль. И это встречается сплошь и рядом. А вот чтобы наоборот я пока ни разу не видел :)

Ну так и недостатки консолей/терминалов тоже у

Стоп. Мы сейчас программирование обсуждаем или интерфейс CLI/GUI? Потому что сравнивать Labview с терминалом это все равно что сравнивать барашка с нотами.


И самое интересное что графический интерфейс вполне себе может включать в себя и терминал/консоль. И это встречается сплошь и рядом. А вот чтобы наоборот я пока ни разу не видел :)

Ну, я видел. Во-первых, дурацкая мода учить школьников рисованию поверх окна cmd. Во-вторых, всякая ASCII-графика вроде hasciicam или vlc. Но это, конечно, для фана, а не для повседневного использования. Ну и вывод картинок в framebuffer прямо поверх консоли. vlc так, кстати, тоже умеет.


Другое дело, что если уж у пользователя возникает необходимость в GUI (а она возникает почти всегда), и он все равно работает в оконной среде, так проще не плодить сущности.

Стоп. Мы сейчас программирование обсуждаем или интерфейс CLI/GUI

Ну я так понял изначально речь шла о программированнии при помощи командной строки:

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

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


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

"Заворачивать в скрипт" можно уже и в IDE :)

При чем здесь "можно и в IDE"? Вы же не IDE в скрипт заворачиваете, а консольные команды.

Ну так я и не IDE обычно запускаю, а написанные в нём программы.

Но и в том и другом случае я использую графический интерфейс вместо консоли.

Да и запускать скрипты и программы можно при помощи графического интерфейса. И даже прямо в IDE часто можно.

Что-то я совсем потерял вашу мысль. Вы что опровергнуть-то пытаетесь?


Что работа в консоли это программирование что ли? Так с этим бесполезно спорить.


Что программирование это работа в консоли? А такого никто особо и не утверждал.

Вот это:

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

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

И что работа в командной строке является разновидностью программирования.

Примерно настолько же, насколько работа в UI является разновидностью 3D-моделирования.

То ли у вас весьма экзотическое представление о программировании, то ли о 3D-моделировании...


Любая работа в современной консоли является программированием, но не любое программирование — работой в консоли.


А вот что общего у 3D-моделирвоания и управления системой я не знаю. Даже наличие UI обязательным не является, модель можно и аналитически задавать.

Любая работа в современной консоли является программированием,

То есть если я кликнул на батник и он выполнился в консоли, то это уже программирование? Тогда у нас в бухгалтерии например одни программисты сидят :)

А в батнике по-вашему что записано? Программа для шелла.


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


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

А в батнике по-вашему что записано? Программа для шелла.

Но записать то её может кто-то другой.

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

Тогда можно точное определение "работы в консоли"?

Так что да, если у вас в бухгалтерии народ регулярно пишет батники, они в некоторой степени программисты

Они их не пишут. Они их запускают.

Более того пару человек даже научили отдельные команды напрямую выполнять. Как обезьян научили. Без понимания того что они делают. Это по вашему программироаание? С моей точки зрения нет.

Тогда можно точное определение "работы в консоли"?

Вот изобретать определения не возьмусь.


Они их не пишут. Они их запускают.

Тогда при чем тут работа в консоли?


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

Более того пару человек даже научили отдельные команды напрямую выполнять. Как обезьян научили. Без понимания того что они делают. Это по вашему программироаание? С моей точки зрения нет.

Мне точно надо повторять ответ?

Тогда при чем тут работа в консоли?

В смысле? Они запускают батник в консоле и тем самым выполняют свою работу. То есть работают в консоли.

Мне точно надо повторять ответ?

Да. Потому что тут мы уже имеем запуск разных программ и иногда даже с параметрами.

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

В смысле? Они запускают батник в консоле и тем самым выполняют свою работу.

Я там чуть ниже уточнил, что скорее всего возникло непонимание из-за терминологии. Я под "работой в консоли" в данном контексте понимаю не запуск одной программы и работы в ней, а именно работу в консоли операционной системы. Там весь принцип работы в вызове разных утилит и объединении их хотя бы в конвейер, а то и в более сложные структуры — циклы, рекурсии.

Я под "работой в консоли" в данном контексте понимаю не запуск одной программы и работы в ней, а именно работу в консоли операционной системы

А чем одно отличается от другого? Ну то есть как границу проводить?

Для меня если человек что-то делает в консоли, то он в ней работает.

Так в консоли операционки или в текстовом режиме конкретной прикладной программы?

Ну вот скажем человек при помощи консоли копирует файлы. Это что?

Там весь принцип работы в вызове разных утилит и объединении их хотя бы в конвейер, а то и в более сложные структуры — циклы, рекурсии.

Неа, там весь принцип работы в вызове разных утилит. И всё. Самое сложное, что используется более-менее часто некоторыми пользователями, причём ИТ-шных специальностей, это грепнуть чей-то вывод или там пропустить его через море. Циклы, рекурсии, это уже узкопрофессиональная специфика. А в остальном консоль - это просто запуск софта и эпизодический файловый менеджмент для тех, кому лень ставить мс или фар2л, и не более того.

Ну вот грепнуть вывод уже более-менее похоже на программирование.


Циклы… ну я их использую достаточно регулярно если надо что-то сделать с кучей файлов. Или вот интереса ради смотрел сколько строк кода у меня в одном проекте.


find . -maxdepth 3 -name "*.[chS]" -exec cat '{}' \; | wc -l

Что, не похоже на программирование?

Что, не похоже на программирование?

Чуть ближе, но вот смотрите: знаете, сколько раз я в жизни запускал find с exec для пакетной обработки чего-либо? Ноль. Т.е. вообще, никогда. Я не могу представить даже, зачем мне это когда-либо понадобилось бы. Пакетная обработка файлов, это чисто профессиональное применение, когда вы там или что-то единообразное в свою коллекцию каталогизируете, или какие-то рабочие данные выкатываете. И знаете, чуйка подсказывает, что среднестатистический пользователь консоли, это я, а не вы.

знаете, сколько раз я в жизни запускал find с exec для пакетной обработки чего-либо? Ноль.

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

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

-Я не ем квашеную капусту

-То есть, вы утверждаете, что практически ничего не едите?

Вот как-так вы мне возразили.

И я, честно говоря, не понял вашей логики тут. Или вы так намекаете, что find+exec - это сколь-нибудь часто востребованная комбинация команд? Нет, это очень специфическое применение, для пакетной обработки файлов, которым пользуются единицы из легионов - в основном, те редкие чуваки, у которых умение пользоваться командной строкой сочетается с серьёзным занятием фотографией или ещё каким-то хобби или профессией, которая генерирует много единообразного контента... ну, не знаю, музыка, может быть, исследования какие-то, даже сложно придумать.

find+exec — это сколь-нибудь часто востребованная комбинация команд?

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

Хорошо, пусть не эта конкретно, а любая другая комбинация для пакетной обработки

Какая, например? find + exec предложили вы, я просто принял это как один из немногих консольных кунштюков, где присутствует настоящий цикл. А так, единственные повсеместно встречающиеся пакетные обработки - это что-то вида "перенести файлы из одного каталога в другой", или там "удалить файлы по маске". Но это тоже не программирование :)

это не работа в консоли, это работа в той самой программе.

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

Какая, например? find + exec предложили вы, я просто принял это как один из немногих консольных кунштюков, где присутствует настоящий цикл.

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


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

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


Ну, тогда в консоли практически никто не работает :)

Вы забыли добавить "из вашего окружения".


запустить какую-то программу и узреть её результат в консоли, это вот оно и есть. Ничего другого среднестатистический пользователь там не делает

"Среднестатистический пользователь" про консоль знает только что она страшная, черная и для хакеров. А пользуется в основном телефоном.

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

Опять возвращаемся к уже пройденному материалу:

-Я не ем квашеную капусту

-То есть, вы утверждаете, что практически ничего не едите?

"Какая, например?" - "Вы же не ожидаете, что я буду перечислять ВСЕ способы работы в консоли? "

Очевидно же, что спросив "какая", я не ожидаю, что вы будете перечислять все способы :)

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

Простите, но в консоли нет вообще никаких возможностей, кроме как запускать утилиты с разными параметрами и автоматизировать их запуск. Вы изучаете тот софт, с которым вы работаете, и более никаких возможностей она вам не даст.

Вы забыли добавить "из вашего окружения".

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

Очевидно же, что спросив "какая", я не ожидаю, что вы будете перечислять все способы :)

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


Простите, но в консоли нет вообще никаких возможностей, кроме как запускать утилиты с разными параметрами и автоматизировать их запуск. Вы изучаете тот софт, с которым вы работаете, и более никаких возможностей она вам не даст.

То есть ваши познания консоли ограничены временами MSDOS, и с современными консолями вы не работали.


Я имел в виду "для всех". Продвинутые возможности консоли — это узкоспециализированная вещь. Нужная сисадминам, девопсам и тому подобным профессиям, работа которых состоит в автоматизации процессов,

Нет. Базовые возможности консоли полезны всем, кто о них знает. Очень многие бытовые задачи могут быть куда продуктивнее решены через консоль, чем принято считать. Но чтобы понять… не то даже как это сделать, а что так вообще возможно сделать, нужно хоть немного освоить консоль.

То есть ваши познания консоли ограничены временами MSDOS, и с современными консолями вы не работали.

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

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

История. Автодополнение. Да банальные возможности конвейеризации и скриптования почему-то кажутся высоким уровнем.

История

Это не программирование, и не за пределами "ввёл одну команду", и даже не продвинутая функция современной консоли. Я без малого тридцать лет назад эту фичу на упомянутой MS DOS имел

Автодополнение

И эту тоже

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

А это те самые банальные возможности, про которые мы уже говорили - это не для пользователей, а для нескольких специфических профессий. Что может сейчас скриптовать в консоли программист (у него что, nano/vim/mc/VS Code etc отобрали)? И ладно, то хоть программист, у него хоть по специфике работы скрипты могут быть. Что может скриптовать в консоли художник, копирайтер, дизайнер, математик, бухгалтер, музыкант и все остальные, кто компьютерами пользуются?

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

grep ERROR app.log | tail -n1

Совсем себе не специфическая профессия. Обычный саппорт, даже не Л3.

Что может скриптовать в консоли художник, дизайнер

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

копирайтер

Какой-нить апи вызов к чатгпт, какой-нить простой , который тырит инфу у другого копирайтера.

математик

Что-нибудь в bc

музыкант

https://www.youtube.com/watch?v=HdEEH4BfClc

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

История

Это не программирование

Так вы и спрашивали какие возможности программированию помогают. Я работал в виндовой консоли и прекрасно знаю насколько без истории и автодополнения неудобно.


А это те самые банальные возможности, про которые мы уже говорили — это не для пользователей

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


Лично я пользовался консолью для программирования, администрирования (это как раз естественно), работы с картинками и видео, скачивания из интернета видео в странном формате, разработке электроники, визуализации данных с измерительного прибора, написании документации. Да проще перечислить где я ее не применял — в трехмерном моделировании разве что.


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

А вы утверждаете что художнику или копирайтеру нужно что-то скриптовать или работать в консоли?

Я работал в виндовой консоли

Виндовая консоль с середины 90-х у тех, кто ей пользуется, выглядит вот так:

Есть там история, автодополнение и многое другое.

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

И что вы в ней программировали, когда скачивали из интернета видео в страном формате или писали документацию? Вызвать curl или nano - это не программирование :)

Так вы и спрашивали какие возможности программированию помогают.

Нет, я такого не спрашивал. Я спрашивал, что вы подразумеваете под "программированием" в консоли, утверждая, что работа в консоли, это программирование.

Виндовая консоль с середины 90-х у тех, кто ей пользуется, выглядит вот так:

С тех пор прошло немало времени.


И что вы в ней программировали, когда скачивали из интернета видео в страном формате или писали документацию?

Формат потокового проигрывания .ts, когда отправляется куча фрагментов с предсказуемыми номерами. Собственно программирование было в их скачивании в цикле, склейке и конвертации в mp4.


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

Нет, я такого не спрашивал.

Вы уж определитесь.

С тех пор прошло немало времени.

И тем не менее она у меня выглядит всё так же ;)

С тех пор прошло немало времени.

Да, теперь виндовая консоль поддерживает вкладки и можно выделить мышкой. А так - она все та же, синенькая.

Кого вы ещё знаете, кому продвинутые возможности консоли могут пользу принести?

С появлением современных сильно неравноценных ядер (79x0X3D, Core 12+ gen) стало вновь актуально указание аффинности для приложения.
Это можно делать как каждый раз ручками в гуях, так и один раз сделав ярлык.
Указание используемого видеоадаптера (это больше касается пингвина, в виндах это делается через gui или настройки самого приложения).
Кому актуально? Геймерам в первую очередь.
То, что они об этом не знают, никак не отменяет того, что так можно получить буст в производительности и/или плавности от существенного до огромного.
Обкатывать решение до получения рабочего варианта придется в консоли.

У нас спор не про "гуй или консоль", а про "программировать в консоли - это для всех, или для узкопрофессиональных применений"

Тут логическая ошибка в противопоставлении.


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


Любопытно, вы, кажется, первый, кому не надо объяснять, чем программирование отличается от запуска полученного в его результате артефакта…

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

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

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

Вот это вот прям хрестоматиный пример консольного спора. Он всегда так выглядит. Апологеты консоли тебе говорят кучу пространных аналогий а-ля: "Одна маленькая, но очень гордая птичка сказала "А я полечу на Солнце"..", а как только просишь не о птичках, а привести реальный полезный пример, в лучшем случае тебе приведут пример скрипта, который фоточки по папкам с датами раскладывает, с уменьшением разрешения, или реже - музычку, и на этом все "человеческие" варианты заканчиваются. А в типичном - какой-то хитровымудренный скрипт сборки какого-то приложения, о котором только его автор знает. И какие фичи консоли, кроме "набрал софтинку с параметрами, нажал энтер и посмотрел результат" могут пригодиться тому подавляющему большинству людей, которым не нужен хитровымудренный скрипт сборки приложения, никто ответить не в состоянии.

Да-да, каждый раз, когда касается велосипедного спора, вам приводят кучу пространных аналогий, а как просите реальный полезный пример ­— так ничего кроме абстрактной пользы для здоровья не видно )


Хорошо-хорошо, вы правы.
Только сперва покажите, как в гуях, сделать один раз и навсегда пин ниток к нужным ядрам, чтобы не страдать каждый раз, когда планировщик отправит процесс погулять на другое ядро. Ладно, хрен с ними, с нитками — хотя бы процесс.
Но не в диспетчере задач, а РАЗ И НАВСЕГДА.
Или обоснуйте, почему геймерам не нужно +20% к максимальному фпс и +100500 к стабильности фреймрейта.

Ладно, хрен с ними, с нитками — хотя бы процесс.

Чорт, какая же непосильная задача.

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

Или обоснуйте, почему геймерам не нужно +20% к максимальному фпс и +100500 к стабильности фреймрейта.

Это не даст ни 20% к фпс, ни 100500 к стабильности фреймрейта. Так, в некоторых сырых свежевышедших играх иногда немного будет стабильнее.

Но самое интересное тут другое - какое отношение этот ваш вопрос имеет к контексту спора? Напомню,

какие фичи консоли, кроме "набрал софтинку с параметрами, нажал энтер и посмотрел результат

Чорт, какая же непосильная задача

И при нажатии Apply система на вас ругнулась.
Потому что в %PATH% никакого start нет, это внутренняя команда cmd.exe, и вызывать ее надо через cmd -k.


Это не даст ни 20% к фпс, ни 100500 к стабильности фреймрейта

Ну да, ну да. Всем, кроме уже умеющих припиниваться самостоятельно, дает — вам не дает.
Или вы потеряли контекст и забыли, о каком железе идет речь, и, отвечая, приведете еще один непроверенный и иррелевантный пример?
Вопрос риторический.


Ветка, похоже, проклята.

Потому что в %PATH% никакого start нет, это внутренняя команда cmd.exe, и вызывать ее надо через cmd -k.

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

Только сперва покажите, как в гуях, сделать

Далее,

Ну да, ну да. Всем, кроме уже умеющих припиниваться самостоятельно, дает

По поводу этого, уж извините, если это ваше "всем" существует, вам же не составит труда кинуть ссылочку на тесты, да? Целых +20% фпс просто настройкой ярлыка - это же должно быть в библии любого геймера, т.е. статьи на эту и тесты есть на всех геймерских и многих негеймерских сайтах, верно? А то у меня, похоже, гугл неисправный, не находит никак :(

к чему был вот этот ваш вопрос: <…>

Как вы предлагаете придти к этому решению без знания консоли — вот правильный вопрос.


Целых +20% фпс просто настройкой ярлыка — это же должно быть в библии любого геймера

И не найдете, потому что добыча этого знания требует погружения в матчасть. А геймеры все еще спорят, важен ли для производительности CPU, не до матчасти им.
Без нее получаются только вот такие недоэксперименты, в которых малониточный процесс пинят на всю нума-ноду — и даже это дает измеримый эффект, причем больший, чем пин на ядра с максимальным бустом.
Но если у вас есть любой двух- и более чиплетный Ryzen/TR/Epyc под руками или интеловская нума на минимум две ноды с высокочастотными процессорами (про обязательность более-менее приличной видеокарты, этот смеет надеяться, уточнять не надо?) то вы сами можете легко устроить эксперимент.
Возьмите любую игру, которая не пинит свои потоки (из таковых каджиту попался только WoW — то есть, подойдет почти любая), и показывает загрузку на 3-4 ядра со средней частотой кадров на вашем мониторе ниже частоты синка, и проведите замеры средней частоты и редких событий.
На R5-1600 с 16ГБ и RX6700 эффект от привязывания к одному чиплету аналогичен замене процессора на 5800G, у которого выше частоты и более гомогенная внутрянка.
Особенно видно по редким событиям, они практически исчезают при таком подходе.

Как вы предлагаете придти к этому решению без знания консоли — вот правильный вопрос.

Точно так же, как и со знанием консоли - погуглить. В "знание консоли" напрочь не входит знание наизусть всех параметров всех системных утилит. Это гуишник ещё что-то может сам разобраться, просто открыв этот самый гуи и почитав названия на кнопках/чекбоксах. В консоли by design предполагается, что вы мануалы читаете.

И не найдете, потому что добыча этого знания требует погружения в матчасть

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

Но если у вас есть любой двух- и более чиплетный Ryzen/TR/Epyc под руками или интеловская нума на минимум две ноды с высокочастотными процессорами

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

Возьмите любую игру, которая не пинит свои потоки (из таковых каджиту попался только WoW

Простите, я даже не буду проводить эксперимент самостоятельно, давайте я делегирую это профессионалам:

5600X - один чиплет, 5950Х - два чиплета, одноядерная производительность плюс-минус одинаковая, у первого на 200 МГц выше базовая частота, у второго на 200МГц выше одноядерный буст. Где я могу у первого наблюдать +20% быстродействия, а также существенное снижение количества фризов?

Это гуишник ещё что-то может сам разобраться, просто открыв этот самый гуи и почитав названия на кнопках/чекбоксах

Эти гуишники даже с простейшим Handbrake разобраться не могут, заполоняют форумы предельно тупыми и очевидными вопросами.
Что уж там про более сложный софт.
Или, вот, например, что нужно сделать в гуях, чтобы догадаться что удаление с шифтом — удаляет мимо корзины, м?


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


Как-то резко мы перешли от геймеров к чувакам, которые на серверах играются

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


Простите, я даже не буду проводить эксперимент самостоятельно, давайте я делегирую это профессионалам:

… и — даже понимать прочитанное. Потому как в ваших скриншотах упор идет вовсе не во время подготовки кадра.


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

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

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

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

Ну так не пишите то, что откровенно нелепо. Я ж вас за язык не тянул :)

… и — даже понимать прочитанное. Потому как в ваших скриншотах упор идет вовсе не во время подготовки кадра.

Ненене, не сбегайте в кусты. Я же, повторюсь, вас за язык не тянул - раз сами начали, давайте, отвечайте уж за свои слова. Итак какое ещё "время подготовки кадра" вы имете в виду, и почему вдруг FPS на скришнотах - не про это, особенно в свете того, что там даже предельные есть, 1% и 0.1%? Рассказывайте-ка мне поподробнее, с учётом того, что вы это рассказываете человеку, который в нулевые писал игровые движки под DirectX.

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

Может быть, ваша проблема в другом? Фигово пытаться спорить, не владея матчастью, и вместо технических деталей приходится отбиваться философией и пространными намёками а-ля "я-то вот что-то знаю, а вы если бы читали, то бла-бла" :)

Может, и вам пора перестать считать себя Д'Артаньяном?

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


Я же, повторюсь, вас за язык не тянул

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


вместо технических деталей

Если бы вы матчасть действительно знали, или, хотя бы, ценили так как говорите, то и разница между Zen1-2-3-4 от вас бы не ускользнула, и плохая применимость принесенных вами картинок к описанным каджитом условиям. Да и вместо картинок принесли бы статью полностью.


Говорил же: ветка проклята, любой диалог превращается сборку жигулей.


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

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

Не волшебство, а естественное их свойство, именно так и есть.

На самом деле это не так, иначе профессональные форумы по раболте с софтом — вымерли бы.

Я правильно понимаю, что по-вашему, все люди склонны к самообразованию, а форумы, школы и т.д. - всё это существует лишь потому, что материалов для самообразования в мире недостаточно? Не потому, что в мире много людей, которые не умеют/ленятся/боятся самостоятельно разбираться?

Нет, вы начали страдать подменами, как и другие участники.

Ни единой подмены, чесслово. Просто... вы неправы.

  1. Нет никаких +20% от установки аффинити маски в играх, нет никаких уменьшений фризов,

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

  3. А выгода от установки аффинити маски для игр на процессорах - это был хотфикс для единичных кривых игр, до того, как апдейты на них повыходили, не более того.

  4. А винда в курсе, какие ядра на каких чиплетах расположены, и раскидывает потоки процессов, исходя из этого. Для того нынче в частности и есть драйверы процессоров.

  5. А каджит не в курсе, что нельзя установить аффинити маску для потока даже через консоль, хотя считает, что можно и нужно. Хотя это для пользователя не реализовано, потому что не имеет смысла, т.к. пользователь не обладает информацией, какой поток внутри процесса за что отвечает. Только сам процесс изнутри, зная дескрипторы своих потоков и кто из них кто, может раскидывать их по ядрам "сознательно".

Не волшебство, а естественное их свойство, именно так и есть

То есть, вы готовы утверждать, что любому пользователю, исключительно исследуя менюшки photoshop/krita/sai/etc, совершенно не изучая правила композиции, работу с перспективой и освещением, и т.д. и т.п., можно стать профессиональным художником, которому будут наперебой крупные студии предлагать миллионные контракты?


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


Или, может, СВЧ-плату сделает такой пользователь, просто повозив по менюшкам Altium?


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


Что же до списка…
Во-первых, подмена есть. И если бы вы знали матчасть, как говорите, а не врали, то от вас бы не укрылось то, на каких процессорах это применяется и дает весомый эффект: каджит их натурально перечислил.
В перечисление вошли (в скобках указана причина):


  • Zen1:R5-1600 (c2c vs ccx2ccx latency)
  • Core 12xxx+ (E and P cores)
  • R9-79xxX3D (two chiplets — only one w/3DC stack)

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


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


Тем не менее, все, чего вы добились — довели феерию идиотии до новых вершин.

То есть, вы готовы утверждать, что любому пользователю, исключительно исследуя менюшки photoshop/krita/sai/etc, совершенно не изучая правила композиции, работу с перспективой и освещением, и т.д. и т.п.,

Я готов утверждать, что любому пользователю, которому знакомы правила композиции, работа с перспективой и освещением и прочие вещи, не имеющие отношения к UI, но зато имеющие отношения непосредственно к его предметной области (и которые непонятно зачем тут приплёл каджит) действительно можно, исследуя менюшки фотошопа, научиться им пользоваться. Более того, многие профессиональные художники, переходя с бумаги на цифру, так и делали ввиду отсутствия интернетов в то время. И тем более, если вы освоили Фотошоп, то освоить другой редактор вам вообще легко будет. И это мы с вами говорим про сложнейшие профессионально-ориентированные инструменты. А консольщику, чтобы с несчастной wget на curl пересесть, мануал надо читать :)

В перечисление вошли (в скобках указана причина):

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

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

Я вам притащил графики из первой попавшейся статьи с тестированием игр, где есть одночиплетный и двухчиплетный райзен. Самая обычная игровая статья - фпс в разрезе игр, потребление и выводы, какой процессор лучший к покупке. Вы можете любую такую же взять, там те же цифры. Вся суть была на графиках - процессор с одним чиплетом показывает такую же производительность, как и процессор с двумя чиплетами. Значит, гипотеза каджита, что якобы на многочиплетных процессорах винда будет разбрасывать потоки между разными чиплетами, из-за чего будет страдать производительность - ложь. ЧТД. Если хотите опровергнуть - интернет у вас есть, давайте другие графики и тестирование, где установка аффинити маски повышает производительность на 20%. Да или хотя бы на 5%, блин, а не в пределах статистической погрешности.

Тем не менее, все, чего вы добились — довели феерию идиотии до новых вершин

Именно. Это ли не феерия идиотии - на фразу "научиться пользоваться ГУИ просто тыкая мышкой" в качестве контрпримера приводить "научиться пользоваться фотошопом, не умея рисовать"? Или не феерия идиотии - в ответ на обычные игровые тесты, которые есть на любом игровом сайте, устраивать теорию заговора "Вы же не спроста притащили графики без статьи, вы хотели исключить предметную часть из рассмотрения. ", а что каджит не в состоянии свои тесты привести - так это потому что тесты очень секретные, а не потому, что каджит ерунду сочиняет :)

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

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

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


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


UPD: этот готов оставить место для взаимонепонимания, но оно явно носит характер тотального пиздеца.
Давайте его как-нибудь приведем в более приличный вид, что ли…

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

Однозначно придумал

или архитектуру и топологию конкретных процессоров?

Архитектуру - не придумал, побочный эффект от этой архитектуры - придумал, и целую теорию развил на фантазиях.

Однозначно придумал

То есть, вы таки знали конкретные модели, но на скриншотах специально притащили что попало. Мило.


на фантазиях

Ммм… ок, так и запишем: E и P ядра одинаковы по производительности, дорогущий 3D-cache ни на что не влияет.
Собственно, на этом спор о матчасти можно закончить, пока мы не докатились до того, что 486SX быстрее EPYC.


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

То есть, вы таки знали конкретные модели, но на скриншотах специально притащили что попало. Мило

На скриншотах я притащил именно те модели, на которых ваш эффект должен проявляться. Не проявляется. Мило.

Ммм… ок, так и запишем: E и P ядра одинаковы по производительности, дорогущий 3D-cache ни на что не влияет.

Вы издеваетесь? Я вам вроде бы понятным русским языком написал:

В реальности планировщик задач ОС и без установки аффинити маски прекрасно знает разницу между ядрами и справляется с этим. Он знает, какие ядра производительные, какие нет, и ресурсоёмкие задачи вроде игр запускает только на производительных ядрах.

И ладно бы один раз, но я и до этого писал это же самое. Скажите, это каджит читает одну строку через три? Или читает нормально, просто предпочитает в упор не замечать неудобные вопросы, чтобы см.выше, ещё немного оттянуть неизбежное, т.е. извиниться за глупости?

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

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

а) результаты тестирования игр, где на мультичиплетных процессорах установка аффинити маски даёт +20% производительности

б) слов "Извините, я был неправ"

Всё остальное можете отправлять в мусор ещё до того, как напишете,

А если у вас кишка тонка извиниться, вы можете просто... промолчать. Вряд ли кто-то из посетителей сайта ещё следит за нашей дискуссией, а я ваш спектакль точно не оценю :)

Ну и, заодно, давайте разберем пункты, кратко.
1,3,4 — конфигурация и эффект описаны, добавить можно, разве что, свежеобновленную винду и свежие драйвера.
Таким образом, ваше утверждение означает или что R5-1600 и R7-5800G идентичны по производительности, или что вы вообще не понимате, о чем идет речь, или что намеренно врете.
2 — уже сказал в соседнем комменте, притащить абстрактные графики без конфигурации, на других поколениях либо иных топологических конфигурациях, без каких-либо пояснений… многое говорит как о вашем хваленом знании матчасти, так и вообще хотя бы событий последних лет пяти.
5 — еще одно соломенное чучело. Ну или цитату в студию )

1,3,4 — конфигурация и эффект описаны, добавить можно, разве что, свежеобновленную винду и свежие драйвера

Нет, не описаны. Вы лжёте, потому что если были бы описаны - пруфы вы бы в первом же посте выложили, а не занимались пустословием на десять постов.

притащить абстрактные графики без конфигурации

Что значит "абстрактные графики без конфигурации"? Процессор 5600Х против 5950Х, остальное идентичное и не играет роли в данном контексте, как и во всех игровых тестах (или каджит не знает даже как проводятся игровые тесты?). Выбирайте любой, соотношение цифр везде одинаковое:

https://www.google.com/search?client=firefox-b-d&q=5600x+vs+5950x+gaming

Где ваши +20% на одночиплетных конфигурациях?

5 — еще одно соломенное чучело. Ну или цитату в студию

И здесь я вас тоже за язык не тянул. Держите свою цитату:

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

На сим разрешите откланяться. Вы можете извиваться как хотите, ваше право, но я от вас жду только два вариант ответа:

а) результаты тестирования игр, где на мультичиплетных процессорах установка аффинити маски даёт +20% производительности

б) слов "Извините, я был неправ"

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

характер тотального пиздеца.

У всех находятся причины, чтобы не использовать велосипед.

Угу. И основная причина это наличие более удобных альтернатив.


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

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

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

Угу.


Потому как вы снова сделали подмену на удобную вам трактовку, и увлеченно воюете с соломенным чучелом.

Ну точно так же как и вы. Вам можно, а другим нет? :)

Демагог пытается сказать, что аналогия это тоже подмена, поэтому он не демагог… мордапальма.

Kanut COKPOWEHEU
Вы оба по своему правы, и оба несколько перегибаете )
Во времена dos народ поголовно работал в консоли, но даже запустить keyrus самостоятельно могли не только лишь все. Чего уж говорить о написании батников.
Обычно работали с nv/vc/dn, lexicon, qv и другими готовыми программами.


Сейчас основной рабочий инструмент это gui, и шелл юзеру практически не нужен, даже продвинутому. А те, кому нужен именно как среда выполнения самописных скриптов — они уже программисты по другим критериям.

Обычно работали с nv/vc/dn, lexicon, qv и другими готовыми программами.

А, так вопрос может быть в терминологии. Я под работой в консоли понимаю именно CLI, а не любой текстовый интерфейс. Псевдографика это не "работа в консоли".

Ну я работаю в консоли - использую различные тулы, но не пишу скрипты. Это преимущественно запуск сборки, тестов (по другому не запустить нужную для проверки версию), просмотр логов, какие-то манипуляции с ними при помощи разных утилит (grep, dsq, jq) или апи дернуть курлом, пакеты обновить/поставить.
Это программирование? Вряд ли, иначе - любой запуск программы становится программированием. Работа в консоле - да, все тулы имею CLI, из обладающих псевдографикой только tmux/screen.

Запуск одной программы и работа в ней это все же не работа в системной консоли. А вот хотя бы объединение нескольких утилит в конвейер — примитивным программированием уже считать можно.

А какая разница, объединяю я запуск команд в конвейер или перенаправляю вывод одной команды в файл, а потом этот файл передаю на вход другой команде? Тем самым я сохраняю промежуточное состояние и если ошибся в команде, или мне нужны другие параметры, то не надо выполнять всю цепочку команд.
И это мало отличается от того, чтобы открыть файл в одной программе, сделать с ним какие-то манипуляции, результат сохранить и обработать а другой программе.
Если я написал скрипт (не важно bash, sh, bat, power shell), то да, это будет программированием, программирование подразумевает, что появляется описание алгоритма которое можно переиспользовать. В случае ручного набора команд и объединения их в конвейер результат в виде скрипта не остаётся, т.е. нет результата процесса программирования.
Так же, я могу чертить в автокаде используя его встроенную консоль и даже делать циклы, но это опять же не будет программированием, так есть только результат работы, но нет самой программы.
А если я в ворде записал макрос и сохранил его - это программирование, так в результате процесса появилась программа, которую можно повторно запустить.
Даже написание файла конфигурации vim/nvim - программирование, потому что в результате появляется программа которую можно выполнить и выполняет её vim/nvim. Ну или emacs.

Если по вашему работа в консоли - это хотя бы объединение команд в конвейер, то как называть просто отдельный запуск CLI программ?

А какая разница

Разница в том, кто занимается однообразной работой, человек или машина.


Если я написал скрипт (не важно bash, sh, bat, power shell), то да, это будет программированием, программирование подразумевает, что появляется описание алгоритма которое можно переиспользовать. В случае ручного набора команд и объединения их в конвейер результат в виде скрипта не остаётся,

Он остается в истории команд и точно так же может быть вызван повторно.


Если по вашему работа в консоли — это хотя бы объединение команд в конвейер, то как называть просто отдельный запуск CLI программ?

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


$ ls
$ bash -c "ls"
$ echo "ls" > file.sh ; bash file.sh

Все три варианта с точки зрения баша одинаковы. Почему вы считаете, что первый это не программирование, а последний — уже оно?

С какой стороны посмотреть. Вбиваете-то вы команду скриптового языка.

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

Но таком случае, работа в программе в GUI, где есть возможность записи макроса и/или повтора команды из истории так же является вариантом визуального программирования. Ведь по сути, клик по меню или выбор и применение инструмента - это просто форма описания команды, которая сохранилась в истории. Является ли это программированием (визуальным)?

Все три варианта с точки зрения баша одинаковы. Почему вы считаете, что первый это не программирование, а последний — уже оно?

В моем понимании ни первый ни последний не являются программированием. Для меня грань пролегает при появлении языковых конструкций ветвления, циклов. При этом написать скрипт в котором после каждого вызова программы будет стоять явная проверка на то, что команда завершилась успехом, и в этом случае продолжается исполнение скрипта, а в случае ошибки прерывается с каким-то дополнительным сообщением - становится программированием. Просто прерывание попадает под программирование, но можно заменить set -e или объединением команд в одну через &&. Или дописав || exit 1 к каждой.

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

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


Для меня грань пролегает при появлении языковых конструкций ветвления, циклов.

То есть даже линейная последовательность команд или конвейер для вас программированием не является. А собственно почему?

То есть даже линейная последовательность команд или конвейер для вас программированием не является. А собственно почему?

Это просто вызов команд, не важно как его делать в конвейере, объединив команды через &&, или ||, или записать их последовательность в скрипт и выполнить, или каждый раз вручную вводя команду (копируя откуда-то), или кликая мышкой по менюшкам. Запись макроса или последовательный запуск команд в скрипте, на границе, но всё же нет.

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

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

Это просто вызов команд, не важно как его делать

А программирование это просто вызов операторов.


Запись макроса или последовательный запуск команд в скрипте, на границе, но всё же нет.

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


В противном случае, любая работа связанная с использование компьютера — программирование.

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


И смысл программирования ещё в том, чтобы программа, как результат процесса, использовалась многократно без модификации, а не создавалась для разового выполнения.

Ну разумеется, нет!

А программирование это просто вызов операторов.

Нет. Программирование это составление программы, в которой вызываются операторы.


Если вы просто "вручную" вызываете операторы один за другим, то это не программирование. Это всё ещё может быть какой-то разновидностью профессиональной деятельности. Но это уже не программирование.

Нет. Программирование это составление программы

Гениальное определение!


Если вы просто "вручную" вызываете операторы один за другим, то это не программирование.

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

Гениальное определение!

А что вам не нравится? Ну можете на википедии посмотреть: "Программи́рование — процесс создания компьютерных программ." :)


Почему там это программирование, а в шелле — нет?

Потому что использование того же Питона в этом самом интерактивном режиме это тоже не программирование :)

Охохонюшки-хохо, то есть, вы утверждаете, что прототипирование в REPL — не программирование?


На взгляд каджита, спор снова свелся к определениям.

Охохонюшки-хохо, то есть, вы утверждаете, что прототипирование в REPL — не программирование?

Если вы только выполняете одиночные команды, то нет, это не программирование.

Ну, теперь step-by-step debugging в REPL — не программирование, выходит… хрен редьки не слаще.

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


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

Дебаггинг это и поиск ошибки и ее устранение — написание нового кода и/или рефакторинг старого, причем она часть разработки (программирования).
Теперь, с ваших слов, и вовсе выходит чудно: программирование у нас больше не программирование.


Если уж хотите провести границу, то ее можно проводить по структурности: там где явно выраженной структуры нет — мы имеем дело со скриптом (записью последовательности), там где она есть — с программой.


При этом, заметьте, ни одно определение, которое можно найти, не накладывает ограничений по длине программы print("Hello world!" — это тоже программа, и это первая программа которую вы увидите в учебнике и первая, которую вы напишете сами).


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


Таким образом, провести четкую границу границу — невозможно, ее просто нет.
Единственное, что точно не программа ни в коем виде — это вызов исполняемого файла без параметров. awk "{print '$1'}" уже выполняет работу по определенным предписанным правилам, как и find -type f -name '*~' -mtime -7 -rm, и какого-либо внятного объяснения, которое выдержит проверку другими условиями и не вступит в конфликт с другими определениями, почему первое это программа, а второе нет — не существует.

Дебаггинг это и поиск ошибки и ее устранение — написание нового кода и/или рефакторинг старого, причем она часть разработки (программирования).

Нет. Дебаггинг это дебаггинг. Он может привести к написанию нового кода или рефакторингу. Но сам по себе ими не является.


Если уж хотите провести границу, то ее можно проводить по структурности: там где явно выраженной структуры нет — мы имеем дело со скриптом (записью последовательности), там где она есть — с программой.

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


При этом, заметьте, ни одно определение, которое можно найти, не накладывает ограничений по длине программы (print("Hello world!")

Ну да. При этом если вы запишите ваше "print("Hello world!")" в программу или скрипт, то это будет программирование.


А если вы потом запустите эту программу или просто напишите "print("Hello world!")" в консоли, то это программированием не будет.

Но сам по себе ими не является

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


А если вы потом запустите эту программу или просто напишите "print("Hello world!")" в консоли, то это программированием не будет

Запуск это эксплуатация, тут все ясно.
А вот чем так принципиально отличается print("Hello world!"), полученный из одного файла или из другого — нет.
То получается, что программирование это не процесс написания кода, а сохранение результата этого написания.

Но входит в более общий термин, вместе с рефакторингом, нет? Если не входит, то это дол

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


А вот чем так принципиально отличается print("Hello world!"), полученный из одного файла или из другого — нет.

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


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


То получается, что программирование это не процесс написания кода, а сохранение результата этого написания.

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

Является из-за этого любой "процесс нажатия клавиш на клавиатуре" программированием?

Нажатие клавиш это метод ввода информации в машину. Очевидно, что ввод данных отличается от обработки данных и оба они от создания средств обработки.


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

Окей, давайте разовьем эту мысль. Вот три примера, в которых каджит создает некой код, выполняющий некую работу и демонстрирует, что работа выполняется:


❯  python3
Python 3.11.3 (main, Jun  5 2023, 09:32:32) [GCC 13.1.1 20230429] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World!")
Hello World!
>>> 
❯  echo 'print("Hello World!")' > /tmp/helloworld.py && python3 /tmp/helloworld.py
Hello World!
❯  echo 'print("Hello World!")' | python3
Hello World!

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

Нажатие клавиш это метод ввода информации в машину. Очевидно, что ввод данных отличается от обработки данных и оба они от создания средств обработки.

Это не ответ на мой вопрос. Является любой "процесс нажатия клавиш на клавиатуре" программированием?


Вопрос: в каком случае написание кода не является программированием, и почему?

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

Это не ответ на мой вопрос

Это и есть ответ. Ввод данных ≠ созданию средств обработки.


Написание кода является программированием тогда, когда в результате вы получаете "программу" в том или ином виде

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


Вопрос со звездочкой:
каджит проверил свою программу в REPL. Введенные строки сохранились в истории команд REPL. Программу, соотвественно, можно вычленить их истории команд и оформить отдельным файлом, но каджит этого не сделал. Была ли эта деятельность программированием?


Вопрос с двумя звездочками:
каджит таки вычленил свою программу из истории REPL и сохранил в файл — но случайно удалил его. Была ли эта деятельность программированием?


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


Пожалуйста, обоснуйте ответ в каждом случае: это нужно для проверки на противоречивость определений.

Это и есть ответ. Ввод данных ≠ созданию средств обработки

То есть нажатие клавиш само по себе программированием не является?


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

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

Что, тоже почувствовали, что вот-вот докажете правоту оппонента? )


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


Ну, раз вы отказались отвечать, то мысль все равно стоит закончить.
Программа выглядела в псевдокоде так:


10 СОСТАВИТЬ РЕКУРСИВНЫЙ СПИСОК ФАЙЛОВ НАЧИНАЯ ОТ ТЕКУЩЕГО ПОДКАТАЛОГА
20 ВЫБРАТЬ БЭКАПНЫЕ ФАЙЛЫ
30 ВЫБРАТЬ ФАЙЛЫ СОЗДАННЫЕ ЗА ПОСЛЕДНЮЮ НЕДЕЛЮ
40 УДАЛИТЬ ФАЙЛЫ

Согласно любому определению, в котором print("Hello World!") — валидная программа (а с этим утверждением вы уже согласились), эта программа так же валидна.
Она может быть выражена на любом языке, в котором есть понятие файла/каталога и работа со строками.
В том числе, она может быть выражена и так:


find -type f -name '*~' -mtime -7 -rm

Finita.

Что, тоже почувствовали, что вот-вот докажете правоту оппонента?

Нет просто лень заниматься софистикой. Потому что я точно так же могу провести вам "список сценариев".


В том числе, она может быть выражена и так

Она может быть выражена как угодно. Но формально исполнение вашего "find -type f -name '*~' -mtime -7 -rm" в консоли программированием не является.


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

Но формально исполнение вашего

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

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

Вы в саму вики-то заглядывали?


Программи́рование — процесс создания компьютерных программ

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


Компью́терная програ́мма — 1) комбинация компьютерных инструкций и данных, позволяющая аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления (стандарт ISO/IEC/IEEE 24765:2010)[1]; 2) синтаксическая единица, которая соответствует правилам определённого языка программирования, состоящая из определений и операторов или инструкций, необходимых для определённой функции, задачи или решения проблемы (стандарт ISO/IEC 2382-1:1993)[2].

Тут 1 явно распространяется исключительно на бинарные артефакты. Согласно этому пункту, программ на питоне, яве, эликсире, шарпе — не существует.
2 ­— синтаксическая единица <…> для определённой функции, задачи или решения проблемы
Причем вырезанная часть содержит рекуррентное определение, и потому иррелевантна.


Проблема формализована, задача поставлена и решена.
Реализация с find прошла через все те же шаги, что и реализация на, допустим, python.
Но вот эта реализация (тяпнуто с S-O, лень писать и отлаживать, уж простите, ради пустого спора об определениях)


import os, time

path = r"c:\users\%myusername%\downloads"
now = time.time()

for filename in os.listdir(path):
        if os.path.getmtime(os.path.join(path, filename)) < now - 7 * 86400:
        if os.path.isfile(os.path.join(path, filename)):
            print(filename)
            os.remove(os.path.join(path, filename))

одной и той же программы для вас — Ъ, а реализация с помошью языка posix shell — не-Ъ.


Еще раз, вы говорите о программе, предъявляя претензии к ее имплементации.

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

Вот именно. Не сохранение. Не ввод. Не дебаггинг. Весь процесс, а не отдельно взятые составляющие.


Еще раз, вы говорите о программе, предъявляя претензии к ее имплементации.

И ещё раз: я не говорю о программе. Я говорю о процессе.


Но можете привести своё определение программированию и мы можем его тоже обсудить.

И именно потому, что вы говорите о процессе, когда этот расписал вам процесс и задал наводящие вопросы, вы встали в позу и объявили каджита софистом.
Ню-ню.


Но можете привести своё определение программированию и мы можем его тоже обсудить.

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

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

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


Теперь вы пытаетесь переложить ответственность, но софист по прежнему каджит, да?

Только вот вопросы были к вашему пониманию общедоступных определений...

ORLY?
Этот вообще предлагал перестать спорить об определениях.
Но кидаться бездоказательными утверждениями, не опираясь факты, определения и логику, но лишь на глубоко личное понимание — никто не прекратил.


Пришлось разобрать эту цепочку, и выяснить, что:


  • дебаг это не программирование — вот именно так вот, абсолютистски, даже если в процессе ты отрефакторишь полпроекта
  • НО программирование это сложный процесс, включающий в себя дебаг
  • написание программ это программирование
  • НО если одна из имплементаций программы чем-то не понравится кое-кому, то это не программирование. Вот так вот, тут помню — тут не помню. А тут мы рыбу заворачивали
  • если кое-кто сам себе противоречит, то он прав
  • НО если это заметит каджит, то виноват каджит (видимо, нечего было провоцировать)
  • если кое-кто сослался на определения в вики и сказал, что они противоречат — то он прав
  • но если каджит разобрал и применил определения, и противоречий, ВНЕЗАПНО, не обнаружилось — снова виноват каджит

Знаете, ребят… это уже сильно смахивает на фрик-шоу. Дальше вы как-нибудь сами.

дебаг это не программирование — вот именно так вот, абсолютистски, даже если в процессе ты отрефакторишь полпроекта; НО программирование это сложный процесс, включающий в себя дебаг

Да, вот именно так! Ты можешь заниматься дебагом и программированием одновременно (=твоя деятельность в некоторый момент может попадать под оба определения), но дебаг от этого программированием не становится. Так же как рука человека не является человеком. Так же как ковыряние в носу не является программированием.


Что тут, блин, вообще сложного?!

Нет-нет-нет, Дэвид Блэйн.
Пока кто-нибудь из вас не сможет четко и внятно объяснить, каким образом форма побочного артефакта превращает программирование в сборку жигулей — никаких больше с вами споров об определениях.
Вот разберетесь с этой малостью — можно будет двинуться дальше.
Тут же ничего сложного, правда?


UPD: за минус к комменту извините, в сердцах клацнул не туда.

Вопросы были к вашему пониманию общедоступных определений.

Каких общедоступных определений? Если брать определение из википедии, то там всё относительно ясно и ваши "сценарии" под определение программирования не особо попадают.


Если у вас есть какое-то другое общедоступное определение, то киньте ссылку или процитируйте. И тогда посмотрим.

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

Могут. Но не отличаются. И в том, и в другом, и в третьем случае мы пишем программу, потом нажимаем "выполняй", и шелл выполняет. Где мы ее пишем, какой у нее объем — совершенно безразлично.

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

Ну вот процесс написания программы это программирование. А вот "нажатие выполняй" нет. Когда вы пишите скрипт(неважно где и как), то это программирование. Когда вы его выполняете — нет.


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

Но из-за этого любое выполнение каких-то команд в консоли программированием не становится.

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


Когда вы пишете echo "hello world" в консоли это ничем не отличается от написания кода в IDE, а нажатие Энтера — от нажатия кнопки Run.

Ещё раз. Выполнение программ это не программирование.

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

И даже если отойти от формальностей то это нужно очень большую сову. И опять же большинство с этим наверняка не согласится.

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

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

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

Нет. Иначе у нас программирование начинает зависеть от в том или ином виде персистированной программы. По определению.

Нет. Иначе у нас программирование начинает зависеть от в том или ином виде персистированной программы. По определению.

Не понял. Пожалуйста, разверните мысль подробнее.

Ну так "Программи́рование — процесс создания компьютерных программ". Где у вас создаётся эта самая компьютерная программа?


И например будет ли программированием запись в регистре которая приводит к запуску какой-то программы в момент загрузки ОС?

Ну так "Программи́рование — процесс создания компьютерных программ". Где у вас создаётся эта самая компьютерная программа?

Имеется в виду "в мозгу" или "в строке ввода"?


И например будет ли программированием запись в регистре которая приводит к запуску какой-то программы в момент загрузки ОС?

Здесь снова не понял. Для меня регистр это ячейка памяти процессора или периферии. При загрузке операционки она пользуется всеми своими регистрами.


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

Имеется в виду "в мозгу" или "в строке ввода"?

Где мы в результате имеем ту самую программу?


Но попробую угадать: в командной строке загрузки ядра можно указать какие-то параметры вроде включения заставки

Всё гораздо проще. У винды есть реестр он же registry. Туда можно писать много чего разного. В том числе и конфигурировать автостарт программ при загрузке ОС. Это программирование?

Где мы в результате имеем ту самую программу?

Ну допустим, в командной строке.


Всё гораздо проще. У винды есть реестр он же registry.

Вот про это точно бы не вспомнил. Насколько я помню, последовательность или алгоритм там задать невозможно. Значит не программирование, а конфигурирование. Вот в autoexec.bat уже скрипт.

Ну допустим, в командной строке.

То есть если я что-то напишу в командной строке, то это можно рассматривать как программу? Вот это программа и программирование:


?

image


Насколько я помню, последовательность или алгоритм там задать невозможно. Значит не программирование, а конфигурирование.

Извините а где написано что при программировании обязательно должна быть задана последовательность?
Если я запускаю какие-то параллельные/асинхронные процессы и меня не интересует в каком порядке они выполнятся, то это уже не программирование?

Вот это программа и программирование:

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


Извините а где написано что при программировании обязательно должна быть задана последовательность?

Последовательность это не в смысле "строго один за другим", если что. Важна возможность ее задать и способность интерпретатора выполнить. Будете ли вы ей пользоваться это уже ваше дело.


Если я запускаю какие-то параллельные/асинхронные процессы и меня не интересует в каком порядке они выполнятся, то это уже не программирование?

Интересный вопрос, ответа на который я не знаю: считать ли конфигурирование ПЛИС программированием. Обычно говорят что да, но алгоритма-то там нет, есть именно что конфигурация кучи ячеек, которые потом работают параллельно. Как и многие графические языки вроде Labview. Но если исходить из предназначения, "решить произвольную задачу", то да, программирование.

Не знаю. По крайней мере ваш шелл попытался распознать это как программу и не преуспел

Не, то что я там написал это программа и программирование? Ну то есть написать "sss" это оно или не оно?


Последовательность это не в смысле "строго один за другим", если что. Важна возможность ее задать и способность интерпретатора выполнить. Будете ли вы ей пользоваться это уже ваше дело.

Ну так в реестре это есть. Там записи идут одна за другой.


Интересный вопрос, ответа на который я не знаю: считать ли конфигурирование ПЛИС программированием

Причём здесь ПЛИС? Я в куче ЯП могу запускать параллельные и/или асинхронные вещи.


Так задавать последовательность обязательно или нет?.. Запись в реестре это программирование или нет?

Ну так в реестре это есть. Там записи идут одна за другой.

Сколько я помню реестр, это база данных. То, что в каком-то просмотровщике данные идут одно за другим, ничего не значит. Позволяет ли он задавать именно последовательность или хотя бы взаимосвязи команд?


Причём здесь ПЛИС? Я в куче ЯП могу запускать параллельные и/или асинхронные вещи.

Ну не хотите ПЛИС, я ведь и Labview предложил. А в более общем случае — функциональные языки. В общем, если есть возможность написать более-менее любой алгоритм, и работа идет именно через этот механизм — это программирование.


Так задавать последовательность обязательно или нет?.. Запись в реестре это программирование или нет?

см. выше: я не знаю как там в реестре устроено.

Позволяет ли он задавать именно последовательность или хотя бы взаимосвязи команд?

А почему это внезапно стало важно?

В общем, если есть возможность написать более-менее любой алгоритм, и работа идет именно через этот механизм — это программирование.

То есть последовательность задавать не обязательно?

см. выше: я не знаю как там в реестре устроено

А как это должно быть устроено чтобы это было программированием?

А почему это внезапно стало важно?

Ну мы же о программировании говорим, нет? Обычное программирование это выстраивание команд друг за другом в ориентированный граф (последовательность, но с условиями и циклами). Менее обычное вроде тех же ПЛИС или Labview — в описании взаимодействий между постоянно работающими блоками.


То есть последовательность задавать не обязательно?

Последовательность, как оказалось, это слишком узкий термин. Правильнее, наверное, алгоритм взаимодействия.


А как это должно быть устроено чтобы это было программированием?

Так я ж уже приводил примеры. Можно описать именно последовательность как в autoexec.bat. В порядке фантазии — можно прописать какие выходы одних программ соединены с какими входами других. Или, скажем, привязка к общим событиям.

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

Кто это сказал? То есть где написано что это обязательное условие? Особенно учитывая что наличие параллельно/асинхронно выполняемых процессов в это не вписывается.


Правильнее, наверное, алгоритм взаимодействия.

Что такое "алгоритм воздействия"? Почему в скриптах он есть, а в реестре нет?


Так я ж уже приводил примеры

Не-не. Что надо поменять в реестре чтобы это стало программированием? Ну вот скажем в реестре есть несколько списков для запуска программ при старте. Сначала запускаются программы из списка 0, потом из списка 1, потом из списка 2 и так далее. Теперь это программирование?

Кто это сказал? То есть где написано что это обязательное условие? Особенно учитывая что наличие параллельно/асинхронно выполняемых процессов в это не вписывается.

А вы с какой целью вырвали половину цитаты и проигнорировали вторую, в которой и содержится ответ на ваш вопрос? Нехорошо так вести дискуссию.


Что такое "алгоритм воздействия"? Почему в скриптах он есть, а в реестре нет?

Это вы мне скажите, есть он в реестре или нет. Мне-то откуда знать?


Не-не. Что надо поменять в реестре чтобы это стало программированием?

Еще раз: я реестром не пользуюсь, если вам что-то в нем надо сделать, помочь я вам не смогу.

Еще раз: я реестром не пользуюсь, если вам что-то в нем надо сделать, помочь я вам не смогу.

Ну пусть будет не реестр а просто база данных с такой функциональностью. Это программирование?

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


Если ваша система позволяет реализовать условно-любой алгоритм, работа с ней будет программированием.

Какая еще база данных для запуска программ?

Простая. Вы туда что-то записываете. Потом при старте ОС оттуда читается и запускаются внесённые в базу программы. Такой вариант это программирование.


Если ваша система позволяет реализовать условно-любой алгоритм, работа с ней будет программированием.

Что значит "условно любой алгоритм"? И что если в каком то языке программирования нельзя реализовать "условно любой алгоритм", а скажем только какое-то подмножество алгоритмов, то он уже не язык программирования?

Простая. Вы туда что-то записываете.

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


Что значит "условно любой алгоритм"? И что если в каком то языке программирования нельзя реализовать "условно любой алгоритм", а скажем только какое-то подмножество алгоритмов, то он уже не язык программирования?

Хватит уже троллить, вы все прекрасно поняли.

Повторяю вопрос: какое отношение ваша вымышленная база данных имеет к консоли?

Она имеет отношение к вашему определению этого самого программирования. Которые вы так и не озвучили.


Хватит уже троллить, вы все прекрасно поняли.

Наоборот. Я уже запутался и вообще не могу понять что вы считаете программированием, а что нет.


Я понимаю только что именно работу в консоли вы программированием почему-то считаете. Вот и пытаюсь выяснить почему.

Я понимаю только что именно работу в консоли вы программированием почему-то считаете. Вот и пытаюсь выяснить почему.

Потому что ничего другого она не понимает, по крайней мере современная. Куда интереснее почему вы это отрицаете.


В чем по-вашему разница между вводом программы в IDE с последующим выполнением, и вводом программы в командную строку с последующим выполнением?

Потому что ничего другого она не понимает, по крайней мере современная.

От того что вы это считаете программированием оно автоматически не становится.

В чем по-вашему разница

В чём разница с записью чего-то в базу данных/реестр и последующихм выполнением?
С копированием файлов в различные папки и запуском всего что лежит в папках?

На мой взгляд разница например в том что в одном случае мы имеем именно саму программу, асв других нет.

И примеры это конечно здорово, но на одних примерах далеко не уедешь. У вас хоть какое-то формальное определение есть? Можете его озвучить?

От того что вы это считаете программированием оно автоматически не становится.

А от того, что вы это отрицаете, работа в командной строке программированием быть не перестает.


В чём разница с записью чего-то в базу данных/реестр и последующихм выполнением?

Опять вы от темы уходите. Мы не реестр обсуждаем и не базы данных. Ну либо сформулируйте какое они имеют отношение к теме.


У вас хоть какое-то формальное определение есть? Можете его озвучить?

Нет. Всегда появляются исключения.


А у вас есть?

Мы не реестр обсуждаем и не базы данных. Ну либо сформулируйте какое они имеют отношение к теме.

Мы обсуждаем программирование. Это по вашему программирование или нет?

А у вас есть?

Да. Ссылку на Википедию я уже приводил.

Мы обсуждаем программирование. Это по вашему программирование или нет?

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


Да. Ссылку на Википедию я уже приводил.

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

Мы обсуждаем консоль.

Которая на мой взгляд программированием не является, а на ваш является. Поэтому сначала надо придти к общему пониманию термина программирование.


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

Программирование это создание программ. При выполнение отдельных команд в консоли программы не создаются.


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


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


Поэтому вопрос: вы это тоже считаете программированием? Если нет, то чему из приведенного в Википедии это не соответствует? Или может вы можете дать какое-то другое определение?

При выполнение отдельных команд в консоли программы не создаются.

Как же это не создаются. Или для вас и написание bat-файла или шелл-скрипта это не программирование? А ведь работа в командной строке это оно и есть. Разве что код не в файле хранится, а в памяти.


копирование файлов в папку из описанных мною выше примеров тоже создание программирование.

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

Или для вас и написание bat-файла или шелл-скрипта это не программирование?

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


Разве что код не в файле хранится, а в памяти.

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


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

По моему нет. Точно так же как и выполнение команд в консоли.


Вопрос в том считаете ли вы это всё программированием и если нет, то где, как и почему вы проводите разделение. И хотелось бы увидеть определение программирование под которое попадает такое разделение.

Ну так написанный bat-файл или шелл-скрипт это программа, но их можно писать где угодно

Ну наконец-то вы это признали! Именно что где угодно, в том числе прямо в командной строке.


А вот конкретно выполнение чего-го в командой строке само по себе не программирование.

Ну разумеется, выполнение кода и его создание это разные вещи.


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

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


Вопрос в том считаете ли вы это всё программированием и если нет, то где, как и почему вы проводите разделение.

"все это" это что? Написание программ (в IDE, в блокноте, в командной строке) это программирование. Мы объясняем компьютеру алгоритм достижения нужного результата. Где у вас в реестре или базе данных алгоритм?


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

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

Именно что где угодно, в том числе прямо в командной строке.

Или в мозгу или на листке бумаги или в реестре или в базе данных или в виде файлов и папок. Где вы проводите границу и почему именно там?


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

Ну так я хочу понять почему вы это не считаете программированием. Это не соответствует определнию из Википедии? В каком конкретно месте?


Это не соответствует какому-то другому определению программирования? Какому именно?


"все это" это что?

Озвученные мною выше примеры с реестром/базой данный и файлами/папками. Это программирование или нет?


Правда, вы на него умудрились копирование файлов натянуть. И не делитесь травой, которая вас к этому привела.

Точно так же как вы умудрились на него натянуть выполнение команд в консоли.

Или в мозгу или на листке бумаги или в реестре или в базе данных или в виде файлов и папок. Где вы проводите границу и почему именно там?

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


Ну так я хочу понять почему вы это не считаете программированием.

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


Точно так же как вы умудрились на него натянуть выполнение команд в консоли.

Вы так и не придумали как это опровергнуть.

О, уже дошли до того, что важно не где пишут, а что пишут.

Нет, не дошли.


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

Тогда просто озвучьте ваше определение программирования.


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

А зачем им уметь код выполнять? Если вы код в IDE или там блокноте пишете они его тоже выполнять не умеют.


Вы так и не придумали как это опровергнуть.

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

Нет, не дошли.

Значит, все еще печальнее...


Тогда просто озвучьте ваше определение программирования.

Так чем вас не устраивает ваше же из википедии?


А зачем им уметь код выполнять? Если вы код в IDE или там блокноте пишете они его тоже выполнять не умеют.

А, так вы в реестре и базе данных код для Питона пишете. Месье знает толк...


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

Так расшифровка-то этого псевдо-логического умозаключения будет или нет? Как у вас копирование файлов на программирование натягивается?

Так чем вас не устраивает ваше же из википедии?

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


А, так вы в реестре и базе данных код для Питона пишете.

Откуда вы это взяли?


Так расшифровка-то этого псевдо-логического умозаключения будет или нет?

Так ответ на мой вопрос будет или нет?


Как у вас копирование файлов на программирование натягивается?

Ну вот я скопировал файлы по папкам. Потом запускаю "интерпретер", он сортирует файлы и папки и потом начинает запускать файлы в том порядке как они отсортированы. Это программирование?

Тем что без натягивания совы на глобус выполнение команд в консоли под него не попадает.

А написание в блокноте с последующим запуском? Вы ж сами говорили, что запуск скрипта на исполнение программированием не является.


Откуда вы это взяли?

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


Так ответ на мой вопрос будет или нет?

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


Ну вот я скопировал файлы по папкам. Потом запускаю "интерпретер", он сортирует файлы и папки и потом начинает запускать файлы в том порядке как они отсортированы. Это программирование?

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

А написание в блокноте с последующим запуском?

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


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

И где там хоть слово про питон? Я вам выше уже несколько раз описал примеры о которых идёт речь.


Пока я не узнаю что вас заставляет относить реестр к программированию, мне опровергать нечего.

Записал в реестр пути к программам. При старте ОС считала их оттуда и эти программы запустила. Это программирование?


Да, вполне возможно.

То есть когда кто-то копирует файлы или ярлыки в папку "автозапуск" у винды, то он программирует?

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

Хорошо. А если вы написали скрипт из единственной команды?


И где там хоть слово про питон? Я вам выше уже несколько раз описал примеры о которых идёт речь.

Да на здоровье, пусть не Питон, а Си, или Java, да хоть Брейнфак. Вы же код собрались в базе данных писать, а сама она его выполнить не сможет.


Записал в реестр пути к программам. При старте ОС считала их оттуда и эти программы запустила. Это программирование?

Там можно задать условие, цикл, рекурсию или еще какую-то зависимость от данных?

Хорошо. А если вы написали скрипт из единственной команды?

Мы всё ещё имеем написанную программу.


Вы же код собрались в базе данных писать, а сама она его выполнить не сможет.

И что? Я вон пишу код в текстовые файлы и храню их на диске. И ни мой редактор кода, ни моя ОС сами по себе их тоже выполнять не могут.


Там можно задать условие, цикл, рекурсию или еще какую-то зависимость от данных?

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

Мы всё ещё имеем написанную программу.

А собственно все. Нет никакой разницы сохраните вы этот код на жесткий диск или в историю команд. Это код.


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

Зачем вы пытаетесь вывернуть все с ног на голову. Безразлично как устроена конкретная программа. Безразлично где она хранится и хранится ли вообще. Важно только что она описывает алгоритм и предназначена для выполнения.


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


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

Нет никакой разницы сохраните вы этот код на жесткий диск или в историю команд. Это код.

Ну для вас нет. Для меня есть. Потому что если разницы нет, то и реестр со списком путей у нас вдруг программа и папки с файлами.


Зачем вы пытаетесь вывернуть все с ног на голову.

Зачем вы добавляете какие-то странные условия под которые даже обычные программы перестают попадать?


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

Тогда реестр винды это программа. И папка "автостарт" это программа.


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

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

Ну для вас нет. Для меня есть.

Для вас есть разница на каком носителе записана программа?! Типа как если на жестком диске, то программа, а на оптическом уже не тру?


Потому что если разницы нет, то и реестр со списком путей у нас вдруг программа и папки с файлами.

Пошли на очередной круг. Покажите как в реестре посчитать 2+2.


Зачем вы добавляете какие-то странные условия под которые даже обычные программы перестают попадать?

Это какие? Сколько помню, это только вы добавляете какие-то странные условия вроде того чтобы программа была обязательно сохранена на ПЗУ.


Тогда реестр винды это программа. И папка "автостарт" это программа.

Ну если у вас такие странные определения, что ж тут поделаешь...


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

Что значит не предназначена?! Она только для этого предназначена.

Для вас есть разница на каком носителе записана программа?

Так на каком носителе она записана в консоли?


Пошли на очередной круг. Покажите как в реестре посчитать 2+2.

Почему это должно являться необходимым условием для того чтобы что-то считалось программой?


Кроме того далеко не каждая консоль поддерживает математику "из коробки".


Это какие?

Какой-то порядок исполнения должен обязательно быть. Циклы. Возможность "посчитать 2+2". И так далее и тому подобное.


Ну если у вас такие странные определения, что ж тут поделаешь...

Ну так вы с этим согласны? Если нет, то каким определением вы пользуетесь?


Что значит не предназначена?! Она только для этого предназначена.

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

Так на каком носителе она записана в консоли?

В оперативке, очевидно. Пока вы не нажали энтер, программа ведь где-то хранится.


Почему это должно являться необходимым условием для того чтобы что-то считалось программой?

Да что ж вы только критикуете-то не по существу. Ну не нравится мой пример, так свой приведите.


Ну если у вас такие странные определения, что ж тут поделаешь…

Ну так вы с этим согласны?

С тем, что у вас странные определения, которые то ничего не определяют, то определяют не то, что надо? Так это с самого начала было очевидно.


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

Еще одно прекрасное определение, ну да ладно.




В очередной раз спрашиваю: почему, как вы думаете, интерпретатор командной строки называется именно интерпретатором?

В оперативке, очевидно

С каких пор оперативка стала носителем?

Да что ж вы только критикуете-то не по существу

Вполне себе по существу. У вас ваши требования постоянно меняются и похоже берутся просто с потолка.

Ну не нравится мой пример, так свой приведите.

Ну так я привёл. Даже несколько.

В очередной раз спрашиваю: почему, как вы думаете, интерпретатор командной строки называется именно интерпретатором?

Потому что он интерпретирует ввод? Но далеко не любая интерпретация означает что интерпретируется именно программа.

С каких пор оперативка стала носителем?

С тех самых, как в ней стало возможно хранить произвольную информацию. То есть всегда.


Вполне себе по существу. У вас ваши требования постоянно меняются и похоже берутся просто с потолка.

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


Ну так я привёл. Даже несколько.

Где?! Где вы привели хоть один пример алгоритма, реализуемого на реестре или базе данных? Ну кроме поочередного запуска фиксированного списка программ.


Потому что он интерпретирует ввод?

Что еще за "интерпретация ввода"? Парсинг что ли? Так нет, парсинг это лишь малая часть.


Ладно, подскажу: что такое интерпретатор вообще и чем он отличается от компилятора?


И подскажу с другой стороны: отличается ли синтаксис программ, вводимых в командную строку из скрипта и интерактивно?

С тех самых, как в ней стало возможно хранить произвольную информацию

Я смотрю у вас ещё и какое-то своё собственное определение носителей...

. Не я пытался притянуть за уши реестр и базы данных.

Реестр и базы данных это не требования, а примеры. Требования это ваше "надо чтобы можно было считать 2+2"....

Где вы привели хоть один пример алгоритма, реализуемого на реестре или базе данных? Ну кроме поочередного запуска фиксированного списка программ.

А чем это не алгоритм? Простой, но всё ещё алгоритм.

Что еще за "интерпретация ввода"?

Самая обычная.

Ладно, подскажу: что такое интерпретатор вообще и чем он отличается от компилятора?

Вы сначала определитесь что такое интерпретатор и какие они вообще бывают. Интерпретаторы существуют не только в контексте программ и программирования.

Я смотрю у вас ещё и какое-то своё собственное определение носителей...

Да нет, похоже, это у вас...


Реестр и базы данных это не требования, а примеры. Требования это ваше "надо чтобы можно было считать 2+2"....

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


А чем это не алгоритм? Простой, но всё ещё алгоритм.

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


Самая обычная.

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


Вы сначала определитесь что такое интерпретатор и какие они вообще бывают.

Этот наводящий вопрос я вам задал, не надо пытаться его вернуть.

Да нет, похоже, это у вас...

С Википедии :

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

А какое у вас определение?

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

Так привёл же.

Тем, что не универсальный, очевидно.

Мне не очевидно. Алгоритм и есть.

Этот наводящий вопрос я вам задал, не надо пытаться его вернуть.

Я без понятия зачем вы его задали и что этим хотели сказать. Но использование слова "interpreter" не означает автоматом что речь идёт о программированнии.

То есть примеров вы привести так и не можете, только отмазки…

Так привёл же.

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


Мне не очевидно. Алгоритм и есть.

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


Я без понятия зачем вы его задали и что этим хотели сказать. Но использование слова "interpreter" не означает автоматом что речь идёт о программированнии.

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

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

Примеров чего?


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

А почему нет?


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

Я вообще ничего не начинаю подозревать. Вы свой тезис сформулируйте сначала.

Примеров чего?

То есть вы даже не знаете, какие примеры "привели". Великолепно!


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


А почему нет?

Я уже говорил, что у вас странные определения. По ним выходит, что все — программирование.


Я вообще ничего не начинаю подозревать. Вы свой тезис сформулируйте сначала.

Хорошо, дам сразу правильный ответ. Интерпретатор командной строки потому и интерпретатор, что интерпретирует скриптовый язык, для каждой консоли свой. А поскольку этот язык изначально создавался для гибкой работы со сторонними программами, то и интерактивный режим там реализован ровно так же — вводом программы. Обратите внимание, что процесс программирования в консоли ничем не отличается от программирования в какой-нибудь IDE: сначала код вводится, редактируется, просматривается, и только потом запускается на исполнение.


Разумеется, есть текстовые интерфейсы, устроенные по другим принципам. В первую очередь примитивные диалоговые в некоторых программах. Вроде "введите то, введите это, нажмите 1 чтобы выйти". Сюда же взаимодействие с некоторыми железяками, которые понимают только отдельные команды, но не код. Бывают TUI вроде mc, nv, vc — даже при наличии там системной консоли сами эти среды заточены под ручное управление, а не под написание скриптов.


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


А вот GUI программированием не является, там именно что ручной вызов отдельных действий. Именно поэтому для автоматизации действий в GUI приходится изобретать сторонние программы — кликеры, виртуальные графические серверы и т.д.

То есть вы даже не знаете, какие примеры "привели". Великолепно!

Какие я привёл я знаю. Я не понимаю какие вы ещё хотите и чем вас мои не устраивают.

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

Не вижу почему я должен приводить что-то "чуть сложнее ". Примеры есть и они являются программированием в вашем понимании. Ну или дайте наконец-то ваше определение.

Я уже говорил, что у вас странные определения. По ним выходит, что все — программирование.

Так это не у меня, это у вас. По моему мнению всё это не программирование. Как реестр, так и ввод команд в консоли.

Хорошо, дам сразу правильный ответ.

Очень много букв и интересное мнение. Но не более того. И я с ним просто не согласен. И похоже не только я.

Но я с удовольствием поменяю свою точку зрения если вы сможете привести ваше личное адекватное определение этого самого "программирования". И тогда мы его обсудим и посмотрим.

Не вижу почему я должен приводить что-то "чуть сложнее ".

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


Очень много букв и интересное мнение. Но не более того. И я с ним просто не согласен. И похоже не только я.

Но обосновать не можете.


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


Но я с удовольствием поменяю свою точку зрения если вы сможете привести ваше личное адекватное определение этого самого "программирования".

Кого вы пытаетесь обмануть? Вам мое определение нужно не для того, чтобы его использовать, а чтобы к нему цепляться, искать исключения, придумывать бредовые примеры, не относящиеся к делу. Для срача, а не для дискуссии.

Ну вот сами видите, что ни для чего кроме одной конкретной задачи ваша система не годится.

И что? От этого это не перестаёт быть программированием.


Но обосновать не можете.

Я этим как раз и занимаюсь ту всё время.


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

А с этим я и не спорю. И я уже выше писал что ни то, ни другое программированием не является :)


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

Ну так вы дайте нормальное определение которое сразу всё поставит на свои места. И всё. В чём проблема? Может быть в том что у вас вообще никакого нет?

И что? От этого это не перестаёт быть программированием.

А с этим я и не спорю. И я уже выше писал что ни то, ни другое программированием не является :)

То у вас программирование (написание кода на Питоне) программированием не является, то не-программирование (запуск фиксирвоанного списка программ) является. Причем одновременно. И после этого вы будете что-то там вещать про определения?


Я этим как раз и занимаюсь ту всё время.

Ну хватит врать-то! Все время вы пытаетесь подловить меня на неточности формулировок, а вовсе не сравнить процессы программирования, работы в консоли и GUI.


Ну так вы дайте нормальное определение которое сразу всё поставит на свои места.

Так оно вас тоже не устроит и вы снова кинетесь натягивать сову на глобус лишь бы с ним не соглашаться. Раз уж вы редактирование реестра в программирование записали.




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

То у вас программирование (написание кода на Питоне) программированием не является

Выполнение команд питона в консоли у меня программированием не является.


то не-программирование (запуск фиксирвоанного списка программ) является.

И это у меня программированием не является.


Причем одновременно.

Нет. Либо и то и другое программирование, либо ни то ни другое не программирование. Я выбрал для себя второй вариант. А вы?


Формальная запись алгоритма для решения машиной произвольной задачи.

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

Выполнение команд питона в консоли у меня программированием не является.

Ну а у нормальных людей программирование на Питоне программированием является.


И это у меня программированием не является.

А кто тут врал будто редактирование реестра это программирование?


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

Докажите.

Ну а у нормальных людей программирование на Питоне программированием является.

Программирование на Питоне является программированием. Выполнение отдельных команд в консоли нет.


Докажите

Посчитайте мне пожалуйста в консоли число Пи.

Программирование на Питоне является программированием. Выполнение отдельных команд в консоли нет.

Так в чем разница-то?


Посчитайте мне пожалуйста в консоли число Пи.

Вас в гугле забанили? Первая же ссылка выдает https://stackoverflow.com/questions/23524661/how-can-i-calculate-pi-using-bash-command


$ { echo -n "scale=50;"; seq 1 2 100 | xargs -n1 -I{} echo '(16*(1/5)^{}/{}-4*(1/239)^{}/{})';} | paste -sd-+ | bc -l

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

Так в чем разница-то?

С носителями вы уже разобрались? Или по новому кругу пойдём?

Вас в гугле забанили? Первая же ссылка выдает

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

П.С. И я надеюсь вы понимаете что я условно говоря могу через реестр выполнить ровно ту же самую команду? Или не понимаете?

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

1, in pi-based numeral system.
Достаточно точно?

Вау. Ну прямо шах и мат. Ну хорошо, плохой пример, признаюсь. Надо поискать другой....

Во, придумал: можете посчитать Пи в десятичной системе? :)

Какой был запрос — такой и ответ.


Во, придумал: можете посчитать Пи в десятичной системе? :)

Аренда нужного количества вычислительных мощностей — за ваш счет, или уже не надо? :)

И какое количество вычислительных мощностей надо чтобы точно посчитать число Пи в десятичной системе? :)

Ровно столько же, сколько и для e.

С носителями вы уже разобрались? Или по новому кругу пойдём?

О, пошли съезды с темы.


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

И придирки не по существу.




Хорош дурака валять, клоун. Я только что доказал, что в консоли твоя задача прекрасно решается. Ты же решения на своем инструменте даже для 2+2 представить не смог.

О, пошли съезды с темы

Я вам уже давал ответ на этот вопрос. Но вы почему-то решили что RAM это носитель. А это не так.

И придирки не по существу

Ещё как по существу. Как там было про любой произвольный алгоритм?

Я только что доказал, что в консоли твоя задача прекрасно решается.

Нет, моя задача там не решается. Моя задача была посчитать число Пи, а не какое-то к нему приближение.

Более того я вам уже объяснил почему она точно так же "решается" через реестр.

Я вам уже давал ответ на этот вопрос. Но вы почему-то решили что RAM это носитель. А это не так.

Я же говорю, придирки не по существу и съезды с темы. Вообще безразлично является ли оперативка носителем или нет. Безразлично записана ли программа на жестком диске, в памяти, на перфоленте или в голове программиста.


Нет, моя задача там не решается. Моя задача была посчитать число Пи, а не какое-то к нему приближение.

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


Более того я вам уже объяснил почему она точно так же "решается" через реестр.

Ты не юли, а решение демонстрируй. Ляпнуть "точно так же решается" любой дурак может хоть про лопату.

Безразлично записана ли программа на жестком диске, в памяти, на перфоленте или в голове программиста.

Для вас может быть безразлично. Для меня нет.

Ну давай, продемонстрируй "вычисление числа Пи, а не какое-то к нему приближение" на том же Питоне, или на Си, или на любом другом языке программирования

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

Ляпнуть "точно так же решается" любой дурак может хоть про лопату.

Ну вот смотрите:я беру пруитированную вами команду и записываю в реестр в раздел автозапуска при старте её выполнение. И она выполняется. Профит.

Для вас может быть безразлично. Для меня нет.

Хорошо, давай свое определение. Только не такое бредовое как у тебя обычно получается.


Даже и не собираюсь.

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


Ну вот смотрите: я беру пруитированную вами команду и записываю в реестр в раздел автозапуска при старте её выполнение.

И ничего не происходит. Fail. Потому что надо не чушь нести, а сначала попробовать.




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


$ for i in `find . -iname "*.a" -or -iname "*.dll"` ; do i686-w64-mingw32-nm $i 2>/dev/null | grep "glGetString" > /dev/null 2>/dev/null && echo $i ; done

Рискнешь воспроизвести в реестре?

Хорошо, давай свое определение

Я его уже неоднократно приводил. Если вас что-то не устраивает, то пишите что конкретно и почему конкретно.

вместо нормального обсуждения будут попытки придраться к определению.

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

И ничего не происходит

Всё нормально происходит. Я могу там запустить любую команду для консоли. Более того я регулярно это делаю.

В самом крайнейм случае её нужно будет завернуть в батник.

Я его уже неоднократно приводил. Если вас что-то не устраивает, то пишите что конкретно и почему конкретно.

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


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

Ну вот, очередное подтверждение.


Всё нормально происходит. Я могу там запустить любую команду для консоли. Более того я регулярно это делаю.

В самом крайнейм случае её нужно будет завернуть в батник.

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

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

И это не так. Во первых использование консоли в Питоне программированием действительно не является.

Во вторых согласно моему определению реестр тоже не является программированием.

Ну вот, очередное подтверждение

А как вы хотели? Написать первый попавшийся бред и потом утверждать "ну я же говорил"? Вы хоть немного постарайтесь адекватное описание дать.

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

Я не буду использовать консоль. Даже близко не буду ею пользоваться. Я буду использовать "механизмы" и программы, которые консоль тоже использует. Но не саму консоль.

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

Именно это я и сказал: по вашему определению программирование программированием не является. Следовательно, определение в помойку.


Я могу там запустить любую команду для консоли

Я не буду использовать консоль.

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

Именно это я и сказал:

Нет. Работа в консоли это не программирование.

Нет уж, зелененький, стандартным интерпретатором команд консоли является консоль и только она.

Во первых не обязательно. Сама по себе консоль это только интерфейс.

А во вторых кто сказал что обязательно нужно использовать стандартный интерпретатор?

Нет. Работа в консоли это не программирование.

Написание кода это программирование. Неважно где, на бумажке, на стене, в файле или в консоли.


Во первых не обязательно. Сама по себе консоль это только интерфейс.

Чушь! Интерфейс это только часть консоли.


А во вторых кто сказал что обязательно нужно использовать стандартный интерпретатор?

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

Написание кода это программирование. Неважно где, на бумажке, на стене, в файле или в консоли.

Это ваш тезис и вам его надо доказать. Пока не получается.

Интерфейс это только часть консоли.

И никто не запрещает использовать оставшиеся части без него. То есть консоль как таковая не нужна.

Да чего уж мелочиться, пиши сразу на ассемблер

Зачем? Мне достаточно просто не использовать саму консоль и всё.

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

И никто не запрещает использовать оставшиеся части без него. То есть консоль как таковая не нужна.

А это как? Будем в хекс-редакторе выкусывать из консоли интерфейс? Ну удачи, не забудь потом похвастаться тем, что получилось.


Мне достаточно просто не использовать саму консоль и всё

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

А это как?

Например взяв нужную библиотеку.

Да я уже заметил, что консоли ты боишься и не понимаеш

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

Нет. Работа в консоли это не программирование.

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


А во вторых кто сказал что обязательно нужно использовать стандартный интерпретатор?

А какая разница? Ну будет программирование для другого интерпретатора, все равно ж не для реестра.

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

Ну так и определитесь просто. Если это программирование, то и реестр программирование. И файлы в папках. И ещё куча других вещей.

Ну будет программирование для другого интерпретатора, все равно ж не для реестра.

Ну так что и как запускается я всё ещё программирую именно в реестре. Без всякой консоли.

Ну так и определитесь просто. Если это программирование, то и реестр программирование. И файлы в папках. И ещё куча других вещей.

Вот сам же видишь к чему приводят твои "определения".

С определением всё в порядке. И если не начинать натягивать сову на глобус, то ничего из этого программированием не является. О чём я вам с самого начала и твержу.

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


И вас тут таких — легион.

От вас мы определения программирование тоже пока ещё не дождались...

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


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

А зачем мне вас то оправдывать?

О, снова в несознанку ушел.

С определением всё в порядке.

Да кто бы сомневался, что у тролля "с определением все в порядке". Что программирование он считает не-программированием, что не-программирование — программированием, его не смущает. Цель ведь не до истины докопаться.

Ну так если вас определение не устраивает, то не проблема. Дайте лучше.

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

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

Потому что любой алгоритм там не реализовать.

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

Это когда ты заведомо вышел за пределы возможностей любого реального компьютера?

Ну так а зачем вы даёте определение, которое 100% не применимо к любому реальному компьютеру?

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

Ну если вы это знаете, то зачем тогда дали такое определение?

Ну так а зачем вы даёте определение, которое 100% не применимо к любому реальному компьютеру?

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

Потому что по умолчанию рассчитываю на беседу с разумным собеседником

И поэтому ведёте себя глупо?

Расчёт числа Пи это просто пример, который лежит на поверхности и применим ко всем ЯП.

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

Я привел максимально простое и наглядное определение. По смыслу оно соответствует вычислительной полноте, или полноте по Тьюрингу. Тебе совсем-совсем не знакомо такое понятие или ты опять пытаешься увести тему в сторону срача?

Я привел максимально простое и наглядное определение.

Но не рабочее.


По смыслу оно соответствует вычислительной полноте, или полноте по Тьюрингу.

То есть работа только с натуральными числами?


Кроме того как быть с ЯП, которые не тьюринг-полные?


Да по твоим "определениям" работа в консоли хоть коровой может быть. В реальности же это именно программирование, как бы тебе не хотелось обратного.

А вот это уже действительно становится интересно. Что же это вас так задевает за живое? Что такого страшного в том что работа в консоли это не программирование?

Но не рабочее.

Рабочее.


То есть работа только с натуральными числами?

Откуда взялось такое дурацкое ограничение?


Кроме того как быть с ЯП, которые не тьюринг-полные?

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


Что такого страшного в том что работа в консоли это не программирование?

"что такого страшного, что корова это программирование"? Да ничего в общем-то, просто оба эти утверждения заведомо ложны.

Рабочее.

Ну где же оно рабочее если отсекает кучу вещей, которые точно являются программированием.


Откуда взялось такое дурацкое ограничение?

"Полнота по Тьюрингу — характеристика исполнителя (множества вычисляющих элементов) в теории вычислимости, означающая возможность реализовать на нём любую вычислимую функцию, а также воссоздание себя самого"


"Вычисли́мые фу́нкции — множество функций то есть отображения множества натуральных чисел во множество натуральных чисел"


Более того тьюринг-полнота возможна только для конечных множеств.


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

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


"что такого страшного, что корова это программирование"

Без понятия. Разве что плодятся какие-то путаницы в определениях.


Да ничего в общем-то, просто оба эти утверждения заведомо ложны.

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

Ну где же оно рабочее если отсекает кучу вещей, которые точно являются программированием.

А вот это уже интересно. Какие же вещи оно отсекает?


Так а зачем мне это делать то?

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


Определение не работает.

Работает.


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

Ну так доказывай.

А вот это уже интересно. Какие же вещи оно отсекает?

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


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

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


Ну так доказывай.

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

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

Тьфу! Я-то надеялся что-то конструктивное услышать, а это всего лишь очередные придирки.


Абсолютно верно. Не могу. И вы это тоже понимаете. И именно поэтому ваше определение плохое.

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


Вы всё ещё следите за дискуссией? Вы заявляете что эти утверждения ложные.

Как удобно: высказать чушь, и пусть собеседник опровергает. Нет уж, зелененький, раз ты утверждаешь, что программирование в консоли или там в Питоне программированием не является, тебе и доказывать. Свои доказательства я привел, ты их опровергнуть не смог (потому и пытаешься все время увести разговор в сторону идеального определения программирования).

Тьфу! Я-то надеялся что-то конструктивное услышать, а это всего лишь очередные придирки

Ну если для вас это недостаточно конструктивно, то что вы тогда ожидали?


Но ничего лучше ты предложить не в состоянии.

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


Как удобно: высказать чушь, и пусть собеседник опровергает.

Ну так вы себя именно так и ведёте.


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

Ага. "Докажи что бога нет" (с). Самому не смешно?

Ну если для вас это недостаточно конструктивно, то что вы тогда ожидали?

Действительно, от тебя конструктива уже давно ожидать не приходится.


Почему же. В состоянии. Я уже дал определение, которое однозначно лучше вашего.

Сколько раз уже это проходили, два? Три? Согласно определению из Википедии консоль остается средой программирования.


Ага. "Докажи что бога нет" (с). Самому не смешно?

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

Действительно, от тебя конструктива уже давно ожидать не приходится.

Так что вы ожидали то? Можете озвучить эти самые ваши ожидания? Или вы это просто так написали и даже сами не знали что хотели увидеть?


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

Меня устроит и отсутствие классификации. То есть когда работа в консоли является неизвестно чем.


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

Так что вы ожидали то?

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


Меня устроит и отсутствие классификации.

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


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

Уже неоднократно описано, продемонстрировано и доказано. Только тролли ведь не читают то, чего не хотят.

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

Так как должно было выглядеть "конструктивное обсуждение" в данном конкретном случае? Как должен был выглядеть ответ, который бы вас устроил? Такое вообще возможно?


Я продемонстрировал, что работа в консоли является программированием

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

Так как должно было выглядеть "конструктивное обсуждение" в данном конкретном случае?

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


Нет, не продемонстрировали.

Не путай. Это ты решил проигнорировать что определение, что доказательство.

Ищешь новую тему чтобы придраться

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

Это ты решил проигнорировать что определение, что доказательство.

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

Пока придираетесь только вы. Потому что только пишите что вас всё не устраивает

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

Отчего же.

То есть я всё правильно пишу если вас всё устраивает? Ну ок.

То есть я всё правильно пишу если вас всё устраивает? Ну ок.

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

То есть не устраивает? Тогда что конкретно? Вы бы уже определились что ли....

То есть не устраивает? Тогда что конкретно? Вы бы уже определились что ли....

Ты меня спрашиваешь чего не устраивает очередного тролля? Ну, наверное, его не устраивает отсутствие еды...

Ну да. Я вас спрашиваю что вас не устраивает. Но я рад что у нас хоть в чём-то мнение совпало :)

Ну да. Я вас спрашиваю что вас не устраивает

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

Работу в консоли он программированием не считает, зато копирование файлов — считает.

Где вы у меня такое увидели? Цитату можно?


У меня складывается впечатление что то ли вы сами тролль, то ли просто не в состоянии нормально понимать текст...

Где вы у меня такое увидели? Цитату можно?

Поиск в зубы и вперед. Мне перерывать тысячу сообщений лень.

То есть "сам придумал — сам обиделся"? И как после этого с вами нормально общаться?

То есть "сам придумал — сам обиделся"?

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

Ну так где я это сказал или точнее написал? Я не нахожу. Вы можете найти?

Ты хочешь заставить меня заниматься долгой и ненужной работой. Нет, мне это не интересно. Повторяю: если тебе надо, сам и ищи.

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

То есть в том числе и такой, которые точно рассчитает число Пи

Опять протечка демагогии…
Разложением π в ряды занимаются скоро полтысячелетия как, и ряды не слишком сложные.
http://mech.math.msu.su/~shvetz/54/inf/perl-examples/PerlExamples_Pi.xhtml


И реализовать их могли еще школьники с Б3-34.


Вот вычислить бесконечный ряд — нельзя в принципе.

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

Его уже написал Эйлер. И еще десятки других после него.


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


Ну, или, коль слабо, — можете просто перестать пороть чушь.
Но это как пап, что случится раньше: инопланетяне прилетят и всех спасут или наступит коммунизм? — конечно, инопланетяне; коммунизм это фантастика. Не сможете, в общем.

Как там у консоли с типами данных? Какое максимальное количество знаков после запятой она осилит?

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


Поскольку вы там выше страстно настаивали, что REPL не программирование, то каджит просто эхнет в iex.
Консоль? Консоль! А значит, возражения равносильны сведению к Гитлеру.

И тут Остапа понесло...

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


Ну что, хотите, все-таки, начать конструктивное общение, или вам просто делать нечего?
А то у нас с вами есть с полдюжины неотвеченых вопросов имеется…

Ну давайте начнём конструктивное общение если вы так хотите. Приведёте своё определение программирования чтобы было понятно что вы имеете ввиду под этим словом?

Все, что у каджита было сказать по поводу определений, он сказал давно уже, держите: https://habr.com/ru/articles/746064/#comment_25738216
Вы же предпочли съехать с вами же выбранной темы.


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


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


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

Все, что у каджита было сказать по поводу определений, он сказал давно уже, держите:

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


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

Где я это по вашему сделал?


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

А "конструктив" в вашем понимании это когда вы говорите людям что они должны делать и те беспрекословно подчиняются? :)

это когда вы говорите людям что они должны делать и те беспрекословно подчиняются?

Ну в детстве ж работало?

Я там не вижу вашего определения

Правильно. Чтобы можно было перейти на личности — нужно личное определение


или хотя бы определения с которым вы бы были полностью согласны

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


Где я это по вашему сделал?

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


А "конструктив" в вашем понимании это когда вы говорите людям что они должны делать и те беспрекословно подчиняются? :)

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

Правильно.

Тогда я подожду пока оно будет. Чтобы можно было вести конструктивное общение.

То есть, на вопросы к вам, появившиеся до вашей демонстративной неспособности к поиску в треде, вы не ответите.


ЧТД.

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

А "конструктив" в вашем понимании это когда вы говорите людям что они должны делать и те беспрекословно подчиняются? :)

© Kanut

Ага. То есть такой "конструктив" вам самому не нравится? Надо же, кто бы мог подумать… :)

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


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

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

Ну так я готов согласится что мои определения никуда не годятся. Сразу после того как вы приведёте лучшие определения. И тогда я готов начать пользоваться ими. А пока придётся пользоваться теми что есть. Даже несмотря на их неидеальность.

Как там у консоли с типами данных

у консоли все в порядке с типами данных. 40 цифр после запятой числа Пи я в консоли вывожу за 0.1 секунды

А пару десятков триллионов? :)

А пару десятков триллионов? :)

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

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

Неужели нельзя писать программы не имея железа на котором они будут выполняться?

(Вспоминает босоногое детство, когда именно так и делали, бо контуперов на всех на хватало.)

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

Писать — можно. Если хочется заниматься пустой тратой времени, можешь приступать.

Ну раз не можете написать то так прямо и скажите :)

Так согласно вам — это не программирование ;)

Откуда вы это взяли?

Вы таки не поверите, но с ваших же собственных слов.
Тех самых, согласно которым смена формы артефакта превращает программирование в сборку жигулей.

И какое отношение "если вы только выполняете одиночные команды, то нет, это не программирование." имеет к тому что для написания программы не обязательно иметь железо на котором программа будет выполняться? Можете объяснить как вы совершили этот логический переход?

О, вы, кажется, начили что-то понимать )
Или нет?

Ну да, с вами похоже всё понятно...

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


А вот скопировать демагога и получить от него удивление его же собственным же методам — еще наскучить не успело.

Ну так копируйте сам себя. Вообще здорово будет. Счастливо оставаться.

А пару десятков триллионов? :)

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

Насколько я знаю Пи уже посчитали до 60 триллионов знаков. На каком-то там железе от AMD.

Но это в общем-то не особо важно. Потому что круче там железо или нет не особо важно.

Мне тут дали определение что программироаание это только если можно написать любой произвольный алгоритм.

Насколько я знаю Пи уже посчитали до 60 триллионов знаков. На каком-то там железе от AMD.

А вы уверены, что его на каком-то там железе от АМД не считали именно в консоли?
Я вот не вижу никаких ограничений в том, чтобы это сделать не через шелл скрипт с bc

Встроенная "математика" в консоли поддерживает 60 триллионов знаков после запятой? Вы уверены?

"встроенная математика консоли" это что?
Если мы говорим про консольный CLI в Линуксе, то я не знаю какие лимиты могут быть у bc, возможно они упираются только в железо. Вывести результат в несколько триллионов знаков просто в консоль - никаких проблем. Просто время займет.

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

Ну пришлите такой пример. В чем-нибудь, где вы такое считали.

консольный bc ограничен архитектурой, а именно INT_MAX цифр после запятой и перед запятой.
делаем железо/ос с большим INT, получаем больший скейл.
То есть все упирается в архитектуру.
Либо можно в консольном (даже баше) написать процедуру, которая будет вычисляьт что-то на уровне символов (банальное сложение в столбик не используя память, а используя чтение символов из файла. И будем считать столько, сколько влезет на диск. Медленно, но будем.

Ну пришлите такой пример. В чем-нибудь, где вы такое считали.

Зачем мне его приводить? Тут вообще не идёт речь о том возможно ли такое где-то ещё. Речь идёт о том возможно ли такое в консоли при помощи "штатных" средств.

делаем железо/ос с большим INT, получаем больший скейл.

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

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

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

И мы опять упрёмся как минимум в ограниченный объём памяти, допустимый размер файла или ещё что-то в этом роде.

И мы опять упрёмся

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

Нет такой машины. И я никогда не утверждал что она существует или вообще возможна.

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

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

Давайте забудем что вы тут себе успели навыдумывать и начнём сначала.

Является ли по вашему возможность выполнения любого произвольного алгоритма и/или любых произвольных вычислений необходимым. условием для того чтобы что-то могло считаться программированием?

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

А это что-то с возможностью выполнения любого произвольного алгоритма и/или любых произвольных вычислений вообще связано?

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

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

Если коротко, то я попросил определение программирования.

На общий вопрос "определение программирования" будет нелепый общий ответ, которым вы попытаетесь злоупотребить.

Правильно будет "как определить что язык программирования полноценный" - для этого есть https://ru.wikipedia.org/wiki/Полнота_по_Тьюрингу

В этом плане баш - Тьюринг полный.

Знаете, мне просто лень описывать всю дискуссию заново и объяснять почему ваш комментарий мимо кассы. Если вам не лень тратить время, то можете прочитать всю дискуссию целиком сами.

На общий вопрос "определение программирования" будет нелепый общий ответ, которым вы попытаетесь злоупотребить.

Более того, именно это и произошло:


можете прочитать всю дискуссию целиком сами

Тогда реестр винды это программа.

Реестр винды — это база данных. В которой может храниться всё, что угодно — ВНЕЗАПНО, и программы тоже.

В данном конкретном контексте он именно что сам является программой. То есть набором инструкций.

Ну если начинать натягивать сову :)

Ну наконец-то вы это признали! Именно что где угодно, в том числе прямо в командной строке.

Знаете по вашей логике, тогда так - в блокноте тоже можно писать скрипт или бат файл.

Значит ли это, что все кто работают в блокноте - программисты?

Консоль это часть интерфейса, это оболочка. В ней можно писать программы, а можно просто пользоваться операционной системой.

Консоль это часть интерфейса, это оболочка. В ней можно писать программы, а можно просто пользоваться операционной системой.

<zanuda mode=on>ну если уж пошла такая пьянка, то консоль и оболочка, она же shell, две разные сущности. Консоль по сути - интерфейс доступа к оболочке</zanuda mode=off>

Значит ли это, что все кто работают в блокноте — программисты?

Если пишут в блокноте код — да. А по вашей логике получается, что код можно писать только в IDE, так что ли?

Если пишут в блокноте код — да.

Вот. А почему тогда вы утверждаете, что работа в консоли - это программирование? А не по аналогии, что работа в консоли - это программирование, только если вы пишете в консоли код? Ну т.е. в очень-очень редком случае, т.к. консоль для написания кода в 2023-м году совершенно неудобный инструмент, которому самый паршивый блокнот фору даёт.

А почему тогда вы утверждаете, что работа в консоли — это программирование? А не по аналогии, что работа в консоли — это программирование, только если вы пишете в консоли код?

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

Именно потому, что работа в консоли это написание кода

Эм... нет, вообще ни капли. Работа в консоли, это в первую очередь диалоговый режим управления компьютером, там нет ни строчки собственно кода. На 99.9% работа в консоли - это навигация по каталогам, запуск уже готовых программ/скриптов, ну и реже - файловый менеджмент.

запуск уже готовых программ/скриптов

Но кто-то же жрёт эти блины пишет эти скрипты?

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


В консоли я их запускаю, а не пишу.

Но оттого, что вы выбрали писать их где-то еще — писать их в консоли вам никто не запретил, заметьте.

На 99.9% работа в консоли — это навигация по каталогам

Ну-ка, ну-ка, каким же способом эта навигация осуществляется, уж не с помощью ли написания кода cd $(path) ?

уж не с помощью ли написания кода cd $(path)

Нет, с помощью непосредственного исполнения команды "сменить каталог".

Что-то не припомню в консоли ни самой такой команды, ни возможности вообще непосредственного исполнения без записи.

ни возможности вообще непосредственного исполнения без записи.

Введите cd $(path) и нажмите enter :) Произойдёт непосредственное исполнение в диалоговом режиме. Мы топчемся на одном месте вообще-то. Поймите простые вещи:

а) диалоговый режим - не программирование

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

Введите cd $(path)

Так, вы записали программу


и нажмите enter :) Произойдёт

… и выполнили ее


Произойдёт непосредственное исполнение в диалоговом режиме.

Какое же это непосредственное исполнение, если вам пришлось написать программу?


Если вы записали последовательность из одной команды и отправили на выполнение

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


Мне казалось, диалоговый режим это скорее "введите 1 чтобы то-то, введите имя, введите число". Но в системной консоли такого не встречается.

Так, вы записали программу

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

Мне казалось, диалоговый режим это скорее "введите 1 чтобы то-то, введите имя, введите число".

Неа. Диалоговый режим - просто непосредственное выполнение команд. Как на спектруме - PRINT "blah-blah" - диалоговый режим, 10 PRINT "blah-blah" RUN - программа

куда же я её записал?

Куда, куда...В RAM, конечно же!

На том же "Синклере" программы в RAM записывались — и никто не жужжал.

Куда, куда...В RAM, конечно же!

Ну так я и в автомобиле коды педалек в RAM записываю. И в чайнике, к гадалке не ходи, тоже режим "вкл" в RAM евонного контроллера пишу.

Ну так я и в автомобиле коды педалек в RAM записываю.

А потом нажимаете Enter и занимаетесь своими делами, пока автомобиль за Вас педальки нажимает?

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

(шёпотом) Перед нажатием Enter можно написать больше (сильно больше) одной команды — через точку с запятой или пайп. Только тссссссс!

(шёпотом) Перед нажатием Enter можно написать больше (сильно больше) одной команды — через точку с запятой или пайп. Только тссссссс!

(молча показывает пальцем на текущую ветку комментариев, в которой чуть ли не каждый третий про это, грустно кивает и уходит в тень)

Ну так я и в автомобиле коды педалек в RAM записываю. И в чайнике

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

проехать 10 секунд и включить поворотник

(шёпотом) Есть такое слово — МОГУ CAN...

CAN же не позволяет задать время вроде, это всего лишь интерфейс обмена данными, как какой-нибудь UART или Ethernet.

CAN же не позволяет задать время вроде

Когда это останавливало креативного программиста?

НАЖАТЬ_ГАЗ
NOP
NOP
.......необходимое количество раз......
NOP
NOP
NOP
ОТПУСТИТЬ_ГАЗ
ВКЛЮЧИТЬ_ПОВОРОТНИК

Когда это останавливало креативного программиста?

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


NOP
NOP
NOP

Разве CAN гарантирует время выполнения NOP'а?

Я автомобильный программист не настоящий, на стройке нашёл, но могу поспорить, что на шине можно найти какой-нибудь девайс с гарантированной задержкой — хоть тот же стеклоподъёмник. Открыл-закрыл окно два раза — вот тебе и десять секунд!

Я автомобильный программист не настоящий, на стройке нашёл,

Да я тоже с CAN не работал. Но из того, что я знаю, это всего лишь интерфейс, ненамного умнее какого-нибудь UART. То есть вбросить туда команду можно, но поллить ответ придется самостоятельно

Легко (ну, как легко, с паяльником и ардуинкой) - подцепить сохранённый скрипт с командами ко входу CAN-шины. Вот это как раз наглядный пример, чем отличается программирование от непосредственного управления.

Легко (ну, как легко, с паяльником и ардуинкой) — подцепить сохранённый скрипт с командами ко входу CAN-шины.

Ну то есть программа будет храниться и выполняться в ардуине, а по CAN только передавать отдельные команды. Где тут программирование в самом CAN?

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

Храниться в ардуине, выполняться — в соответствующих исполнительных устройствах автомобиля.

Не слышал чтобы устройства автомобиля умели в условия или циклы.

Не слышал чтобы устройства автомобиля умели в условия или циклы

Не уверен, что вы вообще в эту тему погружались сколь-нибудь глубоко до того, как мы их тут упомянули :)

Но не суть важно, для существования и выполнения программы условия и циклы не требуются.

Какое же программирование без возможности изменения поведения от входных данных?

Современные устройства автомобиля умеют и не в такое. Если уж совсем грубо, то всякие энтертейнмент системы и навигаторы это тоже устройства автомобиля.

Kanut

Опять ты? Уже придумал определение, не протворечащее здравому смыслу?


Даже в этой теме ты пытаешься увести дискуссию куда-то в сторону.

Уже придумал определение, не протворечащее здравому смыслу?

Да. И даже озвучил. Но если вас не устраивает, то давайте лучше.

Даже в этой теме ты пытаешься увести дискуссию куда-то в сторону.

В каком месте? Отдельные устройства автомобиля однозначно умеют в условия и циклы.

Уже придумал определение, не протворечащее здравому смыслу?

Да. И даже озвучил.

Ну вот зачем ты опять врешь? Не приводил ты нормального определения. По твоему "определению" программирование на Питоне программированием не является, а конфигурирование реестра — является.

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

А если начинать натягивать, то да, тогда и то и другое можно назвать программированием.

Но я согласен что определение не идеальное. И с удовольствием посмотрю на лучший вариант. Он у вас есть?

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

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

Абсолютно согласен. И об этом я и твержу с самого начала: не надо натягивать.

Но тогда если вы хотите заявить что работа в консоли это программирование, то нужно другое определение. И я в общем-то не против. Оно у вас есть?

Но ведь этот вывод противоречит твоей религии

Чья бы корова мычала. Что такого страшного в том что работа в консоли это не программирование? В том что конфигурирование реестра это не программирование? Копирование файлов по папкам не программирование?

Абсолютно согласен. И об этом я и твержу с самого начала: не надо натягивать.

Но тогда если вы хотите заявить что работа в консоли это программирование

… и продолжает натягивать, лишь бы программирование обозвать не-программированием. Завязывай уже.


Чья бы корова мычала. Что такого страшного в том что работа в консоли это не программирование?

Да по твоим "определениям" работа в консоли хоть коровой может быть. В реальности же это именно программирование, как бы тебе не хотелось обратного.

Нет, конечно же, куда же я её записал?

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


Вот ответьте на вопрос: если вы сидите за рулём автомобиля и едете, вы программируете? Нет, вы отдаёте ему непосредственные команды, просто вызывая соответствующие программы, а он их исполняет.

Именно! Тот же процесс происходит и в GUI. А вот когда вы сидите на пассажирском сиденье и командуете "на следующем повороте направо" — уже программирование.


10 PRINT "blah-blah" RUN — программа

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


Как на спектруме — PRINT "blah-blah" — диалоговый режим, 10 PRINT "blah-blah" RUN — программа

Да, еще более интересный вопрос: как по-вашему интерпретатор узнает что из написанного вами программа, а что команда? Ему на вход откуда-то пришел текст. Откуда — закеширован он час назад из файла, введен только что с клавиатуры, выдернут из истории — ему неизвестно. Как он должен отличить программу от команды и как это выражается внешне?

Да, еще более интересный вопрос: как по-вашему интерпретатор узнает что из написанного вами программа, а что команда?

Никак. Это вы его запускаете либо на непосредственное исполнение, либо на выполнение программы. В том же упомянутом Спектруме это так и работало - если просто указываете команду, он её сразу и исполняет. Если указываете номер строки и команду, он это себе записывает, а после команды RUN уже начинает исполнять всё записанное.

Никак. Это вы его запускаете либо на непосредственное исполнение, либо на выполнение программы.

Ничего подобного. Я его (точнее, ее, консоль) просто запускаю, без указания в каком режиме работать. Собственно, потому что у нее и режимов-то нет.


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

То есть, по вашим словам, в Спектруме разделение все же было: если в начале стоит число, то идет запись программы, а если нет — запись и выполнение. Ну допустим. А современные консоли здесь при чем?

Ничего подобного. Я его (точнее, ее, консоль) просто запускаю, без указания в каком режиме работать

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

То есть, по вашим словам, в Спектруме разделение все же было: если в начале стоит число, то идет запись программы, а если нет — запись и выполнение

Ну, не по моим словам. По факту :)

Консоль — да, но программу-то вы сначала будете писать в скрипт, а потом его запускать. Вот так вы интерпретатору и даёте понять, выполнять ли инструкции в ручном, диалоговом режиме или в режиме программы.

Вот как? Вы формируете программу в оперативной памяти и отдаете на исполнение интерпретатору — как он определит что вы имели в виду, отдельную команду или программу?


Ну, не по моим словам. По факту :)

Я имел в виду что со Спектрумами в живую дела не имел, и сужу исключительно по вашим словам.

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

И я боюсь, что мы с Вами имеем дело с одним из таких.

Ну во-первых, не "мы с Вами", потому что вы - вообще тут не при делах. Во-вторых, вот как раз мы с вами уже общались, и я помню, какое впечатление вы о себе оставляете в качестве спорщика. Я понимаю, что вам охота отомстить, и вы теперь часто будете подгавкивать из-за угла в моих разговорах с другими людьми (а потом ныть, что я вам отвечаю(с) ), но... про вас есть поговорка - чья бы корова мычала :)

Та вы задолбали душнить! Снимите номер и успокойтесь

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

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

А в scratch программируют мышкой. Значит GUI Тоже устроен так, что управляется именно кодом, и мы все программируем, когда кликаем мышкой.

А в scratch программируют мышкой. Значит GUI Тоже устроен так, что управляется именно кодом

По вашей логике, если утконос откладывает яйца, то и все остальные млекопитающие тоже.


Или для вас будет невероятным откровением, что это scratch является частным случаем GUI, а не GUI частным случаем scratch'а?

Или для вас будет невероятным откровением, что это scratch является частным случаем GUI, а не GUI частным случаем scratch'а?

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

При чём тут LOAD? На "Спектруме" программы писались в RAM. Выключили свет, а ты не сохранил — пропала программа. Но менее программой она от этого не становилась.

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

Там можно писать программы, а можно просто писать команды

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


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

А тот, кто зашивает дырку в кармане — он швея? По вашей логике выходит, что да.

А тот, кто зашивает дырку в кармане — он швея? По вашей логике выходит, что да.

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

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

Так и консоль, еще раз скажу, это просто интерфейс. В нем можно писать команды, писать сложные команды, и не становиться от этого программистом.
Просто продвинутый пользователь.

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

Вот только в случае консоли это одно и то же, разница только в сложности программ. "Пользователь" напишет код из одного слова, максимум аргументы передаст, а "программист" способен слепить ровно те же операторы ровно теми же средствами во что-то более сложное.


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


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

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


Так и консоль, еще раз скажу, это просто интерфейс.

Все равно, что сказать, что "IDE это просто интерфейс. В нем можно писать команды, писать сложные команды и не становиться программистом".

выполняете работу программиста

А кто платит за то, что пользователь у себя в консоли написал что-то? Или откуда у вас "работа" взялась?

Написание кода и инструктаж - это разные вещи. То, что в CLI взаимодействие пользователя с компьютером предполагается при помощи команд, не означает, что пользователь из пользователя превращается в программиста.

Все равно, что сказать, что "IDE это просто интерфейс. В нем можно писать команды, писать сложные команды и не становиться программистом".

Вы может быть удивитесь, но шелл - неважно это GUI или CLI - как термин - относится к интерфейсу пользователя. А IDE - как термин - среда разработки. То, что в ней можно выполнять команды и запускать другие программы, не означает, что она была создана как оболочка пользователя.


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

А кто платит за то, что пользователь у себя в консоли написал что-то?

А кто платит за зашивание дырки?


То, что в CLI взаимодействие пользователя с компьютером предполагается при помощи команд

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


не означает, что пользователь из пользователя превращается в программиста.

Равно как возможность приготовить себе еду — в повара. И что? Не путайте выполняемую работу и профессию.


Вы может быть удивитесь, но шелл — неважно это GUI или CLI

Вас Kanut покусал? Откуда вдруг пошли подмены понятий системного интерпретатора командной строки на вообще любой шелл.


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

Еще раз. Если человек вводит в компьютер программу и отправляет ее на выполнение — это по-вашему программирование или нет?


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

А, то есть вы согласны, что работа в системной консоли — программирование? Или у вас, как и у Kanut какие-то свои определения?


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

Если не можете аргументировать свою позицию — незачем.

Если пишут в блокноте код — да. А по вашей логике получается, что код можно писать только в IDE, так что ли?

Нет, это по вашей логике в CLI можно только программировать.

Значит ли это, что все кто работают в блокноте - программисты?

Значит ли это, что все, кто писал программы в Бейсике на "Спектруме" — не программисты?

Значит ли это, что все, кто писал программы в Бейсике на "Спектруме" — не программисты?

Есть разница между теми, кто на спектруме писал load "" и хоть какие-то да программы.

При чём тут LOAD? На "Спектруме" программы писались в RAM. Выключили свет, а ты не сохранил — пропала программа. Но менее программой она от этого не становилась.

Чертовски точно подмечено.
Более того, у IBM PC был ROM Basic, позволявший то же самое.

При чём тут LOAD? На "Спектруме" программы писались в RAM. Выключили свет, а ты не сохранил — пропала программа. Но менее программой она от этого не становилась.

А притом, что на спектруме бейсик, кроме языка программирования, являлся также интерфейсом пользователя, и командой load, пользователь не "занимался программированием", а просто грузил нужную ему программу.

Повторяю: рация на бронепоезде при чём тут LOAD? Если я написал

10 PRINT "HELLO WORLD"

то я уже программист (хоть и в очень-очень коротких штанишках).

Если вы написали так - то да.

А если я написал LOAD "", затем включил магнитофон, загрузил игрушку и поиграл - я не программист.
При этом LOAD это тоже команда языка программирования, и как ни странно она тоже была загружена в RAM и даже выполнена как "микропрограмма в коротких штанишках"

Итого, определение что РАМ это носитель и все что в него пишут это программа - я с этим не согласен.

Знаете по вашей логике, тогда так — в блокноте тоже можно писать скрипт или бат файл

А что, внезапно, нельзя?
Выполнить его не получится, но *писать никто не запрещает.


Значит ли это, что все кто работают в блокноте — программисты?

Первые программисты программировали вы вообще не поверите что…

1С. Инструкции пишутся в базу данных и потом выполняются.
Является ли создание учетной конфигурации программированием (на внутреннем языка 1С), или это конфигурирование платформы 1С (написанной на C)

Не, то что я там написал это программа и программирование? Ну то есть написать "sss" это оно или не оно?

Все пользователи ПК в каком-то роде программисты.

Если Вашей задачей было "получить на экране произвольную последовательность из более чем 80 символов", то эта задача была Вами успешно решена, поздравляю.

Она не очень-то и произвольная

Ну так это программирование или нет? :)

Ну так это программирование или нет? :)

Уж Вам ли как программисту не знать, что очень многое зависит от контекста? "Фауст" Гёте, сгорающий в костре в гитлеровской Германии — это совсем не то же, что "Фауст" Гёте, сгорающий в буржуйке в блокадном Ленинграде, хотя, казалось бы, книга одна и та же.

"Фауст" Гёте, сгорающий в костре в гитлеровской Германии

А Гёте за что вы так? Он же не еврей, не антинацист, наоборот, глыба в немецкой истории, вполне себе одобряемая Третьим рейхом.

Ну если Вы такой специалист по Третьему Рейху, то сами подходящего аффтара и найдите. Почему я за всех всё делать должен?

Когда вы пишете echo "hello world" в консоли это ничем не отличается от написания кода в IDE, а нажатие Энтера — от нажатия кнопки Run.

Вообще-то отличается.

CLI - это просто интерфейс операционки. Так же как и панельный интерфейс менеджеров файлов, или GUI для десктопа, или GUI для планшета (тачскрин).

То, что почти все CLI оболочки поддерживают внутренние команды, в которых есть циклы и условия (то есть являются полноценными языками программирования), не означает, что они полностью превращаются в IDE

CLI — это просто интерфейс операционки. Так же как и панельный интерфейс менеджеров файлов, или GUI для десктопа, или GUI для планшета (тачскрин).

Ну да, это разные подходы к взаимодействию. Точно так же можно редактировать файл символ за символом в блокноте, а можно командой sed или vim. Вот ручная работа в блокноте или GUI это один подход, а написание программ для sed, vim или шелла — другой. Они не эквивалентны.


то есть являются полноценными языками программирования

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

Ну да, это разные подходы к взаимодействию.

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

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

… путем программирования. Да, все так.


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

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

Да, например запускаю другие программы. Делаю это без программирования.

Что с вами не так?

Да, например запускаю другие программы.

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


Что с вами не так?

Мне-то откуда знать? Я себя со стороны не вижу. Из того, о чем смутно догадываюсь, "не так" со мной желание доказать очевидные вещи странным людям, которые их отрицают.

мы имеем дело со скриптом (записью последовательности), там где она есть — с программой.

С чего это вы отказываете скрипту в праве называться программой? Какая разница, есть процесс компиляции или нет?


При этом, скрипт можно рассматривать вырожденный случай программы, когда она состоит из единственной функции

При чем здесь единственная функция? Посмотрите любые скрипты на шелле, на Питоне. Ради единственной функции скрипт пишут крайне редко.


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

А вот это сложный вопрос, и пример я приводил. Шеллу без разницы откуда берется программа (из файла, из аргумента командной строки, из интерактивного ввода) и какой она длины (хоть одна строчка, хоть сотня). У него есть исходный код, и он его будет выполнять. Что это как не исполнение программы? То есть с точки зрения шелла любая работа с ним (кроме разве что процесса редактирования командной строки) это программирование. А вот с точки зрения юзера уже можно разделить пришлось ли ему описывать алгоритм или вызвать единственную программу.

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


А вот это сложный вопрос

Пойнт каджита прост: если программа вызывается без аргументов, значит в данном конкретном случае происходит не описание действий, которые надо выполнить, а переход к другому способу взаимодействия. Такой переход может не требовать вообще никакого ввода в терминал, если, например, вы вызовете другую программу через горячие клавиши, или перейдете в соседний экран screen/tmux.
То есть, здесь ввод в консоль определяет не инструкцию к выполнению а сам переход к другой, семантически не связанной, среде.
Конечно, если вы вызовите mc посреди скрипта — скрипт программой быть не перестанет.

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

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

Можно busybox find, можно просто find

Приведу аналогию.


Допустим, я во время написания программы ковыряюсь в носу, потому что так лучше думается. В моём случае ковыряние в носу является важной частью процесса программирования.


Моя племянница в свои три года тоже любит ковыряться в носу, но программистом это её не делает.

Я во время написания программы в web IDE нажимаю какие то кнопки в окне браузера.

И во время написания этого поста тоже нажимаю кнопки в окне этого же браузера.

А потом иногда кусок кода копирую из одного окна в другое.

И какое из этих действий по вашему само по себе является программированием?

И какое из этих действий по вашему само по себе является программированием?

Ну, пожалуй когда решаю что-то типа "надо бы сделать XXX через YYY и ZZZ". Но только сама идея программой не является. Упсь ;)

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

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

Окей, визуально человек делится на руки-ноги-торс-голову и другие органы. То есть, это такой составной конструкт.
Надо ли, представляя людей друг другу, говорить вместо "Лена, это Вася; Вася, это Лена" что-то вроде "Лена, это правая рука Васи; Вася, это левая сиська Лены"?
Мы, вроде как, тут пытаемся не декомпозировать программирование, а отделить программирование от не-программирования.

Надо ли, представляя людей друг другу, говорить вместо "Лена, это Вася; Вася, это Лена" что-то вроде "Лена, это правая рука Васи; Вася, это левая сиська Лены"?

Нет, не надо. Точно так же как не надо говорить "вот человек" про чью-то левую руку .


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

Ну так рука сама по себе является человеком?

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

И опять начинается софистика. Потому что люди вполне себе способны отличить "человека" от "руки".
И обычно вполне себе понимают о чём идёт речь в том или ином случае.

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

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


Рука человека не является человеком, и именно потому мы никогда не представляем друзьям чьи-то руки отдельно. Вот если бы рука Пети была Катей — нам бы пришлось представлять их обоих.


Мы никогда не знакомимся с чужими руками, и именно потому мы никогда не путаемся в вопросе "нам показали на руку или на человека целиком?". Вот если бы для нас было нормально знакомиться с чужими руками — тогда бы нас и интересовал вопрос "как показать на человека не показав ни одну из его частей тела".

Ну, вот, а Kanut — путается.
То у него важен весь процесс, то 99% процесса — это не программирование, и вообще вы софист.

Это вы путаетесь. В вашей же аналогии, у человека важны все части тела, но ни одна из них человеком не является. Что тут не так и почему для процесса программирования это не работает?

Не обнаружил своего ответа на это…


Что тут не так и почему для процесса программирования это не работает?

Вот именно это каджит и спрашивает.
С какого такого бодуна, ВДРУГ, неотъемлемые части процесса программирования перестают быть программированием?


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

А что вам не нравится?

Как это что не нравится. Не нравится когда объект определяют через самого себя, естественно.


Потому что использование того же Питона в этом самом интерактивном режиме это тоже не программирование

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

Как это что не нравится. Не нравится когда объект определяют через самого себя, естественно.

Не через себя. "Программирование" и "программа" это разные понятия.


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

Неправда. Например написание программы/скрипта в том же Питоне по "моим" определениям является программированием.


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

Вы меня точно ни с кем не путаете?

Не через себя. "Программирование" и "программа" это разные понятия.

Ну так приведите не-рекурсивное определение.


Потому что использование того же Питона в этом самом интерактивном режиме это тоже не программирование :)

Неправда. Например написание программы/скрипта в том же Питоне по "моим" определениям является программированием.

Вы уж определитесь.

Ну так приведите не-рекурсивное определение.

Есть компьютерная программа и есть процесс её создания, который называют "программирование".


Вы уж определитесь.

Куда мне ещё определятся? Написание скрипта/программы вполне себе может быть программированием. Выполнение нет.

Куда мне ещё определятся? Написание скрипта/программы вполне себе может быть программированием. Выполнение нет.

Ну вот пока вы вбиваете print("Hello world") в консоль, это программирование. Когда нажимаете энтер — запуск написанной программы на выполнение.

Я уже ответил на это в соседнем треде. Формально это не программирование. Ну или приведите ваше определение программирования и мы это обсудим.

Формально это не программирование.

А что же? Вы записали алгоритм и отдели на выполнение интерпретатору.

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


Можете считать меня софистом, но от программы я ожидаю нетривиальности.

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

Что за "обычный калькулятор", для которого можно написать программу?

Самый обычный.


"2 ⊞ 2 =" — это, с точки зрения того школьного учебника математики за 5й класс, программа для калькулятора.

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


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


Зайдем с другой стороны. Если я зашил дырку в кармане, можно ли меня назвать швеей? Скорее, нет. Но разово я выполнил работу швеи.

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

Ну не проблема, эту программу можно написать для МК-61, там данные будут не встроенные, их надо на вход подавать:

01 +
02 C/П

Ее можно записать с использованием косвенной адресации и просто вызывать, положив данные в регистры.


UPD: тьфу, там даже косвенная не нужна.

А какая разница, объединяю я запуск команд в конвейер или перенаправляю вывод одной команды в файл, а потом этот файл передаю на вход другой команде? Тем самым я сохраняю промежуточное состояние

Про tee(1) господин, я так понимаю, не слышал?

Слышал, использую. Нет потребности любой ценой объединить исполнение команд в конвейер, ради конвейера.

А, так вопрос может быть в терминологии. Я под работой в консоли понимаю именно CLI, а не любой текстовый интерфейс. Псевдографика это не "работа в консоли".

edit:<< grep warning myfile.log | sort

Это что у нас будет?
все эти nc/vc это в том числе и интеграция с CLI

То ли у вас весьма экзотическое представление о программировании, то ли о 3D-моделировании...

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

Программирование, извините за каламбур, это составление программ. Если вы вездеходику вложили алгоритм "проехать вперёд два метра, потом повернуть, проехать ещё один метр", и запустили это на выполнение, это уже какое-никакое программирование. Если вы вездеходику нажали "вперёд", он поехал, потом повернули и т.д., это не программирование.

Точно так же и ввод инструкций в диалоговом режиме с их непосредственным выполнением - это не программирование.

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

Откуда взялись "визуальные объемные эффекты", если речь шла про работу в UI?


Если вы вездеходику вложили алгоритм "проехать вперёд два метра, потом повернуть, проехать ещё один метр", и запустили это на выполнение, это уже какое-никакое программирование. Если вы вездеходику нажали "вперёд", он поехал, потом повернули и т.д., это не программирование.

А если вы ему записали программу из одного действия "вперед", и нажали выполнение?


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

Откуда взялись "визуальные объемные эффекты", если речь шла про работу в UI?

Кнопочки там всякие, анимашечки - почему нет?

А если вы ему записали программу из одного действия "вперед", и нажали выполнение?

Нет, это не программирование :)

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

Работа в консоли - это практически всегда ручное управление, диалоговый режим. Вы ввели команду, компьютер сделал, ввели следующую, компьютер тоже сделал и так далее.

Нет, может в операционках уровня MSDOS оно так и было

В пайплайны из программ DOS тоже умела, года этак с 1983-го, когда в ней появились потоки ввода-вывода. Но это как раз "программирование", аналогичное саркастическому "нажимаю мышкой на кнопку, запускается объемная анимация нажатия - значит, я 3Д-дизайнер"

Кнопочки там всякие, анимашечки — почему нет?

Ну так какое они имеют отношение к трехмерке-то?!


Нет, это не программирование :)

Почему?


Работа в консоли — это практически всегда ручное управление, диалоговый режим. Вы ввели команду, компьютер сделал, ввели следующую, компьютер тоже сделал и так далее.

Это только на самом начальном уровне. С накоплением опыта становится лень просматривать простыню данных глазами и возникает желание припрячь к этому делу компьютер. Думаете, скрипты просто так появились?

Вы спорите о двух разных вещах. Текстом удобнее объяснять, ЧТО и КАК делать; мышкой удобнее показывать, ГДЕ делать (особенно в том случае, если работаем над изначально графическим объектом.

Например, а "Авктокаде" мне легче и быстрее написать в комстроке "ФАСКА 10", а потом мышкой указать два объекта, между которыми, собственно, фаска.

Потому что, если подумать, список возможных действий не слишком-то и большой и постоянный — из проще с клавиатуры набирать; числа — тоже. А вот объекты, над которыми произвести действие — их много, и они всегда разные.

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

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

Это только, если нужен велосипед, а посложнее как мне CAD-система с CAE и DB-модулями, сдобренная связью с ERP и аналитикой BI, да под корпоративную PDM и проводкой процессов к каждому клиенту в CRM. Такой космический корабль долго собирать будешь, а уже завтра все компоненты станут новыми и долгострой никому не нужен.

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

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

Покупатель может узнать производителя и характеристики велосипеда.

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


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

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

У вас даже нет гарантий что он действительно будет в состоянии делать то что заявлено.

вообще-то есть. об этом прямо в сопроводительной бумажке к велосипеду написано.

И откуда берутся гарантии что это правда? И чем это отличается от "сопроводительных бумажек" к софту?

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

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

А на софт они разве не распространяются?

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

даже если распространяются — продавцы софта гарантий не дают. нет гарантии — нет обязательств. as is.

Вы сейчас про какую страну конкретно пишите?


а продавцы великов — гарантию дают и прямо об этом пишут.

Так у вас проблема не с проприетарным софтом как таковым, а только с тем который продают без гарантии? И если гарантия и возможность возврата существуют, то и проблемы никакой нет?

Вы сейчас про какую страну конкретно пишите?

ни про какую конкретно не пишу. просто общие наблюдения:


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

вот такое встречается практически во всех лицензиях, что на FOSS, что на проприетарный софт:


SOFTWARE IS PROVIDED “AS IS”

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.


Так у вас проблема не с проприетарным софтом как таковым, а только с тем который продают без гарантии?

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

ни про какую конкретно не пишу. просто общие наблюдения:

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


вот такое встречается практически во всех лицензиях, что на FOSS, что на проприетарный софт:

Законы имеют большую силу чем лицензии.


во-вторых — а где вы видели софт, на который дают гарантии?

Практически любой софт, которыj я покупал последние 25 лет. У нас тут на софт по закону тоже полагается гарантия(или точнее Gewährleistung):


Gewährleistung

Mängel der Software sind also zumindest während der Gewährleistungsfrist (je nach Regelung 12 bis 24 Monate ab Übergabe) bereits aufgrund gesetzlicher Gewährleistung zu beseitigen.


Поэтому дефекты в программном обеспечении должны быть устранены как минимум в течение гарантийного периода (от 12 до 24 месяцев с момента передачи, в зависимости от нормативных актов) на основании установленной законом гарантии.


И насколько я знаю в РФ гарантия на софт тоже регулируется законом. Хотя тут могу и ошибаться.

а где вы видели софт, на который дают гарантии?

У меня на работе!

его можно купить за одну зарплату?

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

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

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

Покупатель может узнать производителя и характеристики велосипеда.

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

Как так нет? Есть лицензионное соглашение как минимум, договора и прочее. Вы берёте продукт - продавец(и покупатель тоже) принимает на себя обязательства. Что мы видим в опенсурсных лицензиях зачастую: "на программу нет гарантий... не ответственны перед вами за убытки"

не ответственны перед вами за убытки

Но и прибылью делиться не требуем.

В массовых проприетарных EULA всё то же самое, "поставляется, как есть". Максимум — что-то на тему "несём ответственность в пределах пяти баксов".
Хотите реальную ответственность от разработчика — надо персональный договор заключать. Но там и цена вопроса наверняка сильно выше будет.

Я больше того скажу, пользователю даже "кликнул" не важно. Ему нужен результат работы программы, а не она сама.

Ему нужен результат работы программы, а не она сама.

А, так это Вы тот самый пользователь, который постоянно просит заменить весь интерфейс программы на одну кнопку во весь экран — "СДЕЛАТЬ МНЕ ХОРОШО"?

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

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

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

Просто линукс дает возможность разобраться в проблеме, если есть время/желание и силы. Условный windows/macos такой возможности почти не дает.

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

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

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

Ну да, дело за малым, всего лишь убедить ребенка малого возраста, начать изучать возможности терминала, ради его будущей пользы :)

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

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

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

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

Тут, на мой взгляд, есть огромный отрыв текущего образования (стандартов и инструментария которому учат) от фактической потребности рынка труда — после размещения вакансии со словами "со знанием только Компаса не беспокоить" мне позвонило за месяц 36 соискателей — мол можем научиться, но опыта нет...

Концептуальная проблема замены /подставить нужное/ на linux заключается в том, что это выбор между двух зол: отбрасываем "проприетарные" системы и получаем монополию. Ну и как в классической загадке про стулья тут всё ещё нет хорошего решения.

UFO just landed and posted this here

Тем более пингвин бывает и без антилопы — тот же андроид ;)

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

Причем не только с современными.

Мне многое дало к пониманию чтение талмудов по IBM/360 и VAX (увы, на курсах в универе эти штуки толком не освещались, ни аппаратура, ни софт).

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

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

Умение работать с терминалом и использование командной строки уже сейчас не нужно среднему пользователю.


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

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

Не вижу с чего бы это. Голосовой помощник даже в том виде как они сейчас есть имеет относительно мало общего с командной строкой. И чем лучше они учатся понимать обычную речь, тем дальше они от неё отдаляются.

Так в том их прелесть, что там нет единого гвоздями прибитого формата команды. Он способен интерпретировать произвольную фразу. И скорректировать её в диалоге.

Ну понятно, что несвободное ПО использовать в образовании, если есть свободная альтернатива, ни в коем случае нельзя, тут и спорить не о чем.

И понятно, что Linux в этом случае имеет смысл использовать в большинстве случаев как наиболее развитую свободную ОС.

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

И встроенные ОС! Linux, конечно, много сделал в этом направлении, но он тяжелый и совершенно не везде запустится, встроенные системы часто идут с куда более легкими ОС, в том числе открытыми.

И, наконец, BSD ветка. Даже если не использовать в качестве основной, в разделах, посвященных сравнению, ей должно быть место.

Ну понятно, что несвободное ПО использовать в образовании, если есть свободная альтернатива, ни в коем случае нельзя, тут и спорить не о чем.

Пусть рынок решает. Если есть спрос на пользователей несвободного ПО - пусть использованию его и учат.

p.s. Запрос "gimp" на hh.ru - 60 результатов по России. Запрос "photoshop" - больше 9000 результатов.

Да ну рынок, как будто рынку нужно столько философов и специалистов в области gender studies. Нам в академии даны европейские гуманистические ценности для решения, а не рынок :-)

p.s. Запрос "gimp" на hh.ru - 60 результатов по России. Запрос "photoshop" - больше 9000 результатов.

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

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

И зачем художнику-оформителю софт, например, на питоне?

Очень может даже зачем :). С помощью питона и джимпа можно например легко решить задачу по обработке миллиона фоток. Вместо джимпа можно imagemagick взять. Простор для автоматизации огромный.

Ну, и еще момент. Сын у меня схватил двойку по биологии по работе вегетативной нервной системы, пришлось вместе с ним погружаться в эту тему. Вопрос: "А оно нам надо?" Ведь мы не будем работать по этому направлению. На самом деле надо, понимание этих процессов очень полезно.

Я ж не зря именно художника-оформителя упомянул. Ему не нужен миллион фоток, он зачастую вообще не с фотками работает, а пером с нуля. А если с фотками - каждую обрабатывает по-своему. Автоматизация далеко не везде нужна.

Понимание процессов - дело хорошее, но опять же, если софт с кривым UX встаёт между желанием и результатом - то никаким пониманием процессов это не исправить.

Я ж не зря именно художника-оформителя упомянул. Ему не нужен миллион фоток, он зачастую вообще не с фотками работает, а пером с нуля.

Ну, так в чем проблема то? Этот художник берет необходимое ему железо и софт (например mac) и вперед - рисовать. Мы же не этот кейс обсуждпаем.

Разумеется, я имел в виду человека, который учится на художника-оформителя, а не сложившегося профессионала. Пусть не в школе, но в среднем специальном. И поинтересовался, зачем ему питон в графическом редакторе.

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

много фоток для вебсайта обрабатываются "на берегу", и просто туда заливаются, максимум функциональности IM/GM — генерация превьюшек.

вы бы посмотрели, чем на самом деле пользуются люди с такими задачами. для оформителей — Adobe, Corel, Phase One, для рисовальщиков — фш, SAI, Krita. gimp, IM/GM — это всё уровень самописного бложика на домашнем роутере.


если что, я эту колбасу ему второй десяток лет.

вы бы посмотрели, чем на самом деле пользуются люди с такими задачами. для оформителей — Adobe, Corel, Phase One

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

Фотошоп для рисовальщиков тоже так себе. Corel Painter.

у меня процесс у знакомых у всех выглядит как "рисуем в SAI, допиливаем в фш", почему и упомянул. на криту еще народ тоже смотрит, но матерятся что там не хватает саевских плюшек, а в сае потом про критовские.

Сай дает четкий ровный контур, все остальные не могут. За это его и любят.

в случае с Gimp художник-оформитель ещё и получит навыки борьбы с неудобным софтом

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

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

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

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

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

И что значит для профессиональной детельности фотошоп осваивается отдельно? Отдельно от чего, от самого процесса обучения фотошопу? Как правило фотошоп осваивается именно для профессиональной деятельности.

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

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

Есть ещё такая штука - практика. И нейтрального чисто-принципиального ПО не существует, любое - это какая-то, но реализация. Но практиковаться всё равно надо, потому что по книжке только прыжкам в высоту научиться можно... Чорт, и им нельзя(

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

О каких "принципах обработки изображений" речь? И о каких изображениях? И с какими целями? Для векторных изображений тоже гимп? А потом переучиваемся на корел? Для астрономических - переучиваемся на PixInSight, для еще каких-то изображений - снова переучиваемся. Зачем? Вы бессмертный и вам скучно?
Ну и принципы обработки тех же астрофоток для инсты одни. для астрометрии другие, для конкурсов - третьи и тд и тп. То же самое с бытовыми картинками - для инсты одна обработка. для распечатки - уже другая, и принципы там разные. И софт разный настолько, что изучив один, ты ничерта не поймешь в другом.

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

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

Нет никаких общих принципов. Для каждого случая - свои принципы, свои приоритеты и свой софт.

То есть, вы только что сказали, что Drag'nDrop — не существует, как не существует окон, линий, примитивов, кроссплатформенных апи, алгоритмов, математической статистики и физики вообще, а сней — и вас? )

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

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

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

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

Я не хочу оплачивать налогами покупку Фотошопа и корелла для учебных заведений. Научить можно и бесплатным софтом. Если кому-то нужна конкретная вещь пусть платит сам.

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

Идея-то классная. Но в реальности HR просто выкинут резюме, в котором нет нужных ключевых слов))

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

Извините, но не джимп, а гимп (так же как (на всякий случай) не джит, а гит). Об этом написано сразу же вторым словом в статье на википедии.

Как угодно :) Не возражаю.

Нас опять обманули. Процесс отравления сознания начался еще раньше, со времен навзывания западной математики петром первым.


Я считаю, что счет Древних Русов должен быть единственной системой счисления в отечественном дистрибутиве.


ноль

целковый

полушка

четвертушка

осьмушка

пудовичок

медячок

серебрячок

золотничок

девятичок

десятичок

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

Вот уж не ожидал тут увидеть густую тень нижнего интернета

А зачем так радикально сразу? Бумс - и Linux?

Ведь надо прийти в класс. Огладить рукой шершавые доски, подойти к верстаку. Урок номер один - сборка парты. Далее вносим изменение под свою фигуру и сколачивем стул. Сметаем стружки с верстака, сдаем инструменты. Завтра будем красить пол..

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

Это любой плотник расскажет - использование коробочной мебели вредит.

Подгон под фигуру для растущего организма - идея неплохая)

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

"Мощный терминал" есть в каждой из указанных систем.

Вольная трактовка "свободного ПО". Кажется, что в статье под "свободным" подразумевается сценарий "могу без проблем скачать и пользоваться", но тех же открытых лицензий много, и условия их надо соблюдать. И большая их часть не является 100% свободной.

Каждая система под свои потребности.

Почему linux должен быть единственной системой в образовательном процессе

Потому что так хочется линуксоидам.)

Есть вопрос.
Про какой образовательный процесс идёт речь? Школа? Универ? Какое-то узкоспециальное образование?
Мне кажется, стоит отталкиваться от задач образовательного процесса всё же, а не изучать ОС ради изучения ОС

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

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

Вы забыли добавить слово "бесплатно", верно?

Почему linux должен быть единственной системой в образовательном процессе

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

так вот же ответ на абсолютно обратный тезис. И правильный ответ-то.
Все уже придумано и сделано удобно, во многих областях экосистема линукс опоздала, никаких киллерфич предложить не может. Зачем инвестировать время в ее изучение, когда вместо этого можно потратить время на более полезные навыки?

все студенческие работы принимались в .docx, .xlsx и .pptx

docx и т.п. - это открытые форматы, поддерживаемые в том числе и opensource решениями. Если автор-дартаньян даже с этим не разобрался и использовал привычный msoffice, то даже не знаю, что тут обсуждать

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

Линукс даже не дает мне указать папку, куда устанавливать приложение. Может я не хочу чтобы все они были в /usr/bin. А это любой виндовый инсталлятор умеет.

Вообще то современные дети больше в телефонах да в планшетах сидят. А там андроид. Что бы понять почему этот софт платный, надо поработать на бесплатном софте.

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

Линукс как авианосец. Сам по себе, пустой, без самолётов - толку ноль.

Для ролей, где он используется, для примера ранее популярный стек LAMP - документации было валом, примеров валом, баги в большинстве своем известны, процедура более-менее вылизана. Но шаг влево-шаг вправо, и начиналась terra incognita. Сейчас особо ничего не поменялось - в типичные роли Linux, востребованные рынком, вкладываются деньги компаниями, пишется документация, поддерживается сообщество. Допустим, виртуализация и контейнеризация достаточно востребованы рынком, хорошо описаны и освоены. А вот FreeCad рынком нафиг не востребован - есть более известные и удобные альтернативы под Windows, поэтому болтается в проруби, аки известная субстанция.

Более того, каждый софт ещё и свои конфиги кидает в разные папки, как захотелось создателю ПО. После чего начинается увлекательный квест — найди куда это положило свой конфиг.
Ну таких приколов и на Windows много.
Может я не хочу чтобы все они были в /usr/bin.

Ну так ставьте Appimage / snap / flatpak и будет у вас такая же помойка, как на винде. Проблем-то.

Очередной срач линукс против всех?


процент людей, понимающих как работает их операционная система, на данный момент крайне небольшой

И это вас волнует почему?


Красивый интерфейс и базовое удобство рабочего процесса ставится выше, чем понимание принципов работы операционной системы.

И это плохо?


Если в программе что-то не устраивает — её можно заменить, доработать, или написать автору сообщение на почту.

А автор ответит "тебе надо — ты и делай". Если вообще ответит. Это раз.
Теоретическая возможность "доработать" программу большинству пользователей ничего не даёт. Это два.


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

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


Одно из ключевых отличий linux — командная строка.

Ключевых отличий от чего? Командная строка есть везде.


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

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


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

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


если человек в рамках образовательного процесса научился работать только в ms office на операционной системе windows, то в дальнейшем очень трудно будет переучиваится

Если базовые принципы работы другой программы аналогичен ms office, то переучиться большой проблемой не будет. А если будет, то от того, что человека в детстве учили работать в либре или чём-то там ещё, ничего не изменится.


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

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


Проповедники, подобные вам, считают, что ОС надо учить только ради самой ОС. Это неверно. Пользователю вообще пофиг, что у него за ОС. И какой у него софт, проприетарный или опенсорсный. Ему надо его задачу выполнять. Презентацию сделать, баланс свести, закон в базе найти, фотографию отредактировать и т.п. И нет никакой разницы, в какой ОС это делается. Главное — качественный софт. Пишите такой — и к вам потянутся.

Очередной срач линукс против всех

Линукс тут не при чём. Есть просто персонажи, которые думают, что если им удобно в гамаке и стоя, то и всем остальным будет удобно, а кому неудобно – надо заставлять. Характерная черта такой публики – начинать с того, что кто-то что-то «должен».

Одно другому не мешает.

UFO just landed and posted this here

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

Выше многие написали, что домохозяйке/бухгалтеру/etc не важно, что там под капотом, но... речь идет об образовательном процессе, поэтому важно, для школьников важно понимание принципов работы операционной системы. Файловые системы в школах проходят, на экзаменах есть задания, где требуются умения навигации по файловой системе. На никсах объяснять всё это правильней и логичней: по сути всё является файлом, даже перефирийные устройства - это файлы, в которые можно записывать и из которых можно считывать информацию. Всё работает единообразно и логично.

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

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

ЗЫ

Готовлю сына к ОГЭ, и вопрос "какой софт будет на экзамене" встал во весь рост. Винда? Линукс? Какие? Какие версии. В винде например интерфейс в последние годы радикально поменялся несколько раз, и ребенку надо показать разные варианты. Линукс? Какой? Там тоже всё по разному. Офис - майкрософт или либре, или еще что-то? То же всё по разному. Но если с линуксами я смогу воспроизвести любую среду, то с проприетарными прогами будет сложнее.

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

Негоже, когда например для сдачи отчета/письма в госорган, необходимо покупать дорогостоящий проприетарный софт какого-либо определенного монополиста (не важно — зарубежного или отечественного).

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

Давайте уж доведем вашу аналогию до конца: вам бы понравилось, если бы для отчетности в госорганы было необходимо использовать бумагу определенного производителя по цене 1000$ за пачку?

необходимо использовать бумагу определенного производителя по цене 1000$ за пачку

Вы изобрели бланки строгой отчетности, например ;)

по сути всё является файлом, даже перефирийные устройства

А где лежит файл отвечающий за сетевой интерфейc? ;)

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

В выдуманном мире. В реальности все что сложнее /dev/null - подперто IOCTLами. А /dev/eth0 я найти не смог ;)

вопрос "какой софт будет на экзамене" встал во весь рост.

Если это не экзамен по программированию - неважно ;) Мышка и клавиатура работают везде одинаково, а форматировать диск Ц его не попросят ;)

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

Следствием гибкости линукса является отсутствие какой-либо упругости. У него просто колоссальная фрагментация, ужасные пакетные менеджеры(они свою задачу на практике моей нормально пока ещё ни разу не решили)(которых столько, сколько пользователей линукс), которыми ты вынужден пользоваться, всё приходтся скачивать их сорцев, блютуз из коробки не работает(на 4 дистрибутивах, которые я пробовала)... и всё это потому что почти нет никакой централизованности. Линукс на столько гибок, что не существует в приемлемом виде.

Конечно, вам покажутся мои доводы смешными, но я даже пыталась со всем разобраться. Я только книжки наверное не читала(на сколько же хороший же линукс продукт, что, чтобы им пользоваться, надо читать целые книги). Я опытнее наверное 90% пользователей ПК. И мне ни для разработки, ни для чего-то другого не хочется возвращаться на линукс. У других осей графический интерфейс не забагован, диски работают нормально, всё работает само из коробки. Зачем мне пользоваться линуксом, если всё можно сделать на винде и это будет быстрее и просто приятнее?

всё приходтся скачивать их сорцев, блютуз из коробки не работает(на 4 дистрибутивах, которые я пробовала)...

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

Я давно выработал принцип: покупать железо совместимое с линуксами. Даже если собираюсь туда ставить винду. Это скорей всего позволит избежать проблем в будущем, и железо прослужит в несколько раз дольше.

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

Не только. Те же проблемы и на полноценном стационарном.

Я как-то раз пытался поставить графический драйвер на ноутбуке, когда воткнул туда линукс. Не помню, сколько я времени убил, но это всё так и не заработало. То ли дистрибутив не тот был, то ли что-то ещё. Ну и часто бывало, что если нет драйвера для определенного дистрибутива — будешь убивать время, пока всё это не заработает. Може быть, конечно, это мне не везло с железом, либо руки из жопы. Сюда же можно накинуть какие-нибудь программы с кучей зависимостей, а ещё веселее, когда эти зависимости ещё чего-то требуют (устанавливал я как-то раз такую матрёшку)

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

Если бы не был привязан софтом к винде — я бы, скорее всего, давно перешёл на линукс

А что у вас графика — nvidia?
Заодно дистр и ядро скиньте, если актуально еще.

Уже неактуально, графика была Nvidia 620m/720m. И уже не помню, в чём конкретно была причина, вроде бы я добился, чтобы сам драйвер устанавливался, но он не работал (программы не видели cuda). Но, возможно, вы в теме, и сможете сказать, где я лоханулся (возможно, в выборе дистрибутива) :)

Неправильных дистрибутивов не бывает, бывает неумение их готовить )


Хммм… бинарный драйвер точно должен быть, а вот CUDA runtime… Его, какое-то время, под виндой надо было устанавливать отдельно, возможно для пингвина его в фирменный драйвер так и не внесли, или он там чисто номинально был очень старый…
На страничке загрузки он значится внутри, версии 4.2 — может, программам требовалась более свежая версия?
Ну, сейчас, в любом случае уже поздно.

Дистрибутивов, наверное, и правда не бывает неправильных (разве что говносборка от васяна?), но возможно, что я решил "забить шуруп" (выбрал что-то, что не совсем подходило для моих задач) и огреб проблем. Если честно, уже не помню, что конкретно я устанавливал, но убил кучу времени, перерыл кучу всяких форумов и q&a, но так и не смог заставить работать эту видяху. Через какое-то время мне уже начало казаться, что какими-то прошлыми действиями я что-то ломаю. В общем, надоело мне это дело так, что я просто забил на это. А когда взял на десктоп нормальную карту — понял, что эти ядра мне вообще бесполезны :)

В любом случае, спасибо за ответ

А что у вас графика — nvidia?

Ой, а может и мне тогда подскажете. Debian + 02:00.0 3D controller: NVIDIA Corporation GM108M [GeForce MX110] (rev a2). nvidia-driver + bumblebee-nvidia из ветки oldstable работало почти нормально, но при обновлении системы работать перестало, осталось только nouveau. Качать бинарный блоб с сайта не особо хочется.

Увы, единственный nvidia в досягаемости находится в доке к планшету, и для экспериментов эту связку не отдадут…
Bookworm?
А что именно не работает? apt install --reinstall nvidia-kernel-dkms (он в зависимостях у nvidia-driver) завершается успешно или падает при попытке собрать модуль?

apt install --reinstall nvidia-kernel-dkms

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

Да, пожалуй.
Главное, проблема стала просматриваться )

В общем, организовали мы тут с Каджитом сеанс коллективного разума и, как ни странно, побороли проблему. Соответственно надо оставить отчет для потомков:


Ноут Asus P2540FB с видеокартой NVIDIA GM108M [GeForce MX110], Дистрибутив Debian stable (bookworm) и testing (trixie).


Надо добавить в sources.list подветку non-free-firmware (раньше оно называлось просто non-free, теперь разделили), естественно обновить список пакетов. Дальше установить nvidia-driver bumblebee-nvidia primus, прописать себя членом группы bumblebee, раскомментировать и исправить в файле /etc/bumblebee/xorg.conf.nvidia строчку BusID "PCI:02:00:0" в соответствии с lspci. Важно! В lspci перед последней цифрой стоит точка, а в конфиге надо исправить на двоеточие. Лично у меня после этого заработало.


Еще раз спасибо Каджиту!

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

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

Кстати, для винды я также могу привести множество примеров неочевидных проблем с драйверами. Всякое бывает и свиндой, например советы производителя МФУ изменить в такой-то ветке такой-то параметр в шестнадцатиричном коде.

в винде в простое постоянно мигает лампочка HDD (что он там делает постоянно?), в линуксе молчок

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

Это да, если ноутбук берёшь сам и если знаешь, что потом будешь сносить ось. В моём случае это был отремонтированный мною же ноут. Но проблем, к слову, не было ни с чем, кроме, собственно, ГПУ. В будущем, скорее всего, буду обращать на это внимание

множество примеров неочевидных проблем с драйверами

Да, там тоже хватает всяких приколов, чего стоит хотя бы отваливающийся вайфай после ухода в сон. Кстати, у меня была ещё одна интересная проблема — на десктопе начала отваливаться вафля после установки новой видяхи. Какая связь, казалось бы? Перепробовал кучу дров, на каких-то старых перестала отваливаться. Ещё через какое-то время решил обновить драйвера, проблему исправили. В оправдание нвидии можно, наверное, сказать то, что адаптер я снял с какого-то телевизора :) Но почему видеокарта влияет на юсб — я так и не понял

Хотя на новом ноуте у меня сейчас win 11 и она более-менее приятная

В копилку винды — у меня и у сестры абсолютно одинаковые ноутбуки, но один (мой) шёл с 10, другой с 11 виндой. И через какое-то время она подходит и спрашивает: "у тебя тоже звук говно?" Понятно, что от ноута ожидать нечего, но я сравнил — у неё звук ни о чём, у меня всё норм. Переставлял драйвера с полным удалением, крутил настройки, всё бесполезно. Предложил воткнуть 10 — о чудо, всё работает адекватно

постоянной фоновой работы

P.S. пробовал, интереса ради, оставить ноут включенным на несколько дней. И он всё это время что-то делал с диском

P.P.S. не знаете, случаем, почему отказывается работать МФУ (подключенное по USB к роутеру) через драйвер usb-over-ip, на 10 винде? Название есть, но он, почему-то, в прочих устройствах, а не принтерах. На 7 всё нормально: и сканирует, и печатает

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

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

В феврале 21го выбирал ноут, остановился в итоге на асусе, из-за клавиатуры. Теперь понятно, что зря — лак с кнопок послезал, надписи протерлись.

Да фиг с ним с лаком, по крайней мере у асусов стрелки нормального размера и функциональные клавиши по-человечески распределены. В честности, home и end именно что на отдельных клавишах, а не на fn. В отличие от кнопок, это в домашних условиях исправить крайне трудно.

home и end именно что на отдельных клавишах, а не на fn

Увы, но нет:


G513QY

image


С видюхой от amd было всего двое в наличии, этот и существенно более слабый MSI.

Шо, ишшо остались звери с отдельными мультимедийными кнопками? Я уж думал, что они вымерли окончательно. А тут ещё и вместо нормальных кнопок это засунули.

Кстати, а есть ли рабочий аналог xcape для wayland?
Гугл выдает всякое, но вот примеров не хватает, чтобы оценить, насколько оно юзабельно.

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

да так-то они везде переназначаются легко, но не очень хочется ковырять udev… он немного специфичен.

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

Вот "ковырять" с понятием "легко" у меня как-то не сочетается.

home и end именно что на отдельных клавишах, а не на fn

Увы, но нет:

Я про свой говорил. А чем вам так понравилась ваша клавиатура, что стала важным критерием?

Таки не поверите, с удовольствием поменял бы на японскую Thinkpad'овскую, привык к ним.
На работе, собственно, похожая, в ISO.

Отчего же. Но мне в глаза бросилось, что нет цифрового блока, Ctrl и Fn не на своих местах и нет кнопки контекстного меню.


В плане расположения кнопок вот такое мне больше нравится: https://www.extradigital.eu/foto/b-KB311316img.jpg

Но мне в глаза бросилось, что нет цифрового блока

Я вот начинал на 84-клавишной. А когда 10-клавишные появились, так и не привык к цифровому блоку за много лет.

А сейчас опять появились 84-клавишные TKL - взял и... как домой вернулся в любимые тапки :-)

Рука ищет у любимых тапок numpad и не находит.

Почему жирно? я как пользователь линукс согласен с вышесказанным :( да, 14 лет использования линукса, продолжаю грызть кактус и колоться. Но совершенно согласен, что навязывать кому-то еще такой мазохизм - оголтелый фанатизм.

*пожимает плечами*
11 лет всего, из них скоро 6 как на чистом линухе, три — включая игры… полет нормальный.
А там и прям ВСЕ из исходников скачивать (этой фразы, если честно, каджит не понял совсем — gentoo, что ли? откуда тогда пакетные менеджеры — да еще и во множественном числе?), и блютус не работает (что там может не работать-то? хорошо, что не мышь).


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

скоро 6 как на чистом линухе, три — включая игры… полет нормальный.

Раз пошла такая пьянка — на каком конкретно?

Debian-based, Arch.


Для работы брал LMDE.
Дома — сперва ubuntu (console) + xfce, потом захотелось кед (kubuntu канониклы до сих пор не умеют готовить!) и перешел на neon (просто добавил репо и переустановил полсистемы).
Когда купил новый ноут, перехал на него, а на старый T440s поставил Manjaro… просто офигел. Локскрин и sddm перестали мерцать время от времени — от этого не могла избавить до конца даже ppa'шная mesa. Ну и в целом как-то поотзывчивее ноут стал, но новый уже куплен, отступать некуда.


Железо особо не подбирал, завел за правило еще давно: видюха — лучше встроенная, вафля — интел, мать — с нормальным питальником.

Не поянл, Вы сейчас столько всего вывалили. На каком конкретно дистре у Вас "игры... полёт нормальный"?

Игры — Ubuntu (18.04, 20.04) и Arch. От убунты отказался полтора года назад.
Какой-либо принципиальной разницы именно для игр — не обнаружил: бутылки работают одинаково, steam тоже не жалуется.
Но установить свежие wine-staging и mesa на Арч — проще в разы )


Недавно купил AoW 4, V Rising и Baldur's Gate 3. У первой очень хреновый движок, укушивает все 16 ниток и требует добавки…

Спасибо, будем попробовать!

Обращайтесь, если возникнут вопросы )

На чистом же.

Чем арч не чист? )


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

Если в этом смысле, то ладно.
А то можно было бы похоливарить за LFS. Ну или чистоту и свободу вообще, как её Столлман понимает. :)

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

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

и гибко

Настолько гибко, что две версии одного и того же пакета в системе это целая история, из-за которой стали изобретать snap и flatpak.

А откуда уверенность, что пакетные менеджеры должны решать либо обещают решить проблему наличия двух версий пакета одновременно?

Впрочем, некоторые пакетные менеджеры для некоторых пакетов -- это вполне решают штатно, например portage.

А откуда уверенность, что пакетные менеджеры должны решать либо обещают решить проблему наличия двух версий пакета одновременно?

Потому что это часть общей проблемы под названием "управление пакетами". Впрочем в Линуксах так всегда, если чего-то нет, или что-то не очень хорошо работает, то всегда можно сказать, что на самом деле это не нужно :)

portage

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

Потому что это часть общей проблемы под названием "управление пакетами".

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

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

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

Кстати, решают. Но очень специфически это делают.
MSI (Microdoft installer) — это вот как раз оно. Где-то с 2008 года он научился притягивать разные зависимости: dotnet, mslive и т.д. используя windows update.
но он ограничен только небольшим числом мелкомягких пакетов.
Современный софт практически весь упакован в msi/msp пакеты.


Но — нет единого репо, нет никакого управления зависимостями, нет возможности управлять пакетами в изолированном окружении, используя один пакетный менеджер, как это может bsd'ный pgk или arch'евый pacman.

Потому что это часть общей проблемы под названием "управление пакетами".

Проблема называется dependency hell, управление пакетами ее немного решает.

линукс продукт

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


Ну и как вам уже сказали, у вас по всей видимости было специфическое железо с плохой поддержкой в драйверах. Это вторая проблема.

Когда я учился в МГУ, в кабинете информатики на всех компьютерах стоял windows, а все студенческие работы принимались в.docx,.xlsx и.pptx. Странно ожидать, что будущие сотрудники компаний будут просить linux для работы, ведь рабочий процесс уже хорошо отлажен в рамках проприетарной парадигмы.

Студенческие работы надо принимать в TeX'е, что для этого используется: Linux, MacOS или FreeBSD, да даже Windows - это уже вторично. А применение любого офисного пакета - это в любом случае оболванивание студента.

Правильно. А потом эти вчерашние студенты, изучавшие TeX а не ms office приходят работать в коммерческую организацию и с радостью узнают, что и тут ВУЗ дал им замечательные и прекрасные навыки, которые совершенно никак не востребованы в жизни.

Ну, если после пяти лет в вузе "специалист" не способен осилить мсофис, ему уже ничего не поможет

Мы ведь в вузе 6 лет учимся учиться, а не чему то полезному. И диплом получаем "Специалист по обучению"!

Если студенты приходят работать секретаршами -- то такой сценарий вполне возможен. А если например программистами -- то странна необходимость для них профессионально уметь пользоваться wysiwyg редакторами. А страничку текста написать они и так смогут. Но зато, привыкнув к философии TeX'а, наверное не будут документацию в вордах писать, что безусловно к лучшему.

Он сильно удивился, спросил почему.

Человек был не очень отзывчивый. Я бы спросил либо "С Вами всё хорошо?", либо, при наличии данных позволяющих предполагать ответ, "Что, опять?".

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

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

не смотря на достаточную мощность

И мы претендуем на понимание проблем образования?

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

Только откуда тут терминал? Скрипты - ладно, для Unity это C#, для Blender - Python... Может другое что, типа компиляторов?

Во первых - сетевой эффект. ... Во-вторых - барьеры переключения. 

Вроде так, но как тогда объяснить что Эппл процветает? Не помогает что форточкам что зелёному ни во-первых, ни во-вторых...

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

Borland? Ionic? Anvil? Roblox? Далее везде.

Линукс может работать как мощный инструмент сокращения макроэкономических издержек. 

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

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

Как говорят партнёры, он не есть хотеть есть свой собачья еда. В смысле совершенствовать AUR или Yay или Pacman.

А теперь от себя.

Учить надо на сколь-либо приличных образцах, а Линукс - это прежде всего море грязи. Например, если я сейчас открою в браузере меню с закладками, у меня не будет выдвигаться нижняя панель (Edge, XFCE, Endeavour). Свободно может не воспроизводиться звук (перезапустить или чего закрыть надобно). Обновления легко убивают нужные функции. И тут много можно сказать если припомнить.

Вообще любое общедоступное в условиях безответственности - как-то... Вот только что заметил, как pycairo в начале документации, а это лицо продукта и то самое первое впечатление, пишет про совместимость с pygame: image = pygame.image.frombuffer(buf, (width, height), "ARGB"). Так вот, всем плевать что и как, никто ничего не проверял никогда, ибо не "ARGB", а "RGBA".

Учить Линукс - это как? Учить ложку ко рту нести тоже нужно, а за то чтобы она была только десертной на борьбу всем? Нет правильного способа делать неправильные вещи, от статьи разит "формированием навыков" и прочей педологией. Может и историю будем учить только для стран с числом букв в названии кратным шести?

Кстати, заголовок есть призыв запретить в обрзовании всё кроме Линукс. В 60-е объясняли - запрещать запрещается...

Не имелось. Там на одной стороне cairo.FORMAT_ARGB32, а на другой должно быть «RGBA». И не стоит предполагать возможность «может быть», из-за таких предполагателей мы и имеем то, что имеем.

Позволю себе не согласится с автором: в образовательный процесс вполне имеет смысл включать как и альтернативные ОС: [Free|Net|Open]BSD по вкусу так и что-нибудь совсем простое вроде FreeRTOS.

Проприетарных решений конечно следует избегать. Т.к. любой vendor lock-in вредит как отдельному пользователю, так и обществу в целом, как минимум ограничивая их свободу, иногда весьма внезапным образом.

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

в образовательный процесс вполне имеет смысл включать как и альтернативные

В профильной программе универа – сколько угодно. В общеобразовательной программе – давайте сначала перестанем массово никому не нужный Паскаль преподавать и начнём, скажем, Питон или js.

Предлагать изучать альтернативные ОС в школе – это как неевклидову геометрию преподавать или там дифуры. Попытки были, результат – полное фиаско.

перестанем массово никому не нужный Паскаль преподавать и начнём, скажем, Питон или js.

Ага.. а завтра появятся очередные новомодные языки и побежим на них переобразовываться.
В первую очередь надо соображать, что делаешь, а язык дело наживное.
И вообще js? Для обучения??

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

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

Так вот, начинать с Паскаля в наше время – так себе идея.

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

Блочные скобки begin end от дедушки-Алгола – писанина из времён когда { } или любой какой хотите другой способ ещё не завезли. Аналогично про типизацию.

Это всё равно что по умолчанию учить писать «Милостивый государь» или «Уважаемый товарищ», когда уместнее просто «Привет».

Да и какие Питон/js новомодные... Они давно массовые, под рукой – и главное, живые. Не ах, но не с крестов же или, если в другую сторону, кложи там начинать.

7 лет как пишу на Дельфи, можно поподробнее, что не так с возвратом значений и почему это "хтонь"?
Про begin-end не соглашусь, они гораздо заметнее, логичнее и понятнее скобок{} и для обучение - самое то. Вообще Паскаль хорош именно относительной строгостью синтаксиса, это заранее отрубает лишнее при обучении, и своей "естественностью". В том плане, что многие конструкции описаны именно так, как ожидаешь. Сравнение - "=", как и ожидаешь из математики, начало блока логично "begin", логические операции так и пишутся - "AND, OR, etc", результат функции в Result и тд.

что не так с возвратом значений

// traditional syntax:
// the result is stored in the variable
// its name is the same as the function's

Во всех прочих языках используют return

// using special `result` identifier

Но есть и другой способ, с использованием специального имени

// using exit routine

А так же третий способ ;)

Паскаль хорош именно относительной строгостью синтаксиса

В питоне 1 способ вернуть значение из функции, в паскале 3.

что не так с возвратом значений

Вам тут выше объяснили. От себя добавлю чисто дидактический момент: я сам видел, как после Паскаля пишут `return := 5`.

Про begin-end не соглашусь, они гораздо заметнее

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

И да, не надо про Дельфи, оно хоть и похоже на Паскаль, но всё же не совсем Паскаль. Например, выпрыгнуть через goto изнутри функции у вас не выйдет на Дельфях, а в Паскале – да запросто.

В то же время с линуксом, эта ситуация кардинально другая. Если в программе что‑то не устраивает — её можно заменить, доработать, или написать автору сообщение на почту.

Какое же это вранье.

Весь софт под линукс опенсорсный? Или вы не умеете искать опенсорсный софт под винду?

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

Какую часть вы имеете ввиду? Файловую систему? Или какую?
сетевой стек можете заменить на другой? Или вы про прикладной софт? Так под винду прикладного софта в разы больше. Можно заменять и заменять.

Одно из ключевых отличий linux — командная строка.

Не понял, куда пропала командная строка Виндовс? Она там всегда была. А сейчас еще и шелл поддерживает. Я бы даже сказал, что в Виндовс поддержка баш намного лучше, чем в Линукс поддержка повершелла.

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

Я бы даже сказал, что в Виндовс поддержка баш намного лучше, чем в Линукс поддержка повершелла

В Windows нет поддержки bash вообще.
В ней есть слой совместимости, но к bash он не имеет никакого отношения.
В ней есть виртуалка, но свой bash она поддерживает сама.
На нее можно установить cygwin, который, действительно, поддерживает портированный bash. Но cygwin ≠ windows.


В общем, вы снова не разобрались в windows — и снова лезете поучать других…
Косноязычия и предвзятости OP, это, конечно, не отменяет. Но делает вас достойной парой.

Я вас удивлю, но bash ≠ linux тоже, дистрибутивы без bash существуют и повсеместно используются. Чтобы bash был в linux его тоже нужно туда установить, почему установленный тот-же cygwin(на самом деле аналогов много) это не тоже самое?

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

Чтоже касается "свой баш или не свой баш", так Линукс тоже "свой" баш поддерживает не сам, потому что баш не Линукса, баш он GNU-шный, как и множество консольных утилит.

Эта штатная фича при выполнении wsl --install неиллюзорно тащит с собой гипервизор, и создает пару vhdx.
Что как бы намекает.
Очень жирно.
На то, что WSL1 закопан давно.


Но нашлось трое, считающих, что лучше мелкомягких разбираются в их продуктах. :facepalm:
Ох уж эти виндузятские высокомерие и мнительность…


потому что баш не Линукса, баш он GNU-шный

И-мен-но!
Но у винды нет GSL, ни в каком виде, вообще )
Рад, что вы смогли это заметить.

Как бы оно не намекало, но wsl входит в дистрибутив и поддерживается именно MS, а не сторонним third party. Поэтому как бы вы не пытались тут ёрничать, и обвинять человека, который писал статьи про хитрости баш на хабр, что он виндузятник, правда в том, что баш скрипты поддерживаются в Windows штатно.

Прям-таки весь юзерспейс этого вашего WSL поддерживается ms?

А башскрипты в него отправляются штатно исполняться, стоит только в проводнике windows по ним щёлкнуть?

Пу-пу-пу-пу.
Не подддерживаются. Вы снова прогуляли матчасть.


Депрекейтнутый и тщательно заметаемый под ковер механизм WSL1, конечно, все еще работает. Бинарная совместимость, йоу.
WSL1 выполняет трансляцию вызовов в вывозы ядра NT. При этом типичные ядерные механизмы реализованы на уровне PoC. Например, работает fork(), но не работает ip r a …, не запускается screen (последнее легко исправить ручками, но все же), /dev практически не населен. Совместимость существует исключительно в юзерспейсе, и то не полная — в базе, например, отсутствует даже /run, на который опираются очень многие скрипты.
А если отредактировать виндовым редактором файлы wsl, так еще и абстракции начинают протекать.
Никакой специальной совместимости именно с баш там нет, она получилась постольку-поскольку — и так же сломается, потому что эта поддержка, как бы тавтологично это не звучало, не поддерживается.


Что же работает?
Работает — АХУДИВИТЕЛЬНО! — синтаксис bash. Потому что он разбирается самим bash.
Это включает в себя подстановку (дефолтных значений) и раскрытие переменных, несколько внутренних команд, вызов внешних команд. Вызванные команды, хе-хе, исполняться не обязаны.
Скрипты, так или иначе завязанные на нереализованный функционал, не работают. Например, вы никак не сможете добавить маршрут или перезапустить nginx привычным systemctl restart nginx.


То есть, дело обстоит точно так же, как и с posh на пингвине: формально работает, частично юзабельно, остальное — сломано и wontfix.
О чем этот и сказал.
В ответ на ваше


Я бы даже сказал, что в Виндовс поддержка баш намного лучше, чем в Линукс поддержка повершелла

Ну дык скрипты для администрирования linux в windows бессмысленно запускать. Думаю что с powershell в linux такая же ситуация; реестра нет, системные утилиты иначе называются и иначе работают. Скрипт для запуска ffmpeg или для переименования файлов должен работать одинаково ;)

Вот как раз для posh есть реальные шансы сделать одинаковые скрипты, если будет реализована кросплатформенно поддержка апплетов )
Будет такой мини-ansible


А wsl1 дорабатываться не будет, его заменили wsl2 (hyper-v + plan9). И когда он неизбежно отстанет в развитии — kinda поддержка окончательно превратится в тыкву.

в wsl2 нет поддержки баш скриптов?
Я не понимаю о чем идет спор.

Вы начали с лучшей поддержки bash@win vs posh@lin, что требует доказательства.

Ахуидивительно что systemctl не является частью баш, и частью gnu и даже частью windows.
От bash скриптов и ожидается именно синтаксис bash, и то, что в bash скриптах на виндовс я могу вызвать grep/awk это прекрасно.
Но я могу также вызвать какой-нить nircmd / winrar.exe / magick и другое, что собственно и логично.

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

В этом плане баш выглядит гораздо лучше cmd и проще powershell

Обычно да. То что я вижу на powershell - какое-то многословное.

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

Ну, обычно эту многословность "лечит" автодополнение.


Вот что в powershell действительно неплохо сделано (помимо объектных конвейеров) — так это то что можно взять и передать параметр не опасаясь пробела внутри.

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

Без алгоритмов, без инициализации интерфейсов, без парсинга вывода - это всё делает posh или классы .net, а единственный минус тут в относительной тяжеловености, когда базовый модуль PowerCLI загружается около минуты и потребляет 500 МБ оперативки.

Вы несете какой-то бред

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


Но вы сказали скрипты
А скрипты, это такие штуки, которые как раз тем и занимаются, что дергают все то, что


не является частью баш

Ну и, собственно, вот.


пытаясь доказать

У вас богатое воображение. Очень.
Или вы играете в соломенное чучело, одно из двух.

А скрипты, это такие штуки, которые как раз тем и занимаются, что дергают все то, что не является частью баш ну и, собственно, вот.
Ну и, собственно, на винде они тоже вполне себе могут дегать штуки, не являющиеся частью баш, нет? :)

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


Тут какая штука, исходно товарищ saboteur_kiev сказал:


Я бы даже сказал, что в Виндовс поддержка баш намного лучше, чем в Линукс поддержка повершелла

Но, как выяснилось, имел ввиду отнюдь не поддержку bash в windows, а возможность исполнять шелл-скрипты, чтобы это ни значило, установив ту или иную прослойку.
То есть, поддержку баша этими прослойками.
Причем, похоже, это очень странные скрипты, которые полагаются только на встроенные возможности баша, которых не так чтобы много. Скрипты из подстановок, целочисленных калькуляций и ассоциативных массивов…


В общем, ничего не понятно, но очень интересно.

Возможность штатно испольнять баш скрипты в виндовс, без установки third-party software, а именно используя стандартные, штатные вещи, встроенные вендором (Microsoft) в дистрибутив - это и есть поддержка.

Во всяком случае мой менеджер вполне успешно запускается и работает и линуксе и на винде.

Возможность штатно испольнять баш скрипты в виндовс, без установки third-party software, а именно используя стандартные, штатные вещи, встроенные вендором (Microsoft) в дистрибутив — это и есть поддержка.

Согласен, в случае с Windows это определение работает как ожидается.
Виноват, изначально забыл про wsl v1. Мои извинения.


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


А теперь спросим yay, что он об этом думает:


❯  yay -Ss powershell
<…>
aur/powershell-lts-bin 7.2.12-1 (+3 0.01) 
    PowerShell Core is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework
aur/powershell-preview-bin 7.4.0.preview.3-1 (+4 0.00) 
    A cross-platform automation and configuration tool/framework (binary preview package)
aur/powershell-git 7.0.0.preview.6.293.g5da06978b-1 (+21 0.00) (Out-of-date: 2022-12-11) 
    A cross-platform automation and configuration tool/framework (git version)
aur/powershell-bin 7.3.5-1 (+52 1.08) 
    A cross-platform automation and configuration tool/framework (binary package)
aur/powershell 7.3.5-1 (+75 0.41) 
    A cross-platform automation and configuration tool/framework (latest release)

Ого, да это powershell!
Он даже запускается и обрабатывает свои скрипты, надо же!
apt нам ничего не найдет, но это уже не важно: квантор всеобщности уже приказал долго жить.


Дальше остаются формальные бодания по поводу полноты этой поддержки (не хватает каких-то повершелловских апплетов — ну и причем тут Linux, если M$ налажала?; find работает не так а findstr вообще нет — ну а чего у вас ip не работает как надо и netstat кривой?), и…
… волшебные ядерные ассоциации.
Впрочем, тоже слабый аргумент.


Итого:


в Виндовс поддержка баш намного лучше, чем в Линукс поддержка повершелла

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

А теперь спросим yay, что он об этом думает:

Давайте.

$ yay -Ss powershell
bash: yay: command not found

Что вы еще расскажете про подержку повершелла под Линукс?

bash: yay: command not found

Что вы еще расскажете про подержку повершелла под Линукс?

Что у вас не установлен yay, без которого предложенная команда вообще не имеет смысла.

У вас, небось, и emerge нету. И что, это значит, что у 0xd34df00d app-shells/pwsh-bin не установится?


Ха-ха.

Они проходят по пункту cygwin, разве нет?

Это всё-таки отдельные пакеты утилит, пусть и с общей кодовой базой.


Кстати, вот ещё интересный вопрос. На линуксе баш является не частью линукса, а частью пакета утилит GNU. Означает ли неравенство gnu!=linux, что линукс не поддерживает bash?

Но делают они под капотом примерно тоже самое и примерно одинаковым образом. Тот же wsl от них существенно отличается и архитектурно и по реализации.
То так и MKS_Toolkit внутри DOSBox можно притянуть как поддержку.


Означает ли неравенство gnu!=linux, что линукс не поддерживает bash?

Хитро ))
Собственно, ядро linux его и не поддерживает, ни в каком месте.
Но оно поддерживает posix-программы, предоставляя совместимый api, и, как результат, семейство программ GNU, в которое входит баш, и которое поддерживает входящие в него программы (обратное было бы странно, не правда ли?), одна из которых, собственно, bash.
Как можно узнать отсюда, exec() проверяет наличие шебэнга, но это общий механизм, не выделенный специально для баш.
Так что да, никакой специальной поддержки в ядре для баша ­— нет.

На линуксе баш является не частью линукса, а частью пакета утилит GNU.

А давайте не цепляться к словам. Все прекрасно понимают, что Linux в данном контексте это не ядро, а операционная система. То есть, грубо говоря, то, что получается после установки какого-нибудь дистрибутива или запуска live-версии. И да, стандартный комплект гнутых утилит туда входит практически всегда.

Не я первый тут начал к словам цепляться.

А кто? В windows стандартных гнутых утилит немного.

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

Вы правы.
Только не до этого слова, а до чего-то вроде Автокад и фотошоп прекрасно работают на линуксе (если их засунуть в виртуалку с виндой и отдать ей видеокарту).
UPD: при этом, что на самом деле имел ввиду автор под синими занавесками, мы все еще не знаем. Знаем только то, что некий ограниченный набор баш-скриптов неясного содержания получилось запустить, используя винду на хосте.

Ну и толку, что "можно поставить", если на рандомной машине, с которой доведется работать, этих утилит, скорее всего, не будет. Линуксовую машину без bash, grep, awk и vim представить довольно сложно. А вот виндовую — наоборот, сложно представить с установленным WSL или cygwin, разве что случайно к программисту за машину сядете. Но тут обратный вопрос: программист свои проблемы обычно и сам решить может.

Не понял, куда пропала командная строка Виндовс? Она там всегда была.

Вы забыли дописать "она всегда была ущербной". Когда там хотя бы историю прикрутили? А поиск по ней? А возможность растянуть шире 80 символов?

А возможность растянуть шире 80 символов? А поиск по ней?

Отлично работает в терминале.

Я спрашивал "когда". Потому что лично по моим воспоминаниям, увиличивать ширину стало возможно только в win7, а историю прикрутили еще позже

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

увиличивать ширину стало возможно только в win7

Которая вышла в 2009 году. Linux в те дремучие времена ездил на ядрах 2.х. И что?

увиличивать ширину стало возможно только в win7

В ХР увеличивается. В 2000 тоже наверняка могло, но у меня её под боком нет.
В 9х вроде штатно возможности не было, только шрифт менялся, но были какие-то дополнительные инструменты для этого, в паре с FAR'ом использовались. Впрочем, это дело давнее и сейчас уже не поручусь.

В 9х это и не терминал был, а сессия доса, у которого лимит был вбит где-то на подкорке command.com и ломать его было чревато. А в NT он всегда ресайзился, на 4.0 уж так точно.

Потому и говорю, что 9х — через дополнительные инструменты. Почему-то в голове крутится conemu, но вроде это более позднее решение.


А так в 9х можно было только шрифт в окошке поменять.

А так в 9х можно было только шрифт в окошке поменять.

И размер окна терминала, но там размер выбирался из нескольких предопределённых символьных режимов, а-ля 80х25, 80х43 и т.д..

Да, ещё можно было высоту окна выставить — 25, 43 и 50 строк.


Заголовок спойлера

image

Увеличить ширину в свойствах ярлыка можно было отродясь. Мышкой — хз, не надо было, так что не заметил.

Увеличить ширину в свойствах ярлыка

В свойствах ярлыка?! Хорошо, оно работает. Но какое же это извращение.


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

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


Кстати, что там со стандартными утилитами обработки данных? Поиск подстроки, замена, регулярки.

Кстати, что там со стандартными утилитами обработки данных?

С реестром не работают. С pdf не работают. С таблицами xlsx не работают. А текстовых файлов у меня нет, например. Но я слышал что есть WSL, так что не уверен что пользователи windows чего-то лишены ;)

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


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

Как минимум для просмотра реестра буквально вчера находил утилиту.

Стандартную?

Обработка текста это ведь не только файлы. Это списки вообще всего.

Видел я файл без списка, а вот список без файлов - впервые ;)

Есть подмножество задач, где стандартные текстовые утилиты сильно помогают. Но, видите ли, многим юзерам эти задачи неактуальны. Они даже не в курсе что такие задачи существуют ;)

Ну а WSL это вообще виртуалка, пусть и сильно интегрированная

Ну и ладно. grep там работает? Если да - какая разница, через какую прослойку его запустили.

достаточно установить виртуальную машину

Ну и ок. Я слышал, есть всякие wine, qemu.. Если задача решается с приемлемым результатом - какая разница?

Стандартную?

reg.exe вполне себе стандартная, и использовалась мною в скриптах установки ещё на XP

Я думал что имеются в виду стандартные grep/sed/awk для текстовых файлов ;) Так то reg.exe - стандартная утилита для записи в реестр, ничего другого (даже поиска по реестру) она не умеет.

Э-э-э, а что в таком случае делает команда reg query?

В смысле не умеет? А как же ctrl+F ?

Хотя, в целом, уже в win7 пропала необходимость постоянно лазить по реестру.

Видел я файл без списка, а вот список без файлов — впервые ;)

Да хотя бы список файлов, полученный от другой утилиты.


Есть подмножество задач, где стандартные текстовые утилиты сильно помогают. Но, видите ли, многим юзерам эти задачи неактуальны. Они даже не в курсе что такие задачи существуют ;)

Мы ведь говорим в контексте обучения использованию командной строки. Хорошо, работа с текстами у вас не в приоритете. А что тогда? На чем демонстрировать ее преимущества?


Ну и ладно. grep там работает? Если да — какая разница, через какую прослойку его запустили.

Да действительно! Изучаем одну систему на примере утилит, запускаемых в виртуалке другой. А не проще сразу это другую использовать?


Ну и ок. Я слышал, есть всякие wine, qemu… Если задача решается с приемлемым результатом — какая разница?

wine это слой совместимости, набор виндовых библиотек, никакой виртуализации там нет, а qemu именно виртуалка, как virtualbox.


Что же до задачи — если надо именно решить конкретную задачу, то да. Можно и виртуалками пользоваться, и вайном, и wsl, и DOSBox — чем угодно. Но мы ведь говорим про учебные цели. То есть упомянуть разнообразные извращения, конечно, стоит, но не смешивая с возможностями самой системы.


reg.exe — стандартная утилита для записи в реестр, ничего другого (даже поиска по реестру) она не умеет.

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

Да хотя бы список файлов, полученный от другой утилиты.

Список строк, с разделителем. Эти строки возможно являются именами файлов. Или директорий. Или не являются, потому что пробелы кто-то забыл экранировать. Или кавычки. Или одинарные кавычки. За списком файлов - это пожалуй к powershell ;)

Список строк, с разделителем. Эти строки возможно являются именами файлов. Или директорий.

Да, именно так. Произвольный список строк.

Произвольный список строк.

Вещь, как правило, забавная. Но бесполезная ;) Чтобы перейти от строк к файлам - нужно сколько намазать вокруг проверок и экранирований, что от былой красоты и изящности мало что остается.

Вещь, как правило, забавная. Но бесполезная ;)

Настолько бесполезная, что используется постоянно.

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

В повершелле принято передавать имена файлов как имена файлов, а не как произвольные строчки. И строить свои скрипты исходя из работы с объектами. Нравится вам это или не нравится - ваш выбор, в какой ОС работать. Но если вы не хотите следовать тому, как это было задумано, а потом ругать винду потому что ВАШЕ представление как это должно быть, работает плохо... типичный линукс-снобизм

С точки зрения старого администратора Windows c архитектурными подходами и их непониманием тут ещё круче.
В Powershell для работы со всякими внешними объектами есть такое понятие как поставщики и их диски.
Вот их список из моей системы на Win7:
(формат: имя поставщика имя диска комментарий)
Alias Alias: Псевдонимы Windows PowerShell
Certificate Cert: Сертификаты x509 для цифровых подписей
Environment Env: Переменные среды Windows
FileSystem C:,D:, и т.д. Файлы, каталоги и диски файловой системы
Function Function: Функции Windows PowerShell
Registry HKLM:, HKCU: Реестр Windows
Variable Variable: Переменные Windows PowerShell
WS-Management WSMan: Конфигурационная информация WS-Management
Если хотите посмотреть — команда Get-PSDrive вам поможет.
На серверах или при установленных средствах управления (RSAT) дополнительно есть и другие поставщики (для работы с AD и т.д.).
Работать с ними можно как с обычными файлами (команды *-Item и *-ChildItem) указывая путь, начинающийся с соответствующего квазидиска. Или можно выбрать в качестве текущей позиции (команда Set-Location, имеющая также хорошо знакомый псевдоним cd) контейнерный объект в поставщике (каталог, ключ рееста и пр.) и использовать имена относительно этой текущей позиции.
И ещё, с файлами программам, поддерживающих COM Automation (того же Excel) можно работать через него (кто писал скрипты на js/vbs для администрирования — знает, как).
Короче, если вас вдруг занесло в какую-то незнакомую систему — учите матчасть. Мир командных оболочек и команд альтернативных систем прекрасен и удивителен, и одним POSIX он не исчерпывается.
сперва ругаем виндовс, потому что в Линуксе совсем другой подход,

Сами придумали тезис, сами опровергли. Ну ок.

используется постоянно

От отсутствия альтернатив. На грабли с пробелами в bash только ленивый не наступал ;)

От отсутствия альтернатив.

И какой из этого следует вывод? Видимо, ничего лучше не придумали, иначе бы давно перешли. Есть, конечно, еще вопрос совместимости, который заставляет тянуть костыли прошлого тысячелетия. Но в новых проектах с этим проще.

И какой из этого следует вывод?

bash - привычное зло ;) Некоторые задачи в нем решаются удобно, некоторые - не очень. Это не серебрянная пуля и не must have для всех-всех-всех.

Если он худо-бедно решает свой класс задач, и ничего лучше не придумали, то все же маст хэв. Ну пусть не Баш, а zsh или что-то еще подобное. Преимущество bash — распространенность, довольно трудно найти дистрибутив, где его нет.

У powershell будет список объектов, возможно содержащий одну или несколько строк, из которых, возможно, какая-то будет именем файла — сильно зависит от того, каким образом этот список был получен.


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

У powershell проблем с экранированием нет, у него есть проблемы с кодировками.

Забыли добавить: внутри, пока нет входящих данных извне.
А когда приходится, например, дергать ps командной строкой из zabbix agent (да из чего угодно, в общем) — начинается веселье.

Жду от автора статью "Почему Java должна быть единственным языком программирования в образовательном процессе".

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

Главное, чтобы на чистых функциях и без сайдэффектов )

Мои пять копеек про линукс десктоп, почему использую его для домашнего ноута.

  • Эстетика последних версий GNOME и libadwaita. Ничего не могу с собой поделать, нравится и всё. Странный UX гнома из коробки доводится до привычного установкой нескольких расширений.

  • UI внутри ОС консистентен, в отличие от Win10-11. Есть набор аппов в стандартном для GNOME стиле для почти всех потребностей. У сборок с KDE в этом плане еще лучше. И нормальная консистентная между аппами темная тема.

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

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

  • Из коробки работают многие девайсы без установки руками драйверов, как в других ОС. В win10 например подключение Switch Pro Controller геймпада потребовало сложных телодвижений, в свежих версиях ядра - работает само.

  • Многие актуальные дистрибутивы идеально запускаются на древнем железе (например, последняя версия Mint отлично дружит с моим олдовым аймаком 2007 года; поддержка ОС от эппла закончилась с десяток лет назад).

  • Под wine работают все интересующие меня игры из детства с гога, просто кликом на виндовый инсталлятор. Для той единственной (дьябла 1), что не работает под вайном есть devilution.

Из минусов:

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

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

  • Масштабирование ОС на 125% мастхев если у тебя ноут на 13''. С текущими перспективами fractional scaling в линуксе проще поменять на 15'' и немного увеличить шрифты (или не взрывать себе мозг и поставить Win11, если есть лицензия).

  • Гибернация всегда без исключений работает криво. Сколько было девайсов - ни на одном нормально не заработало. Для кого-то это критично.

Странный UX гнома из коробки доводится до привычного установкой нескольких расширений.
Не ткнете пальцем, интереса ради?
Я, конечно, вряд ли так просто с mate слезу, привык уже, но для общего развития…

Да, конечно. У меня есть текстовый файлик с действиями, которые надо не забыть накатить на свежий установленный дистр. С удовольствием делюсь.

Итак, экстеншны:

Dash To Dock - док как в макос. Я обычно ставлю его влево, не на полную ширину и автоскрытие (так было в pre 40 версиях гнома). Для небольшого экрана самое то. Если экран от 15'' и место не жалко, то можно попробовать панель задач внизу Dash To Panel + Arc Menu с иконками по центру экрана, как в Win11.

Caffeine - не блокировать экран, никогда.

Blur My Shell - красивое размытие фона списка приложений. Странно, что это не из коробки. В той же 11 винде все полупрозрачности/размытия включаются галкой в настройках.

Impatience - меньше время анимаций. По дефолту оно имхо слишком большое для продуктивной работы.

Bluetooth Quick Connect - на 43 гноме актуально, показывает список paired блютус устройств в меню. В 44 вроде бы это встроено.

Date Menu Formatter - я хочу англицкую локаль всего, но дату в календаре видеть в привычном формате.

Grand Theft Focus - идеальное название, убирает всплывающие уведомления.

Quick Lang Switch - чинит баг с необновляющимся индикатором языка раскладки при переключении через альт+шифт в вейленд сессии.

Rounded Window Corners - по дефолту красивые закругления у окон только у нативных гтк приложений. Этот экстенжн делает консистентно закругления у всех.

Just Perfection - прятать элементы UI. я убираю значок Accessibility (он вылезает автоматом при установке больших шрифтов) и кнопку Activities (не пользуюсь несколькими рабочими столами).

Media Controls - вместо кнопки Activities удобно поставить панель управления медиаплеером. Плюс там показывается название песни, если слушать онлайн радио.

И помимо экстеншнов стандартный набор команд правки настроек гнома:

gsettings set org.gnome.mutter center-new-windows true
gsettings set org.gnome.desktop.interface text-scaling-factor 1.14
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['Alt_L']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['Shift_L']"

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

Как-то так.

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

Подскажите, пожалуйста - что позволяет Вам доверять приложениям на flathub, если у большого количества (если не большинства) из известных там копий популярных приложений на Windows/MacOS стоит приписка "данный wrapper не имеет отношения к разработчикам приложения" (например, Discord). Где гарантия, что в Discord на flathub не встроен код, который перенаправляет Ваши сообщения на сторонний сервер?

А где гарантия, что в дискорде с сайта дискорда не встроен такой же код?

https://github.com/flathub/com.discordapp.Discord можно позырить, как собирается этот враппер. Для совсем маньяков-параноиков. И в целом, это не отличается от установки с AUR (https://aur.archlinux.org/packages/discord_arch_electron) где точно так же могут встроить бяку в код. Т.е. это глобально претензия не к флэтхабу, а к концепции пакетных менеджеров. Либо доверяешь мейнтейнерам, либо компиль всё своими ручками. ISO-шнику дистрибутива тоже в теории можно не доверять.

Мб я идеалист, но в моем представлении один человек из опен-сорс комьюнити не должен гадить другому. Иначе вся концепция рухнет.

p.s. Но телегу с рабочей перепиской ставлю с сайта :)

автор, молодец, что используешь линукс, но не суй его в рот другим.

Если в программе что-то не устраивает — её можно заменить, доработать

И как часто средний пользователь что-то дорабатывает в используемых программах даже при наличии такой возможности? Особенно если программирование - не его профессия, а он, например, бухгалтер или дизайнер?

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

Хотя мне всегда отвечали мейнтейнеры проектов, когда я приходил к ним с вопросами, мне кажется это хорошая практика.

Я вот пользуюсь проприетарным IceBookReader чтобы читать книжки на винде. Захотелось мне фичу для мобильности, связался по почте с автором, заплатил, он запилил новую версию.
Какие проблемы?

А кто-то пользуется опенсорсным FBReader или Calibre или еще чем-то, взяли форкнули, сами доделали.

Вы совершенно не верите в огромное количество open-source софта под виндовс? Может все-таки проверите, как бы не оказалось, что под винду его больше чем под Линукс.

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

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

На данный момент у статьи всего 3 плюса, поэтому она не попала на главную, но при этом уже больше 200 комментариев. Вот это прям настоящий hollywar в комментах развернулся. Пятница была бы идеальным днём для такой статьи. :)

Холивары типа Linux, Windows, Mac против всего остального походу никогда не закончатся.

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

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

Android vs Windows жаль закончился, осталя только Android vs IOS

"...Холивар (от англ. holy war, священная война, алсо, религиозные войны) — общее название споров между людьми, являющимися приверженцами диаметрально противоположных мнений, которые они не желают менять. Такой спор принципиально бессмысленнен, так как ни один из участников дискуссии не собирается выслушивать и обдумывать доводы своего оппонента, а стремится максимально красиво выглядеть в глазах зрителей..."

Лор. Ностальгия. 9 дней и 9 страниц.
Новая файловая система для флеш накопителей от M$ - ещё один шаг против популяризации Linux

Плохо влияет на образовательный процесс лень и нежелание учиться. А какой там софт - дело десятое.

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

Зачем Linux? Надо OS/2 показывать - там по настоящему объектно-ориентированный десктоп, а не это вот всё.

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

У младшего ребенка на ноуте linux. Ядро не пересобирает, скрипты для gimp не пишет. Командной строкой не пользуется. Что делать? ;)

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

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

Спасибо за сравнение, обратная совместимость и правда имеет огромное значение.

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

Возможно это позволило бы решить проблему обратной совместимости и увеличить простоту поддержки. Более того, можно добавить функции для быстрой доставки пакетов в CI-CD системы, это уже деталь.

попытка решения несуществующей проблемы негуманным методом. правильный и гуманный по отношению к пользователям метод, к сожалению, требует кровавой диктатуры в отношении разработчиков. а в случае линукса конкретно еще и идейно неприемлем, потому что Stable ABI Nonsense вместе с "есть только сегодня" и "я так вижу".

Есть flatpak/snap, но фанатики их совсем не любят, потому что не unix way.

snap is a cancer
Он как хром в %APPDATA%, или как docker — плодит и размножает мусор, и совершенно не умеет за собой убирать.

что вы понимаете под обратной совместимостью?

  1. Код программы для платформы Win16 можно собрать под платформу Win32 и запустить на Windows 11.

  2. Программы для платформы Win32 начиная с Windows NT 3.х могут быть запущены на Windows 11 без пересборки из исходников.

    Т.о. вся линейка Windows платформ поддерживает неразрывную обратную совместимость по коду и по ABI начиная от Windows 3.x до Windows 11.

могут быть запущены на Windows 11

... а могут быть и не запущены, если им требуются определённые драйверы и низкоуровневые API, что характерно для DRM и иже с ними. Ну нет в Win 10/11 поддержки SafeDisk и StarForce (выпилили нужное для их работы из-за проблем с безопасностью), и всё тут, так что ваши честно купленные диски с играми превратились в тыкву.

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

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

99% программ такие и есть. А сетовать на отсутствие драйверов для конкретной программы это такое.

Это для неразрывной совместимости делали XP Mode в семерке?

Да, есть обратная совместимость. И как жаль, как печально жаль понимать, что пересобрать программу нельзя, потому что никто не отдаст её исходников!

потому что никто не отдаст её исходников!

Бесплатно -- не отдаст.

что-то и за деньги не отдадут, потому что либо юридический статус части когда вообще никому не понятен ("мы эту библиотеку купили 15 лет назад, с тех пор разработчики три раза банкротились и четыре перекупались"), либо потому что кода просто не осталось… :)

Наглядно о совместимости Microsoft Midtown Madness с Microsoft Windows

Как всегда, если бы не сообщество — был бы хрен без соли.


UPD: кстати, а вы пробовали собрать софт, написаный под Watcom С или Borland С под современные винды?
Современный компилятор от древнего будут отделять десяток ревизий стандарта.

а вы пробовали собрать софт, написаный под Watcom С или Borland С под современные винды?

Borland C++ builder 6 и сейчас стоит на Windows 11 и нормально собирает свои же старые проекты с субпиксельной графикой GDI+.

Принимается.
Правда, приложение как было 32-битным так и останется. То есть, заявленный перенос 16 ⇒ 32 (16 ⇒ 64, 32 ⇒ 64) не случится.

ну так откройте исходники, кому нужно - соберут сами.

и много людей сами собирают Fx, LO, Chromium? или, даже, сколько людей имеют железо, которое этих монстров соберет за разумное время?

тут, очевидно, подразумеваются мэйнтейнеры дистрибутивов.

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


И ладно бы такая проблема только у программистов-одиночек возникала с их пет-проектами, так ведь даже у крупных проектов с крупными сообществами возникают проблемы!


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

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

И уж я думаю, что на убунте вопрос с докером при помощи PPA решён.

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

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

Это со стороны пользователя докера получается мультивыбор. А теперь поставьте себя на место разработчиков докера: им всего-то нужно подготовить пакет для убунты, дебиана, федоры, альпина, редхета… что я забыл? А, я забыл ещё 500 дистрибутивов.

А, я забыл ещё 500 дистрибутивов.

А у тех 500 дистрибутивов есть кто-то, кто следит за версиями ПО?

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

а теперь главный вопрос. сколько денег/времени будет терять компания/школа/ т.д на обучение, перепрофилированию под опенсурсный софт. вместо word, pp, etc переезд на libreoffice. вместо условного autocad - freecad. photoshop и другие продукты адоба на gimp kdenlive etc. людям нужны инструменты а не открытые аналоги только лишь потому что фанатики опенсурса так решили. ну и время на перестройку это лишь и говорит о том что опенсурс "аналоги" еще не настолько хороши. если у вас опенсурс головного мозга дай бог сидите только на таком ПО не надо всем кто зарабатывает деньги/обучает их зарабатывать мешать и пихать свои идеи.

разница между libreoffice и вордом для 99 процентов пользователей в школе, сдается мне, пренебрежима.

Линукс это система для разработчиков и домохозяек. Для продвинутых пользователей и профессионалов в области дизайна или проектирования, например, он не может предложить ничего. В "магазинах" популярных дистрибутивов нет программ, которые могут закрыть потребности таких пользователей. А проприетарные программы с винды просто так не поставишь. На каждый чих - приходится лезть в терминал, программы в котором были написаны разработчиками для разработчиков и не знают слов UI и UX даже в разрезе консольного использования. Проще говоря, Линукс это все-таки узкоспециализированный инструмент, а не "ОС для каждого". К сожалению. И зачем его использовать для образования - не очень понятно, т.к. в школах на информатике одна профанация, в лучшем случае питон поизучают. В худшем - насилие паскалем или черепашкой. В среднем - потыкают какой нибудь ворд (илм либр офис - не принциально). То есть да, тут линукс закроет потребности, но разница с виндой будет по факту отсуствовать, школьник скорее всего даже не поймет подвоха. Если ВУЗ - там часто будущие специалисты работают с проприетарными программами с которыми они будут работать и далее - в процессе своей карьеры. И сюрприз-сюрприз - они скорее всего под винду. Мой товарищ с маком держит виртуалку с виндой под это дело.

На каждый чих - приходится лезть в терминал

Например? Что у вас за чихи такие? ;)

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

куча проблем с поддержкой железа

Это делается 1 раз в жизни. Или у вас железо каждую неделю новое?

Пытаешься гуглить - все решения строго через терминал и без объяснения происходящего.

все решения строго через терминал реестр и без объяснения происходящего. Другое дело ;)

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

У меня на рабочем ноуте убунта, началось с того, там есть ubuntu software, который не запускается при клике на приложения - ubutu software. Вот прям родная программа, с которой предполагается я буду начинать работу не запускается. Но через жопу танцы с бубнами запустить получается. Версия приложений там, на момент выхода моей убунты, 20.04, были на пару версий ниже, чем релизные версии на их сайтах. Ладно, не надо мне самые новые, мои задачи просты и банальны, просто хочу postman поставить, хоть и старую версию.. Нахожу, ставлю, запускаю, хер мне а не постмен. Он есть, но не запускается. Ладно, видать это тот самый инсталлер от убунты кривой, но я же на линуксе, гуглю, ctrl+alt+T, пошли копипастить команды с очередного мануала, что бы блядь, установить, сука, простую программу. Через 15 минут запускаем.. Не запускается. Ладно, спасибо хоть curl работает, я же на линуксе, зачем мне удобный postman, если у меня есть curl. И пусть весь мир подождет.. Ладно, поставим virtualBox, задачи разные, для решения некоторых надо виртуалку.. Ставим, запускам, видем сообщение у вас очень старая версия, обновите пожалуйста. Да без проблем, я же на линуксе, где все легко и просто судо апт абдейт, ии.. их нет.. обновлений нет.. Ну да ладно, мне не важно, что бы не задолбывало, отключу проверку обновлений. Надо докер поставить.. Докер ведь, самая что ни на есть линуксовая программа, гордость поколения, и остро насущная необходимость, ведь если у тебя несколько разных программ требуют того же питона разной версии, то сразу вспомнишь почему линусоидов кразноглазиками кличут. А тут в докере, со всеми зависимостями нужных версий, красота.. Но, не так то просто поставить докер на линукс оказывается.. Нет, на самом деле просто, но не так просто как ожидалось.. Иди на сайт докера, открывай консоль и начинай копипастить, добавим репозиторий, добавим ключ, скачаем это, добавим то.. И вот, 20 минут и докер установлен.. Да ведь изи, не то, что на всех этих виндовсах, пока файл скачаешь, пока запустишь.. И так на каждый чих, хочешь что-то, ищи где оно есть, потом ставь программу/добавляй репозиторий, что бы установить программу. Хочешь обновить, это же линукс, тут же блять, все просто и легко одной командой.. Ага, одной командой на апт, одной командой на снап, одной командой на еще что нибудь.. Одна команда на каждую херню, которой в той же ненависной винде даже не будет(в смысле херни не будет, типа обновления снапа для обновления программы). Че там еще из бесячего, вот у меня хром говорит, типа ты в опасносте, я уже неделю без обнов, покраснел весь, не будь мудаком, обнови меня.. Окей, в винде клик по кнопке перезапуск, и все в порядке.. В линуксе закрой хром, открой командную строку или программу, через которую ставил хром, не любой другой инсталлер, с которого ставил другие программы, потому, что их не было в том.. И обнови там, и только потом открывай новый, обновленный хром.. Жесть как удобно..

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

Извините за слегка агрессивный тон, вылил накипевшее за несколько лет..

началось с того, там есть ubuntu software, который не запускается при клике на приложения - ubutu software

Такая же нога но не болит ;)

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

И эта нога не болит. Версия старая, обновляться не требует.

В линуксе закрой хром, открой командную строку или программу,

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

Шёл 2023-й год. Линуксоиды всё ещё рассказывают виндузятникам и маководам, как те страдают; виндузятники и маководы по-прежнему не понимают, в чём же эти страдания заключаются.

чём же эти страдания заключаются

Ну, а если надо 100500 млн фоток переименовать? (поправляю белое пальто) ;)

Да что ж за пристрастие к массовому переименованию-то такое?)

Можно очень ограниченно через Explorer, можно более продвинуто, с масками, через PowerShell. Если этим надо действительно регулярно заниматься - то есть сторонний софт, причём на любой вкус и цвет...

Пристрастие примерно такое же, как установка фотошопа, десяти кадов и тридцати 3D-рендереров домохозяйке )

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

не страдаю

Сарказм слишком тонкий получился ;)

Переименование - задача, сама по себе не особо нужная.

Зато когда нужна - очень хочется ее автоматизировать. Последний раз - переносил сохранения одной игры с пиратки Steam на лицензию EGS. Файлы точно такие же, но с другим расширением. И их штук пятьдесят. В Total Commander переименование делается за минуту, а руками пришлось бы повозиться.

XnView. Им не только переименовывать можно, но и много чего другого с фотками делать (в том числе и с очередью команд). Да и не только с фотками — переименовывать, например, можно файлы любого типа.

(текущий уровень грамотности — 99%).

переучиваится

интсрументов

мукулатуру

как иронично

Операционная система это как инструмент или хранилище инструментов, к чему привык тем и пользуешься, к примеру я привык к Нортон командер и дос, вот я и юзаю по сей день far manager. Однажды был случай, лет 8 назад у меня один из сыновей друзей спрашивает что лучше использовать виндовс или какой то линукс, на что я сказал "если ты не умеешь работать ни там ни там то учись на линукс", и сейчас этому парню 20 лет и теперь я чаще задаю ему вопросы которые не могу решить относительно линукса), и у него ниразу не возникло проблем с несовместимостью каких либо программ ибо всё что ему было нужно для учебы отлично работало через вайн.

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

Я впервые познакомился с Linux в 15 лет, все знаком свелось к тому что скачал несколько программ с сайта, при попытке их установить установить, открывался архиватор. Так у не сумев ничего установить, удалил систему и вернулся на Window.

Первой моей системой был windows, потом я попробовал macos. Потом ради интереса начал пробовать разные дистрибутивы. Сначала elementary, потом ubuntu, calculate, fedora. При чем это было сильно размазано по времени, но возвращался к windows/macos. Потом я попробовал manjaro и это было сильно удобнее для работы, потому что docker контейнеры быстрее собираются, чем на windows.

Главное не переставать пробовать, дистрибутивов очень много. 100% какой-нибудь подойдет, а если нет, то можно собрать свой из arch, gentoo или from scratch или еще как-нибудь.

вся работа с системой сводится к гуглению как что-либо сделать в линуксе.

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

В дополнение скажу (по личному опыту), что window и macOS можно использовать без залезания в Google и всю жизнь не знать, для чего нужен терминал, в то время для взаимодействия с Linux без специальных курсов и Google не обойтись. В Linux (насколько я разобрался) почти все делается через терминал, самостоятельно никогда не узнаешь, какие магические буквы нужно вписывать в консоль для выполнения каких-либо действий и какой файл нужно отредактировать для изменения настроек.

для взаимодействия с Linux без специальных курсов и Google не обойтись

Опровергаю утверждение контрпримером. В 1994 году гугля не было, а я вполне себе работал. Просто есть такое волшебное слово — man.

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

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

Кто принципиально запрещает править реестр через терминал?

У вашего вопроса нет логической связи с предыдущим утверждением. "Не нужен" не подразумевает "запрещает". Например, никто вам не запрещает с помощью дохлой кошки чистить себе обувь. Но вам ведь дохлая кошка не нужна, верно? У вас щёточка для обуви есть, щёточкой как-то сподручнее. Вот и с терминалом для правки реестра то же самое. Скрипты написать, которые реестр правят для автоматизированной установки/настройки чего-либо - это понятно. Но руками лазить в реестр через терминал, это то же самое, что чистить обувь дохлой кошкой. Можно, но... не нужно.

Но руками лазить в реестр через терминал, это то же самое, что чистить обувь дохлой кошкой. Можно, но... не нужно.

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

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

штука эпизодическая и одноразовая, скриптовать там ничего не нужно.

И эти люди запрещали мне ковырять в носу шутили про "сегодня в еде потребности нет"...

в то время для взаимодействия с Linux без специальных курсов и Google не обойтись

Как-то во времена ДОСа ВСЕ работали в "терминале" и обходились без курсов и гугла. Ах да, гугла тогда еще не было.

Для доса я покупал Фигурнова. Для винды уже ничего.

Как-то во времена ДОСа ВСЕ работали в "терминале" и обходились без курсов и гугла

Во времена ДОСа подробное описание всех его команд с картинками вмещалось в ту же коробку, в которой ДОС продавался. А без картинок - в не слишком толстый буклет.

Не понимаю столь горячей дискуссии. Типичная же ситуация - неофит увидел и пощупал Линь (может, даже и в консоли чего-то поделал), решил, что теперь он супермегаспециалист, крутой программист и по совместительству хакер и побежал нести свет истины про величие Линукса, "перекомпиляцию ядра", "M$" и "Windoz muzdai" в массы. В первый раз, что ли? Последние лет 20 так постоянно происходит, наверное, у каждого был такой знакомый неофит со взором горящим, который хотел перевернуть мир после того, как поработал час в Убунте.
Сразу оговорюсь: я не против Линукса и сам очень часто его использую на работе и вне ее, в том числе, на домашнем ноуте и файловом сервере.

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

На мой взгляд - все сильно наоборот, лет через 200 процент людей знающих консоль или имеющих в ней потребность уменьшится с 2-3% до 0.0Х% (не до нуля, так как потребность покопаться и что-то поднастроить вряд ли исчезнет).

Почему так думаю? Вижу четкую траекторию прогресса с упрощением процесса взаимодействия (терминал vs шлем Apple Vision с основой в виде управления взглядом + жестами, голосом) и повышения уровня абстракции (знать код vs попросить chat GTP написать скрипт).

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

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

Э-э-э...как бы вам сказать, вам сколько лет? Я очень хорошо помню, как в конце 80-х и даже начале 90-х курсы по пользованию MS-DOS и Нортон Коммандером были вполне полноценными курсами на 15-20 занятий, а книжка Фигурнова разлеталась как горячие пирожки на вокзале, и при этом люди все равно пугались, путались и боялись. Сколько и как вы будете учить на уверенное адмнистрирование Линукса, даже боюсь представить. 200 лет - однако, сильно долгий путь. Письменность Кирилл и Мефодий внедрили у бесписьменных народов в течение нескольких лет. А образовательные издержки для 200-летнего внедрения командной строки будут посущественней.

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

во-первых, это породит дестандартизацию. Садясь за компьютер с виндой, я знаю, что основной набор компонентов более-менее одинаков даже безотносительно версии и наличия патчей. С Линуксом вообще не возможно ничего сказать, если это не хорошо известная лично тебе коробка. А если она еще и систематически правится пользователем, да еще малоквалифицированным, который не может даже приблизительно рассказать, что же он делал, пиши пропало. Во-вторых, приспособиться к тому. что не устраивает, пользователю проще, чем полчаса настраивать что-то. Например, Яндекс добавил работу с Яндекс-диском как с сетевым диском в винде. Сколько пользователей из известных мне 50 настроили? Пять. Остальные работают через веб-интерфейс, и каждая настройка для них стресс.

Так, если человек в рамках образовательного процесса научился работать только в ms office на операционной системе windows, то в дальнейшем очень трудно будет переучиваится на другие программы и что‑то изменить в рабочем процессе.

Процесс переучивания чему-либо в принципе сложен, чему бы ни переучивался. Для больших чисел рядовых пользователей это не зависит от того, на что они обучены в принципе. Я вам скажу по секрету, что эффективно работать в MS Office могут только 5-10% сотрудников офисов, остальные используют эти инструменты в качестве устройства ввода-форматирования-вывода-связи, и адски теряются, когда надо в этих инструментах делать что-то сложное или нестандартное. То есть, к эффекту переучивания надо добавить общее поверхностное знание используемых систем. Отчего вы решили, что Линукс они будут знать лучше и потому будут эффективней переучиваться?

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

В Линуксе выбор инструментов для пользователя на текущий момент варьируется от полного отсутствия инструментов до выбора из друх-трех сортов уродского инструмента. Когда. например, LibreDraw открывает мне pdf с текстовым слоем где текст текстовыми объектами по три буквы в каждом, то на Adobe пользователь молиться будет. Потому что корпорации при всех минусах, делают продукты БОЛЕЕ ЦЕНТРАЛИЗОВАННО, более ПЛАНОВО и лучше КООРДИНИРУЮТ внутри себя стандарты и форматы. Open-source разработчики не могут, как показала практика, ни координировать продукты между собой, ни планово их разрабатывать, а пострелизная поддержка обычно вообще эфемерна и зависит от левой пятки условного Пети, который никому ничего не должен и, похмелившись, решал самопально закрыть баг, о котором ему написали пользователи в стотысячный раз. .

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

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

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

Вот это основная проблема там, где речь идет о больших деньгах.

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

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

Описанная вами проблема -- проблема тех, у кого большие деньги и всё равно хотят всё нахаляву

Отнюдь. Там люди как раз понимают что халявы на бывает и готовы платить.

Потому что они или нанимают автора для поддержки

Для мелкого софта может еще прокатит, ноне для ОС.

Для ОС, если речь идет о линуксе, берется коммерческий дистрибутив типа RHEL, SLES или подобного, с нормальной поддержкой.

Или вообще специализированная для конкретных задач система (IBM i/IBM z, VxWorks, QNX и т.п. - для разных задач разные системы).

Отнюдь. Там люди как раз понимают что халявы на бывает и готовы платить.

Ну стало быть и проблемы вышеописанной нет.

берется коммерческий дистрибутив типа RHEL

Тем более. (и да, я тоже упомянул этот пункт)

Как водится на Хабре, дискуссия плавно улетела от темы. А тема насущная, у нас в те времена, когда Ольга Дергунова возглавляла российский офис Майкрософт, MS Windows чуть ли не силком запихали в школы. Читал директиву тогдашнего премьера Касьянова, где он требовал ускорить внедрение технологий Майкрософт в учебный процесс. В итоге ученики выросли, госуправление в центре и на местах поголовно оказалось под технологиями Майкрософт, в госкомпаниях и во всех ключевых отраслях к 2022 году сохранялась полная зависимость от недружественных, как выяснилось, информационных систем.

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

Я вообще против такой постановки вопроса как "единственная система". Почему она должна быть единственной?

Линукс, при всех его достоинствах, далеко не единственная система, используемая в мире. И даже не самая распространенная среди "конечных пользователей". И в ней нет многого, что есть для других систем (речь идет о профессиональном специализированном софте)

Возьмем фотошоп - ГИМП до него сильно не дотягивает, если вам нужно профессионально обрабатывать фото.

Аналогично - Корел.

Аналогично - CAD софт.

Да вот даже пример из личного. Работаю удаленно. Часть доступов реализована через VPN с авторизацией по токену. Часть - через VDI. С VDI все ок. Проблем нет. А вот с VPN... Пока использовали RSA токены проблем не было - есть клиент SNX который их поддерживает. Потом перешли на токены Indeed. И все. Приплыли ваши чемоданы. Под Линукс нет подходящего клиента с поддержкой Indeed токенов. Просто нет. Обращение в SNX результатов не дает. Ну не надо оно им. Да еще забесплатно. Такая вот "поддержка продукта".

Так что еще раз. Не надо в образовательном процессе закладываться на какую-то единственную систему. Ни на какую. Вводить туда Линукс - да, нужно. Хотя бы просто для того, чтобы показать что кроме видны бывает еще. И дать какие-то основы понимания как оно работает и умение (хотя бы на базовом уровне) пользоваться.

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

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

Сам бы не был столь категоричен: вместо "Linux" лучше написать "свободные операционные системы и программы".

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

Все вот эти "влажные фантазии" о том, что "дайте нам контроль над приложениями мы хотим что-то там понимать и дописывать" разбиваются в щепки о реальный мир. Я программист, я пишу веб-приложения в своей любимой IDE от Jetbrains. Если у меня бага в IDE я иду и пишу баг-репорт. Пойду ли я там что-то сам дописывать? Очевидно нет. Во-первых, я не джавист. Во-вторых, пока я буду разбираться я не буду деньги зарабатывать.
Ну, т.е. если мы говорим про OpenSource, то да pull request welcome, но если это коммерческий продукт, за который я денег заплатил, то я не полезу внутрь тупо потому, что заплатив деньги я хочу чтоб всё работало.

Linux - the Academic Microsoft Windows: http://doc.cat-v.org/bell_labs/utah2000/utah2000.pdf

Линукс в каждой дырке - это уже деградация какая-то. И на мой взгляд, он реально похоронил развитие системного ПО. Новая архитектура прав доступа - не, допилим модуль для Линукс. Микроядерная архитектура - не, есть же Линукс. Новые средстава доставки и развёртывания ПО - не, всё должно быть "докером". Даже уже майкрософт со своим WSL бегает за Линукс.

Полная, полная деградация какой-то мысли об альтернативных ОС, построенных на иной архитектуре, написанной на других языках и т.д. А самая гадость, что Линукс когда-то выросший на совместимости с API UNIX/POSIX теперь сам стал "законадателем мод" - один фюрер, один рейх.

И теперь на компе Линукс, на мобильном Линукс, в машине Линукс, в WiFi точке доступа - Линукс, светодиодом поморгать - Линукс. Жду на рулоне туалетной бумаги Линукс.

P/S. Если что, я линуксоид со стажем.

Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует(c)

Жду на рулоне туалетной бумаги Линукс

А теперь представьте, что там винда. И, в целом, она работает хорошо. Просто иногда ей то обновиться, то антивирус пошуршать запустить, то 700000 раз перечитать одни и те же два байта из одного и того же файла. Ну, моргнула на пару минут — бывает, ничего страшного.
А пока она тормозит — вы уже подтираетесь, и бумага не успевает за вашими пальцами…

Это ладно, если бумага не успевает, можно подождать. А представляете, если ее через раз просто не подают, и надо в туалете с полки доставать ноутбук и восстанавливать вывод изображения на экран подачу бумаги в recovery mode.
Так ведь вообще желание в туалет ходить исчезнет.
Я в свое время зарекся пользоваться гуями туалетной бумагой в Ubuntu. Всему есть предел.

Ну, кстати, обычный физический рулон тоже сопровождается процедурой установки. И при ее нарушении может оказаться вовсе недоступен…

В случае линукса у вас там будет пять рулонов туалетной бумаги, два из них легаси и не совместимы с вашей задницей. Один новый рвётся в любом месте, другой вроде норм, но у вас не собирается, а смотреть почему, некогда, т.к. за дверью уже очередь. Третий вроде работает, но только вам нужно установить пайтон 3.11.

О, это часто бывает.
Сперва дома устанавливают сверхбюджетный диспенсер, расчитанный на определенный диаметр втулки.
Потом начинают его курочить, чтобы любимая бумага "дишовая жопко", без которой ну никак нельзя жить, с ним работала — выходит, ожидаемо, криво и косо: ведь руки кривые, в мозгах одна извилина, а место здравого смысла занимает экономика должна быть экономной.
Затем начинают его заправлять скоммунижженой из офиса бумагой, в таких толстенных и широких рулонах — но только когда приходят гости, в остальное время в него запихивают ленточки из листов А4, на которых печатали уже с пяти сторон.


Ну очень плохой диспенсер, одна звезда, не рекомендую )))

Автор, вы действительно верите, что уровень грамотности сегодня среди людей планеты Земля составляет 99%?

Люди не хотят тратить время и рисковать потерей эффективности, предпочитая продолжать использовать windowsmacosfedoraubuntu, итд...

хм... Вы вроде за линукс, но как-то в список fedora и ubuntu попали..
Или они "недостаточно" linux?

Видимо, слишком юзер-френдли, а настоящий Linux - это хотя бы Arch, а лучше сразу LFS /s

Арчу год назад прикрутили текстовый, но инсталлер. Так что он теперь тоже не Ъ.

О, 10 лет понадобилось, чтобы вернуть инсталлер… :) надо будет взглянуть на арч снова.

Да, в общем-то, скрипт установки не то чтобы сложный. Три раздела (EFI, ZFS, md-swap), pacstrap, arch-chroot, kernel, systemd-boot, reboot.
Инсталлер показался не очень надежным. Не в том смысле, что все сносит, а в том, что стоит отклониться от генеральной линии партии, как он падает.


Вообще, AntergOS — почти ваниль, с графическим инсталлятором — для начинающего арчевода самое то, имхо.

И сразу напрашиваются очевидные вопросы:
Как часто обычным пользователям встречаются задачи требующие изменения их софта? Насколько критичны эти задачи?
Есть ли другие способы решать такие задачи без изменения текущего софта?
Насколько эти способы затратней по времени в сравнении с собственноручным переписыванием ПО?
Какой уровень знаний требуется пользователю чтобы внести изменения в свой софт?
Сколько времени и сил потребуется для приобретения таких знаний?
Есть ли у пользователей другие задачи помимо изучения ОС и программирования?
Как соотносится выгода, которую получит пользователь вкладывая время в изучение своей специальности с выгодой от вложения времени в изучения ОС и программирования (если они не являются его специальностью)?

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

Если вы изучали только офис от винды, то вообще проблем не будет перейти на аналоги, в той же самой Астре линукс - МойОфис который давно работает с компанией, максимальнопохож и имеет простой функционал, да еще и не заставит проблемы поставить то что вам удобно и переводить файлы в те форматы которые нужны

Я понимаю, что в 485 комментариях до меня уже всё разобрали и разнесли в пух и прах. Но я вам скажу одну интересную вещь. Недавно вышел ChatGPT. Заметили, что он лучше пишет код на Java или Python чем на 1С или cmd? ChatGPT не понимает проприетарную SaaS-среду графической веб-разработки Bubble. Почему? Система явно обучается на свободном коде лучше. Система изучает не только существование процедуры print() в Python, она может и посмотреть в исходный код этой процедуры и опускаться всё глубже и глубже подобно русской матрёшке. В 1С ты можешь научиться клацать ко кнопочками и писать вслепую Low-code. Ты обращаешься к чёрному ящику и не знаешь что от него ожидать. Вокруг него образуется закрытая секта людей, которые сдают экзамены для очередного сертификата, покупают лицензии и не видят остальной удивительный мир.

Система явно обучается на свободном коде лучше.

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

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

Это не отрицает мою гипотезу.

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

"не забирайте у детей детство!"

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

Помогите это развидеть... Такую глупость ещё постараться надо написать.

Какая командная строка? В эволюция GUI придумали не для того, чтобы возвращаться в эти дебри. Очень жаль, что до сих пор иногда приходится пользоваться ей.

А лицензированным софтом, может, пользуются из-за того, что он адекватно сделан? Все поделки офиса на линукс либо уродливые, либо кастрированные. А Офис выглядит идеально, работает прекрасно и всем понятен. Привыкнуть можно, конечно, ко всему, но зачем привыкать к низкосортных поделкам?

По поводу обучения - учить должны ровно тому, что людям знакомо, и чем они пользуются и дома, и на работе. Иначе смысла в обучении ноль - учат одному, а дома/на работе все другое. Почему винда? Да потому что она красивая, удобная и понятная. У линоксов нет ничего из этого.

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

Открытость, конечно, прикольно, дописать под себя, все такое, но: а) пользователь от слова пользоваться, а не менять сделанные программы; б) лицензированный софт старается как раз сделать так, чтобы поставил и пользуйся, ничего менять не надо, нафига эта возможность поменять, когда она не нужна? в) Выбор программ, очевидно, больше на винде, что говорит само за себя: не нравится, так поменяй, и никакие знания работы с программированием не нужны, которые не должны быть характерны стандартному пользователю.

Линукс - прекрасная нишевая ОС для серверов, но в десктоп её совать не надо, это издевательство над пользователями.

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

Простите, но так я вижу эту статью. Кхм, опустим мое мнение на тему странности такой затеи в принципе. Другой вопрос. А с практической точки зрения, автор, вы подумали, что с ней делать? Как это реализовать? Это будет изучаться в школе, когда дети думают, как удержать ручку в пальцах, да ещё и правильно, когда они будут думать да когда же закончится эта физика - математика - физкультура - химия - дачтожеэтовсётакоеспасименябоже ? Или в университете, по которому гуляют шутки в стиле от сессии до сессии живут студенты весело? Вот когда? Добавим сюда старшее поколение, которое такое "сыночка, зарегистрируй меня в интернете", и, о боже... Большинство людей то даже не знает о примерном составляющем их техники, которую они используют, а некоторая часть планеты и вовсе пытается решить проблемы продовольственного характера, какой уж тут компьютер.

Нет, я серьезно. Как вы себе это представляете? Есть идеи?

ни одного слова чем линукс все же хуже винды и макос, но ладно допустим, но учитывай, что большинство РУ организаций будет работать с РУ разработками ОС и если это будет линукс, то выбор то не большой, Астра - один из лучших наших решений, Альт - немного старая и забытая система, но со своими плюхами, Ред - совсем отличается от 2-ух тех, она как приемный сын в семье

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

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

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

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

В основной работе щас Астра Линукс использую, потому что там есть свобода действий и линукс в целом удобнее, чем закрытые ПО

Мы тут вчера docker compose обновили из официального источника, а там в версии 2.19 баг — сервисы с несколькими сетями могут попасть не во все запрошенные сети.


И знаете, вот вообще даже мысли не возникло бежать собирать версию 2.20 из исходников, потому что сервер нужен был прямо сейчас, а на часах было 8 вечера.


Вроде и линукс, вроде и открытое ПО, а что принципиально поменялось-то? Такие же проблемы с обновлениями как на винде, разве что запускаются не автоматически.

Articles