1. Куча / Говнокод #12050

    +136

    1. 1
    2. 2
    3. 3
    <!--[if lte IE 6]>
    Ваш браузер говно. Качайте новый...
    <![endif]-->

    Верстальщику респект...

    Запостил: BaranOnGovnokod, 03 Ноября 2012

    Комментарии (122) RSS

    • <!--[if IE]>
      Ваш браузер говно. Качайте новый...
      <![endif]-->
      Ответить
      • Все таки 9 версия ещё имеет какие-то шансы на существование :).
        Ответить
        • Судя по оценке - нет.
          Ответить
          • На нетбуке юзаю 10ку, делает хром почти во всем, кроме юзерфрейндли-интерфейса и отсутствия расширений. На десктопе хватает выч. мощности на хромик, но он все равно тупее IE
            Ответить
            • Да. Действительно , после 8 версии мощный скачек...IE очень сильно поменялся, но все таки уступает остальным - с этим не поспоришь.
              Ответить
              • Кстати, а хрен знает. Говорят, и памяти жрёт меньше, и сворачивается быстрее, и запускается быстрее... Что типа последние версии - это уже не тот пресловутый "ишак".
                Ответить
                • Да , он полностью переработан. Но многие или из-за старого опыта либо из невежества считают что и последние версии IE то ещё говно. Я думаю через некоторое время (хотя бы из-за денег его создателя) IE займет свою нишу и многим из нас нужно знать с чем работать. А такое противостояние всему роду IE меня немного удивляет. Хотя конечно понятно почему :).
                  Ответить
                  • а) известная поддержка стандартов у мелокософт.
                    никто не хочет обратно привыкать к говну, каким бы вкусным снаружи оно не казалось, и кушать его несмотря на то какое оно низкокалорийное.
                    б) проприетарная платформа only
                    в) закрытый исходный код и всё что с ним связанно
                    Q.E.D

                    PS он просто жутко неудобный. разве что страничку с говноком открывать.
                    ну так это и Lynx умеет.
                    Ответить
                    • Конечно с этими пунктами нельзя спорить...С другой стороны - как будто раньше было как то иначе...IE всё равно займёт свой сегмент рынка и придется привыкать (политика такая у них).

                      А я склонен искать во всем позитив - IE не столь упоротый как был раньше и намного лучше развит на данный момент. Это факт - его нельзя отрицать или опровергать. Я сам не пользуюсь им по некоторым причинам. И не так уж и сильно он мне нравится. Но я не стану говорить что новый IE не лучше IE6 - потому что это полнейшая чушь. Это очевидно. Не с точки зрения того какой Билл Гейтс плохой человек и какая Майкрософт ужасная корпорация, а с точки зрения функциональности и поддержки CSS и пр и пр...
                      Ответить
                    • показать все, что скрытоА вот я постараюсь поспорить с этими аргументами:
                      а) ихние стандарты обычно удобнее установленных w3c+у ie всегда были самые вкусные фичи. IE8+ поддерживают все нормальные разработчики.
                      б-в) это называется опенсорс головного мозга. На самом деле это не есть серьезный недостаток. Если вы боитесь за ваши приватные данные, то, увы, винда тоже может безнаказанно собирать любые сведения, в том числе тырить куки у других браузерах, но пока майкрософт юридическое лицо - они этого делать не будут без пункта в соглашении - а если кто-нибудь найдет подобный пункт, поверьте, начнется срач.
                      Если по какой-то другой причине - я рад выслушать и объяснить почему не есть аргумент.

                      ps: да, он жутко неудобный, правда пока это лучший браузер с поддержкой мультитач, что я видел :-)
                      Ответить
                      • Поправил: IE9+.
                        IE8 — идеальное говно, потому что в нём уже не работают некоторые фишки IE7, но ещё не работают многие фишки IE9.

                        Несовместимость IE с W3C не была бы проблемой, если бы разные версии IE были бы совместимы друг с другом хотя бы в одну сторону.
                        Ответить
                      • > опенсорс головного мозга
                        Под линуксом у меня не запустится, и пакетов можно не ждать.
                        Ответить
                      • Я твои фоточки вконтакте нашел. Добавь в друзяшки.
                        Ответить
                        • Поздравляю, я не скрываюсь.
                          Но боюсь тебя придется выслать нахуй =)
                          Ответить
                • Чисто для справки: минусующие - это те, кто сам проверял, или те, кто писал под ИЕ-10, или это всё-таки в основном школота, которая "ололо ие говно111"?
                  Ответить
                  • Да конечно школота и им подобные :). Неужели не ясно по первому комменту и количеству лайков к нему? Или количеству утверждающих что весь род IE умер. Хотя если учесть что компания MicroSoft не собирается закрываться - то боюсь и не умрёт. Потому что что то мне подсказывает что не станет мелксофт ставить в windows по умолчанию бесплатный опенсорс браузер...А сегмент рынка будет занят мелксофтом - тут ничего не поделаешь - только привыкать...

                    Только поправка, в основном не: "ололо ие говно111" а чаще: "ололо ие говно111 билл гиетс маст дие11! мелокософт в ад!11" :)
                    Ответить
                  • Ну начнем пожалуй с того, что на 64битной винде стоит два осла - 32 и 64 битный, что вызывает неописуемые батхерты у тех кто об этом не знает, и пытается зайти на сайты, которые требуют 32х разрядный active-x (а таких не так и мало, как могло бы показаться)...

                    Во вторых у ие9 подкошена совместимость с ие8, и до сих пор есть проблемки с некоторыми банк-клиентами (вот пару месяцев назад сталкивались с такой проблемой, пришлось делать даунгрейд до 8).

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

                    Насчет кодинга под ие - х.з. Веб программирование не мой конёк.

                    P.S. На самом деле он получше ие6. Он хотя бы не крашится, и нет диких тормозов на скриптованных сайтах. И да, в нем даже есть вкладки!

                    P.P.S. Ну и да, совсем забыл. Ололо ие говно!!111
                    Ответить
                    • У ИЕ9 рядом с адресной строкой есть кнопка «Распидорасить сайт» «Отобразить в режиме совместимости с ИЕ7», так что даунгрейд не нужен. Надо только не забывать, для каких сайтов включать этот режим, а для каких не надо.

                      Кстати, не могу припомнить больше ни одного браузера с подобной кнопкой.
                      Ответить
                      • Кнопку с распидорашенымпорванным листиком тыкал в первую очередь, т.к. знаю что она часто помогает... но... не помогло. Помог только даунгрейд.

                        > Надо только не забывать, для каких сайтов включать этот режим, а для каких не надо.
                        А он же вроде запоминает на каких она включена?
                        Ответить
                    • Я говорю , говорю - это видимо мало кого волнует когда такой холивар развит...Ладно скажу по другому. Бабушка Зина из соседнего подъезда, которой 80 лет не догадывается что существует гугл хром,мозила,опера и не знает зачем они нужны, но она и подобные ей, постоянные посетители вашего сайта и заходят через IE - проклинай , не проклинай ты этот браузер , найди тысячу недостатков , напиши письмо президенту - не изменишь ты этого... Остается только понимать чем он лучше того же IE 6 пользоваться этим , изучать вёрстку под него , его особенности.
                      Потому что если ты человеку который смутно понимает что такое "Рабочий стол" (по опыту скажу , таких куча) скажешь "Обновика ты браузер дружок" - он тебя пошлет и пойдет на сайт конкурента. Тебе это надо? Нет , я лучше буду терять клиентов и говорить что "Ие говно" и не буду пользоваться им вообще.

                      Наоборот, нужно понимать и искать чем новый IE лучше старых и пытаться воспользоваться этим...Нет - у всех куча аргументов что весь род IE проклят страшными шаманами из клана MicroSoft...
                      Ответить
                      • С точки зрения веб-разработчика вы абсолютно правы. Если бы я ваял сайты - я бы тоже старался сделать так, чтобы они нормально работали в ИЕ, и извлекал бы пользу из нововведений майкрософта...

                        Но я писал свой отзыв с точки зрения пользователя, которому приходится сталкиваться с ИЕ, и помогать другим таким же пользователям. И вот тут я имею полное право говорить что "Ие говно" и не буду пользоваться им вообще.
                        Ответить
                      • > нужно понимать и искать чем новый IE лучше старых и пытаться воспользоваться этим...
                        §1. Новый IE.
                        §2. Бабушка Зина.

                        Если бабушка Зина не знает, что такое «Рабочий стол», то вряд ли для неё получить новый IE проще, чем любой другой браузер. И на всякий случай: IE9 нельзя установить в Windows XP, поэтому волей-неволей придётся смотреть не в сторону нового IE, а в сторону IE8, IE7, а то и IE6 ради бабушки Зины.
                        Ответить
                        • блин. договорились же, что IE6 мертв.

                          а лучше на сайте повесить окошечко с линком на альтернативы
                          Ответить
                        • Поддержка Windows XP закончилась с выходом Windows 8. В основном пользователи уровня Бабушки Зины покупают компьютеры в магазинах и специализированных конторах. Там по умолчанию устанавливаются последние версии Windows (понятное дело на данный момент Vista,7,8). Я не знаю как на Windows 8 , но на Win7 IE8 устанавливается по умолчанию. Конечно это те ещё фекалии, но точно уж не так сильно пахнут как IE6.

                          Поэтому если вы до сих пор рассчитываете на XP то вы можете и под IE5 сайты верстать...

                          ps. Я беру компьютеры и железо в основном с рук (чаще всего у обычных юзверей) и уже наверно пол года ниже Vista не видел ОС.
                          Ответить
                          • > Бабушки Зины покупают компьютеры
                            А в нашем городе Бабушкам Зинам компьютеры, в основном, достаются в наследство от Внучка Васи. Поэтому на них по традиции стоят пиратские XP SP2 с ИЕ6.

                            А с организациями тут отдельная история... полгода назад видел пару живых вин2к, а XP SP2 встречаются 50/50 со сборками SP3. Сборками я бы сказал не лучшего качества - то без windows installer, то написано sp3, а часть компонент осталась от сп2. Взять бы и уебал всем этим "сборщикам винды", которые нихуя не понимают в том чем занимаются.
                            Ответить
                          • Я вот сейчас иду работать в контору, не от хорошей жизни--так получилось. Я у них был на собеседовании, мне показывали, что они делают и т.п. У всех Виндовс ХР, пробная версия Экселя и т.п... ХР еще по-любому долго будет жить, пока что это доходно для мелких компаний. А всяких агенств, которые один раз закупили оргтехнику + ПО и эксплуатируют его пока оно полностью из строя не выйдет - таких ого-го как много. Конечно, у них и запросы ограницчены, но тем не менее...
                            Ответить
                            • В круппных компаниях с централизованным IT то же самое. Поддерживать несколько поколений типовых АРМ сильно дороже, чем одно.
                              Ответить
                              • один наш крупный заказчик в прошлом году, пока это было еще возможно, прикупил про запас 1к лицензий на XP, которые в будущем ему пригодятся
                                что намекает
                                Ответить
                          • поддержка у XP действительно закончилась?
                            насколько я понимаю, вот это - http://www.microsoft.com/windows/virtual-pc/default.aspx - единственный легальный вариант запуска винтажных 16-битных приложений на моей 64-разрядной шиндошс 7
                            Ответить
                            • > поддержка у XP действительно закончилась?
                              он какую-то фигню пишет, еще полтора года ХР будут поддерживать
                              вот: http://windows.microsoft.com/en-US/windows/products/lifecycle

                              > единственный легальный вариант запуска винтажных 16-битных приложений
                              здесь возникает скользкий вопрос о легальности вторичного рынка лицензий, а именно подлинной™ Windows® 3.1 с е-бэя
                              Ответить
                    • Вкладки есть с седьмого.
                      А тесты производительности?
                      Вот тут их делали, последний ИЕ очень даже быстрый и непрожорливый:
                      http://www.gamedev.ru/flame/forum/?id=161404
                      Ответить
                      • В консоле не запускается. Не нужен.
                        Ответить
                        • > В консоле не запускается. Не нужен.
                          Фаерфокс, опера и хром тоже не запускаются. Толсто.

                          Только telnet, только хардкор.
                          Ответить
            • Где достать десятку? Я смог достать только Platform Preview, у которой нет вкладок, поэтому пользоваться неудобно, хоть самому оболочку пиши. Да и не работает она ни в Висте, ни в XP.
              Ответить
          • Это стереотипы и невежество - с этим ничего не поделаешь :)
            Ответить
            • Стереотипы - поддерживать зоопарк браузеров, особо уделяя внимание древним и проприетарным.
              Нетскейп умер и осёл умрёт.
              Ответить
        • >ещё имеет какие-то шансы на существование
          С такой формулировкой трудно спорить.
          Ответить
        • Ах да. Я забыл добавить:
          >ещё имеет какие-то шансы на существование
          ...как утилита для скачивания Оперы, Хрома или Мозиллы.
          Ответить
          • как единственно возможный способ поставить Оперу, Хром или Мозиллу на голую венду
            Ответить
            • А как же ftp? (помню историю на ITHappens про чувака, которого не пускали никуда настройки родительского контроля в ИЕ)
              Ответить
              • А для ftp есть total commander и FAR.
                Ответить
                • Их тоже нужно откуда-то взять! Не, там все было сложней:
                  http://ithappens.ru/story/1878
                  Ответить
                  • А еще надо родительский контроль на telnet... Хотя в семерке его по дефолту уже не ставят.
                    Ответить
              • увы, это все слишком сложно... нужно очень точно знать, куда и как...
                Ответить
    • показать все, что скрытоВерстальщику по еблищу
      Ответить
      • Возможно, но тут из ситуации исходить нужно. Иногда за такое и премию дать не помешает дабы поддерживать настрой и закрепить привычку :D
        Ответить
    • <!--[if Windows]>
      Ваша система говно. Качайте новую...
      <![endif]-->
      Ответить
    • По мотивам рекламы сигарет из Идиократии
      <!--[if lte IE 6]>
      FUCK YOU!!!
      <![endif]-->
      Ответить
    • Пятый ИЕ для ОС8 и ОС9 был замечательной программой... Мозилле тогда с ним вообще было не сравнится. Сафари тех времен я даже не помню, его либо не было вообще, либо не пользовался никто... хех
      Ответить
      • у 5ого уже был лучший DHTML! Netscape отставал чутка
        Ответить
        • Мне раньше нравился Netscape Navigator (самый передовой имхо), но сейчас я выбрал более правильный браузер.
          Ответить
        • О, а я еще помню такую тему, но я не знаю, было ли такое в России, или нет. Четверку, а может и более ранние версии разные компании "под себя" переделывали. У меня был такой ИЕ от Америки Онлайн и еще парочка от местных провайдеров. Хорошо, что Микрософт потом перестало таким заниматься, а то Мозилла могла бы их и гораздо раньше побороть. Вот последние были просто сверъестсственным говном.
          Ответить
          • Если под этим понимается навешивание логотипа компании и ссылок на свои сервисы, то было. Был IE 4.0 от Яндекса.

            Потом стало модно переделывать Фаерфокс, а нынче модно переделывать Хромиум.

            Но разве ж это переделка? Движок HTML+JS всё равно оригинальный остаётся.
            Ответить
            • Ну, как бы ломать не стpоить, много ума не нужно. Браузер от одного из провайдеров поставлялся вместе с программой "автодозвона", которя иногда падала, а иногда и систему за собой тащила. Ну, это если не считать всяких там авотзапусков и т.п. Я такие компьютеры помню, потому что в институтской библиотеке были, и зачастую из то ли 6 то ли 8 работало всего 2-3, а остальные "висели" подвешенные этими самыми недоделаными переделками...
              Ответить
              • А яндекс-бар и ему подобные уебанстваубожества часто крашат IE на сильно скриптованных сайтах...
                Ответить
                • Вообще страшно всякими этими барами пользоваться...Загрузку каждого иногда нужно ждать дольше чем открывается браузер...
                  Ответить
                  • Так они в главном потоке походу обновления проверяют, или еще зачем-то в инет лезут. Вот и грузятся по полдня.
                    Ответить
                    • > еще зачем-то в инет лезут
                      Вдруг в интернете что интересное с прошлого раза появилось?
                      Ответить
                      • Кстати сейчас под андроидом пытался послать HTTP запрос из главного треда и получил по рогам NetworkOnMainThreadException. Переделал как положено на AsyncTask.

                        Пора бы уже и ИЕшникам с той же причиной валить эти быдлотулбары, если они при запуске пытаются делать что-то потенциально долгое...
                        Ответить
    • Этот говнокод плюсуют за то, что он говнокод или в поддержку начинаний автора?
      Ответить
    • IE - лучший браузер, потому-что его можно не поддерживать.
      Ответить
    • Смотрю на говнокод через ИЕ8, вижу например, что ширина страницы некорректно воспринимается, из-за этого в коментах после 5го уровн вложенности каждое слово на своей строчке.
      Ещё при добавлеии комментария форма оказывается в новой вкладке, как-то так. Необычно.
      Некоторые тормоза при вводе текста.

      Памяти жрёт поменьше Оперы, запускается и закрывается быстрее. Страницу грузит дольше, вернее, он не пытается отобразить страницу сразу же, он зачем-то сначала всё пытается загрузить, это напрягает.
      Ответить
      • Как ты мог предать наше линус сообщество?
        Ответить
        • Так, проверил с тему же вкладками в Опере.
          В общем общее потребление памяти в системе почему-то ровно такое же, а вот в диспетчере Опера захавала 93 метра, а ишак - 77 метров. Так-то.
          Но Опера как-то лучше реагирует на команды, меньше напрягает.
          Ответить
          • Осторожно, ты свернул на толстую дорожку.
            Ответить
            • Что не так?
              Ответить
              • Это не ИЕ хороший, это опера говно.
                Ответить
                • Огнелис? Сафари? Хром?
                  Устроим браузеросрач?
                  Ответить
                  • lynx.
                    Ответить
                    • Не Фурифокс, не Хромой, не Ишак, не призрак Оперы. Два чая господину с выше.
                      Ответить
                    • Ещё можно устроить редакторосрач. Имхо вим и емакс хороши, но люблю я nano. \\Не холивар.
                      Ответить
                      • Мне, кстати, понравился sublime text 2
                        Ответить
                      • Notepad++
                        // Холивар
                        Ответить
                        • Встроенный редактор Дос Навигатора.
                          // Холивар++
                          Ответить
                          • Что он может? Я его как-то пробовал. Вроде ничего особенного.
                            Ответить
                            • Выделение вертикального прямоугольного блока, сдвиг этого блока влево или вправо (с удалением лишнего или с дополнением пробелами), рисование рамок псевдографикой, сортировка строк, поиск по регэкспу.
                              Ответить
                              • Боян. Вим всё это может.
                                Ответить
                                • Вим для задротов, как и емакс.
                                  Ответить
                                  • Не. Вим и емакс только для успешных людей.
                                    Ответить
                                  • Только что ж выделение прямоугольной области было круто? Это типа каждой секретарше так прямо необходимая функция?
                                    Или типа это плохо быть задротом хорошо знающим свои инструменты? :)

                                    ЗЫ. Раз уж тут и без того Монро вспоминали... то чего бы уж:
                                    http://xkcd.com/378/
                                    Ответить
                                    • Был свидетелем того, как секретарша техник первой категории выполняла ручное форматирование в Блокноте Шиндошз. Ей посоветовали перейти на Wordpad, правда, это нисколько ей не помогло. Как думаете, она осилит Вим?
                                      Ответить
                                      • Форматирование текста, или форматирование диска?
                                        Я видел человека, преподавателя, который Матлабовский код писал в какой-то майкрософтовской программе для редактирования текста, то ли WordPerfect то ли Write.
                                        Ответить
                                      • Подобно тому, как ЯП для средних программистов должен сильно отличаться от ЯП для очень хороших программистов, так и редактор для тех, кто мало работает с текстом, должен отличаться от редактора для тех, кто бОльшую часть дня работает с текстом.
                                        Ответить
                                        • Всем нужен ST2. Мощный, удобный и не нужно месяц обучаться, чтобы просто кусок текста скопировать.
                                          Ответить
                                    • бляяяяяааааа
                                      http://xkcd.ru/378/
                                      Ответить
                                      • Они не перевели хинт над картинкой.
                                        Но если кому интересно и одноверменно непонятно:
                                        Настоящие программисты задают универсальные константы таким образом, чтобы мир полученный врезультате содержал жесткий диск с необходимой программой.
                                        Ответить
                                        • лолшто
                                          они его снизу подписали
                                          Ответить
                                          • Ну а кто ж знал, я искал в другом месте. Хз. русский не родной...
                                            Ответить
                        • > Notepad++
                          а мне когда-то нравился http://tea-editor.sourceforge.net/
                          даже когда-то целый сайт сваял исключительно на нем для подруги
                          Ответить
                          • > August 29 2012. TEA 33.3.0 is out
                            Нормально у него так мажорная версия меняется, хромы с мазилами отдыхают
                            Ответить
                        • Прям как дети :)
                          Ответить
    • # Printing a long string crashes Solaris 7 /usr/bin/printf.
      as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
      as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
      as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo

      По мотивам недавних событий. взято из конфига одной хорошей программы :)
      Ответить
      • Эта штука вроде в каждом configure есть?

        P.S. Кстати для XML есть подобная хрень, называемая entity bomb. Неплохо выносит мозг старым парсерам.
        Ответить
        • Ну не в каждом... это вроде автомейк такое генерирует.
          Ответить
          • Ну чуть менее чем все configure сгенерены gnu autotools... Мне, конечно, попадались configure написанные вручную, но очень редко.
            Ответить
            • Ну это смотря с чем работать. Авотмейк рассчитан на то, что код написан на Си. Если Мейк нужен для чего-то другого, то там не просто куча лишнего, там его прорва...
              Я просто недавно озадачился проблемой сделать установщик для одной разросшейся утилиты (просто нужно много чего проверить и скачать, до того, как начинать работать). Блин, мейк и все, что с ним связано, - это вообще такой мрак...
              С одной стороны не хочется навязывать что-то типа SCons / Ant, но с другой, это ж пытка вообще что-то с мейком сделать.
              Ответить
              • дело привычки
                Ответить
                • Скорее все-таки не привычки, а языка с которым работаешь и компилятора. Компиляторы типа Сишных, которым нужно перечислить поименно все файлы - да, компиляторы, которые сами занимаются нахождением файлов исходя из кода в них - стратегия мейка вообще никак. Чтобы придумать как скомпилировать файл в другой директории нужно извращаться с addprefix / notdir, и как бы это не типично для сишных проектов, потому что там практически все всегда в одной директории + ну может пара вложеных директорий, в отличие от Явы, например, где традиционно куча пустых вложенных директорий.
                  Ну и то, что текст программы нужно набирать псевдографикой, типа процентов, долларов, кучи разных скобочек совсем не делает сами по себе мейкфайлы понятными.
                  Ответить
                  • С жабой там по-другому надо: поскольку жабокомпилятор сам себе make, можно просто запускать javac с указанием скомпилить все классы из каталога A и положить их аккуратненько в каталог B. К тому же, компиляция сразу кучи файлов за один раз гораздо быстрее компиляции по одному файлу. Компиляция даже тысячи классов за раз занимает секунды на нормальной машине.
                    Если надо компилять жабу, то лучше всё же брать ant, он гораздо удобнее для жабы, да и переносится лучше.
                    Ответить
                  • поэтому я и написал, что дело привычки
                    писать вручную мейкфайлы приходилось регулярно
                    с первого раза ничего хорошего не выйдет, когда не знаешь инструмента - да это верно будет для любого инструмента

                    если что, у меня под хитрожопый тулчейн под Win32 есть несколько проектов на работе, они у меня собираются gnu make'ом одним кликом на заголовке в вижуал студии
                    несколько солюшенов - каждый солюшен с парой сотен килострок в десятке проджектов
                    и да, в каждом проджекте сорцы лежат в разных папках, в которых надо искать известное имя в порядке приоритета
                    не всё так уж мрачно в мейкфайлах

                    ну и по причине нежелания сопровождать несколько параллельных систем сборок при кроссплатформе винда-линукс (поддерживать дерево нескольких сотен файлов в десятке проектов одного солюшена мне проще непосредственно в студии), под линуксом я своей тулзой на основе .vcproj на лету формирую мейкфайл и собираю его
                    Ответить
                    • Ну мне нужно не для сборки Си кода. Мне нужно, например, для установки плагина к Эмаксу. Там непосредственно компиляция составляет небольшой процент от того, что нужно сделать. Что да нужно - опросить пользователя о том где что находится, предложить скачать / установить, если нету, выдать вменяемое объяснение зачем это нужно... ну, типа msi :) Для чего мейк и братья совсем как бы не предназначены.
                      Ответить
                      • Ну, make, как и многие другие утилиты для сборки, предназначены для работы в пакетном режиме. Странно осуждать пакетный сборщик за то, что он не инсталлятор.

                        Хотя косяков в make предостаточно (меня лично удручают магические табы и отсутствие встроенного механизма определения зависимостей).
                        Ответить
                        • каких именно зависимостей?
                          Ответить
                          • Зависимости сорцов от хедеров, например. SCons, к примеру, умеет это из коробки.
                            Знаю, что можно скопипастить волшебные строки из мануала и получить такой механизм, но мне такой путь не очень нравится.
                            Ответить
                        • А make install уже значит анафема и кощунство? :)
                          Хз. вот у меня сейчас дилема:
                          - изнасиловать мейк для этих целей (т.е. по-сути вызывать из него bash для того, что бы сделать бОльшую часть работы установщика).
                          - RPM / DEB с не меньшим количеством извращений, т.как зависимости не к пакетам установленным в системе, а к модам Эмакса / программам, которые нельзя установить из централизованого репозитория.
                          - написать на Баше или Питоне.
                          По трудозатратам и удобству - написать на Питоне будет проще и быстрее всего. И тут же возникает вопрос - а нафига мне Makefile, если я все то же самое, и даже в более удобной форме могу сделать в Питоновском скрипте?
                          - elpa по всей видимости не прокатит, т.как там даже зависимости никак не объявить. Не знаю, спросил их, мне пока не ответили...
                          Ответить
                          • а почему не прокатит что-то вроде этого
                            EMACS_HOME=~/.emacs.d
                            EMACS_ELPA=$(EMACS_HOME)/elpa
                            DEP_1 = $(EMACS_ELPA)/dep-1-ver/dep-1.el
                            DEP_2 = $(EMACS_ELPA)/dep-2-ver/dep-2.el
                            
                            define download-from-elpa
                              $(ECHO) "Downloading dependency: " $1
                              $(WGET) $(call expand-elpa-path,$1) $2
                            endef
                            
                            $(EMACS_HOME)/my-awesome-plugin.elc: my-awesome-plugin.el $(DEP_1) $(DEP_2) 
                                $(COMPILE_EL) $<
                                $(CP) my-awesome-plugin.elc $@
                                # do more funny stuff
                            
                            $(DEP_1):
                                $(call download-from-elpa,dep-1,$@)
                            
                            $(DEP_2):
                                $(call download-from-elpa,dep-2,$@)
                            Ответить
                            • Почему не прокатит:
                              плагин зависит от наличия других плагинов, часть из них можно получить через elpa, а часть нет:
                              - auto-complete *
                              - ede *
                              - flymake-cursor
                              - yasnippet
                              - eproject
                              * - практически обязательные.
                              я мог и не вспомнить всех.
                              кроме этого, зависит от установленных програм и того, как они были установлены. В первую очередь haxe, который мог быть установлен где-нибудь в системе, а мог быть и собран устанавливающим. (У меня, например 2 варианта, рабочий - который сам собирал, и "по умолчанию", чтобы проверять как у других будет работать.) Практически наверняка тот, кто будет устанавливать мог собирать и сам, а не пользоваться установщиком.
                              Существует небольшая вероятность, что кто-то попробует установить в Виндовсе... и там хз что у него будет. Может будет cygwin, а может и нет... может будет python, а может и нет.
                              Кроме того, в проекте есть info файл, который можно в принципе добавить в систему, если захотеть.
                              Кроме того есть куча всяких файлов которые нужно копировать в разные места в зависимости от того, что где установлено, т.е. если auto-complete установлен в ~/.emacs.d/auto-complete/ то еще не факт, что директории со списками чего и где дополнять у него находятся в ~/.emacs.d/auto-complete/***-mode/ - пользователь это мог куда-нибудь перенести. Аналогично yasnippet. Технически, я это могу обнаружить в автоматическом режиме, но делать это все из make - ну не просто неудобно, а ппц как неудобно.

                              Да, а кроме этого известны другие плагины, которые конфликтуют! :) Это тоже как-то надо, хотя-бы предупредить.
                              Ответить
                              • Понятно. Ну, технически это всё реализуемо, причём в полностью автоматическом режиме. Запускать emacs и спрашивать у него - неплохой вариант, лучше сложно что-то придумать. Вещи, которые сложно сделать средствами самого make, можно вынести во внешние скрипты.

                                А вот возможность конфликтующих версий, или неоходимость наличия более свежих версий, чем установленные - это проблема без очевидного решения, разве что просить пользователя обновиться.
                                Ответить
                            • Ну и понятно, что где-там у Эмакса инит файлы и директории - я могу только догадываться. Поэтому, опять же нужно конфиг / интерактивно спросить у пользователя / запустить эмакс и у него спросить.
                              Ответить
              • Make в принципе нормальная тула, и я до сих пор часто ей пользуюсь, но она уже порядком устарела. Мне понравился SCons, но нетривиальные сценарии работы с ним требуют знания python и принципов работы самого SCons.
                Ответить
                • Что смешно в SCons, так это то, что не смотря на то, что можно ж было просто писать сборку / установщик на Питоне, люди решили скопировать кучу неинтересных вещей из мейка. Вместо того, чтобы описывать операции функциями / переменными и т.п. предполагается что тот, кто будет использовать инструмент, будет запихивать операции в строки, а потом эти строки отсылать в шелл на выполнение... Но, с другой сторны, Питон они испортить не могли, так что эту "интересную" особенность дизайна можно игнорировать. :)
                  Ответить

    Добавить комментарий