• Правильно ли я понимаю что такое Язык программирования?

    GavriKos
    @GavriKos
    Нет, неправильно.
    Во первых - язык это не текстовый файл. Это набор правил (синтаксических, семантических), лексем и прочего.
    Во вторых процесс компиляции не так выглядит совершенно. Компилятор никаких переменных не создает. Более того - там еще есть трансляторы, линковщики, валидаторы и прочее.

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

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

    Ну вот это в каком то приближении правильно, правда необязательно на языке ассемблера.
    Ответ написан
    Комментировать
  • Хочу писать приложения под Win10, что учить?

    @zedxxx
    Если речь о десктопных пользовательских приложениях с гуи, то выбирайте между C#, Delphi, Qt (C++).
    Ответ написан
    Комментировать
  • Почему лучше иметь несколько акаунтов gitHub?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Нет, несколько аккаунтов совсем не лучше.
    Но иногда бывает вынужденная ситуация, когда ты не хочешь или не можешь некоторые репозитории хранить под одним аккаунтом.
    Бывает у тебя есть личный и рабочий аккаунт, с разным доступом.
    Ну или два личных, тоже с разным доступом и разными задачами, ты не хочешь их связывать друг с другом.
    Но в своем большинстве, достаточно одного аккаунта, а личные репозитории просто делать приватными.
    Ответ написан
    Комментировать
  • Можно установить Ubuntu паралельно Windows?

    Zoominger
    @Zoominger Куратор тега Windows
    System Integrator
    Нет.
    Ставьте в виде виртуальной машины.
    Меньше геморроя будет.
    Ответ написан
    Комментировать
  • Как правильно импортировать модули?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    в модуле родителя должен быть импортирован модуль с классом ребенка
    "родитель" не должен знать о "ребёнке".
    родитель содержит в себе поля класса ребенка
    Это ошибка. Перенесите все поля в "родителя".

    родитель это приложение
    619410450762f813033838.png
    child'ы это компоненты приложения
    619410743179b989512999.pngКак видите формы не наследуются от приложения. А находятся в одном модуле.
    И приложение управляет ими, поскольку их создаёт:Application.CreateForm(TForm1, Form1);
    А форма имеет доступ к приложению:Application.ExeName;

    я говорю не о наследовании.
    Расположите их в одном модуле.

    Примечание: paren:^TParent - это масло мысленное, так как переменная-объект - это и есть ссылка. Поэтому Proc1(Obj: TMyObject) и Proc1(var Obj: TMyObject) будут выполняться по-разному.
    Ответ написан
  • Почему не работает этот код в Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Читать учебник.
    Ответ написан
    4 комментария
  • Как безопасно открыть вирус с почты?

    Adler_lug
    @Adler_lug
    В блокноте откройте или любом другом текстовом редакторе.
    Ответ написан
    7 комментариев
  • Чем отличаются друг от друга функции, процедуры и операторы(на примере FreePascal)?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Функции и процедуры - почти одно и то же. Различие лишь в том, что функция возвращает значение, а процедура - нет. Очевидно, функцию можно использовать, как процедуру, если просто игнорировать возвращаемое значение. Поэтому в других языках обычно даже не вводится такое понятие, как процедура. А в Си-подобных языках, где функция обязана иметь возвращаемый тип, используется тип void, что тоже как бы делает функцию процедурой.

    Говоря о функциях или процедурах, акцент ставится на сам механизм вызова - указатель текущего места выполнения помещается в стек, управление передаётся функции, и по её завершении указатель восстанавливается из стека и выполнение программы продолжается с того же места. Таким образом, имеются в виду два момента: 1) сам вызов функции 2) расположение тела функции в другом месте памяти. То есть функция - по сути подпрограмма.

    Оператор же - по сути отдельная самостоятельная инструкция. Обычно их можно менять местами на одном уровне вложенности, и это не добавит синтаксических ошибок. Однако сама по себе инструкция может быть не только простой, но и сложной, составной. Например, целый блок, или условный оператор, или цикл. Таким образом, оператор может содержать в себе другие операторы. Это надо понимать, чтобы не запутаться в терминологии. Говоря об операторах, акцент ставится на том, что код - это последовательность инструкций, которые выполняются одна за другой. Обращение к функции (её вызов) - это тоже оператор в том смысле, что это отдельная инструкция.
    Ответ написан
    1 комментарий
  • Как в безопасном режиме Windows с поддержкой командной строки провернуть экран?

    Безопасный режим на то и безопасный, что в нём загружается минимально возможный набор только стандартных драйверов обеспечивающих работу ОС с целью восстановления. Драйвер видеокарты загружается только базовый, без всяких свистоперделок, он не умеет поворачивать экран. Так что никак.
    Ответ написан
    2 комментария
  • Почему скорость разных языков разная?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Допустим нам нужно сложить два числа - 2 и 3

    На ассемблере:
    Кладем 2 в регистр ax, 3 - в регистр bx, выполняем команду сложения регистров - в результате у нас в ax ответ.
    Грубо говоря - у нас выполнились всего 3 команды на уровне процессора.

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

    Некий высокоуровневый язык с динамической типизацией:
    Взяли переменную, преобразовали в число. Взяли вторую переменную - преобразовали в число. Вызвали некий класс, который умеет складывать целые числа, числа с плавающей точкой, конкатенировать строки и т.п. Передали эти две наши переменные. Помимо собственно складывания чисел выполняются явные и неявные преобразования, выполняются проверки на исключения, вызываются методы классов, которые умеют делать много операций, и прочее, выполняются первоначальные инициализации, оптимизации на лету, сохранение регистров и т.п...
    То есть для задачи складывания чисел используется уже на порядок больше команд процессора.
    Ответ написан
    1 комментарий
  • Как оставить изначальное название папки при копировании?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    С помощью компонента ShellFoldersBrowse (список внизу) находите папку-источник и папку получатель. К последней добавляете ExtractFileName от источника. Копировать с помощью System.IOUtils.TDirectory.Copy.
    DELPHI+ShellFoldersBrowse. Если ничего не устроит, могу положить сюда свой вариант.
    Ответ написан
    3 комментария
  • Windows только для одной программы?

    karabanov
    @karabanov
    Системный администратор
    Настройка киоска с одним приложением на Windows 10/11

    В общем гугли, как настроить режим киоска...
    Ответ написан
    Комментировать
  • Получается, чтоб накатить windows 11, надо будет снести все с компа?

    Zoominger
    @Zoominger Куратор тега Windows
    System Integrator
    Это получается, чтоб проапгрейдиться, надо будет все сносить?

    Да, это будет гораздо проще.
    И давно пора, в 2k21-ом сидеть на MBR из прошлого тысячелетия это нонсенс.
    Ответ написан
  • Что важней видюха или проц, для разработки в C#?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Для разработки на C# - проц.
    Для разработки на Unity - оба.
    Ответ написан
    Комментировать
  • В чeм разница и как правильно сделать?

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

    DateTime timeStart = DateTime.Now;
    for (int i = 0; i < 10000; i++)
    {
        int random = new Random().Next(1, 10);
    }
    DateTime timeStop = DateTime.Now;
    Console.WriteLine("new Random().Next(1, 10) - {0}", timeStop - timeStart);
    //
    timeStart = DateTime.Now;
    Random random1 = new Random();
    for (int i = 0; i < 10000; i++)
    {
        int dig = random1.Next(1, 10);
    }
    timeStop = DateTime.Now;
    Console.WriteLine("random.Next(1, 10) - {0}", timeStop - timeStart);

    new Random().Next(1, 10) - 00:00:00.0209561
    random.Next(1, 10) - 00:00:00.0001170
    Ответ написан
    2 комментария
  • Как учитывается активность в GitHub?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Естественно нет. Гитхаб учитывает коммиты сделанные в гитхаб, а не в какой-то другой репозиторий.

    2. Прежде чем так делать, поинтересуйтесь на работе можно ли указывать внешнюю почту. Возможно политикой компании принято использовать рабочую почту.
    Ответ написан
    Комментировать
  • RC4 почему не полный результат?

    OCTAGRAM
    @OCTAGRAM
    Вместо Chr, который возвращает не понятно, что, для аналогии нужен Char. Или это какая версия Delphi? В старых (2007 и старше) для аналогии это WideChar.

    Посмотрел, а на чём прерывается версия Delphi. В JavaScript это \u0000. Напрашивается мнение, что Delphi отработала как надо, а проблема в системе отображения, которая закодирована на устаревшем языке программирования с устаревшей системой кодирования длины строки встроенным в конец строки нулевым символом. Поменяйте тот кусок, где режется, и строка сохранится во всей полноте.
    Ответ написан
    6 комментариев
  • С# wf как не закрывать или перезапускать проблему при критической ошибке?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Тут нельзя точно сказать, в чём проблема. Нужно смотреть код, отлаживать, тестировать.
    Где-то скорее всего происходит что-то страшное, типа обращения к null в нативном.
    А ещё ошибка вполне может возникать в железе - например при нестабильной работе ОЗУ.
    Перехватить и как-то обработать эту ошибку нельзя.
    Есть ещё неплохой доклад про подоные "особенные" исключения https://youtu.be/WLSrYgMWif4
    Ответ написан
    2 комментария
  • Как изменить переменные находящиеся в другом классе?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    1. Не переменная, а поле.
    2. Чтобы получить к ним доступ, надо взять экземпляр этого класса.
    Вроде в юнити есть какие-то компоненты, которые можно получить через GetComponent
    Ответ написан
    Комментировать