Консультация № 173971
04.11.2009, 21:04
35.00 руб.
0 6 0
Здравствуйте, Уважаемые Эксперты!
Пишем программу, моделирующую работу сети. Необходимо посылать реальные пакеты на виртуальные РС (рабочие станции). Пишем на С#, но процесс посылки пакетов хотим сделать на языке Python. Вопрос такой: есть ли совместимость между этими языками, можно ли каким-либо образом вставить в программу на C# модуль, написанный на Python или вызывать функции Python? Если можно, то как (дополнительные модули устанавливать, классы подключать, либо ещё что-то)? И вообще, оправдано ли будет это решение? Я знаю, что на Python многие пишут именно сетевые приложения - значит с этим языком легче и эффективнее работать в этой области.

Обсуждение

Неизвестный
04.11.2009, 21:26
общий
Под .Net есть порт Питона. Называется IronPyton. Питон очень распространен в Линуксе. Поскольку скриптовый язык очень опенсорсныйМногие дистрибутивы вообще фактически на нем "построены". Это скриптовый язык с огромной библиотекой. Очень был любим в научных кругах, так что и библиотеки у него есть даже весьма специфические. Сравнить можно только с Матлабом.

Если честно, я очень не уверен, что он Вам в данном случае чем-то поможет. Разве что готовый симулятор на нем найти. Но копать лучше от IronPython. Возможно, он вообще полностью с самим Питоном совместим: язык-то скриптовый.
Неизвестный
04.11.2009, 23:30
общий
Evgenijm:
Evgenijm, я ценю Ваш ответ, но, если честно, я знал про IronPython. И вообще о возможностях Python наслышан. Мне интересно было как конкретно реализовать поставленную задачу. Т.е., если IronPython, то может быть где скачать, как устанавливать, что это - дополнительные функции или отдельный язык. Я знаю, что можно использовать функции Python в C#, но опять же таки, все функции или часть?..., хотел бы посмотреть на код, как эти функции можно вставить. И ещё хотелось бы знать конкретее, поможет или нет язык Python в поставленной задаче и почему (в зависимости от ответа). Если не сложно, расскажите кто-нибудь, почему используется в научных кругах?
Неизвестный
05.11.2009, 00:47
общий
Hromovnik046:
Да я им не пользуюсь совсем. Сосед бывший торчал с него. Официальный сайт теперь тут: URL >>IronPython.
Пример встраивания скрипта как плагина

На мой взгляд, в данной задаче либо все писать на Питоне, либо все на C#. Я не уверен, что сетевые возможности Питона более мощные, чем у .Net. Просто он стал самым распространенным языком под Линукс, вот на нем там все и пишут. Не только сетевые программы. Скажем, в Генту вообще все управление системой на скриптах Питона. И во многих других дистрибутивах он очень активно используется. И поклонники у него очень активные. Так что они Вам быстро втолкуют, что только дурак будет писать программу на другом языке. :)

А научным кругам нужен язык не слишком тормозной, но и чтоб написание короткой программы было не сильно громоздким. На С кучу всего надо самому прописать, да еще и гора мусора на диске остается. Быстрый скриптовый язык для этого хорошо подходит. Вот для него и понакрутили научных возможностей. Вроде комплекных чисел, сложных фильтров, обработки матриц и всевозможных графиков.
Неизвестный
05.11.2009, 02:18
общий
Кстати слышал, что у Python есть проблемы с быстродействием... Хотя я не писал - не знаюВ любом случае, спасибо за ответ. Подожду, может кто ещё чего дельного напишет. Собственно ответа пока никто не дал ;-)
Неизвестный
05.11.2009, 08:30
общий
Hromovnik046:
У любого скриптового языка есть проблемы с быстродействием. Он же налету должен из текста в конкретные действия переводиться.
Здесь для Питона не самая лучшая поддержка. Как-никак, противникОбычно на Питоне пишут те, кто при слове "Майкрософт" плюется и крестится. Хоть и объединили 2 технологии, все равно почти никто этим не польуется. Возможно, для этого надо искать форумы именно по IronPython.
Неизвестный
05.11.2009, 17:33
общий
Hromovnik046:
Есть ли смысл в использовании IronPython? Если он работает под .NET то и использует средства .NET Framework. Т.е. все это можно сделать на C# теми же средствами.
Форма ответа