Понятно дело, что в подавляющем большинстве это именно принуждение, т.к. какой бизнес по собственной воле откажется от части своей прибыли и рынка сбыта.
Но мой вопрос был немного не об этом... Впрочем, это очередной оффтоп на тему шизанутости местной системы кармы.
А вот теперь объясните, почему коммент выше плюсуют, а мой минусуют, хотя я, по сути, скахал ровно тоже самое?
Покупать лицензию нет никакого смысла, т.к. она всё равно будет считаться незаконно приобретённой (из-за санкций). А стремление "поддержать авторов" в данной ситуации неуместно (и не совсем законно) - они сами не хотят брать ваши деньги (запрещая продажу ПО в нашей стране).
Косяк "Эффективного манагера", который принимал от интегратора такой косячный и неудобный UX. Либо это косяк руководства, которое согласовало такую неудобную схему управления с отдельными базами и неудобным интерфейсом. Тоесть опять - недостаточный контроль над процессами или банальное разгильдяйство.
Как это часто бывает - систему покупают манагеры сверху, а пользоваться ей приходится обычным рабочим. И плевать манагеру как оно работает - не ему ведь с этой системой возиться (Зато в отчёте напишет об успешной оптимизации труда и интеграции новой "эффективной" системы).
Ну за такой косяк надо кладовщика бить по рукам (штрафовать). Это его прямая обязанность - вести учёт материалов на складе и принимать/выдавать всё это.
Когда выходит статья "Тест хххх" на техническом ресурсе, ожидаеш увидеть, как минимум, графики (частотные характеристики в данном случае) и минимальное оборудование для этого самого теста (источник сигнала, анализаторы спектра и т.п.)...
Затем нужно сходить на склад (или поручить кому-нибудь), посмотреть, есть ли там необходимые материалы
И вот тут уже видна главная проблема - отсутствие контроля и единой системы учёта ресурсов на складе, чтобы никуда не ходить, а открыть программу/сайт и посмотреть, что там есть, а при необходимости - зарезервировать для работ нужные материалы (чтобы их никто никуда не утащил и они гарантированно были). Попутно, тамже, оставить заявку на пополнение недостающих материалов.
Аналогично. Даже не заметил "падения", хотя систра звонила, говорила что интернет "тупит" (живёт на другом конце города, другой провайдер, роутер без "ускорителя ютуба" и прочих "лечилок интернета")
Чем-то напоминает разработку ".KKriger". Там тоже ради размера заморачивались с сжатием шейдеров и .exe файла, генерацией текстур и даже звуков алгоритмами при запуске и прочими "оптимизациями"... Правда и результат получился куда круче (Но и размер заметно больше)
Ещё из подобных проектов вспоминается Quake на JavaScript в 16кб кода...
Вы про это? Тут речь идёт о производительности системы охлаждения. Что она способна отводить и рассеивать до 18 ватт тепла, в отличии от штатной, которая может только 12 ватт рассеивать.
А в итоге появляются костыли вроде "===" (сравнение и типа и значения переменных) вместо простого "==" (сравнение значений, опционально с приведение к одному типу / конвертацией)
Ну ок, не класс, а структура, что, впрочем, почти тоже самое в случае с C#. В любом случае - "всё есть объект". Это основная парадигма (девиз?) языка, если мне память не изменяет.
** Речь про .net C#... Может я что-то пропустил и появились другие варианты "си-шарпа"?
Хмм... Окей: "Классы" из ООП - это отдельные файлы, в которых могут быть свои переменные и функции. Все эти переменные и функции существуют внутри этого "файла", но к ним можно обращаться из другого файла. Так будет проще?
Плюсую. В нормальных учебниках должны писать ровно одну строку на одно действие с подробным комментарием, чего тут вообще происходит (в строке). Примерно так:
# Получаем от пользователя некие данные (в виде строки):
user_input = input("Введите несколько чисел, через пробел")
# user_input == "10 22 55"
# Так как мы получили строку, разделяем её на отдельные переменные:
user_digits = user_input.split(" ") # Разделяем строку по указанному символу (пробелу)
# user_digits == ["10", "22", "55"]
# Окей, данные разделены, но это строки из знаков, а не числа (int). Преобразуем их в числа:
integers = map(int, user_digits)
# integers == [10, 22, 55]
# делаем что-то с этими числами...
print("Вы ввели:", integers)
На данном этапе даже не обязательно объяснять, что map может принимать первым аргументом вообще любую функцию, хватит и пояснения "вместо Int можно использовать float/double/bool". Ну или использовать вместо map - for loop, но тогда код будет больше, а пояснений потребуется не сильно меньше...
Просто не забивайте себе голову всеми этими умными словами и используйте классы как некую разновидность struct (структуры данных) с возможностью встраивать функции. Ну или как "контейнер" внутри которого можно спрятать переменные и функции... Собственно, для этого их и придумали - изоляция переменных и кода внутри классов.
Кстати, пониманию ООП сильно способствуют изначально ООП-ориентированные языки, вроде C#, где даже базовые типы (int/str) являются объектами (классами).
Это всё становится важно, когда уже знаешь азы языка и начинаешь углубляться в оптимизацию и отладку. А в начале достаточно объяснить, что "int" - это для целых чисел, а "float" (double) - для дробных. Ну и упомянуть о ограничениях мин/макс значения. Для написания простых приложений и понимания языка в целом - этого достаточно.
А всё остальное изучается после, как дополнение под названием "оптимизация работы программы". (скорости выполнения и стабильности)
Понятно дело, что в подавляющем большинстве это именно принуждение, т.к. какой бизнес по собственной воле откажется от части своей прибыли и рынка сбыта.
Но мой вопрос был немного не об этом... Впрочем, это очередной оффтоп на тему шизанутости местной системы кармы.
А вот теперь объясните, почему коммент выше плюсуют, а мой минусуют, хотя я, по сути, скахал ровно тоже самое?
Покупать лицензию нет никакого смысла, т.к. она всё равно будет считаться незаконно приобретённой (из-за санкций).
А стремление "поддержать авторов" в данной ситуации неуместно (и не совсем законно) - они сами не хотят брать ваши деньги (запрещая продажу ПО в нашей стране).
Вот только из-за санкций ваша лицензия стала "незаконной" и в ней теперь нет никакого смысла.
Косяк "Эффективного манагера", который принимал от интегратора такой косячный и неудобный UX. Либо это косяк руководства, которое согласовало такую неудобную схему управления с отдельными базами и неудобным интерфейсом.
Тоесть опять - недостаточный контроль над процессами или банальное разгильдяйство.
Как это часто бывает - систему покупают манагеры сверху, а пользоваться ей приходится обычным рабочим. И плевать манагеру как оно работает - не ему ведь с этой системой возиться (Зато в отчёте напишет об успешной оптимизации труда и интеграции новой "эффективной" системы).
Ну за такой косяк надо кладовщика бить по рукам (штрафовать). Это его прямая обязанность - вести учёт материалов на складе и принимать/выдавать всё это.
Когда выходит статья "Тест хххх" на техническом ресурсе, ожидаеш увидеть, как минимум, графики (частотные характеристики в данном случае) и минимальное оборудование для этого самого теста (источник сигнала, анализаторы спектра и т.п.)...
И вот тут уже видна главная проблема - отсутствие контроля и единой системы учёта ресурсов на складе, чтобы никуда не ходить, а открыть программу/сайт и посмотреть, что там есть, а при необходимости - зарезервировать для работ нужные материалы (чтобы их никто никуда не утащил и они гарантированно были). Попутно, тамже, оставить заявку на пополнение недостающих материалов.
Аналогично. Даже не заметил "падения", хотя систра звонила, говорила что интернет "тупит" (живёт на другом конце города, другой провайдер, роутер без "ускорителя ютуба" и прочих "лечилок интернета")
Шифрования нет, но мессенджер - самый безопасный... Whaaaaat!?
Чем-то напоминает разработку ".KKriger". Там тоже ради размера заморачивались с сжатием шейдеров и .exe файла, генерацией текстур и даже звуков алгоритмами при запуске и прочими "оптимизациями"...
Правда и результат получился куда круче (Но и размер заметно больше)
Ещё из подобных проектов вспоминается Quake на JavaScript в 16кб кода...
Вы про это? Тут речь идёт о производительности системы охлаждения. Что она способна отводить и рассеивать до 18 ватт тепла, в отличии от штатной, которая может только 12 ватт рассеивать.
Это, конечно, интересно... Но как это работает?
Возможно я что-то не так понимаю или неправильно выразился:
INT в C# (.net) содержит собственные функции (методы), что очень похоже на class(object).
Для меня "нормальный Struct" это structures из мира C++
А в итоге появляются костыли вроде "===" (сравнение и типа и значения переменных) вместо простого "==" (сравнение значений, опционально с приведение к одному типу / конвертацией)
https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/Int32.cs
Ну ок, не класс, а структура, что, впрочем, почти тоже самое в случае с C#.
В любом случае - "всё есть объект". Это основная парадигма (девиз?) языка, если мне память не изменяет.
** Речь про .net C#... Может я что-то пропустил и появились другие варианты "си-шарпа"?
Хмм... Окей:
"Классы" из ООП - это отдельные файлы, в которых могут быть свои переменные и функции. Все эти переменные и функции существуют внутри этого "файла", но к ним можно обращаться из другого файла. Так будет проще?
Плюсую. В нормальных учебниках должны писать ровно одну строку на одно действие с подробным комментарием, чего тут вообще происходит (в строке).
Примерно так:
На данном этапе даже не обязательно объяснять, что map может принимать первым аргументом вообще любую функцию, хватит и пояснения "вместо Int можно использовать float/double/bool".
Ну или использовать вместо map - for loop, но тогда код будет больше, а пояснений потребуется не сильно меньше...
Про "когда сами всё поняли" - это к курсом относится, не к книгам.
Просто не забивайте себе голову всеми этими умными словами и используйте классы как некую разновидность struct (структуры данных) с возможностью встраивать функции. Ну или как "контейнер" внутри которого можно спрятать переменные и функции... Собственно, для этого их и придумали - изоляция переменных и кода внутри классов.
Кстати, пониманию ООП сильно способствуют изначально ООП-ориентированные языки, вроде C#, где даже базовые типы (int/str) являются объектами (классами).
Это всё становится важно, когда уже знаешь азы языка и начинаешь углубляться в оптимизацию и отладку.
А в начале достаточно объяснить, что "int" - это для целых чисел, а "float" (double) - для дробных. Ну и упомянуть о ограничениях мин/макс значения.
Для написания простых приложений и понимания языка в целом - этого достаточно.
А всё остальное изучается после, как дополнение под названием "оптимизация работы программы". (скорости выполнения и стабильности)