Форум сайта python.su
Андрей Светлов
Скопируй clr.pyd и Python.Runtime.dll в с:\python25\DLLs
Дальше import clr
Все, готово
ImportError: dynamic module does not define init function (initclr)У меня путь “C:\Program Files\Python25\DLLs\”.
Отредактировано (Янв. 27, 2009 17:44:42)
Офлайн
georgeЭто понятно, Python популярнее в стопятьсот раз :). Там от этих предложений наверное отбою нет.
когда пробовал в Python-е одно просунуть - да какой там
Офлайн
>> Это понятно, Python популярнее в стопятьсот раз smile. Там от этих предложений наверное отбою нет.
мне важно, чтобы то, что меня ограничивает, со временем исправлялось. Питон с 2.4 по 2.6 ничего существенного по моим критериям не прибавил.
Офлайн
Это хороше, что вышел. Но вменяемая документация где? Как бы ни был хорош язык, но если он претендует на роль языка общего назначения, там должна быть документация, а не http://jira.codehaus.org/browse/BOO?report=com.atlassian.jira.plugin.system.project:roadmap-panel. Иначе повторит судьбу многих других ЯП.
george1) Чуть выше вы были готовы на примерах доказывать, что Boo лучше F#, Scheme, Nemerle каждого в отдельности и вместе взятых по важным параметрам. А это уже серьезное заявление. Однако доказательств пока не видно.
долго уговаривать просто нет времени. я просто показываю направление, дальше сами решайте.
Офлайн
я указал jira ресурс, где перечислены все фичи. к сожалению, чтобы понять все это, надо знать и инглиш, и запастись терпением.
прямые ссылки там же на любые темы. нормальный док обещан после 1.0 релиза. действительно был готов на деле доказать.
выбери боль-мень внятную задачу, чтоб заинтересовала и меня, докажу..
Офлайн
georgeВот когда оно будет в официальном описании языка, тогда и запасемся терпением, а пока есть хорошо описанный f# ;).
я указал jira ресурс, где перечислены все фичи. к сожалению, чтобы понять все это, надо знать и инглиш, и запастись терпением.
georgeТут http://www.gigamonkeys.com/book/practical-a-simple-database.html есть хороше поставленная задача - простенькая база данных с простеньким языком запросов, напоминающем SQL. Замечу, что задача реализованная только средствами самого языка, без библиотек. Если есть желание - велкам.
выбери боль-мень внятную задачу, чтоб заинтересовала и меня, докажу..
import System
class Fib:
_value as uint
def constructor(n as uint):
_value = n
def value() as uint:
if(_value <= 2):
return 1
return Fib(_value - 1).value() + Fib(_value - 2).value()
print DateTime.Now
print Fib(40).value()
print DateTime.Now
open System
type test(i)= //Заметим, что тут тип вычисляется
let rec I = i
member x.value = match I with
1 | 2 -> 1
| I -> (new test(I-1)).value + (new test(I-2)).value
printfn "%a" output_any (DateTime.Now)
let v = test(40)
printfn "%i" (v.value)
printfn "%a" output_any (DateTime.Now)
Отредактировано (Янв. 29, 2009 10:42:24)
Офлайн
моя функция получилась быстрее раз в 100 :-)
def fib(i as int):
sum = i + 1
while –i > 2: sum += i
return sum
задачи, предложенные тобой, тоскливые, как по мне. вот подумал, как на счет каталогизатора музыки. то бишь запускаешь прогу, она
сканит муз. каталоги, и выдает приятный глазу список, который может редактировать, отослать, сравнить с другим на предмет разницы и пр.
по меньшей мере это полезно. прога будет небольшая, однако есть где развернуться. и чтоб норм. вид имела ( не консоль и не др. чушь). е
Офлайн
georgeГы. Вы хотели сделать простую числодробильню. А тест по ссылке измеряет генерацию объектов и скорость доступа к методам, проверяет язык на умение держать рекурсию. Числодробильные тесты не интересны в виду узости решаемых задач. К примеру, такой код на f#
моя функция получилась быстрее раз в 100 :-)
let rec fib i =
match i with
| 1 | 2 -> 1
| i -> fib(i-1) + fib(i-2);;
georgeвыдал 818, что ошибка - числа Фибоначчи, это последовательность, в которой каждое последующее число равно сумме двух предыдущих чисел. Причем Фибонначи растет очень быстро, быстрее только Аккерман. Правильней будет так:def fib(i as int):
sum = i + 1
while --i > 2: sum += i
return sum
def fib(i):
if(i <= 2):
return 1
return fib(i-1)+fib(i-2)
Boo Compiler version 0.9.0.3203 (CLR v2.0.50727.3053)
fib1.boo(6,12): BCE0070: Definition of 'Fib1Module.fib' depends on 'Fib1Module.fib' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.
fib1.boo(6,12): BCE0070: Definition of 'Fib1Module.fib' depends on 'Fib1Module.fib' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.
fib1.boo(6,21): BCE0070: Definition of 'Fib1Module.fib' depends on 'Fib1Module.fib' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.
fib1.boo(6,21): BCE0070: Definition of 'Fib1Module.fib' depends on 'Fib1Module.fib' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.
fib1.boo(10,7): BCE0070: Definition of 'Fib1Module.Main' depends on 'Fib1Module.fib' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.
fib1.boo(10,7): BCE0070: Definition of 'Fib1Module.Main' depends on 'Fib1Module.fib' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.
fib1.boo(10,1): BCE0023: No appropriate version of 'System.Console.WriteLine' for the argument list '(unknown)' was found.
7 error(s).
georgeКак знаешь. Каталогизатор музыки у меня есть :)
задачи, предложенные тобой, тоскливые, как по мне. вот подумал, как на счет каталогизатора музыки.
Отредактировано (Янв. 29, 2009 15:38:15)
Офлайн
>> Судя по всему не держит Воо рекурсии.
это компилятор требует явный тип, держит или не держит - дальше проблема .net машины. я предлагал автору boo исключить данную ошибку (реально это элементарно) он однако не захотел.
действительно протупил с функцией - написал, как сумма ряда. ну да, тогда
struct fib:
val as int
result as int:
get:
return (val if(val <= 2) else fib(val-1).result +fib(val-2).result)
def constructor(i):
val = i
>>Как знаешь. Каталогизатор музыки у меня есть
при чем тут. ты говоришь, что к примеру F# лучше и пишешь код, я тогда тоже напишу, и результат сравним, а питонеры, если шо, нас рассудят.
критерии:
компактность
понятность
скорость программы
удобство
тогда вот можно приколоться..
Офлайн
georgeЯ ему указал явный тип, как формальный параметр. Но не считает. Так и запишем. Можете привести пример с Фибоначчи автору Воо. Мож попустит. Кстати, этот глюк (или фича) описаны? Ибо делает язык слабо пригодным на серьезных задачах с рекурсивными алгоритмами.
это компилятор требует явный тип…я предлагал автору boo исключить данную ошибку
georgeРезультат вызова на моей машине 9.26 сек. на .Net и 35.65 на Mono. Но это уже не чистая числодробильня.
struct fib:
georgeТы что-то путаешь. Прочитай тред и напиши, где я сказал, что F# лучше, наоборот ты сказал:
ты говоришь, что к примеру F# лучше
georgeчто меня удивило. Как показали приведенные мной тесты для F# твое утверждение не верно. Для лиспа - надо смотреть на реализацию лиспа. Что касается задачи, то я привел вам уже решенную задачу на лиспе , которая должна работать на .Net реализациях, в надежде увидеть сопоставимый код на Воо, реализующий сопоставимый результат.
а меня могут конечно тюкать - мол, F#, Scheme, Haskell, Nemerle, - где то лучше. Могу доказать каждому на примерах, что все они и каждый в отдельно значительно проигрывают этим двум и в объеме кода и в его понятности при написании любой задачи.
Отредактировано (Янв. 29, 2009 16:39:42)
Офлайн