Pull to refresh
7
0
Олег Тельнов @TelnovOleg

Руководитель, Программист

Send message
Вдруг пришло в голову сравнение Лиспа с Эсперанто. Тоже очень изящно, удобно, логично, но вот только большинство говорит на английском(С++), испанском(Java), немецком(PHP) :) И ты со своим Эсперанто можешь общаться лишь с такими же оригиналами :)
Вот еще пример разделения сервера и клиента: Cowboy and Batman.js for Erlang Web Development. По моему, очень красивое решение…
Мне кажется проблема еще в том, что вступают в противоречие взгляды на мир дизайнера и программиста. Любой шаблонизатор, который генерирует представления по какой-то встроенной логике, это больше программа, чем описание. Там надо оперировать циклами, условиями и вызовами функций. А CSS и, в некотором роде HTML (на уровне декларации блоков), это чисто декларативный код более понятный дизайнеру. А вот совместить ясность CSS и гибкость JavaScript в одном флаконе пока не удается. Т.е. средств позволяющих просто указать где что расположено и как от чего зависит и меняется — нет. А сервер или клиент будет порождать конечный результат это не так принципиально… имхо :)
Почти все перечисленные книги можно найти на: bookfi.ru
По моему скромному мнению TK себя оправдает только при наличии чёткой и жёсткой политики руководства начиная от вопросов снабжения однотипной техникой до однозначного определения решаемых каждым пользователем задач. Т.е. решение удобно только когда есть большие группы единообразных рабочих мест.
В нашей компании тоже пытались внедрить терминальные сервера и тонкие клиенты. В результате от специализированных клиентов отказались сразу, т.к по цене они гораздо дороже собранных в ближайшей фирме компьютеров. А выгода от надёжности, удобства или там экономичности не так очевидна, да и чаще всего выбирается решение чтобы заплатить меньше сейчас, а «потом будет потом и там посмотрим...». Но при попытке превратить зоопарк noname-компов в ТК с помощью разных Linux упирается в бесконечную возню с драйверами и решение перестает быть единым… Но даже если использовать в качестве клиента Windows, то могут вылазить грабли с периферийным оборудованием. Например при наличии локально подключённых разных принтеров на сервере нужно ставить драйвера всех принтеров сразу.
А ещё, я сам сталкивался с ситуацией когда один кривой драйвер вешал всю систему печати на сервере и принтеры не работали сразу у всех клиентов. И кроме перезагрузки ничего не помогало, пока не нашли кривой драйвер.
А ещё, одна из наших бухгалтерских программ иногда отказывалась выполнять некоторые операции и не помогало ничего кроме перезагрузки… Когда программа стоит на одном клиенте это не страшно, а как перезагрузить сервер из-за одного не работающего клиента, если 30 работают? Да, забыл разъяснить, такая фича была из-за того что эта программа не могла на сервере работать из одной папки для всех клиентов, ей нужно было для каждого клиента иметь отдельный каталог… А ещё, мечтали мы унаследованные DOS приложения на FoxPro гонять на сервере, но оказалось что в них самописный опрос клавиатуры для одного запущенного приложения давал почти 100% загрузку ядра процессора. И потому на 2-х процессорном серваке с гипертрейдингом больше 8-ми досовских программ запустить так и не удалось…
Вообщем, ТК хорош только в больших, но однородных применениях. Хотя, вот та же бухгалтерская программа для удалённых филиалов у нас работает на терминальном сервере, т.к. она не полноценно SQL-базовая, а зачем-то гоняет файлы по сети и даже на ADSL-соединении тормозит страшно… :)
Как-то в одной фантастической книжке мне попалось такое описание различных мотивировок (или оценок) поведения. И хоть там больше шла речь о моральных аспектах, но сама картинка прекрасно описывает и разные логические подходы.
Первый, примитивный уровень, это классическая логика «да»-«нет», «хорошо»-«плохо». Если представить такую мораль на некотором графике, где по горизонтальной оси идет оценка хорошо-плохо от некоего нейтрального нуля, а по вертикали — незыблемость (или вероятность) оценки, то это будут вертикальные линии в точках +1 и -1. Очень простая, но крайне ограничивающая модель.
Второй уровень, более сложный, это что-то вроде распределения Гаусса, с пиком в районе 0, т.е. стремление не нарушать равновесия, но и более гибкий подход к оценкам. Мне кажется, это и есть «нечеткая» логика.
И наконец, третий, самый сложный уровень, сплошная горизонтальная прямая… Интерпретацию данному образу дать очень трудно, но размышление наталкивает на очень интересные мысли… :)
М-да, читаешь всё это и ностальгия тут как тут. Ну прям как в славные годы СССР — Партия сказала — комсомол ответил: «Есть!». Наверное, пока у нас не перестанут что-то решать исходя больше из идеологических, а не экономических причин, ничего путного из всех наших реформ не предвидится. Поясню мысль…
Шум о том, что использование СПО позволит сэкономить бюджетные деньги мне кажется не совсем корректным. Да, конечно, минобраз не будет закупать Винду, но и Линух ведь не даром обходится. Сколько отвалили «разработчикам» дистрибутива (хотя за такую разработку коммерческая компания бы в трубу вылетела). Сколько надо потратить на обучение/переобучение. Сколько будет потрачено человеко-часов на поддержку (а ведь их надо оплатить зарплатой). И, наконец, сколько потом времени, сил и денег (в любой комбинации) нужно будет потратить на новое переобучение, ведь работать то выпускникам придется скорее всего с Виндой… А если еще и учесть, что в Майкрософте не дураки сидят и скидки на академические версии Винды делают её цену гораздо ниже… В общем, экономия не так уж и очевидна.
Винду очень модно ругать и обвинять во всяких грехах, но реально она нисколько не хуже Линуха. В Линухе до сих пор нет никакого приемлемого механизма централизованного управления (а те что есть чаще всего не бесплатны). Качество интеграции отдельных программ оставляют желать лучшего даже в рамках наборов KDE и Gnome, а уж за его пределами… Ориентация на кучу зависимых маленьких пакетов (уместная во времена CD и диалапа), постоянная гонка за новой версией библиотек (которые конфликтуют иногда не хуже DLL) превращают установку сторонних (с виду маленьких) программ в пытку с постоянным скачиванием из Инета. Да и еще и нет нормальных средств проделать это автоматически на нескольких машинах. И т.д. и т.п.
Я не противник СПО, я сам всеми силами способствовал переводу нашей компании на OpenOffice и Linux-сервера, но там где это возможно и целесообразно.
Именно поэтому никто не убедит меня, что «Винда маст дай, Линукс рулез!», да еще и по приказу…
Обидно, что мои деньги (в виде налогов) опять вылетают в трубу борьбы «за мир во всем мире» :(
Извините за длинный крик души (или почти тоскливый вой)
Извините, но где Вы увидели крик души? :) Я всего лишь попытался прозондировать почву для подобной дискуссии. Мне показалось, что здесь это будет уместно. К сожалению ЖЖ становиться актуальным только после достижения некоего порога популярности, но биться над этим нет ни времени, ни особого желания.

А применять логику типа «не Linux, значит труп» это, на мой взгляд, так же плодотворно, как заявить «не Мерседес — значит не автомобиль». Как-то слишком ограничивает…
Да разве же я хоть где-то написал что у Лиспа нет поддержки GUI? Разве же я спорю что нет нормально IDE. Речь идет не о профессиональных программистах, для которых Eclipse дом родной или ничего не стоит за пару минут настроить Slime на Emasc?
Я, во-первых, огорчался по поводу излишней категоричности так присущей подавляющему большинству.
А во-вторых, пытался объяснить, что для начинающего программиста не перегруженный фичами IDE, с привычными средствами редактирования и встроенной интеграцией с компилятором/интерпретатором гораздо более предпочтителен, так как позволяет сосредоточится на изучении языка, а не на освоении среды.
Да и с точки зрения психологии, быстро полученный положительный результат при создании программы, стимулирует продолжать программировать дальше. А не опускать руки, после понимания что просто не понимаешь, как скомпилировать готовый исходник не выходя из Emasc :)
И, в конце концов, а много ли жителей «олимпа» могут похвастаться проектами достаточной сложности? Нет, если тут все пишут IDE, CAD, и т.д. и т.п. я приношу свои глубочайшие извинения… Но как-то не очень верится в такую концентрацию программных архитекторов.
Почитал обсуждение и опять стало грустно.
Господа, ну почему у нас столько народа считают своим долгом ткнуть указующим перстом с высоты своего олимпа. Все кидаются обсуждать недостатки, советовать как жить и что делать.
Да, наверно, поддержка уже имеющихся реализаций, более плодотворна для лисп-сообщества. Да, многое выглядит как очередное изобретение велосипеда. Но ведь автор нигде не претендует на лавры первооткрывателя.
А взгляните с другой стороны. Большинство начинающих программистов на платформе Windows работают не с командной строкой, а в IDE. Создают GUI не в текстовом редакторе путаясь в море API функций, а с помощью визуальных конструкторов. И для изучения основ не так важна производительность.
SBCL, CLISP и прочее — это командная строка, отсутствие привычного (для Windows) редактора. GUI делать в LispWorks, но это вообще коммерческая разработка.
Так что для обучающихся (а академический проект, мне кажется, предполагает именно такое использование) этот продукт в самый раз.
И за это можно и нужно сказать автору огромное спасибо!
2

Information

Rating
Does not participate
Location
Омск, Омская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, 1C Developer
Middle
From 150,000 ₽
Java
Spring Boot
Python
C