• Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Они не только тормозят, но и весят слишком много. Это не из-за оптимизаций, а потому что он спроектирован так, чтобы особо не заморачиваться в плане ресурсов окружения.


    То что тормозят и требуют специального Runtime программы на C# не напрягает?
    Кому сейчас нужна такая оптимизация по объему и скорости?
    Сейчас, напротив, в языки встраиваются дополнительные проверки, чтобы программистовские ошибки ловить.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:
    Ну, а теперь представь миллиард строк по миллиарду символов, где для каждой строки нужно не только место под размер занимать, но и выполнять операции по вычислению размера.


    Для того, чтобы внятно работать с миллиардом строк, каждая из которых длинной в миллиард, тебе понадобится не просто 1 байт в конце строки, а и отдельные индексы.
    ))))
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    А теперь представь строку на миллиард символов. Для такой строки затраты на хранение её длины остаются теми же - один байт в котором записан нуль-символ.


    А для строки типа Pascal затраты на хранение длины составляют на 3 байта больше.
    Ты серьезно считаешь это недостатком, если общая длина строки составляет 1 миллиард байт?????
    ))))


    А вот если бы длина строки хранилась в переменной, то нужно было бы следить за размером этой переменной, потому что на слишком длинных строках числовое значение длины не помещалось бы в переменную.


    За этим компилятор следит.
    А на длинных строках операция проверки заранее известной длины занимает меньше времени, чем операция поиска конца строки.
    Преимущество по скорости строк, заканчивающихся нулем как раз на очень маленьких строках. Очень. Например, на строках длиной 3 символа.


    Ты думаешь, почему Дельфи такой медленный язык (программа The Bat! работает медленно), потому что там этого нет, из-за чего происходит множество лишних вычислений.


    То есть ты считаешь, что перебор строки в поисках концевого нуля - это быстрее?????

    Как раз на строках длинной миллиард более целесообразно хранить полную длину строки отдельно. Тогда для того, чтобы её узнать (а это нужно для очень и очень многих операций), будет затрачено НАМНОГО МЕНЬШЕ времени чем перебор миллиарда байтов в поисках конечного 0.

    Дельфи прекрасно умеет работать со строками, заканчивающимися 0. Если не память не изменяет такие строки там называются PChar.

    Торможение TheBat!, да и другой программы подобной сложности, вызвано вовсе использованием строк того или иного типа. А общей неэффективностью алгоритмов более высокого уровня, построенных поверх строк. Подобная программа, будучи написанной на C# или C++ или Go или Rust тормозила бы примерно так же. Не буду говорить про Python, Ruby и т.п., но при сравнении Delphi vs C++ - косяк всегда не в языке, косяк прежде всего в самом программисте.

    P.S.:
    На каком компьютере TheBat! тормозит? На Pentium-I, II, III?
    Если тормозит на современном, то попробуй переиндексировать базу данных писем.
    Или разбить письма по чуть большему количеству папок.
    Косяк к этом, а не в типе строк.
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    abcd0x00:

    У вас совершенно не внятное замечание. Ну включим "зануда-mode":

    1. С помощью указателя можно гулять по ЛЮБОЙ строке. Более того, зная сразу, где конец строки без того, что проверять все байты на 0, гулять по строке типа Паскаль проще, чем по строке типа С.

    2. Зачем вам на практике 4204067..... ? Если речь идет о текстовом редакторе, то там совсем по другому организовано хранение. Не в одной строке.

    3. Разве что в примитивных текстовых редакторах можно все запихнуть в одну строку. Но при попытке редактировать в таком редакторе большой файл вы стазу же столкнетесь с большими задержками при самых обычных операциях вставки-удаления символов в/из середину.

    4. Если тебе нужно работать со строками такой длины 4204067..., то для строки типа Паскаль никто не мешает использовать не 1 (ограничение на максимальную длину 255), а 4 байта для хранения длины. Что? На 3 байта больше приходится тратить оперативной памяти? И это-то при общей длине строки 4 гигабайта? Ты серьезно считаешь это недостатком?

    5. Что? В строка типа Паскаль можно хранить на 3 полезных байта меньше? При длине строки 4204067... ты считаешь это важным? Хорошо. Храним строку в структуре - отдельно размер, отдельно указатель на саму строку. В этом случае строка, размер которой определяется не наличием 0 в конце, а длина которой храниться отдельно позволяет хранить строки более длинные на 1 байт. Кому только это надо.

    5. То, что ты сразу знаешь длину, а тебе не нужно бегать и считать, ища ноль - преимущество по скорости для многих типовых операций. А если действительно используются возможности по максимуму, то есть работаем с гигантскими строками 4204067..., то искать конец строки в такой строке - просто глупо. Лучше знать заранее.

    6. В строке нельзя хранить 0. Как показывает практика, если уж речь идет о строках такой длины как 4295967..., то это скорее всего уже не обычный текст, а какие-то данные не текстовые, просто хранимые в виде строкоподобного массива, а там запросто и 0 может встречаться внутри строки, что делает невозможно использование обычной строки для хранения таких длинных строк с данными.

    7. Вывод: число 4204067... хорошо попонтоваться, что "я знаю такую штуку как size_t", а фактически практической пользы от этого мало.
  • Какую бесплатную cms выбрать для интернет магазина с количеством от 10 000 до 15 000 товаров?

    @redakoc
    sim3x:
    А что тут конкретно перепиливать-то? Загрузку из 1С?

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

    Переписать все это с 0 эквивалентно тому чтобы в уже готовом (чужом) движке интернет-магазина организоваться загрузку из 1С?

    Не говоря уже о том, что есть и готовые решения для загрузки из 1С.
  • Какую бесплатную cms выбрать для интернет магазина с количеством от 10 000 до 15 000 товаров?

    @redakoc
    sim3x: Зачем?
    Про скиллы - понятно.
    Я про экономический смысл?
    Зачем это делать сейчас когда кругом полно готовых движков и интернет-магазинов в аренду.
    15000 товаров - вообще не нагрузка.
  • Где искать инвестора для игры на небольшую сумму?

    @redakoc
    Михаил:
    Для инвестора (для настоящего, а не для того, кто продал бабушкину квартиру и думает, что он инвестор) сумма не интересная.
  • Какую бесплатную cms выбрать для интернет магазина с количеством от 10 000 до 15 000 товаров?

    @redakoc
    Не пиши сам.
    Используй готовое.
    Писать самому нужно если у заказчика уж очень специфические требования к магазину и полно бабла.
  • Какую бесплатную cms выбрать для интернет магазина с количеством от 10 000 до 15 000 товаров?

    @redakoc
    Любая специализированная CMS потянет хоть 150 000 товара. Хоть 1 500 000 наименований.
    Вы же не обращаетесь к ним всем ежесекундно. Хорошо если в течение дня хотя бы 1000 наименований будут просмотрены хоть одним потенциальным покупателем. Поисковых роботов не считаем.
  • Какую бесплатную cms выбрать для интернет магазина с количеством от 10 000 до 15 000 товаров?

    @redakoc
    ssrdop:
    Знакомые или были не профи в Битриксе и жлобились заплатить тем, кто в Битриксе профи.
    Других вариантов быть не может.
  • Выбор между.Net и 1С?

    @redakoc
    > Ну и недостатки поменьше - сложности с удаленной работой,

    Нет такой проблемы.

    > хуже условия труда, необходимость общаться с клиентами

    А при программировании сайтов или приложений смартфонов ты с ними не общаешься?

    > говнокод

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

    Если ты говнокодер, то это проблема в твоей голове и только в твоей.
  • Выбор между.Net и 1С?

    @redakoc
    В 1С тоже есть язык запросов, поразвитее чем SQL
  • Стоит ли устанавливать сторонние темы и патчить систему (Windows)?

    @redakoc
    Razor98: Не всегда одинаково. Ты же сталкивался с косяками. Значительная часть косяков оттуда и идет. Различающиеся версии.
  • Имеет ли право преподаватель в ВУЗе требовать бумажные учебники (которые в этом же ВУЗе стоят 1000 рублей)?

    @redakoc
    Олег Смирнов:
    Объясни явно это преподавателю.

    Он не обязан знать - а могут ли родители себе позволить купить тебе удобный планшет.
    Преподаватель не обязательно злодей, который вымогает из вас деньги. Просто поговори.

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

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

    Скажи просто - я обязуюсь.
    Обязуюсь его носить с собой всегда на все занятия.
    Он будет всегда заряжен
    И он всегда содержит все учебники.

    Точка.
  • Имеет ли право преподаватель в ВУЗе требовать бумажные учебники (которые в этом же ВУЗе стоят 1000 рублей)?

    @redakoc
    Олег Смирнов:
    Объясните это преподавателю.

    Он же не знает, что у вас все нормально с доступом к учебнику в электронном виде в любой момент времени. Возможно, он считает, что у вас нет электронного автономного устройства и электронного учебника.

    (Не забывайте заряжать, если аккумулятор на паре разрядится - это не будет вашим оправданием).
  • Имеет ли право преподаватель в ВУЗе требовать бумажные учебники (которые в этом же ВУЗе стоят 1000 рублей)?

    @redakoc
    Олег Смирнов: Ага. Только:

    1. Учеба нужна именно вам, а не преподу. И если учебник нужен, то он нужен. Сколько он стоит, найдете ли вы его бесплатно у старшекурсников, которым он уже не нужен или т.п. - ваша проблема.

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

    3. В конечном итоге все зависит от психологии, от человека, кто-то махнет рукой, а кто-то принципиально настоит. Чем это закончиться если вы откажетесь никто здесь со своими умными советами вам ничего не прогарантирует.