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

Тема в разделе "Машинное отделение", создана пользователем WinPooh, 10 июл 2006.

  1. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Вот как это сделано в Греке:

    position.h
    position.cpp
     
  2. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Справедливости ради, дожен признаться что в этой ветке я согласен с Атоку. С++ = бедствие, массовое помешательство. С = красота и дзен. С недавних пор практикую в основном подход язык-клей, в качестве которого применяю перл. :)

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

    WinPooh В.М. Команда форума

    Репутация:
    95
    Язык Си продолжает радовать. Сделал простой поиск и оценку - скорость в knps по сравнению с версией C++ всё на том же уровне, 150% и выше. Заодно, язык провоцирует внимательнее относиться к своим структурам данных - чаще спускаться на нижние уровни представления. Возникает приятное ощущение, что всё действительно под контролем.

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

    krey Михаил Кройтор Команда форума Команда форума

    Репутация:
    1
    ух ты!!! дай хотя бы екзешник помацать, а?!;):D
     
  5. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Не, рано ещё :) Я думаю, где-то через неделю смогу прислать, в частном порядке. Вот прикручу Winboard-протокол как следует.
    Потом, для турнирной версии там столько всего не хватает - оценки эндшпиля практически никакой, библиотеки дебютов тоже пока нет...

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

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    WinPooh!

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

    WinPooh В.М. Команда форума

    Репутация:
    95
    Пару лет назад у меня не было достаточной силы духа, чтобы отказаться от std::string в пользу char* :)
     
  8. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    А какая разница? Строка используется только для извлечения PV и лучших вариантов (хотя в принципе достаточно стека),
    и для обмена с GUI... Несколько строк в программе.
     
  9. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    А, вспомнил - ещё std::map для дебютной книги.
    Так что мне ещё предстоит вспомнить младшие курсы института и реализовать дерево руками, чего я не делал лет десять, наверное :)
     
  10. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    В Дельфи есть указатели? И даже адресная арифметика? Какая низость!
    (я в смысле уровня языка, не подумайте ничего плохого) :)
     
  11. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Конечно есть указатели :) . Но даже если у нас просто массив, и мы используем Integer, а не Pointer для обыкновенного обращения (ссылки) на элемент массива - то это всё-равно указатель.
    А наличие большего количества средств для низкоуровнего программирования в Си/Си++ по сравнению с Делфи, и большее быстродействие компиляторов (откомпилированного кода) Си/Си++ (Есно я не имею в виду Intel C++ компилятор :) ) - не более чем Миф. :)
    А Указатели и адресная арифметика есть :)
     
  12. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Т.е. в этом плане Дельфи далеко ушёл от своего папы-Паскаля?
     
  13. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    В стандарте Пакаля есть указатели, но нет Адресной арифметики и преобразования типов (Целое в Указатель и обратно)
    В Делфи есть.
    Насчет мощности языка... В Си есть Множества? :)
     
  14. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    В Си - нет, в Си++ есть, std::set (стандартная библиотека есть часть языка).
     
  15. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Причем ситуация такая, что в стандарте Паскаля многого нет, а в конкретных реализациях всё есть - например в ТурбоПаскале (под DOS) есть и прямое обращение к памяти и адресная арифметика и массивы переменного размера и вставка Ассемблерного кода и т.д.
    Если Бы бы Паскаль/Делфи был действительно настолько ущербен и обрезан как думают многие "СИшники", то никто бы на нем не писал...
     
  16. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Ассемблерные вставки и обращения к памяти это ладно. А вот есть ли в Дельфи шаблоны и обобщённое программирование?
     
  17. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Да, шаблоны есть. Что понимается под "обобщенное программирование"?
     
  18. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    В Сишном понимании (Настолько мощных шаблонов) наверно всё-таки в Делфи нет, и обобщенного программирования тоже.
     
  19. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    От объектов-функций (functors) до извратов с шаблонами а-ля Александреску (http://en.wikipedia.org/wiki/Template_metaprogramming)

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

    WinPooh В.М. Команда форума

    Репутация:
    95
    А указатели на функции-то есть? Можно написать функцию, применяющую нечто к каждому из элементов заданного контейнера?
     
  21. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Применяющую нечто к каждому элементу - указатели же есть, конечно можно. :)
    Указатель на функцию в Делфи есть.
     
  22. atoku
    Оффлайн

    atoku Модератор

    Репутация:
    0
    Позвольте не согласиться. Мне кажется что это чуть ли не единственно стоящая сторона :)
     
  23. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    По идейному содержанию - возможно. Но по практическому воплощению, по синтаксису - кошмар...