Чего Вам не хватает в С ?

Тема в разделе "LANGS.C", создана пользователем osox, 14 июн 2010.

  1. osox

    osox New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2009
    Сообщения:
    280
    когда то давно начал один проект на Pure C
    когда он стал определенного размера
    стал испытывать большие проблемы с статическими
    массивами в основном из за проблемы обработки строк
    пришлось написать отдельный модуль динамических строк
    и внедрить в проект сейчас новые интерфейсы принимают
    специальный тип строк и работать стало намного легче
    пусть и в ущерб производительности да и старые
    интерфейсы которые принимают строковые данные переделываю
    а чего Вам не хватает в C ?
     
  2. osox

    osox New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2009
    Сообщения:
    280
    Всех приветствую
     
  3. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Когда в 85 году умный человек по кличке Страус-труп понял, что ему чего-то не хватает в языке С, он создал язык С++.

    И это уже содержит в себе ответ на вопрос "чего вам не хватает в С".
     
  4. osox

    osox New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2009
    Сообщения:
    280
    да страус-труп видно терпел терпел и решил добавить новые конструкции в язык и расширить стандартную библиотеку
     
  5. osox

    osox New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2009
    Сообщения:
    280
    теперь я понимаю почему многие настоятельно советовали использовать std::string вместо char * чем больше проект тем неудобней с char * работать а std::string безусловно вещь жаль что ее нет в С приходится изобретать велосипеды и внедрять в проект по ходу да и не стандартизировано это у каждого С проекта свои динамические строки соответственно сопровождать кому то если придется то ему можно только посочувствовать а тут к std::string все привыкли везде он одинаковый интуитивно все
     
  6. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    C был задуман как минималистичный, очень гибкий (с минимальными ограничениями) язык высокого уровня (те не привязанный к конкретному процессору или машине), позволяющий писать максимально компактные и быстрые программы. в то время писалось - "всего на 15% хуже ассемблерных"
    весь основной функционал в нем был вынесен в библиотеки.

    надстроек над С счас более чем. до 1/3 современных языков == расширения С. С++ только одно из них.

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

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Когда с этой проблемой столкнулись парни из microsoft, они придумали такие штуки как UNICODE_STRING и BSTR.

    *Символы ,.:; - неотъемлемая часть не только языка С, но и русского, если чё.
     
  8. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Если столь вольно трактовать термин "расширение языка", то придется признать все современные императивные языки расширениями Алгола-60.
     
  9. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Расширение, которого мне не хватает во всех без исключения языках программирования - чтобы они стали, наконец нормально поддерживать любые языки в именах переменных, функций и т.п. Я хочу писать свои функции на родном языке, а не на всяких волапюках!
     
  10. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    183
    Адрес:
    Ukraine
    CyberManiac
    а как быть с экспортируемыми функциями?
    как китаец, будет читать их имена на русском?
     
  11. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    RedLord
    А тебе так принципиально важно, какие крокозяблики копипастить в свой цодес из таблицы экспорта?

    Точно так же, как нонче читает их на латыни. То есть "Цопы-Пасте" и всё чики-поки.
     
  12. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Тогда тебе в 1С.
    Остальным это нафиг не нужно (да, я интересовался, что думают по этому поводу другие).

    Во-вторых, стандарт С++ не возражает против того, чтобы компиляторы поддерживали любые языки в именах переменных\функций. В частности, это реализовано в MSVC начиная где-то с 8.0 .
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Чего вам нехватает в асме ?
    Про совместимость не упоминайте - код изолирован для всех реживом(V86, x64 etc.) в зависимости от опций сборки, винь не линус. Переносимость на различные контроллеры просто смешно.
     
  14. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Чего вам не хвататет в чёрном хлебе? Про витамины и аминокислоты не упоминайте - чёрный хлеб содержит их в достаточном количестве. Почему бы вам не питаться одним чёрным хлебом?
     
  15. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Ursus
    Твоих остальных меньше, чем моих. Ты китайцев забыл спросить.

    И ещё он не возражает против мира во всём мире, нудистских пляжей и переговоров с инопланетянами. Но и не обязывает к этому. Вот когда обяжет - тогда и можно говорить о поддержке. А до тех пор игры с самопальными расширениями языка, которые никого ни к чему не обязывают, обычно кончаются плохо.
     
  16. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Clerk
    Вы как всегда за своё. Не можете признать, что асм не портируем никак и никуда. Какую изоляцию вы имеете ввиду, sand box? Смешно. Количество асма нужно максимально минимизировать.
     
  17. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    183
    Адрес:
    Ukraine
    CyberManiac

    даже при копипасте полезно думать. :)
     
  18. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    Что значит «не обязывает»? Поддержка universal-character-name (\u и \U) в идентификаторах является нормативным требованием стандарта C99 (ISO/IEC 9899:TC3). Если к тому же компилятор/среда позволяет использовать UTF-8/16/etc. для человеческого представления этих самых universal-character-name (вот это как раз implementation-defined) — радоваться надо.
     
  19. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Типизированных enum-ов, break outer.
     
  20. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Booster
    Перенеси какуюнибудь IoConnectInterrupt() на линус или другое железо, например контроллер какой, я про это говорю. Мне ваше портирование и нафиг не нужно.