Pull to refresh
4
0.1
Send message

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

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

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

Очень жаль, что сейчас такого нигде нет.

В MacOs с используется формат исполняемого файла Mach-O. И сам по себе он ресурсов не поддерживает, зато поддерживает возможность впихнуть в него исполняемый код от разных архитектур сразу (x86_64, AArch64, etc), что позволяет не иметь 100500 сборок, а иметь один "универсальный бинарь".

Но! Приложения в MacOS не распространяются как отдельные исполняемые файлы. Приложения распространяются как "бандлы" (читай что-то вроде tar-архива, только с расширением .app). И все ресурсы просто кладутся рядышком в виде файлов. Их можно даже штатным Finder-ом просто взять и посмотреть. Библиотеки, кстати, тоже распространяются таким же образом, только называется это не "бандл", а "фреймворк" и соответственно расширение у файла будет .framework.

В Linux это решается иными средствами, но согласен, что PE в этом смысле удобнее. Совсем удобно сделано, как по мне, в MacOs)

Нет, в формате ELF точно нет такой секции. Справедливости ради, непонятно зачем они могли бы пригодиться. Ресурсы для ПО можно разместить и в .data /.rodata, в ОС эти ресурсы особо и не кому использовать, ведь GUI в Linux дело опциональное

Но при этом, мы на 99.9% уверены, что проснёмся.

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

Занятно) У меня ноут на Linux, игровая тачка на Windows и вот недавно прикупил себе для работы Mac Mini. Проверил на всех трёх - не тормозит нигде) При большом количестве окон тормозит Linux.

Та вроде в Win10 всё не хуже. Достаточно перетащить панель задач влево, переключить меню пуск на запуск в полноэкранном режиме, чтобы получить схожий поиск.

По win+tab получаем схожий обзор программ. Там же можно их перекидывать мышкой между рабочими столами.

По Ctrl +Win + Стрелочка можно переключаться между виртуальными рабочими столами (тоже гладко).

А вот Win11... Ну, она пусть сгорит в аду)

Я тут ради прикола написал самую дубовую реализацию этой функции через switch-case, вообще не думая.

static int parse_uint8_switch_case(const char *str, size_t len, uint8_t *num) {
    uint8_t hi, mid, lo;

    #define as_u8(x) ((uint8_t)((x) - '0'))

    switch(len) {
        case 1:
            *num = as_u8(str[0]);
            return *num < 10;
        case 2:
            hi = as_u8(str[0]);
            lo = as_u8(str[1]);
            *num = (uint8_t)(hi * 10 + lo);
            return (hi < 10) && (lo < 10);
        case 3:
            hi = as_u8(str[0]);
            mid = as_u8(str[1]);
            lo = as_u8(str[2]);
            *num = (uint8_t)(hi * 100 + mid * 10 + lo);
            return 
              ((hi == 2) && (mid < 6) && (lo < 6))
               || ((hi < 2) && (mid < 10) && (lo < 10));

        default:
            return 0;
    }

    #undef as_u8
}

А потом запустил бенчмарки. Результат довольно-таки занимательный:

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

P.S.
Что делает код Боба и почему он такой быстрый - я понятия не имею :) Есть подозрение, что выстрелил UB и код делает ровным счётом нихрена, я не вникал.

Не понятно, почему эта статья в хабах С и С++.

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

С этого места человек перестаёт писать код на Си/С++. Потому как стандарты Си и С++ ничего не знают ни про границы страниц, ни про что-то еще. Выход за границу массива определяется как UB.

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

К чертям завалить может вообще что угодно. Самая мякота это UB. Но ничего, живём же как-то.

Не "как-то", а именно что зная о существовании всех этих "стрёмных" мест. И если С++ программист не знает этих мест, то он в общем-то и профнепригоден (для С++ разработки), потому что породит глючное гавно, а не программу.

Как я уже говорил, грамотный сеньйор протестирует все ветки исполнения.

Чушь петровна. Я в жизни не видел кода со 100% покрытием тестами. Даже код торговых ботов, которые ворочают миллиардами долларов, покрыт юнит-тестами в лучшем случае на 70-75%, а остальное дотестируется интеграционными тестами (но это долго и дорого, на каждый PR не запустишь).

В менее ответственных областях покрытие еще меньше. Единственный раз, когда я видел покрытие >90% - это код криптобиблиотеки, но это слишком маленькая кодовая база. В среднем случае code coverage болтается где-то в районе 40-60%.

Ещё есть, в конце концов, код-ревью. Где более прошаренные в разных ньюансах товарищи заметят косяк и объяснят так больше не делать.

Мы с вами уже сотый комментарий дискутируем на тему проведения кодревью и того, что кандидат на должность "Более прошаренный товарищ" (senior программист) с ним не справился :) Вы наконец-то передумали, и поддерживаете мою позицию?

Мне кажется у вас в конторе попросту проблемы с культурой и организацией разработки.

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

Я за жизнь сменил 6 работ и могу сказать, что культура разработки у меня в компании вполне себе неплоха. Как всегда не без проблем, но лучше многих. И CI/CD у нас настроен, и статических анализаторов аж 3 штуки, и кодревью, и любые IDE и всякие ReSharper-ы можно, с style guide прибит clang-format-ом гвоздями.

требованием энциклопедических знаний от каждого.

Вы что-то сами себе придумали, и что-то сами себе доказываете. Вы вообще как будто бы о чём-то другом разговариваете. Перечитайте еще раз всю ветку и дайте мне хоть одну цитату, показывающую, что я требую энциклопедических знаний. Если для вас знание того, что такое noexcept и что он делает - это "энциклопедические знания", ну... вряд ли мы когда-нибудь поработаем вместе :)

Все эти "найди ошибку в коде" это тест на внимательность, а не на знание языка.

С++ - это минное поле из UB. Внимательность - это очень важно. Ну и как бы да, это тестовое кодревью. В реальном кодревью тоже внимательность нужна, иначе нафига его проводить? Я вообще работаю в сфере ИБ, у нас внимательность к коду нужна в квадрате и даже в кубе.

Теперь мы используем 700 миллиардов if else :)

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

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

Опять же. Деньги могут решить проблему воспитания детей) Просто вы не хотите пользоваться этой возможностью.

Одну проблему оно решает у меня) Есть проблемный встроенный в материнку wi-fi adapter. Всё хорошо, но после старта системы он всегда в состоянии "нет сети" и перевключить из GUI не работает (но через PowerShell вполне). Тем не менее, если запустить средство устранение неполадок, оно тоже возвращает устройство в рабочее состояние.

Т.е. у вас 100% пошли в вайтишники?

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

Возможно ведёт, если знать что искать

Я написал "pascal windows скачать". Я уверен 99% родителей и детей напишут это.

или там вообще мак

Родители и дети, у который дома мак, будут испытывать боль на протяжении всего процесса обучения, т.к. вся школьная программа и учебники сегодня ориентированы на Windows или какой-нибудь Alt Linux.

На форточках Idle идёт в комплекте, VSCode и PyCharm Community Edition по вкусу.

  • Idle не называется Python. Родитель не найдёт. Он не знает таких слов как IDE. Родитель найдет командный интерпретатор.

VSCode/Pycharm

Родитель такое не нагуглит и уж точно не настроит.

  • VSCode - ну ради прикола дайте человеку VSCode в качестве первой IDE, где для запуска отладчика нужно писать текстовый launch.json. Я видел людей, которые после трёх месяцев плотных курсов по Python не осилили это дело, а вы предлагаете родителям/ученикам в такое окунаться. VSCode - это инструмент для тех, кто уже немножчеко в курсе дел.

  • PyCharm Community Edition. Сама по себе IDE - ок. Достаточно простая в установке освоении. Вот только нюанс: все те же проблемы с варезниками. Родитель легко может сказать варезник платной версии. Но концептуально - это годный вариант.

я их видел уйму на паскале в свои годы, с переменными вида a, b, c, i, j

В этом мире нет языка, который не даст человеку называть переменные a, b, c, i ,j. Не понимаю претензий к паскалю в данном случае.

Великолепный зоопарк turbo <-> borland <-> ABC <-> Delphi <-> Lazarus

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

Про C - вы же хотели чтобы дети основы и типы тщательно пощупали байтики. Или нет?

Вообще нет. Я хотел, чтобы дети заинтересовались основами программирования (алгоритмы, структуры данных, все вот эти циклы и ветвления). Хочу чтобы дети веселились, от того, что смогли написать Ping Pong на кнопочках из WinForms. А вот эти байтики, двоичные системы, битовые операции и прочее - это пожалуйста оставьте универу.

И да, С вполне себе учили в лицее

Программа пишется не только под учеников лицеев, но и для МОУ СОШ №10 Зажопинского района, г. Мухосранск.

Опять же, я не говорю, что C невозможно выучить (это же очевидно не так). Я лишь говорю, что Pascal ничем не хуже, а в некоторых местах даже лучше для тех задач, которые решает школа.

Студию вы сильно переоцениваете (особенно в сравнении с браузерами), на небольших проектах она и не нужна

Я на C# не пишу, я понятия не имею как скомпилировать C# код без студии :) Я знаю, что способы ессно есть, просто они явно не так тривиальны как нажать одну кнопку)

Студию вы сильно переоцениваете

Холодный старт с NVMe SSD - около 10 секунд сейчас был. Есть подозрение, что на HDD она ваще не запустится :) Ну и весит она гигов 20. Офигеешь качать в какой-нибудь деревне с 3g интерентом. А вот pascal весит вместе с IDE 25 мегабайт.

dotnet new console и dotnet run которые не сможет ни один препод показать? Ничоси как сложно то..

Вы нарушаете свои же правила игры. Мы говорим о том, что родитель/ребёно пытается что-то настроить на своём компе самостоятельно. Если есть человек, который проконсультирует - вся беседа по поводу самостоятельной настройки не имеет никакого смысла.

P.S.
Вы ничего не ответили про конкретные недостатки Python, а они довольно значимые на мой взгляд.

Итак. Ввиду того, что оч много написано, отвечать буду не по порядку.

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

Я пока не понимаю, откуда берутся страдания? Мне учить Pascal было интересно. Не видел тех, кому было не интересно.

попробуйте тот же Pascal поставить сначала ребёнку

Первая ссылка в яндексе ведёт на сайт PascalABC.NET, на котором первая же кнопка скачивает и компилятор, и IDE к нему. А также десятки обучающих примеров кода в комплекте, доступных по двум кликам в GUI.

Причём в этой IDE можно клепать простенький WinForms формочки, что повышает интерес к программированию в разы по личному опыту. Одно дело, когда у тебя текст в консоли, а вот с формочками уже можно игры делать! Сколько там понадобится километров кода, чтобы сверстать внятное окошко на Python?

Опять же после установки у меня в Пуск уже есть приложение PascalABC.Net, мне как родителю-чайнику всё понятно. После установки Python у меня какая-то консоль и моргающий курсор. Как я, как родитель-чайник, пойму что всё сделал правильно?

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

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

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

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

Что конкретно такого ужасного в Python

  • Динамическая типизация, пускай и строгая. Это темная сторона силы и только мудрый джедай должен иметь к такому доступ. Молодые неокрепшие умы не должны к такому даже близко приближаться.

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

  • Скриптовость. Это и хорошо и плохо. Хорошо то, что быстро править. Плохо то, что некоторые концепции работы ПО (банально компиляция) и наличие архитектуры у ПК будет просто невозможно объяснить.

  • Отсутствие низкоуровневой части как таковой. На pascal код как раз получается "среднего уровня". Можно и байтики потрогать, и формочки наклепать.

любом другом из top5

С/С++

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

Java

В принципе, можно. Но я не знаю ничего похожего на winforms в java. Вcе GUI фреймворки, что мне удалось потрогать - это страх, боль и ужас.

C#

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

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

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

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

Как по мне, лучше бы детей в школе учили писать скрипты для Excel, вместо "базы" :) Хоть на VBA, хоть на Python.

"Базу" всё равно не впихнёшь, а вот рутинная автоматизация пригодится буквально каждому. Кого заинтересует программирование, те и так в ВУЗе научаться, благо это не какая-то магия.

Я закончил школу в 2010-м году. Давненько уже, но не капец давно. Учил Pascal. Если честно, так и не понял, в чём с ним проблема? Ну да, на нём никто не пишет коммерческий, ну и что? Школьнику что, сразу после школы на работу программистом устраиваться?

Что конкретно такого ужасного в Pascal, что ему нельзя учить?

Information

Rating
2,930-th
Registered
Activity