Разбираюсь в железе, ассемблере, C, низкоуровневом программировании, сетевых протоколах...
Участвовал в анализе и обработке видео (3D)

НЕ разбираюсь: web, PHP, JS, C#, C++ 11/14
Контакты

Достижения

Все достижения (33)

Наибольший вклад в теги

Все теги (249)

Лучшие ответы пользователя

Все ответы (767)
  • Почему не создают компьютеры с машинным языком на C/C++?

    15432
    @15432
    Системный программист ^_^
    Процессор это тупая железяка из транзисторов. Ну ладно, не настолько тупая, в современных x86 процессорах машинные коды на лету транслируются в еще более низкий уровень встроенным микрокодом. Но все все равно предположим, что это тупая железяка типа Intel 8086. Как происходит выполнение программы - процессор считывает очередной байт кода и смотрит, что же он такое считал. По значению байта, он определяет, что это за команда (сложение, вычитание) и сколько ещё нужно считать байт конкретно этого машинного слова (а они в x86 могут быть разной длины). Все это происходит на уровне железа, то есть нечто вроде "пятый бит 0, третий бит 1, ага! Это команда сложения двух восьмибитных регистров, надо переключить линию данных на арифметико-логическое устройство и считать туда еще два байта на шину данных. То есть операции очень и очень простые, на уровне бит, сигналов и чтения данных, никакого анализа кода и уж тем более никаких имен переменных. Вы же предлагаете на аппаратном уровне парсить сишный код, в котором при последовательном чтении иногда невозможно определить, что делать в данный момент!! А процессор в это время будет простаивать и считывать из памяти кучу ненужного текста.
    Я вообще не представляю, как на уровне железа и транзисторов можно сделать синтаксический и лексический анализ сишного файла. Разве что сделать настоящий электронный мозг с миллиардом нейронов. Это уж точно не будет быстро, это вообще работать не будет. Изучите устройство компьютера, как именно работает процессор, научитесь думать на языке ассемблера, и поймёте всю абсурдность вашего предложения.
    Ответ написан
  • #Глупый_вопрос Можно ли превратить старый комп в ноут?

    15432
    @15432
    Системный программист ^_^
    Будет тяжелый, громоздкий и с очень малым временем автономной работы. У меня наоборот, остатки ноута стали десктопом.
    Ответ написан
  • Хочу работать программистом Python бесплатно. Это возможно?

    15432
    @15432
    Системный программист ^_^
    Не обязательно присоединяться к проекту. Найдите интересную для вас задачу, реализуйте её на питоне. Если было легко, придумайте более сложную задачу. Я так писал свой архиватор, прокси-сервер, редактор изображений..
    Ответ написан
  • Откуда можно выпаять SRAM память?

    15432
    @15432
    Системный программист ^_^
    SRAM используется там, где есть CPU, нужно хорошее быстродействие, компактность и простота (+ не нужно сильно много памяти).

    Можно поискать в старых игровых приставках / компьютерах (GameBoy, NES)
    Ещё можно глянуть в продвинутых музыкальных центрах, проигрывателях, принтерах... В общем, в относительно сложных старых устройствах. В современных уже скорей всего DRAM стоять будет.
    Искать многоногие микросхемы типа таких.
    IMG_2003_2.jpg
    Ответ написан
  • Что такое асинхронный сокет?

    15432
    @15432
    Системный программист ^_^
    нет, эквивалентность многопоточности и асинхронного сокета отсутствует.

    попробую объяснить суть асинхронного сокета на простом примере.

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

    возможные варианты вашего ответа:
    1) "я подожду" - синхронный сокет, программа ожидает, пока не придёт сообщение.
    1.5) "долго не везут что-то, надоело ждать, ухожу" - синхронный сокет с таймаутом
    2) "ну ладно, я попозже загляну" - асинхронный сокет, программа не ждёт сообщения и занимается своими делами дальше
    2.5) "я вернулся, ну как, привезли? да? ну вот и отлично, забираю" - асинхронный сокет, очередная попытка приёма данных, на этот раз успешная
    3) "алё, Вован, я стою минералку жду, вернусь попозже, работай, не отвлекайся" - синхронный сокет + многопоточность. один поток ожидает приёма данных, другой поток работает
    3.5) "Вован, тут минералки ещё нет, ща вернусь" - многопоточность + асинхронные сокеты. несколько потоков работают одновременно, на приеме данных не блокируются
    Ответ написан