Форум сайта python.su
0
Андрей Светлов
Скопируй 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)
Офлайн
0
georgeЭто понятно, Python популярнее в стопятьсот раз :). Там от этих предложений наверное отбою нет.
когда пробовал в Python-е одно просунуть - да какой там
Офлайн
0
>> Это понятно, Python популярнее в стопятьсот раз smile. Там от этих предложений наверное отбою нет.
мне важно, чтобы то, что меня ограничивает, со временем исправлялось. Питон с 2.4 по 2.6 ничего существенного по моим критериям не прибавил.
Офлайн
0
Это хороше, что вышел. Но вменяемая документация где? Как бы ни был хорош язык, но если он претендует на роль языка общего назначения, там должна быть документация, а не http://jira.codehaus.org/browse/BOO?report=com.atlassian.jira.plugin.system.project:roadmap-panel. Иначе повторит судьбу многих других ЯП.
george1) Чуть выше вы были готовы на примерах доказывать, что Boo лучше F#, Scheme, Nemerle каждого в отдельности и вместе взятых по важным параметрам. А это уже серьезное заявление. Однако доказательств пока не видно.
долго уговаривать просто нет времени. я просто показываю направление, дальше сами решайте.
Офлайн
0
я указал jira ресурс, где перечислены все фичи. к сожалению, чтобы понять все это, надо знать и инглиш, и запастись терпением.
прямые ссылки там же на любые темы. нормальный док обещан после 1.0 релиза. действительно был готов на деле доказать.
выбери боль-мень внятную задачу, чтоб заинтересовала и меня, докажу..
Офлайн
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)
Офлайн
0
моя функция получилась быстрее раз в 100 :-)
def fib(i as int):
sum = i + 1
while –i > 2: sum += i
return sum
задачи, предложенные тобой, тоскливые, как по мне. вот подумал, как на счет каталогизатора музыки. то бишь запускаешь прогу, она
сканит муз. каталоги, и выдает приятный глазу список, который может редактировать, отослать, сравнить с другим на предмет разницы и пр.
по меньшей мере это полезно. прога будет небольшая, однако есть где развернуться. и чтоб норм. вид имела ( не консоль и не др. чушь). е
Офлайн
0
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)
Офлайн
0
>> Судя по всему не держит Воо рекурсии.
это компилятор требует явный тип, держит или не держит - дальше проблема .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# лучше и пишешь код, я тогда тоже напишу, и результат сравним, а питонеры, если шо, нас рассудят.
критерии:
компактность
понятность
скорость программы
удобство
тогда вот можно приколоться..
Офлайн
0
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)
Офлайн