Найти - Пользователи
Полная версия: Область применения
Начало » Python для .Net » Область применения
1 2 3
george
ибо после boo писать на питоне смысла нет для меня. для меня скорость кода важна, и красота кода. с первым у питона серьезная проблема.
NightmareZ
george
ибо после boo писать на питоне смысла нет для меня. для меня скорость кода важна, и красота кода. с первым у питона серьезная проблема.
Почему тогда Boo, а не C#? Что-то я не заметил, что Boo лучше.
Просто, имхо, Python и C# - параллельные вселенные…. а Boo - это обрубок шарпа с синтаксическим сахаром, позаимствованным от питона.
cleg
в Воо есть динамическая типизация. что например мне показалось удобным когда я писал СОМ-обертку…
NightmareZ
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);
}
}
}
george
динамическая типизация появилась только сейчас в шарпе, в бу была изначально (с 2002 г). В бу делегаты описываются почти также как в Питоне, да и благодаря выводу типа (изначально, в шарпе счас тоже фрагменты) все выглядит приятней. Короче питон с поддержкой net шаблонов, делающий ненужным шарп лично для меня. Обрубок - это зря, вполне продуманный и самостоятельный язык. Однако если ты шарпер, может и не стоит лезть в Boo. выигрышь в компактности кода не более 50%, в остальном вряд ли. В boo есть макросы, которых по функционалу нет ни в шарпе ни в немерле. короче на лету можно получать доступ к потрохам компилятора и произвольно переколбашивать читаемый им код.
я это не использую, но если это появилось раньше года на три, то много б времени себе сэкономил. короче шарп бу нагоняет, но и бу развивается довольно неплохо для некоммерческого языка.
george
чтобы насчет компактности подтвердить вот твой код на 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. так что не все так просто, как кажется на первый взгляд.
NightmareZ
george
Однако если ты шарпер, может и не стоит лезть в Boo.
Я не могу не лезть. Шило в одном известном месте :)

george
В boo есть макросы, которых по функционалу нет ни в шарпе ни в немерле. короче на лету можно получать доступ к потрохам компилятора и произвольно переколбашивать читаемый им код.
Про макросы не знал. Почитаю. Кста, ссылки на хороший мануал нету? В BooPrimer о макросах не нашёл.

george
еще вот этот код будет работать быстрее чем твой (угадай почему) раза в 2, а если поменять new_lst = на new_lst = (i for i in list if i > 50)
то в 20. так что не все так просто, как кажется на первый взгляд.
Ну я могу в C# массив создать вместо списка. Или new_lst = (,) чем-то принципиально от массива отличается?
NightmareZ
Я вообще не говорю, что Boo - плохой язык. Меня смущают лишь две вещи - то, что он мало распространён и то, что у него нет поддержки крупных компаний, как у того же C#.
PooH
NightmareZ
Про макросы не знал. Почитаю. Кста, ссылки на хороший мануал нету? В BooPrimer о макросах не нашёл.
http://boo.codehaus.org/Syntactic+Macros

PS: я тоже полез Boo смотреть - радует :)
NightmareZ
Ну не знаю…. не знаю…. а на практике зачем оно может понадобиться?

Я бы радовался чему-нить наподобие шаблонов из C++ (но не дженерикам).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB