[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Функционал и интерфейс



Hello!

On Tuesday 17 March 2009 19:33:16 Yuri Kozlov wrote:
> > Ну так как, пробовать будем?
>
> Неа.
>
> Если посмотреть выше, то речь шла о демонах, а не парсерах текстовых
> файлов. Или Вы считаете их равнозначными задачами?

Есть у меня и демоны на тикле, например, собирают и обрабатывают данные с 
цисок и других АТС. Написать то же самое на С большая работа (на тикле 
используются события для прослушивания множества сокетов, а на С придется 
создавать отдельные потоки), потому и не предлагаю как тестовую задачу (притом 
демоны умеют держать в in-memory SQLite database те данные, которые не удалось 
записать в persistent database), не говоря уж о реализации самой логики 
обработки.

А в той задаче, что я предлагал выше, есть как минимум несколько неочевидных 
вещей, без знания которых ваша реализация на С будет работать намного хуже 
тиклевской. Например, реализовать "с нуля" эффективный хэш с текстовыми 
ключами далеко не так просто, как кажется. И стоит в задаче с парсером лога 
указать, к примеру, 100 параметров командной строки, как ваша реализация 
станет весьма медленной (и уверен, вы бы и не подумали об этом, в то время как 
создатели tcl подумали за вас). Есть и другие "подводные камни". В итоге 
написать на С код приличного качества требует кучу времени даже в том случае, 
когда вы знаете, как это сделать. Когда-то я встраивал в свои С++ приложения 
несложный интерпретатор, но после перехода с perl на tcl все приложения делаю 
на tcl, при необходимости реализуя некоторые модули на C (и смог забыть С++, 
как страшный сон). В свое время мне довелось писать на С для 
микроконтроллеров, так вот, написать код  и обеспечить стабильную работу 
прошивки на С, которая работает со встроенной флэшью, GPS и GSM-модулями, 
потребовало несколько недель (в те времена используемый data-канал GSM был 
очень неустойчив, но это отдельный разговор). На тикле можно написать 
эквивалентную функциональность за пару дней.

Best regards.

Reply to: