Непомню кто мне говорил, что на си++ не удобно работать со строками

Тема в разделе "WASM.ZEN", создана пользователем EvilsInterrupt, 18 июл 2006.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    По сабжу:

    http://www.msoe.edu/eecs/ce/courseinfo/stl/string.htm
     
  2. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    EvilsInterrupt
    Строки-классы-шаблоны это супер. Особенно мелкомягкие дошли - CString, просто монстр Java-подобный. Куда-там Паскалю и Delphi - с их прозрачной поддержкой строк, на уровне языка (сиречь компилятора), в том числе Unicode.
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Мне нравится Си тем, что на нем код выглядит лаконичней! Да я видел и пробовал писать на дельфи, простите паскале, но код через чур много заграмаждается множеством языковыми ключивыми словами, к примеру. Но это к примеру, написать какой либо алгоритм, что там что тут, но для наглядности, а иногда наглядность может с экономить не час и не два и даже не целый день, а куда больше! Алгоритм он конечно и в африке алгоритм, главное как его выразить языком программирования, но все же наглядность кода для меня была и есть чуть ли не на первом месте!
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    EvilsInterrupt
    Во-первых, ты не Америку открыл - это STL (Standart template library).
    Во-вторых, что в них удобного? Если уж на то пошло, WTL::CString для Win32 удобнее.
    В-третьих, на рсдн прошёл не один холивар по поводу строк и привели наиболее быструю и удобную реализацию. Правда, я потерял ту тему, но в принципе, WTL::CString хватает.

    Из плюсов std::string - поддерживает любые символы, итерацию, много полезных алгоритмов. Из минусов - тормоза, нет прозрачной интеграции с Win32API (для передачи строки отдельный вызов функции, передача буфера под строку вообще невозможна) и преобразования win1251<->utf16<->utf8.

    --up
    А вообще, ничто не мешало сделать подобие BSTR (Паскалевских строк) на уровне компилятора и все были бы счастливы.
     
  5. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    EvilsInterrupt
    По идее, каждому свое. Просто я привел мысль, что самые здоровые мысли рождаются у людей с опытом. А Си был придуман энтузиастами, и множество его недостатков, его преимущество не перекрывает. Есть даже байка:
    Я могу кодировать в обоих языках, и так чтобы это не теряло читабельности. Что касается лаконичности языка - это огромный минус для компилируемого языка (скрипты в html-страничках другое дело), поскольку читабельность лаконичного кода убывает пропорционально его лаконичности. Когда в нормальном проекте кодирование, должно занимать около 10-15% всей работы, а то и меньше, так что затраты на ввод текста значения особого не имеет. Что же получается, когда в команде разработчиков, отличным вниманием лишь половина, а то и меньше обладает - могу по собственному опыту судить, что в предельно сжатый и сложный код, приходится вникать очень долго, и от этого только утомляемость растет. А если еще и у каждого разработчика свой собственный стиль, ненависть к комментариями и длинным (более 4 символов) именам переменных и функций... Вобщем процесс разработки становится дорогостоящим, и вызывает у программистов очень быстрое охлаждение энтузиазма к кодингу. Ведь не на 10000 строк программы приходится отлаживать, а порой на миллионы...

    Есстественно что языковые конструкции Паскаля, русскому человеку поперек сознания - для того чтобы к ним привыкнуть требуется ощутимое время. Зато потом программа воспринимается уже как разжеванный алгоритм, если написана нормально.


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