• Как компилятор понимает, что первую функцию, которую нужно вызвать, будет именно Main()?

    Casper-SC
    @Casper-SC
    Программист (.NET)
    В книге CLR via C# - Программирование на платформе Microsoft.NET Framework 4.5 на языке C#. 4-е издание на странице 37 в главе Исполнение кода сборки написано:
    Далее основной поток вызывает определенный в библиотеке MSCorEE.dll метод, который инициализирует CLR, загружает сборку EXE, а затем вызывает ее метод Main, в котором содержится точка входа. На этом процедура запуска управляемого приложения считается завершенной.


    Так же написано в документации Microsoft, что вызывается именно метод Main, если в качестве параметра компилятора -main не передать название другого метода.

    Документация Microsoft:
    Main() и аргументы командной строки
    Запуск приложения
    Ответ написан
    22 комментария
  • Какой игровой движок начать изучать?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Любой, который подходит под ваши требования.
    Добавлю ещё в ваш список: Defold.
    Ответ написан
    Комментировать
  • Как учить программирование, чтобы понимать его и быть хорошим программистом?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Нужно ли понимать как работает компьютер на самом низком уровне? Как кодируются и обрабатываются сигналы в процессоре и как выводится ответ на экран?
    Хотя бы в базовом виде, любое понимание на более глубоком уровне всегда можно дотянуть по возникновению задачи. Главное осознавать что искать, а для этого должны быть какие-то понятия основ.

    2) Нужно ли обязательно знать "исподнюю" языков программирования, то есть как устроен и как работает интерпретатор или компилятор того или иного языка? Где он хранится в программе-обработчике и как взаимодействует с ОС и компьютером в целом?
    Это нужно, во всяком случае если вы претендуете на серьезный уровень в своем деле. Большинство не сильно интересуется "что под капотом" пока оно выполняет свои функции как задумано. Но для серьезных вещей нюансы и использование таких знаний дают большой профит.

    3) Нужно ли хорошо знать математику?
    Спорный вопрос. Арифметика и базовые правила необходимы, естественно. Более глубокие знания нужны редко, но есть области, которые очень желательно знать хотя бы для понимания как можно сделать по науке (графы, деревья, дискретка в целом, алгебра и теория множеств будут не лишними, сложность алгоритмов...)

    4) Нужно ли хорошо знать английский язык?
    Да. Нужно. Хотя бы технический английский. Разговорный тоже нужен, тут и форумы, и конференции, и доклады международные и вообще практически все на английском изначально. На русский переводится лишь малая доля, а есть еще время на перевод и... короче, английский для программиста маст хэв.

    5) Каким образом лучше учить программирование( в частности веб-разработку: сайты, приложения и т.д.) и в какой момент можно смело сказать себе: "Я - программист", ведь конечной точки нет, верно?
    В момент написания на бейсике хелло ворлд можете себя поздравить - вы программист. Об уровне компетенции и качестве вашего кода на начальном этапе скромно умолчим.
    Ответ написан
    Комментировать
  • Откуда столько вопросов про системное программирование?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Да их нифига не "столько". Там несколько человек все никак не могут решить - стоИт у них на это или не стоИт...
    Ответ написан
    Комментировать
  • Какие есть сферы в системном программировании?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Относится.
    Но вот зачем такие вещи спрашивать?

    Если вы настолько не разбираетесь в ИТ, что не понимаете сферы, то какой смысл этим интересоваться?
    Если интересуетесь, то просто изучайте что-нибудь, в процессе все это узнаете.

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Как-то примерно так должно быть:
    import sqlite3
    
    def product(name):
        with sqlite3.connect('database.db') as connection:
            cursor = connection.cursor()
            cursor.execute("SELECT * FROM catalog WHERE name = ? ", (name,))
            return cursor.fetchone()
    Ответ написан
    2 комментария
  • Как отключиться от RDP-сеанса чтобы остался рабочий стол?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Прямой ответ на вопрос - никак. Вы по RDP подключаетесь не к той сессии, которая "расположена" на экране монитора, а к отдельной.
    Если это Windows 10 - используйте Remote Desktop Shadowing, иначе используйте сторонние механизмы для подключения к консольной сессии - VNC, teamviewer etc.
    Ответ написан
    Комментировать
  • Программа Win 10 Tweaker это вирус?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Нет конечно.
    Обычная вредоносная программа.
    Откуда у вируса возьмется графический интерфейс?

    Вирус это программа которая "размножается" - создает множество своих копий.

    Если нет, то стоит ли её использовать?
    Если вы хотите вывести из строя ОС - вполне стоит.
    Ответ написан
    1 комментарий
  • Есть ли смысл ставить Avast на Windows 10?

    Extar93
    @Extar93
    Не нужны нам эти ваши интернеты
    Встроенного дефендера хватает с лихвой
    Ответ написан
    Комментировать
  • Стоит ли в 2020 учиться созданию игровых движков?

    DevMan
    @DevMan
    пика? рили?
    с подобной логикой: пик был достигнут лет 20–30 назад.

    только всегда находились люди, с этим не согласные - и воплощали свои идеи: кто в коде, кто в железе.
    Ответ написан
    1 комментарий
  • Как жить после php?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Я тебе больше скажу - в php все тоже самое. Ты просто даже не подобрался к первой ступеньке сложности в веб-разработке
    Ответ написан
    Комментировать
  • Как получить значение с сайта?

    @DmitryLink
    python developer
    Привет. Код тут не дадут.
    Сначала получаешь нужную страницу через requests.get(), потом через bs4 достаешь текст из нужного класса. Вот примеры: https://python-scripts.com/beautifulsoup-html-parsing
    Ответ написан
    Комментировать
  • Visual Studio не хочет работать с символьной переменной, что делать?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    у вас на скрине однозначно не тот символ. после имени экземпляра поставьте точку и подождите выпадающий список членов класса и просто выбирайте из него

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

    ps хотя .Net и позволяет использовать все символы Unicode, это не очень хорошая идея использовать символы отсутствующие на клавиатуре. что вы сами себе и доказываете такими граблями
    Ответ написан
    5 комментариев
  • Как исправить ошибку?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    TChart.SeriesList обращаться нужно не к классу, а объекту. А вы его не создали. И на форме его тоже нет.
    Ответ написан
    Комментировать
  • В чем разница multithreading, multiprocessing и асинхронности?

    @majstar_Zubr
    C++, C#, gamedev
    Multiprocessing и multithreading относятся к стратегии управления разделяемыми ресурсами и оптимизации простоев между задачами, а Asynchronous invocation к паттернам проектирования.

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

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

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

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

    milssky
    @milssky
    Координатор племени фиолетовых обезьянок
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    Угол нужно перевести в радианы.
    Ответ написан
    Комментировать
  • Имеет ли смысл учить C++ для GameDev в 2020?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Unity - C#
    2. UE - C++
    Это два лидера для ширпотреба.
    Выбирайте любой.

    PS: все остальные "движки" класса AAA - пишутся конторами с "нуля" и не распространяются как инструмент разработки в паблик.
    Ответ написан
    Комментировать
  • На чем писать быстрые приложения под Desktop?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    высокоэффективные не тормозящие приложения

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

    На чем быстро написать? - Java (JavaFX или Spring + JavaFX), JavaScript (ElectonJS), Python.

    На чем написать высокоэффективные приложения? - тут зависит от разработчика и используемого языка. C, C++, Delphi, Java, C#, Qt

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

    Убедительная просьба, не пишите десктоп на рнр. Лично на мой взгляд это извращение))
    Ответ написан
    2 комментария