W>компилятор это в значительной степени распознаватель паттернов. W>Распознать паттерн "перестановка переменных" раз плюнуть, далее компилятор свободен компилировать это концептуальное действие сколь угодно оптимально. W>От поддержки соответствия между переменными и действиями в абстрактной машине и реальной компилятор как правило освобожден.
Открою детям "страшный секрет" — компиляторы бывают разные. Задача "распознавать патерны" не является главной целью компилятора, а поэтому реализуется уже по усмотрению разработчиков компилятора.
W>короче, я давно заметил, что ты типичный румяный русский программист, от которого толку меньше, чем от индуса, а гонору на порядок больше.
Я тоже с тобой не знаком, Том. Но сомневаюсь мифологические герои Толкиена умеют писать код, хоть какой нибудь.
Здравствуйте, ManFeel, Вы писали:
MF>У вас есть код, которым вы гордитесь, чтобы показывать, когда работадатели просят его показать?
гордится кодом? ты пишешь для машины? ну она оценит
тут уже правильно написали, гордится надо решонной задачей, удачным алгоритмом который или а)
не существует(маловероятно) или б)быстрее работает существующего.
когда просят показать код на собеседовании то речь идёт совсем не о заумности или о решонной задаче
а о том посмотреть какого стиля ты придерживаешся, если вообще стиль есть, способен ли работать в коллективе,
понятность кода. именно естъ ли у тебя самоцель написать замудрённый код или ставишь целью а) выполнить эффективно
задачу и б)написать понятный не только тебе код
pik>тут уже правильно написали, гордится надо решонной задачей, удачным алгоритмом который или а) pik>не существует(маловероятно) или б)быстрее работает существующего.
одна из основных проблем -- сложность, большой уровень шума.
Поэтому просто решить гордости мало. Нужно чтобы результат был не излишне сложным, зашумленным
Здравствуйте, LuciferSaratov, Вы писали: LS>а, ну это понятно. LS>я по умолчанию пишу на С (как раз за такие неожиданности С++ и не любят).
логично, да обычно же, swap это отдельная ф-ия, в которую в C будут передаваться указатели, поэтому неожиданностей тут меньше не становится
Здравствуйте, ManFeel, Вы писали:
MF>Он обменивает значения 2ух переменных. Просто и лаконично. И есть, что показать. Помимо репозиториев на гитхаб и битбакет. Или я чего-то не понимаю?
Таким кодом может гордиться только автор языка. Гордиться тем, что он придумал соответствующий синтаксис, которым удобно пользоваться. Ты то тут причем, чтоб таким гордиться?
А относительно более реального кода, то повод для гордости может появляться тогда, когда ты напишешь библиотеки, с помощью которых сможешь весьма лаконично и понятно писать часто используемые вещи. Я вот, например, горжусь что у меня в коде очень мало переопределения equals и hashCode, там где надо такое делать, это делается автоматом. Горжусь тем, что написал кастомизацию под заказчика под заказчика на DSL, который понятен заказчику и который может править. Горжусь тем, что множество по существу разных продуктов у меня собирается из одних и тех же исходников, и в зависимости от профайлов при компиляции включается тот или иной функционал, через плагинную систему, а не кучей if как многие городят. Горжусь тем, что те, кому достается код после меня, очень быстро в него вникают, а также не рвутся выкинуть все и переписать с нуля. Горжусь тем, что в проектах практически нет копипаста. И если где будет бага, то она будет локализована в одном методе, а не размазана в 100 местах.
Хотя на деле не сказал бы что горжусь. Гордиться плохо, ведет в завышенной самооценке. Просто во многих случаях приятно осознавать, что за проект не стыдно.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Здравствуйте, bazis1, Вы писали:
KV>Что дрочить на порядки присвоения переменных, что на количество покупателей... один хрен — онанизм
Ну не знаю, может быть я криво выразился, но мне этот пост напомнил свое research-прошлое. С мозговыворачивающими вещами, а-ля скрестить язык описания железа с шаблонным механизмом а-ля C++, чтобы легко делать вещи, где, скажем, поменяв traits можно пересобрать процессор под слегка другой набор инструкций, не перелопачивая руками весь дизайн, и средства языка сами выкинут, скажем, лишние этапы конвейера...
Момент истины настал, когда год спустя после передачи кодов "в продакшн" я заметил, что забыл включить в пакет один важный файл, без которого там многое теряло смысл, и про него так никто и не спросил. При том, что проект был успешно принят и на бумаге внедрен. Я немного офигел, поспрашивал людей, пособирал статистику и пришел к выводу, что большинство решений нерешенных проблем заканчивают свой путь в мусорке, при этом "решатели" об этом не знают и знать не хотят, ибо им интересно копаться с проблемами, а не конечный результат видеть. А народ более ушлый пилит на этом гранты и бюджеты и ладони тихонько потирает за кулисами...
Ну и как-то после этого желание просто копаться в интересных вещах, игнорируя их роль в бизнес-картине отпало напрочь. А потом пришло понимание, что "копаться" в бизнес-составляющей гораздо интересней. Как-то так.
Здравствуйте, elmal, Вы писали:
E>Здравствуйте, ManFeel, Вы писали:
MF>>Он обменивает значения 2ух переменных. Просто и лаконично. И есть, что показать. Помимо репозиториев на гитхаб и битбакет. Или я чего-то не понимаю? E>Таким кодом может гордиться только автор языка. Гордиться тем, что он придумал соответствующий синтаксис, которым удобно пользоваться. Ты то тут причем, чтоб таким гордиться?
E>А относительно более реального кода, то повод для гордости может появляться тогда, когда ты напишешь библиотеки, с помощью которых сможешь весьма лаконично и понятно писать часто используемые вещи. Я вот, например, горжусь что у меня в коде очень мало переопределения equals и hashCode, там где надо такое делать, это делается автоматом. Горжусь тем, что написал кастомизацию под заказчика под заказчика на DSL, который понятен заказчику и который может править. Горжусь тем, что множество по существу разных продуктов у меня собирается из одних и тех же исходников, и в зависимости от профайлов при компиляции включается тот или иной функционал, через плагинную систему, а не кучей if как многие городят. Горжусь тем, что те, кому достается код после меня, очень быстро в него вникают, а также не рвутся выкинуть все и переписать с нуля. Горжусь тем, что в проектах практически нет копипаста. И если где будет бага, то она будет локализована в одном методе, а не размазана в 100 местах.
E>Хотя на деле не сказал бы что горжусь. Гордиться плохо, ведет в завышенной самооценке. Просто во многих случаях приятно осознавать, что за проект не стыдно.
Здравствуйте, bazis1, Вы писали:
KV>>Что дрочить на порядки присвоения переменных, что на количество покупателей... один хрен — онанизм B>Ну не знаю, может быть я криво выразился,
Да я вообще-то просто шутил
B>Ну и как-то после этого желание просто копаться в интересных вещах, игнорируя их роль в бизнес-картине отпало напрочь. А потом пришло понимание, что "копаться" в бизнес-составляющей гораздо интересней. Как-то так.
Разумеется, если ковыряться в решении никому не нужной задачи, все закончится весьма грустно, какой бы интересной она не была.