Так как голосование не позволяет оставлять комментарии, то оформлю комментарии отдельной статьёй.
Особо интересует мнение людей, которые считают что у них такого случиться не может (предпоследний пункт в опросе). Почему?
Под катом — законченный пример на одном из распространённых языков программирования. Бонус! Даже не один язык программирования, но два.
JavaScript:
PHP (пример исправлен, спасибо Sannis):
Какие ещё языки, допускающее подобное, вы знаете и считаете ли вы что удобства предоставляемые этим подходом оправдывают проблемы, которые он порождает?
P.S. Многие языки программирования имеют много странностей при работе с числами с плавающей точкой — но про это хорошо известно и может быть защитано максимум как полбалла. Хотя даже если привлечь числа с плавающей точкой на вменяемых языках программирования (С/C++, Java, Python, Lisp) я ничего придумать не могу (без перекрытия операторов, что, понятно уже чистой воды читерство).
P.P.S. Вообще весь топик вырос из дискуссии где мне пытались объяснить что я ничего не понимаю в программировании и моё нежелание мириться с подобными, с позволения сказать, языками программирования свидетельствует о моей серости и убогости, а не о проблемах в языке.
Особо интересует мнение людей, которые считают что у них такого случиться не может (предпоследний пункт в опросе). Почему?
Под катом — законченный пример на одном из распространённых языков программирования. Бонус! Даже не один язык программирования, но два.
JavaScript:
function remove_element(/* array */ a, /* element */ e) {
var b=[];
for (var i=0;i<a.length;i++) {
if (a[i]!=e) b.push(a[i]);
}
return b;
}
var before=[7, "13", "5", 6];
var after=remove_element(before, "13");
PHP (пример исправлен, спасибо Sannis):
function remove_element(/* array */ $a, /* element */ $e) {
$b=array();
foreach($a as $m) {
if ($m!=$e) array_push($b, $m);
}
return $b;
}
$before=array("11", "a", 2, 3);
$after=remove_element($before, "a");
Какие ещё языки, допускающее подобное, вы знаете и считаете ли вы что удобства предоставляемые этим подходом оправдывают проблемы, которые он порождает?
P.S. Многие языки программирования имеют много странностей при работе с числами с плавающей точкой — но про это хорошо известно и может быть защитано максимум как полбалла. Хотя даже если привлечь числа с плавающей точкой на вменяемых языках программирования (С/C++, Java, Python, Lisp) я ничего придумать не могу (без перекрытия операторов, что, понятно уже чистой воды читерство).
P.P.S. Вообще весь топик вырос из дискуссии где мне пытались объяснить что я ничего не понимаю в программировании и моё нежелание мириться с подобными, с позволения сказать, языками программирования свидетельствует о моей серости и убогости, а не о проблемах в языке.