Кстати, насчет "биндингов"
В дискуссиях о GUI для всяких эзотерических и не очень языков постоянно всплывает тема "биндингов" к ним для QT, GTK и прочего.
Так вот, мое имхо состоит в том, что язык, у которого нет собственной GUI библиотеки - неполноцен в принципе. Вот, к примеру, захочу я расширить функциональность некоего GUIшного контрола или написать свой. Или просто разобраться в тонкостях его работы, типа "когда вызывается такое-то событие". Если GUIшная либа писана на том же языке на котором я работаю, мне не нужно переключать мозг на чужеродный язык и его стиль, чтобы работать с ней. А если нет - начинается всякая хрень, типа самого это биндинга, единственное назначение которого - гонять туда-сюда вызовы между одним и вторым языком.
Оно конечно полезно, знать несколько языков. Но вот для работы эти переключения между языками не сильно полезны.
PS: Вообще эта идея меня посетила, когда я думал насчет того, как наиболее естественным образом выглядел бы GUI для Хаскеля. Вообще, проблема сама по себе более общая, чем GUI - я ее для себя сформулировал так "Как хранить/обрабатывать в языке общего назначения некую структуру данных, если этот язык для нее плохо подходит". Обычно делают отдельные структуры/языки для разных предметных областей - SQL для баз, декларативные иерархические описания для всяких GUI-шных и прочих форм, для них отдельные редакторы-дизайнеры.
Вот именно "отдельность" мне и не нравится - что-то раздражает переключать контекст мышления, когда надо к программе приделать GUI, взаимодействие с БД, или печатную форму.
Да и вообще работа с GUI может выражаться в языке каким-нибудь другим, гораздо более естественным для него способом, нежели последовательное создание контролов и чтение/запись их свойств. Тот же Хаскель, по моему мнению, вообще GUI должен генерировать автоматически при компиляции, исходя из информации о типах.
Так вот, мое имхо состоит в том, что язык, у которого нет собственной GUI библиотеки - неполноцен в принципе. Вот, к примеру, захочу я расширить функциональность некоего GUIшного контрола или написать свой. Или просто разобраться в тонкостях его работы, типа "когда вызывается такое-то событие". Если GUIшная либа писана на том же языке на котором я работаю, мне не нужно переключать мозг на чужеродный язык и его стиль, чтобы работать с ней. А если нет - начинается всякая хрень, типа самого это биндинга, единственное назначение которого - гонять туда-сюда вызовы между одним и вторым языком.
Оно конечно полезно, знать несколько языков. Но вот для работы эти переключения между языками не сильно полезны.
PS: Вообще эта идея меня посетила, когда я думал насчет того, как наиболее естественным образом выглядел бы GUI для Хаскеля. Вообще, проблема сама по себе более общая, чем GUI - я ее для себя сформулировал так "Как хранить/обрабатывать в языке общего назначения некую структуру данных, если этот язык для нее плохо подходит". Обычно делают отдельные структуры/языки для разных предметных областей - SQL для баз, декларативные иерархические описания для всяких GUI-шных и прочих форм, для них отдельные редакторы-дизайнеры.
Вот именно "отдельность" мне и не нравится - что-то раздражает переключать контекст мышления, когда надо к программе приделать GUI, взаимодействие с БД, или печатную форму.
Да и вообще работа с GUI может выражаться в языке каким-нибудь другим, гораздо более естественным для него способом, нежели последовательное создание контролов и чтение/запись их свойств. Тот же Хаскель, по моему мнению, вообще GUI должен генерировать автоматически при компиляции, исходя из информации о типах.
Re: Пофлеймлю :)
По поводу клиентской винды -- плохо. Хотя также логика подсказывает, что наверное в отсутствие на хосте MTA перловые либы, ворча, тоже принимаются сами им работать.
Но если и так -- это ж "аварийное" решение а не основное. И стремление "сделать SMTP нативно" стоит тут на последнем месте в списке мотиваторов.
Re: Пофлеймлю :)
В общем, стремление "сделать нативно" следует из того, что на винде может вообще ничего не быть. Скачивает юзер инсталлятор, ставит, запускает - у него ничего не работает. Если ему показать список пререквизитов (СУБД отдельно, мыл трансфер отдельно, всякая другая трасца отдельно) - он сразу же стирает нашу прогу и идет покупает софт у конкурентов, больно надо ему в этой ИТ-хрени разбираться. Можно включить в инсталлятор все пререквизиты и потом пользователи будут нам капать на бошку "вот ваш инсталлятор снес нам нашу любимую допотопную версию того, сего, третьего". Сделать проверку всего, что нужно и ставить/обновлять автоматически - тоже нельзя. Возьмет юзер, удалит чужой софт, использующий такую же либу - и кранты нашему софту, садись на машину, езжай обслуживать.
А когда все нативно - зависимостей минимум, полвинды вирусами сожрано, черти пляшут в MTV, а нашему софту - пофиг, как работал так и работает. И под разными виндами, и от идиотизма админов не зависит.
Re: Пофлеймлю :)
Повезло с провайдером и с почтовым сервером. Beltelecom помнится отрубил 25 порт по диалапу, а кто-то ещё поставил SMTP 2525. Или классика жанра -- файрвол после переустановки.
И ваше поделие открывает порт всем вирусам-ботнетам. Вот кто спамит!
> А когда все нативно - зависимостей минимум, полвинды вирусами сожрано, черти пляшут в MTV, а нашему софту - пофиг
Ой вэй, у вас в экзешнике зашит движок БД? Даже в DLL не вынесено?
Re: Пофлеймлю :)
Ну вот из зависимостей - движок БД(который сам по себе минимально от всего зависит), пару либ для работы с графикой и GIS и в общем-то и все.
Re: Пофлеймлю :)
Re: Пофлеймлю :)
Re: Пофлеймлю :)