All streams
Search
Write a publication
Pull to refresh
19
0
Андрей Цветков @AndreyTS

User

Send message
Интересно, про XML не слыхали в Qt? Почему выбрали именно что-то вроде JSON?

Так скоро и до XAML дело дойдёт :)
* ѣ-mode on *

Ну, написаніе Б-г (только не с «-», а с «~», и не мѣжду Б и г, а над ними), т.е. что-то вроде «Б~г» — традиція церковно-славянскаго языка. Так же пишутся слова с~тый («святый»), анг~л («ангел») и т.п., если обозначают положительное, священное понятіе. Если же речь идёт, например, про языческих богов, то там в словѣ «боги» не будет тильды, а будет полноцѣнное «о». Напримѣр, «увѣровали въ единаго Б~га и отказались отъ языческихъ боговъ»
Это бессмысленная дискуссия без указания границ применения. Для моих работ — это так. Я хорошо понимаю и чуствую «фичи» C# и они меня ни разу не тормозят, относительно С++, а наоборот. Если у вас — по другому, значит либо задачи весьма специфические, либо нет нужного понимания C#.
С++ не адекватен большинству бизнес-задач. Разработка просто медленнее и дороже. Я и сам люблю С++, но вести реальную работу на нём мне финансово невыгодно :)

По вашему, хорошие программисты редко сядятся за бизнес-приложения?) Хе-хе.
да, вопрос как раз следующий был про то, как прикручивали Nemerle к ASP.NET) но нет, так нет)
> Язык достаточно удобный, из крупных проектов на нем написал uniquation.ru.

сам поисковый движок? или и веб-морду тоже?
Дело не в конструкторе словаря, а в том, что Nemerle распознаёт тип объекта «hash», анализируя не только строку с его инициализацией, но и код ниже по тексту.
А конструктор может быть или не быть, не о том речь.
Да, видимо они посчитали, что конструктор — что-то более ответственное, чем просто вызов метода)
* fix: я тут с выводом немного увлёкся, и забыл про то, какой конструктор у List:

List<T>(IEnumerable<T> src);

Вот так правильно:

var list = new List<User>(new User[] { new AnonymousUser(), new OtherUser(«Vasya»), new SomeOtherUser { Name=«Vasya», Age = 14} });

Или, с одним упоминанием типа:

var list = new User[] { new AnonymousUser(), new OtherUser(«Vasya»), new SomeOtherUser { Name=«Vasya», Age = 14} }.ToList();
а ещё вернее — Scala с Nemerle ;-)
Да, тоже сложилось впечатление, что Scala = Nemerle для Java :)

Очень мне понравился Nemerle, жаль что не он на месте F# в 2010 студии. Интересно, что помощнее — Scala или он. Мне кажется, что всё же Nemerle)
Тоже. Например, в глубоких вызовах LINQ — там шаблон на шаблоне, и типы нигде не надо указывать.

Конкретно этот пример:

var list = new List<User>(new AnonymousUser(), new OtherUser(«Vasya»), new SomeOtherUser { Name=«Vasya», Age = 14});

Конкретно тут, раз уж вы указываете тип (List), то придётся указать полностью. Но если var list = Repeat(new OtherUser(«Vasya»)), где Repeat: T -> List<T>, тип list будет выведен.

то есть, переменное кол-во параметров не в смысле, что одна и та же функция имеет переменное количество параметров, а в том, что вы создаёте новые функции, отличные от изначальной количеством параметров
Не совсем «с переменным».

Допустим есть некая универсальная функция с кучей параметров, которая делает сложное действие А (в примерах — сложение двух чисел).

int Sum(int a, int b){ return a+b; }

А вам нужна вот в данный конкретный момент функция-частный случай первой (в примере — «увеличение на 1» — это частный случай сложения).

Нужна она вам, что передать её в качестве параметра в другую функцию:

void SomeOtherFunction(Func<int, int>);

Эта функция требует, чтобы ей передали ф-ю, принимающую один параметр int.

Вы можете объявить её вручную:

int Inc (int a) { return Sum(a, 1); }

а потом передавать Inc:

SomeOtherFunction(var1, var2, Inc);

Но вместо этого вы лучше просто скаррируете Sum: «Sum.Partial(1)», тем самым избавляясь от ненужного описания функции Inc, и получите вот такой вызов:

SomeOtherFunction(var1, var2, Sum.Partial(1));
Почитал, в чистом то, что у нас называется «события» :) Как-то так это выглядит в C#:

public class SomeClass {
public event Proc<int, SomType> SomeSignal;

}


void SomeSlot(int a, SomeType b){

}

var someObject = new SomeClass();

someObject.SomeSignal += SomeSlot;
Ясно, прикрутили события к старому доброму(?) С++ :)
Прошу прощения, немного не по теме, но стало интересно, что за ключевое слово «signals: »?
Хех, если говорить про старую дремучую ASP, то пожалуй разве что её PHP и лучше. А рядом с ASP.NET даже и не стоял.
1 — ну Raiffeisen не Гугль, всё же. И таких компаний _из встреченных мною на жизненном пути_ — большинство. Может у меня путь такой, но тем не менее. То есть я просто говорю, что MS как серверная платформа вовсе не «не существует», а очень даже нормально существует, и даже имеет свои плюсы, как и минусы.
И хорошо, что у других не хуже, я, в отличие от никсоидов, не кричу, что «всё, что не .net — отстой».

2 — вы неверно поняли, это как раз в nix-сообществе есть такое мнение, что MS так себя позиционирует.

Например, коммент ниже: «ну то есть вы предлагаете для (относительно) простых веб сайтов использовать дотнет? мм… не смешно.

а в весовой категории «корпоративные сайты/веб-приложения» сравнивать надо с...».

Этот коммент выражает общее мнение вашего мира, что .net — это что-то большое и громоздкое для чего-то большого.

А я как раз считаю, что C# это для начала удобный скриптовый язык. Который, кстати, можно даже 5 строчками кода _встроить в свою программу_.

И поэтому делать на ASP.NET даже что-то простое — вполне оправдано, если вы на этой технологии умеете работать.

3 — насчёт особенностей платформы в нашем стартапе, там есть такой момент:
нужно делать выборку из БД, критерием которой является результат работы сложного алгоритма, реализовать который на SQL технически сложно и неэффективно. MS SQL Server умеет хостить в себе среду .NET, что позволило описать хранимку прямо на C#, т.о. на стороне SQL выполнить наш сложный алгоритм, реализованный на более удачном для этого C#.
Вот у меня ровно такие же впечатления от людей из мира unix-решений.

«Хоть бы один раз выяснилось, что фанатичный приверженец Unix-платформы для Web-разработки и правда имеет для этого какие-то веские основания, а не просто иррациональную боязнь MS.»

Забавно, да?)

К тому же, .NET != MS, есть Mono.

А насчёт нового, я постоянно что-то осваиваю, сейчас лямбда-исчисление и ФП. И я в курсе языков типа Python и Ruby. Просто в нашем мире столько всего возникает интересного и прогрессивного, что просто нет возможности охватывать всё, да и нет в том никакой нужды.

Если я буду расширять кругозор, то начну с Java, кстати, а не скриптовых языков.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity