Обсуждаем языки программирования

Discussion in 'Машинное отделение' started by WinPooh, 10 Jul 2006.

  1. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Вот как это сделано в Греке:

    position.h
    position.cpp
  2. Kirr Администратор

    • Команда форума
    Member Since:
    11.02.2006
    Message Count:
    1.208
    Likes Received:
    22
    Репутация:
    8
    Оффлайн
    Справедливости ради, дожен признаться что в этой ветке я согласен с Атоку. С++ = бедствие, массовое помешательство. С = красота и дзен. С недавних пор практикую в основном подход язык-клей, в качестве которого применяю перл. :)

    Фриц написан одним человеком на асме. Из других примеров можно привести Rebel.
  3. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Язык Си продолжает радовать. Сделал простой поиск и оценку - скорость в knps по сравнению с версией C++ всё на том же уровне, 150% и выше. Заодно, язык провоцирует внимательнее относиться к своим структурам данных - чаще спускаться на нижние уровни представления. Возникает приятное ощущение, что всё действительно под контролем.

    Размер исполняемого файла застыл в районе 60-70 Кб, и увеличивается крайне неохотно :)
    При том, что у TSCP - за 150 Кб (хотя тоже на Си написана), и её уровень силы новой версией уже решительно пройден.
  4. krey Михаил Кройтор

    • Команда форума
    Member Since:
    10.04.2006
    Message Count:
    3.709
    Likes Received:
    50
    Репутация:
    1
    Location:
    Кишинев
    Оффлайн
    ух ты!!! дай хотя бы екзешник помацать, а?!;):D
  5. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Не, рано ещё :) Я думаю, где-то через неделю смогу прислать, в частном порядке. Вот прикручу Winboard-протокол как следует.
    Потом, для турнирной версии там столько всего не хватает - оценки эндшпиля практически никакой, библиотеки дебютов тоже пока нет...

    Надеюсь, правда, кое-какие знания применить к доработке и C++ версии Греки. А то что-то она не браво в четвёртом дивизионе WBEC выступает, того и гляди в пятый вылетит...
  6. WildCat Коршунов Игорь

    • Команда форума
    Member Since:
    04.05.2006
    Message Count:
    3.599
    Likes Received:
    4
    Репутация:
    0
    Location:
    Гомель
    Оффлайн
    WinPooh!

    А ведь я советовал перейти на Си еще пару лет назад :)
  7. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Пару лет назад у меня не было достаточной силы духа, чтобы отказаться от std::string в пользу char* :)
  8. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    А какая разница? Строка используется только для извлечения PV и лучших вариантов (хотя в принципе достаточно стека),
    и для обмена с GUI... Несколько строк в программе.
  9. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    А, вспомнил - ещё std::map для дебютной книги.
    Так что мне ещё предстоит вспомнить младшие курсы института и реализовать дерево руками, чего я не делал лет десять, наверное :)
  10. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    В Дельфи есть указатели? И даже адресная арифметика? Какая низость!
    (я в смысле уровня языка, не подумайте ничего плохого) :)
  11. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Конечно есть указатели :) . Но даже если у нас просто массив, и мы используем Integer, а не Pointer для обыкновенного обращения (ссылки) на элемент массива - то это всё-равно указатель.
    А наличие большего количества средств для низкоуровнего программирования в Си/Си++ по сравнению с Делфи, и большее быстродействие компиляторов (откомпилированного кода) Си/Си++ (Есно я не имею в виду Intel C++ компилятор :) ) - не более чем Миф. :)
    А Указатели и адресная арифметика есть :)
  12. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Т.е. в этом плане Дельфи далеко ушёл от своего папы-Паскаля?
  13. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    В стандарте Пакаля есть указатели, но нет Адресной арифметики и преобразования типов (Целое в Указатель и обратно)
    В Делфи есть.
    Насчет мощности языка... В Си есть Множества? :)
  14. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    В Си - нет, в Си++ есть, std::set (стандартная библиотека есть часть языка).
  15. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Причем ситуация такая, что в стандарте Паскаля многого нет, а в конкретных реализациях всё есть - например в ТурбоПаскале (под DOS) есть и прямое обращение к памяти и адресная арифметика и массивы переменного размера и вставка Ассемблерного кода и т.д.
    Если Бы бы Паскаль/Делфи был действительно настолько ущербен и обрезан как думают многие "СИшники", то никто бы на нем не писал...
  16. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Ассемблерные вставки и обращения к памяти это ладно. А вот есть ли в Дельфи шаблоны и обобщённое программирование?
  17. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Да, шаблоны есть. Что понимается под "обобщенное программирование"?
  18. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    В Сишном понимании (Настолько мощных шаблонов) наверно всё-таки в Делфи нет, и обобщенного программирования тоже.
  19. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    От объектов-функций (functors) до извратов с шаблонами а-ля Александреску (http://en.wikipedia.org/wiki/Template_metaprogramming)

    Ну, оно и к лучшему, что нет :)
    Не самая изящная сторона мира C++, на мой взгляд.
  20. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    А указатели на функции-то есть? Можно написать функцию, применяющую нечто к каждому из элементов заданного контейнера?
  21. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Применяющую нечто к каждому элементу - указатели же есть, конечно можно. :)
    Указатель на функцию в Делфи есть.
  22. atoku Модератор

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    2.949
    Likes Received:
    9
    Репутация:
    0
    Location:
    USA
    Оффлайн
    Позвольте не согласиться. Мне кажется что это чуть ли не единственно стоящая сторона :)
  23. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    По идейному содержанию - возможно. Но по практическому воплощению, по синтаксису - кошмар...

Share This Page