Global variables act like voule better than me / it-юмор :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek 
Global variables act like voule better than me,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор
Подробнее
Global variables act like voule better than me
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
Юмор людей ненавидящих goto, но не написавших ни одной программы длиннее 1000 строк?
Hellsy Hellsy 15.02.201900:44 ответить ссылка 2.2
чувак, ты только в обморок не падай: есть языки вообще без переменных
villy villy 15.02.201900:46 ответить ссылка 1.6
На ум приходит только Ассемблер. Есть еще что-то?
Учебный язык ники, брейнфак
В брейнфаке есть переменные, включая переменные циклов, собственно, поинтер указывает на текущую переменную.
Hellsy Hellsy 16.02.201915:45 ответить ссылка 0.0
чиво блять? в asm нет переменных? ну ты и мудак
не в кажом языке ассемблера они есть - в некоторых у тебя только набор регистров - сиди и наслаждайся ими
хаскель
villy villy 15.02.201901:11 ответить ссылка 0.2
нет переменных в том смысле, что там ничего никогда не меняется.
такие программы умеют только отвечать на вопросы (потенциально очень сложные) и кто-то снаружи должен их использовать, в стиле: «скажи, а что мне делать в ответ на такую ситуацию»? получается, что можно эту сторону, которая совет спрашивает и реально что-то делает, сделать очень простой, и сосредоточиться на основной программе, в которой нет переменных. подход называется «функциональный язык программирования».
не знаю, так ли это на самом деле, это я из головы придумал, ну а как еще с другой стороны это может быть?
Prolog
DrXak DrXak 15.02.201922:13 ответить ссылка 0.0
Ну конечно же они там есть, в виде ссылок на выделенные области памяти. db, dw, set и т.д., ты даже можешь им имена назначить для удобства.
Hellsy Hellsy 16.02.201915:41 ответить ссылка 0.9
юмор людей, которые знают что в некоторых языках можно писать в стиле
fOr i tO X
Зачем ты плохому людей учишь? Сейчас у кого-то откровение случится, а потом ему на код ревью лицо за такое написание набьют.
Зачем goto, если есть switch?
nonnname nonnname 15.02.201903:48 ответить ссылка -0.3
надо отметить, что использование switch "по книге" является не очень хорошим действием. Все еще лучше чем goto, но уже не очень хорошим.

А вообще goto не_нужен. Кроме, может быть, низкоуровневых оптимизаций - за них мне сказать нечего.
Потому что, по сути, он решает следующие задачи.
Переход в предыдущее место кода(решается циклами и рекурсией)
Переход в определенное место кода по условию(решается if и switch)
Выход из цикла до его завершения, либо прерывание итерации цикла (решается break, continue и return)
Иными словами, есть средства, которые делают то же самое и при этом не превращают код в спагетти.
Выход из четырёх вложенных циклов? goto в теле цикла и метка сразу после окончания самого первого. Спагетти будет не больше, чем при использовании четырёх break.
во многих языках break с меткой можно делать.
villy villy 15.02.201915:55 ответить ссылка 0.0
Как по мне, в подобных случаях лучше циклы упаковать в функцию и вместо break поставить return
DrXak DrXak 15.02.201922:15 ответить ссылка 0.0
Выйти из функции досрочно с возвратом кода ошибки и освобождением временно занятых ресурсов:

int
funcname(int arg)
{
... {
error=EIO; goto bailout;
}
...
return 0;
bailout:
free(res1);
free(res2);
free(res3);
return (error);
}

В языке C нет деструкторов как в C++.
dadv dadv 15.02.201911:22 ответить ссылка 0.0
пс, чувак, за последние 40 лет появилось 100500 языков, отсыпать?
villy villy 15.02.201915:58 ответить ссылка 0.3
И у этих языков проблемы ещё похлеще, чем у C. И это неизбежно, так как большинство новых языков появились вовсе не потому, что они заточены под какие-нибудь предметные области (хотя некоторые да, как ранние версии perl для обработки текста), а только потому что программисты становились всё более тупыми, так как бизнесу требовались именно такие. Но чудес не бывает и у тупых программистов проблемы будут и с шаблонами C++, и с классами/деструкторами и с любыми другими языковыми средствами и сахаром. Просто потому что они тупые.
dadv dadv 15.02.201916:05 ответить ссылка 0.0
В основном с утечкой памяти, но кого это интересует при наличии 16ГБ и более оперативки?...
Если бы просто утечкой... по структурам реально утёкшей памяти не приходится лазить с обработкой (подсчётом ссылок и прочим). А на бессмысленную обработку разбухающих (хотя реально и не нужных) структур в памяти тратится всё больше тактов CPU, вплоть до того что их регулярно перестаёт хватать на полезную работу и современные системы шевелятся медленней, чем системы двадцатилетней давности.
dadv dadv 15.02.201916:14 ответить ссылка 0.3
STL упрощает, ускоряет и удешевляет разработку ПО. А отсутствие оптимизации использования STL - вина разработчика.
Кушайте результат, не обляпайтесь.
dadv dadv 15.02.201916:22 ответить ссылка 0.2
В разработке операционной системы, STL - мертворождённый.
илитарий дохуя?
ни один инженер не будет делать изделие из говна и палок просто потому, что может.
всегда было интересно, откуда среди программистов берутся такие припадальщики к корням?

да, добавляется сахар. так он и в плюсы добавляется, только мееедленно, и с учетом совместимости с кучей херни, которая там накопилась за десятилетия.

шаблоны C++ ты ваще зря приводишь в пример. это эталонный пример говна, которое стали юзать не так, как задумывалось, тормозное, и хуёво дебажимое.
villy villy 15.02.201916:13 ответить ссылка 0.0
> ни один инженер не будет делать изделие из говна и палок просто потому, что может.

С добрым утром!
dadv dadv 15.02.201916:18 ответить ссылка 0.0
давай тогда пример, какие ты знаешь коммерческие продукты, сделанные по технологиям 40 летней давности, и это не какая-нибудь кустарщина.
villy villy 15.02.201916:25 ответить ссылка 0.0
Все коммерческие современные продукты тормозят на самых современных процессорах с over9000 оптимизацией и супертехнологичными решениями именно из-за того, что большинство современных универсальных технологий программирования требуют хуелярд вычислений просто потому что, а прогеры умеют в оптимизацию ровно нихуя.
оптимизация стоит денег, так уж получилось, что сделать 1 раз более быстрый проц и потом его растиражировать миллионами копий - дешевле, чем каждую конкретную софтину выдрачивать до блеска.
и что характерно, на под разное железо нужны разные оптимизации, что объем работ увеличивает кратно.
а смысл?
villy villy 15.02.201916:40 ответить ссылка -0.3
О том и речь, что 1% прироста производительности проца даёт ровно нихуя. А удаление тормозисторов в ПО за счёт специализации может придать до 100% производительности программулины, но нахуя?...
смотря какая программулина, лол
если рост на 100% это 25 миллисекунд вместо 50, то и ебать ее в рот, на ближайщем мутексе дольше простоим
villy villy 15.02.201916:48 ответить ссылка 0.1
Верно. Буквально сегодня на Перле доделал скрипт "в целях выполнения закона Яровой" на потоки. Суточные дампы обрабатывает почти ровно быстрее в количество потоков. Между потоками нет общения и нет мьютексов. ЯЩИТАЮ, это быстро.
Netflix использует для распространения видео FreeBSD, написанную на C.
dadv dadv 15.02.201916:58 ответить ссылка 0.0
я имел в виду инженерное дело за рамками программирования. ну, там, архитектуру, автомобилестроение, электронику и тд. нигде не видел такого убеждения, что вот раньше было заебись, а теперь попса бездуховная для дураков. наоборот, "о, инновации, позволяющие делать то же самое, но быстрее и безопаснее? дайте две!"
ну и я не понял, это FreeBSD что ли на 40 лет устаревшая технология? Те же никсы, что и в куче осей, чо во фре такого уж устаревшего?
C - да, безусловно, но в куче софта вопрос легаси перекрывает любые другие резоны, в том числе, зачастую, и здравый смысл.
villy villy 15.02.201919:34 ответить ссылка 0.0
> эталонный пример говна

Можно подумать, есть какой-то сахар, который нельзя использовать тормозно и неотлаживаемо.
dadv dadv 15.02.201916:21 ответить ссылка 0.0
ну ты ж илитарий у нас, ты должен по идее уметь использовать что угодно, так, чтоб оно не вызывало проблем.
используй сахар, сделаешь хорошо тем, кто за тобой говнокод разгребать будет.
villy villy 15.02.201916:28 ответить ссылка 0.1
Похоже вы друг друга не поняли.
Могу повторить: проблема не в шаблонах, не в STL, не в сахаре и не в goto. Проблема в тупых программистах, которые любые языковые средства, включая, goto, используют криво. Хороший программист не испытывает проблем с goto там, где goto уместен и результирующий код всё равно читабелен.
dadv dadv 15.02.201917:01 ответить ссылка 0.3
ни хуя. проблема в тупых программистах, которые думают, что они до хуя умные, и уж им-то точно можно игнорировать опыт поколений, накопленный за десятилетия отстреливания ног
villy villy 15.02.201917:29 ответить ссылка 0.1
это то же самое
dadv dadv 15.02.201917:32 ответить ссылка -0.1
неа, это полные противоположности. нубу, который понимает, что он нуб, дашь инструмент - и он будет ебашить сносный код, и когда-нибудь дорастёт до понимания сути; а нуб, который считает себя до хуя умным, выкопает труп плюсов и будет его насиловать, хотя у тебя какой-нибудь вэб-сервис и такая некрофилия ничем не обоснована, ну кроме чсв автора
villy villy 15.02.201917:46 ответить ссылка 0.1
> . нубу, который понимает, что он нуб, дашь инструмент - и он будет ебашить сносный код

не бывает так
dadv dadv 15.02.201917:58 ответить ссылка -0.1
Да какая разница? Ну, будет у тебя там не free(res1), а res1.destructor(). Ну, или, чтобы отвязаться от вопроса памяти, представь себе длинную функцию, в конце которой вызывается какая-нибудь дополнительная функция, например - recalc() и вот ты уже вынужден оборачивать функцию в другую функцию, чтобы этот recalc() отработал. А еще ты должен в этот return засунуть коды возврата - а ну как этот recalc() должен отрабатывать не всегда? И понеслось...
Hellsy Hellsy 16.02.201915:51 ответить ссылка 0.0
Заменить goto конечно можно, но это действие зачастую ухудшает, а не улучшает читаемость кода. Например, ты предлагаешь return вместо goto. Это понятная замена, но если в конце функции есть еще какой-то "хвост", который должен отработать, то придется делать две вложенные функции. А если есть ветвление, хоть минимальное, то три и более.
Hellsy Hellsy 16.02.201915:48 ответить ссылка 0.0
Только не говори, что ты используешь goto в программе в 1000 строк.
Leznz Leznz 15.02.201904:43 ответить ссылка -1.0
В модуле компиляции может быть и больше строк, и сотня отдельных функций, часть использует goto.
dadv dadv 15.02.201911:24 ответить ссылка 0.0
По неочевидной причине рассматривал код gcc. Там goto встречается предельно редко по отношению к остальному коду.
Как это и должно быть.
dadv dadv 15.02.201917:02 ответить ссылка 0.0
просто всякие дауны даже не подозревают во что компилируется их красивый switch особенно адепты явы, которые даже не в курсе, чем там занимается JIT пока они мамкины програмисты

а теперь вопрос взрывающий пуканы, чем отличается GOTO поставленный компилятором, от GOTO поставленного человеком?

и да, шутка тоже от дауна, на второй картинке должны сидеть регистры, так как во всех языках програмирования глобальные переменные сидят в той же области памяти что и локальные, а ограничения на адресацию создаются компилятором, при большом желании и куче свободного времени можно бегать по стеку и читать локалки левых процедур.
RawCode RawCode 15.02.201908:31 ответить ссылка -2.8
тем, что го-то поставленный компилятором будет поставлен к месту, и, что немаловажно, не снизит читаемости кода.
И не надо кукарекать про частные случаи. Использование goto _может_быть_ оправдано в единичных случаях, но _обычно_ он используется где не надо, когда не надо, и что самое главное - как не надо.
Есть класс программ, которые к хуям ломают все оптимизации (и логику, и вселенную, и Аллаха). Получить такую можно только с помощью goto даже в пределах одной функции и не так сложно как кажется (минимальный пример где-то 5 строчек). Компиляторы такой код тупо не генерируют. А все кейсы, которые ничего не ломают прекрасно заменяются стандартными операторами.
Ломающая всё программа выглядит как-то так, но могу соврать:
if(isOk) goto a:
for x in xs {
a: print x
}
И это простейший случай, с ворохом continuations, coroutines и closures всё становится ещё хуже
dibroo dibroo 15.02.201913:27 ответить ссылка 0.6
Внимание, ответ.

Тем, что кода читают до, а не после компиляции. Ты ещё скажи, что в ассемблере всегда jmp используется, значит и goto можно.

Существуют такие понятия, как читаемость кода, проектирование ПО, расширяемость и поддерживаемость ПО, методологии разработки. И всё это летит к хуям, когда какой-нибудь даун начинает его использовать.

Нет, конечно, когда ты пишешь что-то один и для себя, тебе никто не может запретить его использовать. Нравится обмазываться говном? Пожалуйста! Читать и модифицировать это всё равно тебе.
Leznz Leznz 15.02.201916:26 ответить ссылка 0.9
Да, компилятор превращает все циклы в GoTo.
Тем не менее, компилятор проделывает все возможные оптимизации.
Если программист сам напихает GoTo, то компилятор просто не сможет выполнить какие-то оптимизации.
Так как код будет спагетти.

Да еще и отлаживать код, который напичкан GoTo, то еще удовольствие.

GoTo можно лишь использовать для эмуляции недостающего функционала. Вот, например, в VBA нету break и continue и приходится писать GoTo, что бы выпрыгнуть из цикла.

В Си GoTo могли использоваться, что бы прыгать в обработчики ошибок.
сука я этот срач помню четверть века назад. )
levtsn levtsn 15.02.201909:34 ответить ссылка 0.9
Тссс. Ты мешаешь людям блеснуть эрудицией.
Древнее зло пробудилось...
http://govnokod.ru/search?search=goto&page=1
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Your ping is good
But it can be bett
made with mematic	1 дожил до 2013 ни разу не читал facebook и контакт The Floppotron: Smells Like Nerd Spirit,Science & Technology,floppotron,floppy,music,nirvana,electronics,microcontroller,programming,embedded,Nirvana cover by computer hardware orchestra.
Which song would you like to hear next?
More info: http://silent.org.pl/home/2016/07/06/return-of-the-floppies/
подробнее»

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор floppy nirvana Smells like teen spirit видео,video geek porn

The Floppotron: Smells Like Nerd Spirit,Science & Technology,floppotron,floppy,music,nirvana,electronics,microcontroller,programming,embedded,Nirvana cover by computer hardware orchestra. Which song would you like to hear next? More info: http://silent.org.pl/home/2016/07/06/return-of-the-floppies/