Товарищи попросили составить опросник для программистов на C#

Oct 03, 2014 13:51

Я слышал от отдельных людей, что C# крайне роляет, поскольку там есть полиморфная рекурсия и прочее бесполезное блядство. К сожалению, у меня не хватило времени на то, чтобы составить полный его (блядства) список, поскольку он практически нескончаем. Оказывается, тут один товарищ весьма деликатно, в диалоговой форме предложил ответить на пару ( Read more... )

Leave a comment

Comments 33

nealar October 3 2014, 10:02:56 UTC
BinarySearh?

Reply

udpn October 5 2014, 17:42:32 UTC
Да тут и параметры дженериков из кода улетели. Полагаю, мы можем автору простить.

Reply


lionet October 3 2014, 10:38:00 UTC
11: да неужто?!

Reply

perlghost October 3 2014, 14:41:59 UTC
может хоть вы объясните, что не так с этим 11-м пунктом.
Ну, кроме очепятки, естественно.

Reply

udpn October 5 2014, 17:44:22 UTC
Ну понятно, что просто не надо так писать. Но как-то всё равно некрасиво, что нужно сначала все эти +-1 просчитать. В случае же с тройками, найти первое число меньшее тройки стандартными средствами будет нелегко. Я вот не профессиональный сишарпист, мне вот так сразу в голову даже и не приходит.

Reply

prezidator October 15 2015, 15:20:21 UTC
По-моему, как раз с индексами в этом примере ошибки нет (или, во всяком случае, она не по существу).
Смысл примера:
a) В еще одной демонстрации недостаточности С#-ной логики работы с предикатами в сравнении с STL-ной (upper_bound/lower_bound).
б) В том, чтобы поймать на том, что конкретный результат, возвращаемый BinarySearch, может зависеть от .Net runtime version (т.е., напоминании, что аналогом upper_bound эта ф-ция является только в том случае, если значение не найдено по точному совпадению, в противном же случае она недетерминирована).

Reply


diam_2003 October 3 2014, 11:12:13 UTC
Критика C# с точки зрения С++ - это, конечно, очень забавное чтение :)

Reply


veremeenko_alex October 3 2014, 12:24:18 UTC
Все вышеописанное не разу не пригодилось.

Reply

perlghost October 3 2014, 12:51:13 UTC
using?
IDisposable?
BinarySearch?
Массивы инициализировать и сортировать?
Объекты в качестве аргументов функций передавать?
Файлы на запись открывать?
Поиск по ключу осуществлять?

ни разу?

Ну, стало быть, вы просто ни разу не использовали C# вообще.

Reply

veremeenko_alex October 3 2014, 13:43:30 UTC
C# надо испльзовать как С#, попытка указвать на недостанки по сравнению с С++ сама по себе странна.

>3. Создатели MS С# взяли на себя заботы об управлении памятью, которые так тяготили программистов на C++. Укажите, о каких видах требующих освобождения ресурсов забыли создатели C#. Расскажите о практикующихся в С# методах работы с такими ресурсами.

Это как бы не про using и IDisposable. Имхо это про Finalize, CriticalFinalizerObject т.п.

Reply

perlghost October 3 2014, 14:13:40 UTC
Все может быть. А мне так сразу вспомнился традиционный вопрос, который почти любой начинающий программист С# задает старшему товарищу, когда в простоте открывает какой-нибудь файл на запись, что-то в него пишет и выходит из функции.

Reply


(The comment has been removed)

perlghost October 3 2014, 14:20:29 UTC
>> судя по 11, чел неумён

ну так поделитесь мудростью.
что не так с п. 11?

Reply

perlghost October 3 2014, 14:34:25 UTC
Решил ознакомиться поподробней с прочими замечаниями подлинного мыслителя, чтобы набраться мудрости. Впечатлен. Жду комментариев к п. 11 с утроенным любопытством ( ... )

Reply

udpn October 5 2014, 17:55:51 UTC
>> ах да, вспомнил, в С/С++ память никогда не заканчивалась!

Там ключевое слово "неожиданно". Впрочем, сказано действительно неоднозначно. Подразумевалось, видимо, то, что программист С++, запрашивая память, знает, какая память уже запрошена, в то время как в C# количество занятой памяти на момент аллокации может быть совершенно произвольным.

>> это глупая и редкая задача
обработка неожиданного форматирования и неверных данных в scanf практически всегда "сломана" в смысле "сегодня мы хотели бы другого поведения для вот таких файлов"
Во-первых, когда я слышу слово scanf в контексте "программирование на С++", у меня сразу возникает желание съездить в еблище. Есть cin, есть boost.spirit. Во-вторых, я даже не могу предположить, что такое поведение файлов. Если вы про модификацию формата данных, то в С++ всё работает отлично, типизировано и вообще.

Reply


Leave a comment

Up