All streams
Search
Write a publication
Pull to refresh
-18
0
Send message
Вы видите две, а их больше.
Базовые — кто согласен и кто не согласен. А есть те, кому все равно или кому просто интересно встать сегодня с одной стороны, а завтра с другой стороны.
Если считаете изменение стороны — предательством, то вспомните, что у Свифта в «Гуливере» два народа воевали из-за того, что не могли определить с какой стороны яйца бить, поэтому для них любой, кто не придерживается постоянно одной стороны будет предателем-перебежчиком.
Естественно я не разбираюсь в аутистах, что за странные укоры?


Проблема в том, что аутистов становится все больше. Особенно момент, когда изменение одного незначительного элемента сбивает всю работу, критично не только для аутистов, но и для многих взрослых людей, которые некомпетентны, но за ту з/п нужные компетенции в принципе не найти. И в случае отсутствия понимания работы могут выстраиваться ужасно сложные костыли.
И это в мире, где з/п начинается от 4 тыс руб (и я не из РФ, и не о РФ).
Иногда даже конструктивная критика с фактами — уходит в минуса, а манипуляции фактами, ложь и прочее — неистово плюсуются. Плюсуются, ибо маркетинг, который пытается продать заведомую фигню. Пример — «инновационная соковыжималка», которая выдавливает сок из фруктов. Позже оказалось, что фрукты должны быть порезаны, в специальных пакетиках и со специальной наценкой, причем беспрепятственно выдавливается сок и руками без «инновационной соковыжималки». Первое время факты про подставу с соковыжималкой минусовались, а маркетинг продолжал свое дело.

Из-за этого получается, что рациональное мышление не одобряется, если оно порождает негативные эмоции. А то, что дает положительные эмоции, даже если оно не рационально — тиражируется и превозносится иной раз до небес. Если это не работает, тогда включаются государственные механизмы, которые наказывают «за недостаточную толерантность» нерыночными методами. Абсурд ситуации в том, что некоторые научные теории принимаются или не принимаются не на основе экспериментов, а на основе голосования! Причем голосование преподносится как демократия, но если гражданина N в темном переулке повстречают трое в масках и проведут «демократическое голосование среди присутствующих за перераспределение материальных благ гражданина N», то ни в тот момент, ни позже гражданин N не признает результаты голосования, хотя они были исключительно демократическими.
Некоторые системы стремятся перейти от вида 1 к виду 2. А некоторые изначально такими сформировываются, если есть либо запреты, либо игнорирование положительных достижений, типа — вот тебе з/п, которая не зависит от твоих действий. Разве что можем выгнать за ненадобностью, если автоматизируешь свою деятельность. Это в лучшем случае, в худшем могут разогнать весь отдел.

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

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

Есть еще понятие авральности работы. Человек в режиме аврала может находится недолго без ущерба для себя и остальных. Многие работают либо в режиме периодического, либо слишком длительного аврала. Недолго — это около 7 лет, дальше могут начаться проблемы.
Очередную годовщину достижения 25-летия. Хотя даже это число (25лет) —
это уже четверть века! Или 1/40 часть от тысячелетия. Какой же я старый…
Пересчитал. Да, действительно, недавно, всего лишь почти 209 месяцев назад. Вам и сейчас 17 лет и 209 месяцев.
В принципе, нам всем 17 лет! Просто разное количество месяцев, а у кого-то вообще отрицательное, не превышающее (-204) месяцев
как в комиксах. Дополнительная информация дается в виде новых картинок, но с группировкой, что это об одном и том же.
1) не обязательно копировать именно этот язык. Достаточно факта, что он существует. Для реального текста проще придумать лаконичную адаптацию. Я даже чуть выше дал пример описания
habr.com/company/edison/blog/432334/?reply_to=19476468#comment_19480142

2) тут есть труднокодируемые сочетания: названия городов, улиц и т.д., аббревиатуры, числа, единицы СИ (скорость, масса) и т.п.
100% достигнуть не получится. Но заменять на слова типа «скользко», «ограничение скорости» и прочие — слова декодируются дольше, а сейчас еще и появляются те, кто читают с трудом. Видел одного, который до 11 класса читал по слогам, но сейчас нормально, т.к. научился из-за игровых чатов и субтитров к кинофильмам.

3) настаивал на том, что формируют, получаясь что-то вроде разборчивых иероглифов. 5-6 тыс таких знаков вполне могут дать адекватную замену для многих. А специализированные термины или редкие слова можно оставить текстом.
С помехозащищенностью — никак. Впрочем, как и у текста. Почерк врачей или jpeg-фото на старый телефон — и текст не разобрать.

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

Решается, но несколькими иконками (кроме цифр и единиц СИ):
(яблоко (зеленый; вкус: лимон, сахар; вес 150г; мякоть: сок, плотный; место: под деревом; срок давности: несколько дней; время года: октябрь)
Теперь каждое из слов можно заменить на свою иконку. Всего было 236 символов (включая пробелы), Русский язык. Можно заменить на 18 иконок + до 6-10 спецсимволов.
Вкус — рисунок губ+языка (на одной иконке)
Сахар — кубики сахара
Вес — Гиря+ перо (на одной иконке)
150г — остается без изменений, т.к. цифры и единицы СИ итак имеют максимальное сжатие, пиктограммами тут можно только увеличить размеры; также цифры общеприняты и не переводятся, кроме некоторых народов.
Мякоть — нож, воткнутый в арбуз
сок — стакан рядом с пакетом (одна иконка)
под деревом — стрелка вниз под кроной иконки дерева; посчитал за две иконки, но по факту тут одна
срок давности — часы и стрелка влево над часами, т.е. «в прошлое»
несколько дней — сдаюсь. Вот тут я не придумал что нарисовать.
Время года: октябрь — тут надо учитывать, что названия месяцев по звучанию — белиберда, т.к. никаких ассоциаций с реальными предметами. Логично, ведь название месяцев по факту — иностранные имена, числительные и прочее. Поэтому проще взять какие-нибудь народные названия, типа тех же украинских, у них «октябрь» = «жовтень». Итого 2 иконки — календарь отрывной + желтый цвет (можно совместить). Падающий лист уже будет «листопад» = «ноябрь»

Итого — не подобрал замену только для «несколько дней».
у программ длительный запуск может быть вызван следующими причинами:
1) нужно кучу страниц загрузить в оперативу. Т.е. пока не загрузятся картиночки для отрисовки кастомной кнопочки — приложение будет грузиться.
2) инициализация переменных. Причем всех и сразу, даже в принципе неиспользуемых
3) различные проверки. Вышла новая версия? У пользователя активирована лицензия?
4) Дергать реестр. Либо INI-файлы. Хорошо, если там десяток параметров
5) п.4 расширенный — подгрузить последнюю пользовательскую сессию
6) проверить совместимость системы (встречались и такие программы)

Это некоторые причины. Но программисты не стоят на месте, поэтому ожидайте (а где-то уже появилось):
— телеметрия
— интеграция с другими приложения, которые надо тоже тут же запустить
— 100500 сервисов/микросервисов (у видеокарты NVidia драйвер притащил около десятка программ, в том числе «стримминг», «3д навороты, недоступные на обычном мониторе, но всегда автивные» и прочее.)
— синхронизация с облаком. Если инет затупит, то и приложения тоже замедлится
— высококачественные текстуры 4к для отрисовки курсора мышки
и т.д.
Например на WinAPI.

и потеря кроссплатформенности.
Опять же — реализовывать можно по-разному. Для Lazarus:
1) не парясь что под капотом. LCL, создавая кнопочки как в Delphi. WinApi, Qt или GTK выбирается переключателем в настройках проекта. Но итоговое приложение будет в районе 2МБ.
2) делая с готовыми обертками на WinAPI, но прирост все равно будет — в районе 300-600КБ, т.к. линкуются библиотеки
3) найдя усеченные библиотеки отрисовки (уже не помню как называется), направлены на минимизацию итогового размера приложения. Итоговое приложение 150-400 Кб
4) Писать все ручками, в том числе обертки для DLL. Можно уложиться до 150 КБ
У меня все цифры примерные и иногда указаны в большую сторону. Например, думал что минимальное консольное приложение 52Кб, а оказалось — всего 32Кб, т.е. я в 1,5 раза завысил.

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

Доходя до размеров, сопоставимых с размерами дискет в 1,44Мб, я перестаю задумываться о дальнейшем уменьшении размеров минимально компилируемой программы. К сожалению, у многих современных разработчиков эта планка превышает 100Мб и вовсю стремится к гигабайтным высотам.
родные С-приложения с окошками? Наверняка про чисто консольные, без всяких Qt и Gtk, которые явно не 10кб займут.
Если без GUI в консоли, то получаем 32КБ. Сравниваем с С-приложениями и как-то порядок особо не различается.

DevCpp х64 для простенького консольного HelloWorld на C++ c iostream дает приложение 1,83Мб
Lazarus 1.8.0 x64 для консольного приложения с расширенными возможностями (включен объект App) дает приложение 278 Кб
FPC 3.1.1 x64: для HelloWorld с библиотеками Classes и SysUtils дает 162 Кб,
без библиотек дает 32 Кб (первая библиотека дает несколько встроенных классов, вторую либу использовал только ради функции перевода из Str в Int и обратно вместо процедуры для того же самого результата).
Для души можно писать на любом языке и под любую архитектуру, даже несуществующую. Сложнее, когда нужно в продакшен, тут уже выбор иногда между:
1_) текущим знанием
2_) легкостью обучения для опытных и для новичков, кривые обучения
3_) з/п специалистов и предложения на биржах труда — влияет на стоимость поддержки
4_) уровень и планируемая длительность поддержки
5) доступность исходного кода
6) лицензии
7) возможности языка
8_) доступные компоненты/библиотеки
9) поддерживаемые целевые ОС и архитектуры
10_) количество изменений в новых версиях языка и влияние на предыдущие
11_) предсказуемость языка, т.е. предсказуемость поведение готовой программы
12) защита от ошибок на уровне языка
13) возможности языка по отстрелу ног и уничтожению всей вселенной
14_) развитость IDE
15_) доступность отладчиков (стандартных для языка, а не сторонних)
16) читабельность
17_) легкость установки от «запустил exe, установил и можно кодить» до «скачай, скомпилируй, исправь ошибки компиляции, скомпилируй более новую версию, настрой конфигурацию, докупи оборудование...»
и т.д.
Например, си допускает в конструкции if присвоение вместо сравнения, а это — частая ошибка, которая отслеживается только некоторыми IDE, в блокнотах можно и пропустить. Про «докупить оборудование» намекнула Unity, которая для создания приложения для Android требует самую новую видеокарту (DirectX 9 уже не устраивает) и х64 систему.

И все языки хоть где-то, но накосячат, т.е. не являются идеальными, поэтому п.1-4, 8, 10, 11, 14, 15, 17 вполне могут быть провалены, особенно новичками п.2,8,14,17
Магия запрещена вне Хогвартса!
Действительно, метаклассы выглядят как магия. И понадобится только для очень сложных сервисов и фреймворков.
Немного опасался того, что такая магия может привести к прибитому гвоздями поведению. Один раз использовал фреймворк, который на каждый чих дергает базу данных, т.е. нужно поменять 15 параметров — на каждый параметр будет создан запрос. Это в лучшем случае, в худшем доходило до 30-45 запросов, т.е. 2-3 запроса на изменение параметра, типа «узнать что сейчас записано», «записать», «проверить что записалось».
Надеюсь, в Django можно всего за 2-3 запроса все выполнить
Я пишу для души на Pascal, типа хобби и ностальгии. Или надо что-то быстро простенькое и одноразовое создать — тут Lazarus/FreePascal у меня делит место с Python. Или для различных извращений, вместо Brainfuck.
Вообще нужно выбирать инструмент исходя из задач. У меня:
— 1С для бухгалтерии
— Python для веб-сервера (ранее использовал PHP)
— C# (Unity) для разработок игр/приложений на телефон
— Lua для скриптов (тут еще Python и Bash, скриптов много)
— Visual Basic for Application для Microsoft Word/Excel/Access
— SQL для баз данных
— JS для клиентских браузерных скриптов
и прочее.
И тут я солидарен с автором статьи, что от С/С++ стоит отказываться во многих направлениях.
А если субъективно, то меня ничто не заставит на С/С++ больше работать, ибо полиформизм инструкций в зависимости от контекста как у тех же звездочек — очень сильно бесит, а про код в стиле регулярок я даже не расписываю. Про указатели упомянуто у автора статьи. И я не собираюсь пихать С/С++ в бухгалтерию, веб-разработку, скрипты, базы данных и т.д.

про время принятия решения
Надо учитывать время принятия решения о разработке. Если это были в первом десятке лет этого века (нулевые, до 2010), то ни о каком Rust и Swift даже близко не могло быть и речи, на тот момент эти два языка (а также некоторые другие) были в крайне ужасном состоянии. И человек, который собирался тогда писать на этих языках серьезные приложения с необходимостью получить минимальным результатом через пару лет, но не участвовал в разработке этих языков — явно псих, которого нельзя допускать к программированию. Основание? Первое десятилетие закончилось в 2010 году, а первые стабильные версии этих языков выйдут только через 4-5 лет. Соответственно, разработка того приложения могло зависнуть на 4-15 лет! Либо разработчик хитросделанный и хотел эти 4-15 лет получать з/п просто за ожидание, пока выйдет «достойный язык».
Я уже не буду рассказывать про рекомендации в сторону NASA выбрать Rust/Swift для разработки, если решение принималось в 90-е! Там вообще клиника.
Дебаг сборка = включение дампа (для) отладки.
В дебаг сборке еще можно поставить флажок «файл отладки отдельно» и тогда отладочный файл генерируется, но не включается в готовый exe-файл.
Все равно размер будет гулять ± несколько процентов из-за версии Lazarus и ОС, но это уже не так заметно.
если про плату (система Delphi платная), то пилили бы GNU Pascal, с безопасностью и тестами. Даже сейчас один из открытых вариантов — FPC/Lazarus уже давно можно использовать для различных задач.
2 июня 2014 года на конференции WWDC Swift был официально представлен (википедия)

После нескольких лет активной разработки первая стабильная версия (1.0) вышла 15 мая 2015 года (википедия)

Проверенные альтернативы — это «мы целый месяц тестили, все ок». А также намек на то, что до 2014 года у пользователей не должно быть этих самых браузеров, потому как «проверенный временем» язык программирования еще даже не родился
Этот неловкий момент, когда Lazarus (открытый аналог Delphi) дает exe-файл в десятки мегабайт (10-20МБ). Но там тащутся оконные библиотеки для получение Windows (или Linux) окошечка.
А вот консольная программа того же, да и еще с выключенным дампом откладки дает уже в районе сотни килобайт, причем часть можно сэкономить, если не использовать некоторые системные библиотеки, типа SysUtils.

Почему не пропагандируется Lazarus? Открытый развивающийся язык, куча библиотек. Можно писать даже драйвера. Можно даже GNU Pascal вспомнить.

Хотя уже существует KolibriOS, которая написана на ассемблере. Там нет упора на безопасность, но разработка на ассемблере намекает, что на ассемблере писать можно даже ОС, только не все осилят.
Никто таким не заморачивается. Даже не под рутом и хотя бы 2 раздела на диске (С — системный и Д — пользовательский, с разными правами на доступ) — даже такое в условиях старой ОС, маленького HDD, проблем с администрированием (как аппаратные/программные, так и низкая квалификация администратора) — полностью уничтожает безопасность.
Самому было лень настраивать полноценно подобные компьютеры на волонтерских началах. Поэтому со временем туда и вирусы попадали, и всякие игры устанавливались третьими лицами.

Information

Rating
Does not participate
Registered
Activity