Забавные новости 0й-Ti :)

Тема в разделе "WASM.HEAP", создана пользователем UbIvItS, 18 июн 2018.

Статус темы:
Закрыта.
  1. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Согласен, потому что я не понял ничего :/
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    создаётся статичная переменная в качестве массива строк :) и такого на ржаке будет много.. милые абстракции :laugh1::laugh2::laugh3:
     
  3. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Нууууу допустим, а что не так?
    Статичная переменная ведь хранит только указатель на буфер и два числа (size и capacity), сами строки выделяются динамически - это же не статический массив с фиксированным размером.
    Ну то есть, это то же самое, что в плюсах создать глобальный std::vector<std::string> (не считая RW-лока и ленивого инициализатора).
    Если надо статические массивы со ссылками на строки, как в си const char* arr[2] = { "Sample", "text" }, то будет так:
    static ARR: [&'static str; 2] = ["Sample", "text"];
     
  4. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    362
    - Си мне не понравился своей низкоуровневостью, долго писать что то крупное и нет ООП;
    - Си# не понравился своей привязанностью к Microsoft, громоздкой IDE Visual Studio, привязкой к Винде (кто бы что ни говорил, .net.core более урезанный, нет WPF для Linux например и т.д), опять же, по-хорошему нужно виндовый сервер и базы тоже MS SQL; C# будет больше интересен любителям Windows и всякого виндового хакерства;
    - PHP не нравится, писать знаки долларов раздражает
    - Python хорош, краток, но не понравился тем, что на нем нельзя писать под голое железо;

    С++ хорош и очень интересен, функции могут быть свободными, а не в составе класса, есть крутые шаблоны, можно писать что угодно низвоуровневое, но работы на С++ для джунов мало. Поэтому выбрал Java
     
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    не так, что глобальные переменные делаются чрез сервач - поток, а такой поток может либо тихо упасть / либо накрыться дЭдлоком + зависимости от разных мутных крейтов получаем == ладить весь этот ацццкий ад прям крайне весело :)
    на питохе хоть ось пиши, но кому нужны такие тормоза??? :)
    никто не мешал не клепать 100500 яп-ов, а сделать для сишки нормальную экосистему.. в конце-то концов 80+% кода есмь тупо копипаста с минорным набором подстроек.
     
  6. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Хм, не совсем понял… Какой поток?
    В твоём примере глобальный вектор инициализируется в контексте потока, который первый к нему обратился.
    --- Сообщение объединено, 18 янв 2024 ---
    А с языком что делать? Если в плюсах проблема по большей части только с экосистемой, то в си и с самим языком, и с экосистемой.
    Весь мир решил, что проще сделать с нуля и сразу нормально - и вот вам джава, шарп, гоу, раст, питон и тайп-скрипт. Просто взяли и закрыли все ниши современными и удобными языками со своими экосистемами.
    Вот для си и остался удел поддержки легаси, который уже никто не будет переписывать.
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Да, ты просто живешь с рейс кондишенами и доволен, периодически в сегфолт падая, зато все просто и понятно.

    Никто не мешал, но осиляторы так и не сделали. Наверное потому, что в основном были заняты обсуждением на богом забытых форумах всего, что угодно, кроме программирования.
    --- Сообщение объединено, 18 янв 2024 ---
    Так а что, ты когда-нибудь в своей жизни "ладил этот ад", негативный опыт в этом есть, может быть?
     
  8. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Кстати, не знаю, зачем тебе вообще понадобилось тащить once_cell. Инициализируй в main'е, и никакие крейты не нужны.
     
  9. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323

    --- Сообщение объединено, 18 янв 2024 ---
    8d_H-FaHPNc~2.jpg
     
    aa_dav и CaptainObvious нравится это.
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    погляди в сорцы once_cell, погоняй бинарь под отладчиком.. да, даже в ридми написано..
    неа, варик в отдельной функе лежит и функа фильтрует доступ.
    у си проблемы??? это какие???????? то, что на си легче всего бинарь отлаживать?????? а надо бы чрез }|{OOπ-у.. аки во ржаке???:laugh1::laugh2::laugh3::crazy::crazy::crazy:
     
  11. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Мы уже пять страниц переливаем из пустого в порожнее.
    Давай подведём итог, и уже не будем к этому по сто раз возвращаться:
    1. Крайне бедный синтаксис.
    2. Отсутствие выразительных средств для структурирования кода (модулей/неймспейсов) и для изоляции кода и данных от пользователя (аналога private).
    3. Отсутствие ООП в каком бы то ни было виде. Так сложилось, что ООП лучше всего подходит для большинства задач (пусть и не для всех). Например, раст тоже не объектный, но в нём представлены все три кита ООП.
    4. Нет деструкторов и возможности автоматически управлять временем жизни ресурсов.
    5. Нет метапрограммирования или дженериков, нет возможности вытащить из типов информацию или на основе одного типа вывести другой.

    Про безопасность ни слова, это не самая большая проблема в си.

    Лично для тебя ни один из этих пяти пунктов может быть не важен - пускай, это лично твоё мнение.
    Но весь остальной мир не хочет связываться с си из-за всего вышеперечисленного - язык просто неудобен, писать сложные проекты на нём сложно, но его вынуждены использовать из-за легаси. Именно вынуждены, а не потому что разработчики от него фанатеют.
    Поэтому из каждого утюга уже кричат: "Не используйте си, используйте ЧТО УГОДНО другое!" - на всех уровнях, от embedded и кернелмода до веб-бэкендов.

    А теперь про "что угодно другое": ты говоришь, мол, зачем 100500 языков, развивали бы сишную экосистему.
    Её и развивали, и развили до C++ - вот тебе си с человеческим лицом. Затем поэкспериментировали со сборщиком мусора - получилась джава. Затем убрали си из C++ - и получился раст.
     
    CaptainObvious нравится это.
  12. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    6. Отсутствие нормального тулинга.
    7. Медленная компиляция из-за того, что вместо полноценных модулей используется препроцессор.
    8. Куча архаичных вещей, типа необходимости forward declaration.
    9. Куча острых углов, которые компиляторы трактуют, как им в зависимости от настроек оптимизации и ретроградности меркурия захочется, откуда undefined и unspecified behavior вытекает.
     
    CaptainObvious нравится это.
  13. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Само собой, про тулинг я даже не заикался)
    Ну конкретно это проблема не столько языка, сколько компиляторов, но таки да, когда пишешь на си и плюсах, это становится и твоей проблемой тоже
     
  14. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Это проблема именно языка, тк если бы стандарт языка форсировал какое-то одно определенное поведение, то компиляторы бы были вынуждены ему следовать, а undefinded behavior как термина вообще бы не было.
    --- Сообщение объединено, 19 янв 2024 ---
    Чет мы все про Цэ да про Ржавого, а ведь есть еще и Дэ:
     
  15. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Ещё бы взглянуть на код...
    Но в принципе, подобным образом можно затащить в ядро любой язык, который можно скомпилить во freestanding-объектник.
     
  16. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    В целом да, тут проблем нет. Почитать подробнее про это можно тут: https://ieeexplore.ieee.org/document/9987502 - насчет кода - хз. Похоже, этот же чувачок выступал с похожей темой на дэконфе довольно давно:

    --- Сообщение объединено, 19 янв 2024 ---
    А, там в тексте есть ссылка: https://github.com/alexandrumc/d-virtio/tree/master/drivers/net/dfiles
     
  17. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    все эти аргументы из деЦЦкого сада, появились ещё на заре плюхи. Вот из чего состоит яп а-ля сиха/плюха/ржака/.. ??? препроцессор и компиль - у сихи, да == препроцессор слабоват, а компиль-то ПОЧТИ ИДЕАЛЕН == он не тащит всяку хрень в бинарь и ладить сиху, кстати говоря, легче всего - легче, чем плюху / чем ржаку / чем питоху / жабу - скрипт / итд-итп. отдельно можно лишь жабу отметить - там неудобия отладки с избытком компенсируются её дикой портабельностью (тч жаба действительно смогла одолеть сиху, но до ядерных кодов на ней ещё далеко - слишком тормознуто :) ). а вся ся фигня про }|{OOπ-у, так это вопрос препроцессора + интеграция с редактором сорцев (тем же вимом и/ль вскодом).. foo(obj) == obj.foo(), foo(obj, x, y) == obj.foo(x, y), foo(inner(obj)) == obj.foo().inner().. короче, стругай кастомный препроцессор для сихи и любой аспект мета-кодов превзойдёт Твои ожидания :) безопасность??? для каждой Задачи есть своя модель Безопасности, тч безопасность безопасности - рознь :grin: в одной Задаче в приоритетах скорость, в другой целостность операции, в 3ей - нужно экономить кВт-часы итд-итп. а сишка - самый лучший инструмент, дабы прописать любую модель.
     
  18. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Это самое красноречивое описание языка)
     
  19. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Сиха - это просто всратый препроцессор для ассемблера, которому, чтобы стать нормальным, нужно написать еще несколько препроцессоров поверх него.
     
    CaptainObvious нравится это.
  20. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Так то пориджи кричат, которые кроме как копипастой с гитхаба (с помощью жпт, конечно же, ибо даже это - та еще задача) кодить не умеют. А на гитхабах весь важный и производительный код только на сишке. Не из-за легаси какого-то мифического, а по факту. Вот у них и подгорает :)
     
Статус темы:
Закрыта.