[Sarlug] Программирование и Linux

Evgeny Sinelnikov sin на info.sgu.ru
Пт Авг 7 19:31:21 MSD 2009


7 августа 2009 г. 18:03 пользователь Sergey Mihailov
(sergey.mihailov на gmail.com) написал:
> О круто ! Похоливарить мы за всегда пожайлуста ;)
>
> 07.08.09, Evgeny Sinelnikov<sin на info.sgu.ru> написал(а):
>> У меня не было успешных крупных проектов. Под Linux такие проекты
>> пытались делать многие крупные компании. Kylix - аналог Delphi - умер.
>> Corel тоже не активно ведёт работу... Примеров очень много, а проблема
>> системная...
> Т.е. RHEL с ее очень быстро растущим доходом ( таким что она уже скоро
> войдет в 30 самых ... ) это как бы не крупный проект. Или тотже Дебиан/Убунту
> ...  ( кстати Дельфи и вин32 тоже подох если что )

RH - это флагман развития OpenSource. Они делают серваки. Рынок их
растёт не в нашу сторону... Не сторону удобства ведения проектов...
Они как раз-таки очень даже используют OpenSource.

RH не пишет специализированных программ. Не думаю, что кто-то
пользуется дома продуктами RH. А вот продуктами Adobe, Corel и других
компаний пользуются многие... Любой продукт, который вам удобен,
например FineReader, должен кто-то написать. И если это уметь писать
быстро и малыми силами, то это выгоднее, чем долго и большими.

Так вот под Linux писать программы не выгодно по ряду причин, в
частности, из-за того, что нет нормального инструментария, доступного
удобного, который кто-то тоже должен написать. И всё, что тут можно
ответить - это, типа, "А у нас Unix-way."

>> станет, в частности, и потому, что не найдёт достаточного количества
>> специалистов...
> Странно но может я не с теми общаюсь но у меня такое ощущение
> что спецов по линукс куда не плюнь.

Ну, впечатления бывают разные... Спросите, кто из этих спецов знаком с
Autotools, CMake или Scons. И ведут ли они проекты с их
использованием. Иначе мы ведём речь о "спецах-админах", которым вовсе
не всегда выгодно, чтобы всё для всех было удобно.

>> пути преподавания на истинный Unix-way. Заменят ли админские
>> консольные утилиты те средства, которые там необходимы?
> Хм. Вообще то UnixWay это не консольные утилиты а прога/либа
> делающаю только одну задачу и делающая это хорошо и правильно.

Такие утилиты обычно используются в консоли... Вообще тут начался
приподыматься занавес закрывающий суть Unix-way.
Ну, так и чем он полезен для разработчика? А для студента, когда ему
завтра контрольную нужно сдать?


> Как пример ;) это ГТК и КуТ. В первом случае либа Си для интерфейса
> во втором С++ компот подменяющий кучу давно написанных либ !
> ( я не спец по С++ но спецы мне говорят что С++ в КуТ какой не совсем
> правильный )

Всё зависит от задачи, а не мнения спеца. QT, хоть и "не правильный",
но намного более удобный... Заметьте, вы пишите с чужих слов...
Посмотрите на "Hello World!" для QT и для GTK, а потом выводы
делайте...
QT: http://habrahabr.ru/blogs/qt_software/50765/
GTK: http://www.levien.com/gimp/hello.html

После просмотра кода вам, надеюсь, станет ясна видна разница между
объектно-ориентированный кодом на не объектно-ориентированном языке C
от объектно-ориентированного кода на объектно-ориентированном языке
C++.


> Кстати что значит крупный ? Много кода или когда прога написанная и
> используется

Если так вопрос ставить, то термин "успешный большой коммерческий
проект" был привнесён в ответ на фразу "ничего большого в жизни
не писали".

В последней фразе я имел в виду любой проект, который будет
использовать систему сборки, более чем для одной цели, возможно
зависимых между собой. Отдельно вопрос стоит с библиотеками: soname,
компоновка внутри проекта, взаимная компоновка библиотек, сборка
плагинов. Кроме того есть ещё генерация кода различными утилитами...
Там очень много...

Здесь ранее шла речь о системах сборки... Очевидно, что проект удобнее
писать в IDE, на что было заявлено, что это не Unix-way. Так вот в
Unix-way  отдельные утилиты, которые делают свои задачи, но
практически все системы сборки - "говно". Я не думаю, что уж совсем
всё так плохо, но работать с этим неудобно даже имею большой опыт.
См. ниже пример nginx.


> много где ? nginx крупный проект ? Apache ? OpenOffice ?

Сборочная система многих популярных проектов - это отдельное
произведение искусства. Думаю, эти не исключение. Откройте исходники
того же nginx и посмотрите, что лежит в configure. Сам этот скрипт, а
также всё, что в каталоге auto - писали руками. Просто, чтобы собрать
программу....

nginx мне показался самым, что ни на есть велосипедом с квадратными
колёсами в плане сборки... Я думаю, что другой умник, по этому поводу
высказался бы, типа, "ниасилил autotools". Да, не осилил, потому что -
гадость редкостная, но в стиле и по всем канонам - Unix-way.
http://git.altlinux.org/gears/n/nginx.git?p=nginx.git;a=tree;f=nginx;h=bdb4541f8911fc023b66b6f8f1e329b5a2ae26b0;hb=9edcf2272109c66f950979ceed404a32bfcad70b

Вот типичный пример тоже спеца... Сервер nginx написал, а для сборки
ещё один велосипед изобрёл. Вот вам и Unix-way. Возможности есть, а
толку - нет, поскольку каждый одно и тоже каждый у себя в проекте
допиливает, даже автор nginx.

Но даже не в ручной работе дело. Проблема в том, что это каждый раз,
при развитии проекта, ещё и проблема с "ловлей блох".


> P.S. Насколько я знаю народ привыкший к вин разарботке юзает Еклипсу с Милуном
> и прочей ботвой ... это что тоже не в счет ?

Win-разработка - это очень большой процент всех разработок. Я думаю,
что неправильно их даже делить. Каждая Win-разработка - это пропавшая
Lin-разработка...


-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Sarlug