выбор языка разработки

Ilya

Новичок
выбор языка разработки

Добрый всем день(вечер, утро, ночь) - люблю нашу родину :)

Хочу попросить у знающих людей совета по поводу выбора языка программирования для реализации веб-паучка.

Что требуется от языка:
1. максимальное быстродействие готовой программы при работе с сетью
2. минимальные нагрузки на систему
3. многопоточность
4. кроссплатформенность
5. желательно наличие готовых библиотек
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Язык — компилируемый. Какой из компилируемых —_тот, который лучше знаете.
 

Ilya

Новичок
кто нибудь может сказать что-то про REBOL ?

-~{}~ 28.10.08 15:51:

дело в том что знаю я только PHP Дельфи и VB :)

специалисты говорят что на C не просто будет написать кросплатформенную программу. Изучение особенностей каждой ОС займет много времени.

Поэтому добавляю пункт 6


6. сложность освоения языка - средняя)
 

phprus

Moderator
Команда форума
Ilya
специалисты говорят что на C не просто будет написать кросплатформенную программу.
Применяя специальные библиотеки типа POCO, Qt на С++ тоже можно писать кросплатформенные приложения без особых затруднений.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Так тебе веб-паучка писать, или кроссплатформенное ПО ?
Ты уж реши, чего именно ты хочешь.
 

est-in

Новичок
>>кто нибудь может сказать что-то про REBOL ?
>>дело в том что знаю я только PHP Дельфи и VB

Вот с этого и надо было начать. А то сразу быстродействие да кроссплатформенность... :)

Однозначно python.
 

Krishna

Продался Java
est-in
С каких пор питон обеспечивает максимальное быстродействие? Смешить-то не надо...
 

флоппик

promotor fidei
Команда форума
Партнер клуба
С каких пор питон обеспечивает максимальное быстродействие?
Питон ненамного от С отстает, когда работает с psyco. Ну и явно быстрее явы или пхп.
 

est-in

Новичок
Имеется введу, что python _по_моему_мнению_ наилучшей вариант для изучения чего-то нового и тем более для написания "веб-паучка", но не как инструмент для покарения мира :).

Про "максимальное быстродействие" python я не говорил :)

Автор топика сбивает с толку "крутыми" требованиями и сферическими конями ...

P.S. для "веб-паучка" разница будет минимальная по производителеьности между С и python
 

Krishna

Продался Java
флоппик
Я никогда не работал с Питоном. И не знаю на реальном опыте какая у него скорость. Но я знаю, что даже со строгой типизацией и JIT-компиляторами не претендуют на приближение к C++ (и тем более C) более чем на одинаковый порядок. Если, конечно говорить о реальных приложениях, а не вызове исключительно библиотечных функций, написанных на том же Си.
А уж заявлять это про приближение интерпретируемого языка с динамической типизацией)))
Да ещё про который в вики написано - поменьше вызывайте функций)). Да и таблицы сравнения с PHP я видел, Питон не Руби там, но явно не в большом отрыве :) И уж безусловно глупо сравнивать с С.

-~{}~ 28.10.08 17:31:

P.S. для "веб-паучка" разница будет минимальная по производителеьности между С и python
А максимально возможное количество параллельных потоков при одних и тех же параметрах системы учитываем? :)
 

est-in

Новичок
Krishna, конечно нельзя сравнивать С и Python по производительности

"веб-паучка" как цель обучения
И
движек для индексации документов

Автор оригинала: Krishna
А максимально возможное количество параллельных потоков при одних и тех же параметрах системы учитываем? :)
Так и не чесно вовсе :) Python по своему делает потоки, не используя системный scheduler ...
Если я не ошибаюсь :)

А вообще забавно - Форум php программистов, а холивар C vs Python ^)
 

Krishna

Продался Java
est-in
Мне кажется ты не умеешь внимательно проанализировать поставленную задачу ;)

Смотри, ТС ищет язык для "для реализации веб-паучка", причем заметь, нигде не указано, что в учебных целях. То, что он будет по ходу дела учиться новому языку не делает цели задачи учебными :)

Далее, ТС поставил к нему несколько достаточно конкретных требований:
1. максимальное быстродействие готовой программы при работе с сетью
2. минимальные нагрузки на систему
3. многопоточность
4. кроссплатформенность
5. желательно наличие готовых библиотек
6. сложность освоения языка - средняя)
Исходя из соображений здравой логики, я предполагаю, что ТС указал требования по убыванию приоритета.

C++ отвечает 1,2,3 (то есть уже трём самым важным из 6) (4 - частично и с оговорками), отвечает 5ти для работы с вебом, насколько я в курсе. 6 - можно сказать, что сложность освоения будет средней для человека прилично владеющего Дельфи.

По поводу соответствия этим 6ти требованиям Питона - представляю оценить тебе :)
 

phprus

Moderator
Команда форума
Krishna
А максимально возможное количество параллельных потоков при одних и тех же параметрах системы учитываем?
Многопоточность пауку вообще не нужна. Паука будет выгоднее писать с использованием неблокирующих сокетов, а кроме того что питоновский, что сишный код будет 99% времени спать, так как сеть гораздо более медленный элемент, чем языки.
 

Krishna

Продался Java
что сишный код будет 99% времени спать, так как сеть гораздо более медленный элемент, чем языки
Да, мне мой друг, очень хороший программист, но далёкий от веба (на тот момент) как то заявлял, что у веб-серверов вообще не должно быть серьёзных проблем производительности, потому что мол сеть всё равно будет узким местом.
Я думаю, что всё зависит от того, что будет делать паук. Как и что он будет анализировать и складывать.

Но, возможно ты прав для большого количества случаев.
 

phprus

Moderator
Команда форума
Krishna
Я думаю, что всё зависит от того, что будет делать паук. Как и что он будет анализировать и складывать.
Обычно пауками называют только то, что скачивает и сохраняет страницы и иногда вытаскивает с них ссылки, а это не требует большого количества вычислительных ресурсов, по этому с большой вероятностью в сеть тут упрется все гораздо раньше.
Хотя это действительно зависит от того какая обработка помимо скачивания/сохранения будет выполнятся.

но далёкий от веба (на тот момент) как то заявлял, что у веб-серверов вообще не должно быть серьёзных проблем производительности, потому что мол сеть всё равно будет узким местом.
А он по своему прав. Если сервер отдает статический контент, то производительность упрется в диски и сеть. А если контент не статический, то узкие места будут зависеть то логики генерации контента.
 

AmdY

Пью пиво
Команда форума
>я только PHP Дельфи и VB
вот и пиши на одном из них. на php у меня всё уперлось в сервер баз данных, пых мог ещё и ещё.
не, ну, могу ещё посоветовать erlang с его жуткой распредёлонностью и легкостью маштабирования, но зачем?
 

est-in

Новичок
Автор оригинала: Krishna
По поводу соответствия этим 6ти требованиям Питона - представляю оценить тебе :)
Спасибо.

За Python следующие пункты :)

3. многопоточность
4. кроссплатформенность
5. желательно наличие готовых библиотек

6. сложность освоения языка - средняя). Python проще чем C/С++ т.к. в наличии динамическая типизация + сборщик мусора :)


А вот по поводу
1. максимальное быстродействие готовой программы при работе с сетью
2. минимальные нагрузки на систему

Можно долго спорить, но конечно же С++ обойдет Python, но не намного :)

Веселый топик :)
 
Сверху