Программисты на C — самый большой разделённый народ в мире?

Страницы: 1 ...  3 4 5  ОТВЕТИТЬ НОВАЯ ТЕМА
tangorn 27 апр. 2016 г. в 07:02
Весельчак  •  На сайте 13 лет
1
Цитата (AlexS32 @ 26.04.2016 - 23:18)
Цитата (postoronnim @ 26.04.2016 - 19:55)
Цитата (AlexS32 @ 26.04.2016 - 19:37)
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

А как же выход из вложенного цикла? gigi.gif

[/URL]

как-как? каком кверху...
смотри команды прерывания и перехода в начало цикла gigi.gif

ну-ка, ну-ка просвети как бы ты организовывал, особенно если f() может вызвать исключение :)

for(int i = 0; i < 100; i++)
{
for(int j = 0; j < 100; ji++)
{
if( f(i,j) == 77){
//тут нужно выйти
}
}
}

ЯП в C# написал так:
for(int i = 0; i < 100; i++)
{
var exit = false;
for(int j = 0; j < 100; ji++)
{
if( f(i,j) == 77){
exit = true;
break;
}
}
if (exit)
break;
}

а, уже ответили. как минимум еще несколько вариантов можно предложить

Это сообщение отредактировал tangorn - 27 апр. 2016 г. в 07:03
massol 27 апр. 2016 г. в 09:41
Скептик  •  На сайте 17 лет
1
а где объявление то?
bart182 27 апр. 2016 г. в 09:46
Шутник  •  На сайте 13 лет
11
Зачем объявление то убрали?
Продублирую его, а то вообще не ясно из-за чего шумиха.


Программисты на C — самый большой разделённый народ в мире?
Креолка20 27 апр. 2016 г. в 09:51
Юморист  •  На сайте 17 лет
0
Цитата (HOMEP16 @ 26.04.2016 - 22:19)
Цитата (KKA @ 26.04.2016 - 19:14)
Да, конечно, надо признавать. Будем все сявы по национальности, затребуем землю, на которой великий разобщённый народ смог бы воссоединиться. И ещё у нас будут резервации для шарперов.

Заключим союзный договор с кодерами на Java и объявим войну языкам-интерпретаторам?

Убил! lol.gif
volderamo 27 апр. 2016 г. в 10:02
Хохмач  •  На сайте 11 лет
2
Похоже, пенисоватенько учат последнее время народ на програмистских специальностях. Моему сыну на первом курсе ПММ ВГУ прям так сразу запретили "goto", а на вопрос почему? - ответ был: это не уровень нашего ВУЗа. То есть преподы и сами не знают почему, а передают из поколения в поколение древний запрет как гусляры песню.
А дело тут в кэшировании и предсказуемости кода. Разработчики архитектуры процов потратили колоссальные усилия, чтобы программа работала быстро и в нужный момент в быстрой памяти были и код и данные. Один оператор goto на дальнюю метку всю эту гармонию может разрушить, и все подгруженные в кэш данные могут оказаться ненужными, и придётся подгружать новые куски программы и данных и тратить на это время. А если и там окажется куча беспорядочных goto, то кэширование уже не только не даст преимущества, но напротив, лишние затраты.
Кто пишет на ассемблере, решает этот вопрос вручную, сам, да и переходы в ассембелере, как правило, недалеко.
kaleru 27 апр. 2016 г. в 10:13
Весельчак  •  На сайте 12 лет
1
Цитата (lnx @ 26.04.2016 - 20:01)
Цитата (АнтиДаун @ 26.04.2016 - 22:24)
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

Согласен, это было моветоном почти во всех языках, кроме ассемблера.
За переходы на метки чморили даже в 80-е годы.

я как-то писал на си прогу одну так за свою практику впервые применил goto его в общем то выставить нужно было в области 10 строчек кода.

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

я написал 2 версии кода и справедливости ради goto в этом себя оправдывал
но комформист чертов и залил код без goto

задумался.)

Про longjmp слышали?
falsh777 27 апр. 2016 г. в 10:19
Поехавший в ад  •  На сайте 13 лет
0
Сказать им что C++ произошел от 1С или не надо...
kuroryu 27 апр. 2016 г. в 10:23
Дракотенок  •  На сайте 11 лет
0
Хы. А использовали бы 1с язык - никто бы не доколебался. :)))))))))

ЗЫЖ Кириллические языки программирования - зло. Но зато по закону. :)
OTMOPO3OK 27 апр. 2016 г. в 10:26
Ветеран Япа  •  На сайте 21 год
-2
Дома в туалете лежит :)

Программисты на C — самый большой разделённый народ в мире?
vodemarrr 27 апр. 2016 г. в 10:30
Ярила  •  На сайте 11 лет
2
Цитата (volderamo @ 27.04.2016 - 10:02)
Моему сыну на первом курсе ПММ ВГУ прям так сразу запретили "goto", а на вопрос почему? - ответ был: это не уровень нашего ВУЗа. То есть преподы и сами не знают почему, а передают из поколения в поколение древний запрет как гусляры песню.

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

UPD: http://www.yaplakal.com/forum7/topic1362909.html

Это сообщение отредактировал vodemarrr - 27 апр. 2016 г. в 10:30
ВикторТрошка 27 апр. 2016 г. в 10:34
Ярила  •  На сайте 14 лет
1
Куда на референдум приходить?
alexsey777 27 апр. 2016 г. в 10:36
Ярила  •  На сайте 10 лет
0
Бред! Причем здесь язык программирования C? Надпись-то на английском! Если ФАС это рекламой посчитал, пусть переведут на русский.
А сорри, увидел объявление. Короче "умом Россию не понять..."

Это сообщение отредактировал alexsey777 - 27 апр. 2016 г. в 10:38
пусто 27 апр. 2016 г. в 10:36
Ярила  •  На сайте 12 лет
0
Очень сомневаюсь, что до строчек кода доебались. Наверняка причиной наезда фраза "god's programming language". А эта фраза вполне себе на английском языке, который таки иностранный.
ispcto 27 апр. 2016 г. в 10:36
Ярила  •  На сайте 10 лет
1
Эт еще Нуралиев (вот эти вот ваши православные 1s) к Гундяеву не подкатывал, а то бы давно анафема была за латиницу в коде.
cepin 27 апр. 2016 г. в 10:36
Шутник  •  На сайте 14 лет
3
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

ага-ага. ядро линукса пишут неборазованные хамоватые кодеры...

применени любой конструкции языка должно обуславливаться задачей. и если использовать только нисходящие переходы по goto как аналог try-catch, то это благо. кстати, Макконнелла почитайте, не лишнее будет
lnx 27 апр. 2016 г. в 10:41
православный атеист  •  На сайте 14 лет
1
Цитата (kaleru @ 27.04.2016 - 13:13)
Цитата (lnx @ 26.04.2016 - 20:01)
Цитата (АнтиДаун @ 26.04.2016 - 22:24)
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

Согласен, это было моветоном почти во всех языках, кроме ассемблера.
За переходы на метки чморили даже в 80-е годы.

я как-то писал на си прогу одну так за свою практику впервые применил goto его в общем то выставить нужно было в области 10 строчек кода.

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

я написал 2 версии кода и справедливости ради goto в этом себя оправдывал
но комформист чертов и залил код без goto

задумался.)

Про longjmp слышали?

да, с ней я тогда и познакомился,
вот так вот век живи век учись

я сам goto не использую и знаю причины этого,
огорчает больше всего то что некоторые программисты на каждом углу кричат про этот оператор, но ни причин ни объяснений.

одна лишь только болтовня - кто гоуту тот пидерас.
вот реально иногда гирей хочется запустить

вот здесь кстати пишется про это https://habrahabr.ru/post/114211/

а если его использование оправдано, то идите вы подальше с вашими предрассудками (не к вам лично).

Это сообщение отредактировал lnx - 27 апр. 2016 г. в 10:50
Zhuck01 27 апр. 2016 г. в 10:43
Весельчак-чак-чак  •  На сайте 14 лет
1
Цитата (volderamo @ 27.04.2016 - 13:02)
А дело тут в кэшировании и предсказуемости кода. Разработчики архитектуры процов потратили колоссальные усилия, чтобы программа работала быстро и в нужный момент в быстрой памяти были и код и данные. Один оператор goto на дальнюю метку всю эту гармонию может разрушить, и все подгруженные в кэш данные могут оказаться ненужными, и придётся подгружать новые куски программы и данных и тратить на это время. А если и там окажется куча беспорядочных goto, то кэширование уже не только не даст преимущества, но напротив, лишние затраты.
Кто пишет на ассемблере, решает этот вопрос вручную, сам, да и переходы в ассембелере, как правило, недалеко.

Тык goto это всего лишь инструмент. Скальпелем себе тоже можно много чего отрезать. Запретить скальпели в мед.ВУЗах? Просто надо научить им пользоваться.

А вот за try-catch где ни попадя, вот за это точно бить надо.
lnx 27 апр. 2016 г. в 10:43
православный атеист  •  На сайте 14 лет
0
Цитата (OTMOPO3OK @ 27.04.2016 - 13:26)
Дома в туалете лежит :)

изувер! что ты делашь! вот реально ОТМОРОЗОК gigi.gif
lnx 27 апр. 2016 г. в 10:47
православный атеист  •  На сайте 14 лет
0
Цитата (АнтиДаун @ 27.04.2016 - 08:19)
Цитата (lnx @ 26.04.2016 - 22:36)
так плавно мы перешли от основной темы к холиварам про goto

По основной теме могу сообщить, что руководитель ФАС - говнюк и мелкий шулер, типичный представитель партии Яблоко, я с ним как-то пересекался в общаге биофака за карточным столом, он со своим подельщиком устроил налапник, но эти мелкие засранцы не знали, что кроме меня, новичка, за столом под видом полуслепого чайника сидел великий и ужасный Вова Бутомо, который сразу все прочухал и прикрыл мне задницу, закончив ночную сессию в нулях, а когда Игореша Артемьев, известный шулер в ЛГУ, дуривший всех гуманитариев ЛГУ, заглотил крючок, Вова на следующий день опустил говнюков по полной программе, они бегали по общаге, клянча деньги, чтобы отыграться перед очкастым математиком. Идиоты не знали, что перед ними сидит один из лучших покеристов Ленинграда, друг и соратник самого Шуры Веселова с кафедры высшей алгебры, их все собаки на профессиональных катранах знали и опасались.

хорошая попытка, но нет)
ТоптуновПотапов 27 апр. 2016 г. в 10:54
Ярила  •  На сайте 15 лет
1
Цитата (McFly @ 26.04.2016 - 19:11)
Это вообще не разговорный язык и к нему неприменимо понятие "иностранный", так что с этносом - обломитесь. А вот с ФАС я, пожалуй, соглашусь. Посыл к клиентской аудитории в данной рекламе сформирован, конечно, с использованием конструкций языка программирования, но основную смысловую нагрузку передают слова "need job", "have skill" и "go to". По закону надо было на великом и могучем. Неаутентично вышло бы, но по закону.

В таком случае латынь тоже не разговорный, так что ниразу не иностранный.
Andreyand 27 апр. 2016 г. в 10:57
Юморист  •  На сайте 10 лет
0
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

Да. За безусловные переходы нас, в своё время, пороли. dont.gif
vaisman 27 апр. 2016 г. в 10:58
Ярила  •  На сайте 12 лет
0
А мне вот интересно, как мы, как представители этой (не)алой народности будем называться? Систы и Сиськи? И кем по отношению к программерам на С++ являются программисты на С?

Это сообщение отредактировал vaisman - 27 апр. 2016 г. в 11:01
Alexlab 27 апр. 2016 г. в 11:26
Ярила  •  На сайте 11 лет
0
Судью и фасовцев лишить ЗП на месяц. Ибо нехуй херней страдать за наши деньги.
VideoCrak 27 апр. 2016 г. в 11:31
Ярила  •  На сайте 16 лет
1
Цитата (vodemarrr @ 26.04.2016 - 23:19)
Цитата (rus2205 @ 26.04.2016 - 19:15)
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

дык так везде, кроме "Бэйсика"

Ню-ню. Про ассемблер не забыл? JMP (аналог go to) с условными вариациями (jnz, jne ...) чуть ли не самые многочисленные команды.

На асме прямой переход всегда требует имя метки.
Имя метки должно быть уникальным, и в силу ограничений gcc - на 12 символов. Когда переходов становится много - очень легко ошибиться.
При сборке проекта таких переходов может быть огромное количество - до 1% от общей массы кода. Но для всех этих переходов GCC может сгенерировать уникальные имена. А каждое такое имя - это ещё и точка входа, оно не должно совпадать с именами функций, именами переменных, константами и дифлайнами.

В общем, при кажущейся простоте команды goto - имя метки обязано быть уникальным в каждом новом операторе. Этого практически не возможно выполнить в ручном режиме для больших проектов.
AlexS32 27 апр. 2016 г. в 11:35
Ярила  •  На сайте 11 лет
0
Цитата (tangorn @ 27.04.2016 - 07:02)
Цитата (AlexS32 @ 26.04.2016 - 23:18)
Цитата (postoronnim @ 26.04.2016 - 19:55)
Цитата (AlexS32 @ 26.04.2016 - 19:37)
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

А как же выход из вложенного цикла? gigi.gif

[/URL]

как-как? каком кверху...
смотри команды прерывания и перехода в начало цикла gigi.gif

ну-ка, ну-ка просвети как бы ты организовывал, особенно если f() может вызвать исключение :)

for(int i = 0; i < 100; i++)
{
for(int j = 0; j < 100; ji++)
{
if( f(i,j) == 77){
//тут нужно выйти
}
}
}

ЯП в C# написал так:
for(int i = 0; i < 100; i++)
{
var exit = false;
for(int j = 0; j < 100; ji++)
{
if( f(i,j) == 77){
exit = true;
break;
}
}
if (exit)
break;
}

а, уже ответили. как минимум еще несколько вариантов можно предложить

Для организациии выхода в итогеилишняя переменная и лишняя проверка? А как быть с оптимальностью?

P.S. А вот предлагать выход пл исключению,так это мягко говоря не профессионально.
Понравился пост? Ещё больше интересного в ЯП-Телеграм и ЯП-Max!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 22 787
0 Пользователей:
Страницы: 1 ...  3 4 5  ОТВЕТИТЬ НОВАЯ ТЕМА

 
 

Активные темы



Наверх