Re: Функционал и интерфейс
В Срд, 18/03/2009 в 16:31 +0300, Artem Chuprina пишет:
> Покотиленко Костик -> debian-russian@lists.debian.org @ Wed, 18 Mar 2009 15:03:57 +0200:
>
> >> >>>> Ну так как, пробовать будем?
> >> >>> Неа.
> >> >>>
> >> >>> Если посмотреть выше, то речь шла о демонах, а не парсерах текстовых
> >> >>> файлов. Или Вы считаете их равнозначными задачами?
> >> >> Есть у меня и демоны на тикле, например, собирают и обрабатывают
> >> >> данные с цисок и других АТС. Написать то же самое на С большая работа
> >> >> (на тикле используются события для прослушивания множества сокетов, а
> >> >> на С придется создавать отдельные потоки), потому и не предлагаю как
> >> >> тестовую задачу (притом демоны умеют держать в in-memory SQLite
> >> >> database те данные, которые не удалось записать в persistent
> >> >> database), не говоря уж о реализации самой логики обработки.
> >> >
> >> > Ну, вообще говоря, есть довольно неплохая GLib2 или QtCore, в которых
> >> > соответствующие примитивы.
> >> >
> >>
> >> Вообще говоря, есть libevent, с помощью которой на Си событийно писать проще.
> >> Но вообще прикладуху на Си писать не интересно, борьба с языком(слишком низкоуровневый)
> >> и развивается паранойя при использовании каждого указателя.
>
> ПК> Прикол в том, что уровень языка Си выбирается программистом посредством
> ПК> выбора библиотек нужных уровней. На libc конечно тяжело прикладуху
> ПК> писать. Выбор за тобой, а не за языком, используй glib, gtk+, или что
> ПК> тебе больше подходит для конкретной задачи.
>
> ПК> Как я уже писал, на Си легко работать с объектной моделью, не сложнее
> ПК> чем на C++ или другом языке. Надо тебе крупноузловая сборка -
> ПК> пожалуйста, надо под микроскопом поработать - пожалуйста. А вот языки
> ПК> высокого уровня ограничивают тебя высотой своего уровня.
>
> Как только ты на C выбираешь достаточно высокий уровень, ты немедленно
> получаешь высокоуровневый подъязык с неудобным синтаксисом и
> ... правильно, все равно заботой о распределении памяти (почистить за
> тобой все равно никто не сможет).
В GTK+, создаёшь виджет "окно", напихиваешь туда кучу других виджетов,
потом делаешь gtk_widget_destroy() на "окно", и освобождаешь его и всех
потомков одной командой. Так что это дело инструментов, а GTK+ и кстати
glib это умеют.
> Таким образом, у тебя в любом случае неудобный синтаксис и в любом
> случае распределение памяти. Ты от них уйти не можешь.
Чем вдруг?
> При языке высокого уровня же ты можешь вынести в отдельную библиотеку
> то, что таки да, надо сделать на C (хинт: вообще-то бОльшую часть работы
> с низким уровнем и на них можно сделать достаточно эффективно - тот же
> бинарный протокол на tcl реализовать в разы проще, чем на C).
Мне нравится с годами углубляться в один и тот же язык, чем с каждым
годом изучать их больше. На Си можно сделать всё, а тебе видимо
приходится слазить с Тикля иногда.
Вопрос удобства можно обсудить, очень интересно.
--
Покотиленко Костик <casper@meteor.dp.ua>
Reply to: