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

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (5) « Первая ... 2 3 [4] 5   К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
tangorn
27.04.2016 - 07:02
1
Статус: Offline


Весельчак

Регистрация: 20.03.13
Сообщений: 170
Цитата (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.04.2016 - 07:03
 
[^]
massol
27.04.2016 - 09:41
1
Статус: Offline


Скептик

Регистрация: 27.10.08
Сообщений: 414
а где объявление то?
 
[^]
bart182
27.04.2016 - 09:46
11
Статус: Offline


Шутник

Регистрация: 3.05.12
Сообщений: 54
Зачем объявление то убрали?
Продублирую его, а то вообще не ясно из-за чего шумиха.


Программисты на C — самый большой разделённый народ в мире?
 
[^]
Креолка20
27.04.2016 - 09:51
0
Статус: Offline


Юморист

Регистрация: 9.04.09
Сообщений: 417
Цитата (HOMEP16 @ 26.04.2016 - 22:19)
Цитата (KKA @ 26.04.2016 - 19:14)
Да, конечно, надо признавать. Будем все сявы по национальности, затребуем землю, на которой великий разобщённый народ смог бы воссоединиться. И ещё у нас будут резервации для шарперов.

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

Убил! lol.gif
 
[^]
volderamo
27.04.2016 - 10:02
2
Статус: Offline


Хохмач

Регистрация: 28.08.14
Сообщений: 713
Похоже, пенисоватенько учат последнее время народ на програмистских специальностях. Моему сыну на первом курсе ПММ ВГУ прям так сразу запретили "goto", а на вопрос почему? - ответ был: это не уровень нашего ВУЗа. То есть преподы и сами не знают почему, а передают из поколения в поколение древний запрет как гусляры песню.
А дело тут в кэшировании и предсказуемости кода. Разработчики архитектуры процов потратили колоссальные усилия, чтобы программа работала быстро и в нужный момент в быстрой памяти были и код и данные. Один оператор goto на дальнюю метку всю эту гармонию может разрушить, и все подгруженные в кэш данные могут оказаться ненужными, и придётся подгружать новые куски программы и данных и тратить на это время. А если и там окажется куча беспорядочных goto, то кэширование уже не только не даст преимущества, но напротив, лишние затраты.
Кто пишет на ассемблере, решает этот вопрос вручную, сам, да и переходы в ассембелере, как правило, недалеко.
 
[^]
kaleru
27.04.2016 - 10:13
1
Статус: Offline


Весельчак

Регистрация: 21.07.13
Сообщений: 140
Цитата (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.04.2016 - 10:19
0
Статус: Offline


Поехавший в ад

Регистрация: 7.01.13
Сообщений: 1095
Сказать им что C++ произошел от 1С или не надо...
 
[^]
kuroryu
27.04.2016 - 10:23
0
Статус: Offline


Дракотенок

Регистрация: 5.11.14
Сообщений: 2350
Хы. А использовали бы 1с язык - никто бы не доколебался. :)))))))))

ЗЫЖ Кириллические языки программирования - зло. Но зато по закону. :)
 
[^]
OTMOPO3OK
27.04.2016 - 10:26
-2
Статус: Offline


Ветеран Япа

Регистрация: 11.10.04
Сообщений: 20975
Дома в туалете лежит :)

Программисты на C — самый большой разделённый народ в мире?
 
[^]
vodemarrr
27.04.2016 - 10:30
2
Статус: Offline


Ярила

Регистрация: 29.07.14
Сообщений: 2176
Цитата (volderamo @ 27.04.2016 - 10:02)
Моему сыну на первом курсе ПММ ВГУ прям так сразу запретили "goto", а на вопрос почему? - ответ был: это не уровень нашего ВУЗа. То есть преподы и сами не знают почему, а передают из поколения в поколение древний запрет как гусляры песню.

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

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

Это сообщение отредактировал vodemarrr - 27.04.2016 - 10:30
 
[^]
ВикторТрошка
27.04.2016 - 10:34
1
Статус: Offline


Ярила

Регистрация: 17.05.11
Сообщений: 1709
Куда на референдум приходить?
 
[^]
alexsey777
27.04.2016 - 10:36
0
Статус: Offline


Ярила

Регистрация: 30.10.15
Сообщений: 2602
Бред! Причем здесь язык программирования C? Надпись-то на английском! Если ФАС это рекламой посчитал, пусть переведут на русский.
А сорри, увидел объявление. Короче "умом Россию не понять..."

Это сообщение отредактировал alexsey777 - 27.04.2016 - 10:38
 
[^]
пусто
27.04.2016 - 10:36
0
Статус: Offline


Ярила

Регистрация: 23.05.13
Сообщений: 1773
Очень сомневаюсь, что до строчек кода доебались. Наверняка причиной наезда фраза "god's programming language". А эта фраза вполне себе на английском языке, который таки иностранный.
 
[^]
ispcto
27.04.2016 - 10:36
1
Статус: Offline


Ярила

Регистрация: 26.04.15
Сообщений: 4858
Эт еще Нуралиев (вот эти вот ваши православные 1s) к Гундяеву не подкатывал, а то бы давно анафема была за латиницу в коде.
 
[^]
cepin
27.04.2016 - 10:36
3
Статус: Offline


Шутник

Регистрация: 14.03.12
Сообщений: 29
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

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

применени любой конструкции языка должно обуславливаться задачей. и если использовать только нисходящие переходы по goto как аналог try-catch, то это благо. кстати, Макконнелла почитайте, не лишнее будет
 
[^]
lnx
27.04.2016 - 10:41
1
Статус: Offline


православный атеист

Регистрация: 24.05.11
Сообщений: 1222
Цитата (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.04.2016 - 10:50
 
[^]
Zhuck01
27.04.2016 - 10:43
1
Статус: Offline


Весельчак-чак-чак

Регистрация: 11.02.12
Сообщений: 345
Цитата (volderamo @ 27.04.2016 - 13:02)
А дело тут в кэшировании и предсказуемости кода. Разработчики архитектуры процов потратили колоссальные усилия, чтобы программа работала быстро и в нужный момент в быстрой памяти были и код и данные. Один оператор goto на дальнюю метку всю эту гармонию может разрушить, и все подгруженные в кэш данные могут оказаться ненужными, и придётся подгружать новые куски программы и данных и тратить на это время. А если и там окажется куча беспорядочных goto, то кэширование уже не только не даст преимущества, но напротив, лишние затраты.
Кто пишет на ассемблере, решает этот вопрос вручную, сам, да и переходы в ассембелере, как правило, недалеко.

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

А вот за try-catch где ни попадя, вот за это точно бить надо.
 
[^]
lnx
27.04.2016 - 10:43
0
Статус: Offline


православный атеист

Регистрация: 24.05.11
Сообщений: 1222
Цитата (OTMOPO3OK @ 27.04.2016 - 13:26)
Дома в туалете лежит :)

изувер! что ты делашь! вот реально ОТМОРОЗОК gigi.gif
 
[^]
lnx
27.04.2016 - 10:47
0
Статус: Offline


православный атеист

Регистрация: 24.05.11
Сообщений: 1222
Цитата (АнтиДаун @ 27.04.2016 - 08:19)
Цитата (lnx @ 26.04.2016 - 22:36)
так плавно мы перешли от основной темы к холиварам про goto

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

хорошая попытка, но нет)
 
[^]
ТоптуновПотапов
27.04.2016 - 10:54
1
Статус: Offline


Ярила

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

В таком случае латынь тоже не разговорный, так что ниразу не иностранный.
 
[^]
Andreyand
27.04.2016 - 10:57
0
Статус: Offline


Юморист

Регистрация: 7.12.15
Сообщений: 567
Цитата (SevenMag @ 26.04.2016 - 19:11)
использование команды goto на C (или точнее на С++) является не очень хорошим тоном. Лет так 19-20 бывает пишу на нем, не помню когда его использовал.

Да. За безусловные переходы нас, в своё время, пороли. dont.gif
 
[^]
vaisman
27.04.2016 - 10:58
0
Статус: Offline


Ярила

Регистрация: 10.03.14
Сообщений: 29286
А мне вот интересно, как мы, как представители этой (не)алой народности будем называться? Систы и Сиськи? И кем по отношению к программерам на С++ являются программисты на С?

Это сообщение отредактировал vaisman - 27.04.2016 - 11:01
 
[^]
Alexlab
27.04.2016 - 11:26
0
Статус: Offline


Ярила

Регистрация: 28.04.14
Сообщений: 1820
Судью и фасовцев лишить ЗП на месяц. Ибо нехуй херней страдать за наши деньги.
 
[^]
VideoCrak
27.04.2016 - 11:31
1
Статус: Offline


Ярила

Регистрация: 19.03.10
Сообщений: 1887
Цитата (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.04.2016 - 11:35
0
Статус: Offline


Ярила

Регистрация: 6.05.14
Сообщений: 1530
Цитата (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. А вот предлагать выход пл исключению,так это мягко говоря не профессионально.
 
[^]
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 22662
0 Пользователей:
Страницы: (5) « Первая ... 2 3 [4] 5  [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



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






Наверх