1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Беседка для программистов, или «Бутерброд с кодом»

Тема в разделе "Флейм", создана пользователем Рыжий Тигра, 25 окт 2013.

  1. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
  2. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
  3. R4kk00n Benched arcade playa

    R4kk00n

    Модератор

    Регистрация:
    28 мар 2005
    Сообщения:
    9.292
    Рыжий Тигра, для здорового человека (в противоположность курильщику) то, что ты в предыдущем сообщении описал, звучит как @#$*&% (и вызывает подёргивание глаза).

    ---------- Сообщение добавлено в 11:49 ---------- Предыдущее сообщение размещено в 11:49 ----------

    Старообрядческое программирование!
     
  4. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    R4kk00n, Вы удивитесь, но тут неподалеку, в одной отдельной фирме, есть один интересный продукт, написанный на чистом C (даже за C99 по рукам били сначала) , где все именно так и сделано, с эмуляцией основных контейнеров stl на макросах. С модульной архитектурой, сетевыми плагинами, своей высокоскоростной БД использующей сжатие данных с динамической генерацией x86-64 кода декомпрессии, есть поддержка интерфейсов с C# и Java-компонентами.. Компилится на Linux/Win64/OSX. Правда GUI на Qt, а отдельные утилиты на плюсах, но это опционально. C++ там не любят. Совсем.
     
    Последнее редактирование: 24 дек 2014
    Рыжий Тигра нравится это.
  5. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Насчёт вылезания неопрятных потрохов? (с глубоким удивлением) Ты что, не делаешь пошаговый проход отладчиком по каждому свеженаписанному куску кода в ассемблерном режиме??? А как же ты тогда узнаёшь - то ли закодировал, что хотел?
     
  6. Alex Kagansky

    Alex Kagansky

    Регистрация:
    17 дек 2007
    Сообщения:
    3.054
    А ты что, делаешь?

    Не, можно конечно и машкоды проверять, но тогда что-то больше хелло ворлда вряд ли напишешь.
     
  7. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Простой обыденный код должен почти всегда без отладчика работать, если правильно написан. Отладчик нынче достают не так уж часто. Ну и есть еще логгинг, assert-ы и DebugBreak() на неожиданных ветках. И unit test-ы, хотя это не панацея (тщательно расставленные assert-ы с прогоном на реальных данных часто приносят больше профита).
    Настоящие проблемы имеют привычку возникать не тогда, когда ты сразу приходишь с отладчиком наперевес :)
     
    Последнее редактирование: 24 дек 2014
  8. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    ...в заданные начальством отделом сбыта сроки? я знаю. Ну так не позволяй торгашам размахивать дедлайнами над твоей головой.
    Вот именно, "почти". А от "DO 10 I = 1. 3" никто не застрахован.
    Кстати, сишный аналог: простецкое
    Код:
    uint64_t
    /* для обсчётов показаний часов в 16-микросекундных тиках */
      ja,
    /* пяток строк комментов */
      jb;
    /* ещё полдюжины строк комментов */
      jc;
    /* ещё десяток строк комментов
    /* дальше много метода наименьших квадратов */
    обсчитывает уход часов (это кусок из NTP'шного драйвера часов на базе специализированной платы для сетей сигнализации) и через то ли 11, то ли 13 часов работы слетает с катушек. :-( Кто возьмётся глазами найти граблю в функции весом в пару сотен строк? :-)
    Вот с тех пор и прогуливаюсь отладчиком по ассемблеру. Времени занимает каждый раз меньше чем наколачивался исходник - если, конечно, без ошибок; если с ними - то, конечно, чуть больше, зато потом здорово экономится по сравнению с если бы начал разгребать по факту залёта.
    Не-а! Только отдельными функциями, на вибростенде специально подготовленных данных и с воткнутыми в затычки проводами к осциллографам печатью аргУментов на входах и выходах.
    Вообще, специальный "вибростенд", вызывающий только отлаживаемую функцию, скармливающий ей контрольные данные и предоставляющий вместо подфункций специальные затычки с распечатью параметров, по-хорошему надо иметь написанный раньше, чем начинать писать саму функцию. Проверено - потом такая фигня здорово облегчает жизнь. Это из опыта разработки драйверов: они, собаки, мало того что в нулевом кольце крутятся, так ещё и с устройством взаимодействуют - а устройство понимать бзики драйвера типа "программист за отладчиком задумался и про@бал все тайм-ауты" в общем случае не обязано.
    Во-во. Поэтому наперевес - не наперевес, но за спиной на ремне болтаться должен. Заряженный. :-)
     
  9. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Подвернулась работа с процессором 8051. Забавная штучка - дешёвый как солома и примитивный как дрова, готовая иллюстрация для гётевского "гений познаётся в ограничении": на нём не то что Java, а даже C++ не ходит. А вот Си - как раз его родной язык. :-)
    Кстати, интересно - а в качестве игровой платформы его кто-ньдь юзал? По идее, игры на нём должны быть куда интереснее микрокалькуляторных. :-)
     
  10. Wilco

    Wilco

    Регистрация:
    13 ноя 2013
    Сообщения:
    327
    А я вот чуть-чуть знаю C++ и Pascal, на уровне Label1.visible:=true; А можно ли нормально программировать не имея опыта создания консольных приложений? Во всех учебных пособиях почему-то первые главы всегда посвящены именно им. Но они скучные. С консолью вряд-ли можно сделать что-нибудь интересное. А вот оконные - это как раз.
    Кто-то начинал именно с оконных, в обход консольным?
     
  11. Amberus Insane

    Amberus

    Регистрация:
    19 ноя 2007
    Сообщения:
    1.611
    Потому что изначально учат синтаксису языка и структуре, а оконные приложения - это сразу куча подключаемых библиотек и кодогенерации, въезжать банально в суть происходящего сложнее.

    Формошлёпствовать конечно весело, но если стоит цель разобраться и научиться, то нужно быть последовательным.

    "Нормально программировать" - слишком жиденькое понятие. Кто-то нормально пишет макросы на VBA и ему достаточно, чтобы решать свои задачи.
     
    Wilco нравится это.
  12. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    @Wilco, на работе как-то нефиг делать было, сделал за день WoT с псевдографикой. Рубились неделю в это. Консоль не скучная, это у тебя проблемы.
     
    Wilco нравится это.
  13. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Как тут заметили, все окно это почти всегда кодогенерация.
    Те берутся фреймворки на текущий момент. Самый популярный QT. Можно писать и на VS там есть генерация окон на .net, правда приложение hello world в памяти весит около 50 или 60 метров :) Это если сравнивать с winapi. Сейчас лучше взять и спользовать builder c++, это если не пугает цена и пользоватся пираткой не кто не запрещает.

    Да я начинал, но понял, что это не совсем верный путь.
     
    Wilco нравится это.
  14. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Имхо пока будет противопоставление консоли vs Label1.visible, толку не будет.

    Консоль — просто самый простейший и надёжнейший способ ввода-вывода информации.

    Если мы склоняемся к настройкам гуёвых формочек, то следует признать, что мы занимаемся программированием формочек, а не логики программы.
     
    Wilco нравится это.
  15. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @MisterGrim, вы себе не представляете, сколько логики иногда нужно для корректного поведения этих формочек :) А распарсить строку на параметры вроде не высший пилотаж.
     
  16. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Обычно это означает, чо мы что-то делаем не так.
    Обычно идет пошаговый ввод данных, а уже отдельная логика это все обрабатывает.
     
  17. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @tuliss, Вообще-то UI бывают интерактивные :) Которые отображают и обрабатывают изменения одновременно. Рисующие сложную кастомную графику, ресайзящиеся в зависимости от контента, поддерживающие различные ориентации и размеры экрана, анимации, обрабатываюищие асинхронные события из разных источников, поддерживающие кастомизацию, переключение языков и стилей на лету, использующие разные потоки для вычислений и обработки ввода-вывода от пользователя.
     
  18. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    1) Можно пример такого треша ?
    2) Это все равно делает в отдельной логике. UI просто дергает логику и возможно некую БД где у вас там все хранится и откуда берется.
    У вас юзер не будет одновременно переключать язык,менять стиль интерфейса, вводить данные и читать поток вывода.

    Ну а так, то что ты говоришь больше похоже уже на 3D моделирования и игровые движки. Но и то, там не все обрабатывается одновременно :)
     
  19. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Ну, Blender какой-нибудь, например.
     
  20. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ага, в Blender самое сложное для программера это UI.
     
    tuliss нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление