- 1
- 2
- 3
- 4
- 5
int aBookItemKeysCount = 0;
foreach (var some in aBookItemKeys)
{
aBookItemKeysCount++;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
int aBookItemKeysCount = 0;
foreach (var some in aBookItemKeys)
{
aBookItemKeysCount++;
}
aBookItemKeys это массив.
https://msdn.microsoft.com/en-us/library/bb357392(v=vs.110).aspx
Есть ещё и Array.Length и Array.LongLength
Кто придумает более оригинальное название в своём языке с нескучными идентификаторами?
Я не читал мсдн, но вангую что LongLength и Length отличаются тем что один 4 байта, а другой 8
К выражению мыслей на естественном языке и надвигающемуся будущему, это увы нас нисколько не приближает. Для этого будет необходимо решить задачу вида - я хочу получить длину массива и что-нибудь с ней сделать. Я не хочу знать о типе элементов массива, не хочу знать о типе переменной в которую пойдет значение числа элементов массива, не особо хочу знать о возможных ошибках в ходе моих действий. Про ошибки я в идеале хочу знать, то, что они были и каким то образом сами были исправлены. Вот это значительно нас приблизит к выражению мыслей на естественном языке. К этому, кстати говоря, чуть ближе находятся языки с динамичесокой типизацией. Они же, между тем возможно пытаются сформировать некий новый тип, который соберет в себе лучшие черты от статической и динамической типизации (typescript и javascript, pep 484 и pep 526 в питоне)
Да и в питоне
Всё это уже было 30 лет назад в Common Lisp, только лучше (деление, например, может возвращать рациональные числа). Даже новомодный gradual typing там уже был, только лучше. И рантайм у практически всех реализаций многопоточный уже десятилетие. И даже убогое ООП там гораздо полезнее, ибо мультиметоды. Жаль только, что стандартная либа и система пакетов выглядят не особо современно.
С технологической точки зрения эти ваши скриптоязычки убоги, а хвастанье длиной фич и числом способов сделать одно и тоже может вызывает только смех.
Ну и что? Вывод типов тоже был в функциональных языках уже очень давно, а джава до сих пор не может.
>>С технологической точки зрения эти ваши скриптоязычки убоги,
Ну так товарищ возмутился тому, что в .NET есть Length и LongLength, я и предложил выход: отказ от стат типизации.
На самом деле я совсем не дикий фанат скриптовых языков, особенно для больших проектов
Никто и ничто не лишено недостатков. С точки зрения использующего скриптоязычки - компилируемые язычки со статической типизацией тоже убоги и страшны. Я знаю, что они мне кажутся убогими, потому как существует необходимость указывать, что и как будет хранится в памяти (грубо говоря), но вот указывать все это - долго, нудно.
> И даже убогое ООП там гораздо полезнее, ибо мультиметоды.
А можно пояснений, почему мультиметоды лиспа, лучше чем какая либо их реализация в других языках?
This function is identical to count().