Форум сайта python.su
ибо после boo писать на питоне смысла нет для меня. для меня скорость кода важна, и красота кода. с первым у питона серьезная проблема.
Офлайн
georgeПочему тогда Boo, а не C#? Что-то я не заметил, что Boo лучше.
ибо после boo писать на питоне смысла нет для меня. для меня скорость кода важна, и красота кода. с первым у питона серьезная проблема.
Офлайн
в Воо есть динамическая типизация. что например мне показалось удобным когда я писал СОМ-обертку…
Офлайн
clegВ C# тоже есть динамическая типизация:
в Воо есть динамическая типизация. что например мне показалось удобным когда я писал СОМ-обертку…
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var list = new List<int>();
var rnd = new Random(DateTime.Now.Second);
for (int i = 0; i < 10; i++)
list.Add(rnd.Next(100));
var newList = from i in list
where i > 50
select i;
foreach (var n in newList)
Console.WriteLine(n);
}
}
}
Офлайн
динамическая типизация появилась только сейчас в шарпе, в бу была изначально (с 2002 г). В бу делегаты описываются почти также как в Питоне, да и благодаря выводу типа (изначально, в шарпе счас тоже фрагменты) все выглядит приятней. Короче питон с поддержкой net шаблонов, делающий ненужным шарп лично для меня. Обрубок - это зря, вполне продуманный и самостоятельный язык. Однако если ты шарпер, может и не стоит лезть в Boo. выигрышь в компактности кода не более 50%, в остальном вряд ли. В boo есть макросы, которых по функционалу нет ни в шарпе ни в немерле. короче на лету можно получать доступ к потрохам компилятора и произвольно переколбашивать читаемый им код.
я это не использую, но если это появилось раньше года на три, то много б времени себе сэкономил. короче шарп бу нагоняет, но и бу развивается довольно неплохо для некоммерческого языка.
Офлайн
чтобы насчет компактности подтвердить вот твой код на boo
rnd = Random(date.Now.Second)
list = map(range(10), {e | rnd.Next(100)} )
new_lst =
print new_lst
хоть посимвольно хоть построчно значительно компактней. но здесь негде развернуться. когда код реально сложный, выигрыш значительно заметней.
еще вот этот код будет работать быстрее чем твой (угадай почему) раза в 2, а если поменять new_lst = на new_lst = (i for i in list if i > 50)
то в 20. так что не все так просто, как кажется на первый взгляд.
Отредактировано (Янв. 13, 2009 03:21:23)
Офлайн
georgeЯ не могу не лезть. Шило в одном известном месте :)
Однако если ты шарпер, может и не стоит лезть в Boo.
georgeПро макросы не знал. Почитаю. Кста, ссылки на хороший мануал нету? В BooPrimer о макросах не нашёл.
В boo есть макросы, которых по функционалу нет ни в шарпе ни в немерле. короче на лету можно получать доступ к потрохам компилятора и произвольно переколбашивать читаемый им код.
georgeНу я могу в C# массив создать вместо списка. Или new_lst = (,) чем-то принципиально от массива отличается?
еще вот этот код будет работать быстрее чем твой (угадай почему) раза в 2, а если поменять new_lst = на new_lst = (i for i in list if i > 50)
то в 20. так что не все так просто, как кажется на первый взгляд.
Офлайн
Я вообще не говорю, что Boo - плохой язык. Меня смущают лишь две вещи - то, что он мало распространён и то, что у него нет поддержки крупных компаний, как у того же C#.
Офлайн
NightmareZhttp://boo.codehaus.org/Syntactic+Macros
Про макросы не знал. Почитаю. Кста, ссылки на хороший мануал нету? В BooPrimer о макросах не нашёл.
Офлайн
Ну не знаю…. не знаю…. а на практике зачем оно может понадобиться?
Я бы радовался чему-нить наподобие шаблонов из C++ (но не дженерикам).
Офлайн