На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (8) [1] 2 3 ...  7 8 все  ( Перейти к последнему сообщению )  
> VB vs C++ , B.V. vs XPiS
   
Какой вариант лучше
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    Поспорили мы как-то с B.V..
    Я: "Vb is dead, на нем ничего толкового не напишешь, а если и напишешь, то будет :wacko: "
    B.V.: "кроме драйверов в VB можно сделать все. Абсолютно все."
    Ну что ж, решили написать простейшую прогу, пусть её заценит народ и сравнит, а также исходники.

    В файле строки, нужно сказать сколько строк в файле содержат нашу строку без учета регистра.
    пункты по которым оценивать, в порядке приоритета
    1. Правильность работы
    2. Скорость работы приложения - выполнение задачи
    2. Интерфейс - чтобы все было гладко, и не криво, работало уверенно, не моргало.
    4. Скорость разработки


    Не забывайте оценивать исходники!

    4 ый пункт оценить сложно, но судя по нашим словам - B.V. справился за 15 минут, я - за минут 30 + тестирование.
    Каждый аттачит свой вариант.
    (у меня файл с именем ChangeLog-2.6.10 должен лежать рядом с exeшником)
    Сообщение отредактировано: XPiS -

    Прикреплённый файлПрикреплённый файлxpis.rar (84.76 Кбайт, скачиваний: 218)


      Я снимаю свою программу по двум причинам:

      1. Пример от XPiS у меня работать отказался.
      2. Тема не предусматривалась для Delphi, оптимизаций примеров и т.д.
        Цитата XPiS @
        В файле строки, нужно сказать сколько строк в файле содержат нашу строку без учета регистра.
        пункты по которым оценивать, в порядке приоритета
        1. Правильность работы
        2. Скорость работы приложения - выполнение задачи
        2. Интерфейс - чтобы все было гладко, и не криво, работало уверенно, не моргало.
        4. Скорость разработки

        1) Чем разделены строки?
        2) Откуда береться подстрока которую мы ищем?
        3) Какой еще интерфейс(в проге на пару строк кода...?)
          10 минут :tong:

          Добавлено
          Кто удалил мое предыдущее сообщение? Это некрасиво, нужно хотя бы отклонять. >:(
          Прикреплённый файлПрикреплённый файлDelphi.zip (166.62 Кбайт, скачиваний: 170)
            Цитата LuckLess @
            1) Чем разделены строки?
            2) Откуда береться подстрока которую мы ищем?
            3) Какой еще интерфейс(в проге на пару строк кода...?)

            1. видно из тестового файла, что crlf
            2. поле ввода на форме
            3. интерфейс общий, максимум простоты
            Сообщение отредактировано: XPiS -
              Первое впечатление от проги B.V.:
              Цитата
              component "comctl32.ocx" .... unregistered....
              <_<

              Добавлено
              Первое впечатление от проги XPiS: текстового файла нету (кстати зачем было хардкодить название?), а прога че-то ищет себе :whistle:
                Цитата XPiS @
                1. видно из тестового файла, что crlf
                2. поле ввода на форме
                3. интерфейс общий, максимум простоты

                гм. вечером скину свой вариант..
                  Цитата cozzzy @
                  кстати зачем было хардкодить название?

                  для чистоты эксперимента. тестовый файл нужно скачать по ссылке, указана в первом посте

                  Добавлено
                  LuckLess, ну понятно, что он будет крут, тем более что сам лаклесс будет писать, можно stl не юзать, так вообще самолет будет 8-)
                  в данном случае это не честно, нужны условия близкие к реальным
                    Цитата XPiS @
                    в данном случае это не честно, нужны условия близкие к реальным

                    Т.е. код написанный лаклессом - это не реально? :lol:
                      Кстати, по моим субъективным впечатлениям мой вариант и работает быстрее.
                        Цитата cozzzy @
                        Т.е. код написанный лаклессом - это не реально?

                        реально :lol: для меня пока нет, да и B.V. вроде не гуру
                        можно еще на асме написать :whistle:

                        Добавлено
                        Smike зато во время поиска диалог висит без движения...
                          Цитата XPiS @
                          Smike зато во время поиска диалог висит без движения...

                          Ну если вместо ProgressBar.Update написать Application.ProcessMessages будет не намного дольше :whistle:
                            Хех. Не больше 10-ти минут:
                            ExpandedWrap disabled
                              #include <iostream>
                              #include <fstream>
                              #include <string>
                              #include <algorithm>
                               
                              bool CompareFn(char ch1, char ch2)
                              {
                                  return tolower(ch1) == ch2;
                              }
                               
                              int main(int argc, char** argv)
                              {
                                  if (argc != 3)
                                  {
                                      std::cout << "You must specify filename and search string" << std::endl;
                                      return -1;
                                  }
                               
                                  std::string pattern(argv[2]);
                                  std::transform(pattern.begin(), pattern.end(), pattern.begin(), tolower);
                               
                                  std::ifstream f(argv[1]);
                                  if (!f.good())
                                  {
                                      std::cout << "Can't open file " << argv[1] << std::endl;
                                      return -2;
                                  }
                               
                                  int lines_count = 0;
                                  while (f.good())
                                  {
                                      std::string line;
                                      getline(f, line);
                                      if (line.size() != pattern.size())
                                          continue;
                               
                                      if (std::mismatch(line.begin(), line.end(), pattern.begin(), CompareFn).first != line.end())
                                          continue;
                               
                                      lines_count ++;
                                  }
                               
                                  std::cout << "Matched lines: " << lines_count << std::endl;
                               
                                  return lines_count;
                              }
                              Smike там задача без учета регистра
                              хватит флеймить кстати 8-)

                              Добавлено
                              Flex Ferrum
                              Я так и знал что сейчас писал!!! :lol: :lol: :lol:

                              Добавлено
                              правда надо было гуи именно такое как у нас :) это было условие
                                Цитата Smike @
                                вариант и работает быстрее.

                                Похоже на то. Но поиск по строке "I" (то есть "я") в делфи варианте выдает 3967 строк, а в с++ 27432 :wacko:

                                З.Ы. Вариает B.V. попробовать так и не удалось
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (8) [1] 2 3 ...  7 8 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0585 ]   [ 16 queries used ]   [ Generated: 20.05.24, 05:03 GMT ]