Задать вопрос
  • Можете посоветовать видео блогеров обучающие программированию на Python?

    Sanes
    @Sanes
    Сам учись. И желательно опираясь на документацию. А видео для того, чтобы посмотреть и въехать в тему любое подойдет.
    Ответ написан
    Комментировать
  • Как ускорить циклы while?

    Не используйте мультипроцессинг или мультипоточность. Пока, по крайней мере.
    Разбирайтесь с алгоритмами - например проходить попиксельно всю игровую область - это всегда будет медленно.
    Найдите и почитайте какую нибудь книжку по разработке игр, там наверняка будет что нибудь на тему оптимизации.
    Ответ написан
    1 комментарий
  • Почему для счётчиков не используют беззнаковые (unsigned) числа?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По поводу Java int.

    Java создавалась до 1996 года. Это было абсолютное царство 32х разрядных машин. Даже первые Pentium адресовали мало. И никто не думал о том что когда-то разрядная сетка адреса будет удвоена. Тем более что основная целевая архитектура для JVM была микроволновками, кофеварками пультами ДУ и банковскими карточками. Поэтому выбор индекса массива в 32 бита со знаком был норм. Представте что всю память 4G занимает массив целых чисел. И в этом случае достаточно максимального индекса элемента равного 1 073 741 823, больше нет смысла.

    По поводу беззнаковости. На битовых операциях signed int ведет себя также как и беззнаковый. Это декларировано на уровне стандарта JVM. Лишь только два логических сдвига различают знаковый бит.

    Хотя скажу честно что для меня до сих пор странно иметь компаратор который неверно работает при переполнениях. Конечно хотелось в JVM иметь семантику uint, ulong e.t.c. Есть много величин которые принципиально неотрицательные. Время. Вес. И прочие величины из физики.
    Ответ написан
    4 комментария
  • Как сделать автоматическое переключение слайдов с интервалом в 2 секунды?

    Awiconet
    @Awiconet
    Frontend Developer
    В вашем коде есть функция nextSlide. Так вот если обернуть ее в setInterval, то получится то, что вам нужно
    Ответ написан
    Комментировать
  • Почему для счётчиков не используют беззнаковые (unsigned) числа?

    @AlexSku
    не буду отвечать из-за модератора
    Смотрите фокус. Такой код выполняется:
    unsigned int i = 0, N = 5;
    	
    	while (i < N) {
    		std::cout << i << "\n";
    		++i;
    	}

    А в таком стиле нет:
    unsigned int i = 0, N = 5;
    	
    	while (i - N < 0) {
    		std::cout << i << "\n";
    		++i;
    	}

    Дело в том, что умный компилятор понял, что арифметическая операция с беззнаковыми числами всегда неотрицательна, и просто выкинул ваш цикл как бесполезный. Так что лучше использовать знаковые счётчики.
    UPDATE
    Точнее, может, он и не выкидывает, но разница это беззнаковое число, поэтому больше нуля ,поэтому первая итерация цикла не выполняется и цикл заканчивается.
    Ответ написан
    1 комментарий
  • Почему для счётчиков не используют беззнаковые (unsigned) числа?

    Adamos
    @Adamos
    У std::vector как раз не int, а size_t, который алиас для unsigned long.
    В результате строгий компилятор на действия индексной арифметики, где, внезапно, вполне могут использоваться отрицательные числа, сыплет предупреждениями о том, что вместо беззнакового числа получается знаковое, ай-яй-яй. И оно с одной стороны правильно, потому что отрицательных индексов, скорее всего, не предполагается и тут могут крыться ошибки, а с другой - ну что программист с этим сделает? Приведет к беззнаковому и вместо одной ошибки спровоцирует другую?
    Ответ написан
    2 комментария
  • Корректное сокращение слова 'processing' в программировании?

    Не сокращать.
    Ответ написан
    Комментировать
  • Исходный, Машинный и Объектный коды - Разница?

    @stul5tul
    Исходный код или исходный текст - текст на языке программирования, который пишет человек (как правило, человек). Это обычный текстовый файл (как правило).

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

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

    Машинный код - уже готов для исполнения. То есть просто берете его, ничего не нужно более. Делаете двойной щелчок мыши, к примеру, и программа запускается.

    Пример исходного кода - легко:
    package example
    
    func Add(p int) int {
       return p + p
    }


    Пример объектного кода и машинного кода - бессмысленен. Что объектный, что машинный коды этой программы
    не предназначены для чтения человеком.

    Это для вас будет выглядеть как абракадабра.
    !<arch>
    __.PKGDEF       0           0     0     644     30328     `
    go object windows 386 go1.11 X:framepointer
    build id "ZKpaYf_Flzmm6jns9NJp/RbNW-F32vdlI8SgqpfEX"
    ----
    
    
    $$B
    i

    И это еще не весь объектный код - там большой файл.

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

    Упомянутая вами цепочка (исходный - объектный - машинный) касается языков программирования, компилируемых в машинный код:
    C/С++/Go/Rust/Pascal.

    Некоторые языки предназначены для компиляции в байт-код. Его нельзя назвать ни машинный ни объектным. Это Java/Kotlin/C#. Если бы этот код выполнялся непосредственно процессором (CPU) его можно было бы назвать машинным. Но он выполняется только через специальную программу.

    Языки Ruby/Python/JavaScript ничего похожего на машинный код не генерят.
    Ответ написан
    1 комментарий
  • Почему для счётчиков не используют беззнаковые (unsigned) числа?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Часто вижу в коде на C++ и C#, что для счётчиков … используют int, а не uint/unsigned int.
    Почему праграмисты делают это?

    Я слышал следующую теорию, почему это имеет смысл в С++: потому что значение знакового типа в корректно написанном коде не переполняется. (А если таки случилось переполнение, то это UB и всё уже не важно). Поэтому если счётчик имеет знаковый тип и с ним на каждой итерации происходит, например, инкремент, то значение счётчика только увеличивается. Это, в свою очередь, даёт дополнительные возможности для оптимизации. Беззнаковый счётчик инкрементируемый на каждой итерации может внезапно обнулиться, это может быть легальным поведением программы на которое рассчитывает программист.

    А почему они фактически используют int -- наверняка потому что никакой практической разницы не видно, а буков нужно меньше.
    Ответ написан
    2 комментария
  • Почему для счётчиков не используют беззнаковые (unsigned) числа?

    Griboks
    @Griboks
    Потому что длина массива имеет тип int. Счетчик, который нужен для итераций по массиву, даже теоретически не можетппреполниться, потому что всегда будет не более n-1, где n:int.

    Так устроен дизайн шарпа. Но, думаю, в любом случае всем было бы лень следить за типами даже в случае индексации по unsigned.
    Ответ написан
    21 комментарий
  • Что не так с цифровой подписью установщика uTorrent?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Дело не сертификате, а в вашей системе.
    62fe6ac84b384123380950.png

    И это 3.5.0.0, а есть 3.5.5
    Ответ написан
    Комментировать
  • Нужна ли в университете дискретная видеокарта?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Видеокарта может быть нужна например для ресурсоемких графических задач и в некоторых случаях может дать прирост вычислительной мощи в областях "специфического" программирования (математические вычисления, анализ данных, ии).
    В остальном - на текущем этапе куда важнее:
    • Наличие SSD (заявляю как человек, до недавнего времени, считавший, что HDD еще "достаточно шустрые")
    • Минимум 8 гигов оперативы
    • Минимум 4 ядра (это именно что минимум)

    То-есть в целом любая современная система. Далее - зависит от направления, по которому обучаетесь.
    Для компилируемых языков (плюсы/шарп/раст) в общем случае упор на проц. Если андроид то, по хорошему и памяти побольше и проц получше.
    upd: Ну и вы уверены, что вам нужен ноут? Даже с поправкой на последние события, собрать аналогичный по мощности стационарник должно выйти дешевле.
    Ответ написан
    3 комментария
  • Нужна ли в университете дискретная видеокарта?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    конечно нужна ) не только ж учиться)
    как говорится : Делу - время, потехе - видяха!
    Ответ написан
    3 комментария
  • Нужна ли в университете дискретная видеокарта?

    Griboks
    @Griboks
    Посмотрите системные требования всех программ, которые вы планируете использовать одновременно, сложите и добавьте 20-50 процентов сверху.

    Для программирования видеокарта не требуется.
    Ответ написан
    Комментировать
  • Материнка пищит о неисправности видеокарты, что делать?

    gremlin_tomsk
    @gremlin_tomsk
    Системный администратор, DevOps
    6пин кабель питания к видеокарте подключили? каким кабелем в какой разъем подключали монитор?
    Ответ написан
    Комментировать
  • Материнка пищит о неисправности видеокарты, что делать?

    @andrulix Автор вопроса
    простите за то, что задал такой тупой вопрос))
    Оказалось, что мы с другом - два слепых лоха и подключили моник к материнке(то есть интегр. видюхе), а не к самой карточке :((
    всем спасибо за ответы, расходимся))
    Ответ написан
    1 комментарий
  • На каком железе лучше всего начать изучении C++ с нуля?

    @evgeniy_lm
    На каком железе лучше всего начать изучении C++ с нуля?
    На том которое у тебя есть

    Хочу начать изучать C++ с нуля
    Правильная хотелка, но хотеть мало нужно изучать. Например, 40 лет назад когда я начал изучать программирование персональных компьютеров вообще не было. Но это мне ни как не помешало.

    не знаю что лучше для этого (ноутбук или стационар).
    А я знаю, что ноут это не великое счастье, а суровая необходимость. Если ты БОМЖ то куда деваться, придётся ноут. Если есть более менее постоянное жилье то лучше стационар.
    Ответ написан
    2 комментария
  • На каком железе лучше всего начать изучении C++ с нуля?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    На любом. Это не система трехмерного проектирования :)
    Ответ написан
    Комментировать
  • На каком железе лучше всего начать изучении C++ с нуля?

    Никакой разницы.
    Ответ написан
    Комментировать
  • На каком железе лучше всего начать изучении C++ с нуля?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне всегда был интересен стационарник с точки зрения того что туда можно было подключить много устройств. Сначала были ISA-слоты. Потом PCI, потом express. Потом дисковые шлейфы менялись IDE/SATA-1-2-3. Короче любил я это дело. Возился со списанным железом. С неработающим. Был рекорд что я неделю сидел с сгоревшим WD в котором половина блоков была битая. Переформатировал его на штук 10 disk partitions так что битые секторы не попадали в пространстово использования. И потом скленил заново через LVM. Тогда я только изучал Linux Redhat.

    Ноутбук в этом смысле как мобильный телефон. Он просто работает но нету такой себе творческой свободы. Разве что USB слоты.

    Почему я речь завел про железо и С++. Ну просто мне кажется что С++ ник должен быть отчасти железячником. Иначе зачем вам С++ ?
    Ответ написан
    1 комментарий