А при чём тут руби? Тот же пых написанный без магии работает прилично быстрей. Просто не всем это существенно.
Без всего этого добра вполне обойтись можно, вызывая их в явном виде, как это принято в Java. Да, не так удобно, не руби-стайл, но жить можно. Тем более, что в подобных случаях народ вообще лезет в написание модулей на си и вспоминает о спичках.
У Вас достаточно альтернативный подход к понятию «чистоты». Ну вот есть код, смотря на который, я прекрасно понимаю, что он делает, он прост как дважды два. Но в продакшн я его не пущу, поскольку SQL запросы выполняемые из шаблона с потенциальной уязвимостью к инъекциям — это не то, что я называю чистым кодом )
Но для прототипирования — никаких нареканий — нормальный код и даже более приемлемый, чем разнесение его на несколько файлов по две три строки. Хотя в целом, разумеется, всё зависит от целей и конкретного случая.
Эх, старый разговор )
Но я, собственно, к чему про хелловорлды? У меня подобных тестов для стандартных библиотек и самого языка прилично. Как оказалось не зря — поведение меняется, да и сам бывает забываешь тонкости, можно тест посмотреть.
А в остальном да — чего уж спорить — в очердной раз сталкиваюсь с этим и грустно становится…
Ммм, возможно я всё-таки контекст не понимаю или не знаю. Но от вышеприведённой максимы веет фатализмом, с которым не готов смириться мой непокорный дух )) Как человек начавший изучение программирования с «Бейсика для детей», упивавшегося чтением справочника по десятку диалектов этого бейсика, выискивавший книги по программированию в местной библиотеке и ненароком ознакомившийся с такими языками как фортран, фокал и после этого (спустя пару лет) впервые дорвавшийся до живого Спектрума и открывший для себя волшебный мир ассемблера… А потом да, было ещё немало интересных языков, но собственно, о чём я — конечно, бывает, что слёту не решишь сложную задачу самым оптимальным способом, но фатализм бейсика? Не верю. Я программирую на русском языке, а потом — уже перевожу в язык понятный машине. Хотя, возможно, я просто чего-то не замечаю и не с чем сравнить? :-)
В принципе, я так понимаю, мы почти из одного поколения и наш путь складывался похожим образом. В каждой шутке, есть доля истины и с этим наверно спорить не стоит, но не хочется абсолютизировать выводы )
Если появятся средства для взлома — они же и средства для шифрования — просто начнётся очередной виток. Трудно обвинять в этом одно из прикладных применений, оно лишь вскрывает имеющуюся проблему и делает её явной. Конечно, мы все заинтересованы, чтобы эти «витки» начинались как можно позже, но тут дело такое, что если мы отстаём от технологи, то кто-то может и поспешить обогнав нас, поэтому здесь лучше смириться, чем закрывать глаза.
Игра на курсах — это отдельная тема. И надо сказать, там тоже не всё так однозначно. Но тут я не буду делать далекоидущих выводов — есть разбирающиеся в вопросе много лучше меня )
Страх разнообразия, в общем-то, тоже слепой. В наличии есть и социальное разнообразие — в определённых условиях люди стремятся быть непохожими, выделиться, определённые группы стремятся приобщиться к чему-то новому, в то время как большая часть ждёт, пока новое станет стабильным «старым». Эволюция идей и знаний не менее сложна, чем эволюция генов, а в наших руках поднять её на качественно новый уровень, чем человечество и занимается :)
Человеческий мозг — машинка куда более сложная, чем компьютер, но аналогию можно подобрать вполне адекватную. Если просто так грузить проц всякой фигнёй, то потом придётся плеваться на «проклятые тормоза». Однако мозг — это не просто «процессор», он, помимо прочего имеет свойство периодически ошибаться и уставать. Поэтому не стоит нагружать его лишней работой по анализу подразумеваемых смыслов и неожиданных ходов сюжета — это контрпродуктивно.
if($something)
DoSomething();
DoFinally();
Подобный код стереотипно подразумевает, что после if действие продолжит выполняться. Прекращение выполнения — подразумевает ошибку.
Разумеется, если мы пишем никому не нужный «hello, world» на три строчки, то нам в целом это всё пофиг, всё перед глазами и очевидно. Но в серьёзном практическом применении код имеет свойство со временем «разбегаться» на десятки строк, между которыми ещё и комментарии по разным поводам; то, что было — со временем забывается, в команде меняются люди, и всё становится уже очень не очевидным. return вполне может оказаться за пределами экрана, условие вполне может оказаться нетривиальным, чтобы с лёту вычислить пойдёт управление дальше или нет и может потребовать обращение к другим источникам. Всё это время и усталость.
К этому добавим скобки. Ситуация, когда с нужными оступами ставятся дополнительные выражения, но забываются поставиться скобки — стоила мне немало нервов, времени, а в паре случаев дело подходило и к прямым денежным убыткам. Поэтому скобки — это святое.
«Аврал… как много в этом слове...»
Позиция «мне сейчас всё понятно» выдаёт крайне эгоистичное отношение, неприемлемое при работе в команде, человека, не привыкшего планировать даже на шаг вперёд, не привыкшего нести ответственность, в том числе материальную, за свои поступки и решения.
Да, все мы были детьми и новичками, в чём-то мы оказываемся новичками или дилетантами каждый день — жизнь широка и сложна. Но не стоит отстаивать дилетантскую позицию из любви к самомнению. Признак мудрого человека — готовность учиться в любой ситуации и в любой момент времени и на своих ошибках, и на чужих.
Без всего этого добра вполне обойтись можно, вызывая их в явном виде, как это принято в Java. Да, не так удобно, не руби-стайл, но жить можно. Тем более, что в подобных случаях народ вообще лезет в написание модулей на си и вспоминает о спичках.
Я так полагаю «магию» вырезали — для такого проекта это более чем оправдано.
На очереди надёжная быстрая распределённая база — ждём-с. А то фейсбук на свою совсем забил. :-)
Но для прототипирования — никаких нареканий — нормальный код и даже более приемлемый, чем разнесение его на несколько файлов по две три строки. Хотя в целом, разумеется, всё зависит от целей и конкретного случая.
Но я, собственно, к чему про хелловорлды? У меня подобных тестов для стандартных библиотек и самого языка прилично. Как оказалось не зря — поведение меняется, да и сам бывает забываешь тонкости, можно тест посмотреть.
А в остальном да — чего уж спорить — в очердной раз сталкиваюсь с этим и грустно становится…
В принципе, я так понимаю, мы почти из одного поколения и наш путь складывался похожим образом. В каждой шутке, есть доля истины и с этим наверно спорить не стоит, но не хочется абсолютизировать выводы )
Человеческий мозг — машинка куда более сложная, чем компьютер, но аналогию можно подобрать вполне адекватную. Если просто так грузить проц всякой фигнёй, то потом придётся плеваться на «проклятые тормоза». Однако мозг — это не просто «процессор», он, помимо прочего имеет свойство периодически ошибаться и уставать. Поэтому не стоит нагружать его лишней работой по анализу подразумеваемых смыслов и неожиданных ходов сюжета — это контрпродуктивно.
Подобный код стереотипно подразумевает, что после if действие продолжит выполняться. Прекращение выполнения — подразумевает ошибку.
Разумеется, если мы пишем никому не нужный «hello, world» на три строчки, то нам в целом это всё пофиг, всё перед глазами и очевидно. Но в серьёзном практическом применении код имеет свойство со временем «разбегаться» на десятки строк, между которыми ещё и комментарии по разным поводам; то, что было — со временем забывается, в команде меняются люди, и всё становится уже очень не очевидным. return вполне может оказаться за пределами экрана, условие вполне может оказаться нетривиальным, чтобы с лёту вычислить пойдёт управление дальше или нет и может потребовать обращение к другим источникам. Всё это время и усталость.
К этому добавим скобки. Ситуация, когда с нужными оступами ставятся дополнительные выражения, но забываются поставиться скобки — стоила мне немало нервов, времени, а в паре случаев дело подходило и к прямым денежным убыткам. Поэтому скобки — это святое.
«Аврал… как много в этом слове...»
Позиция «мне сейчас всё понятно» выдаёт крайне эгоистичное отношение, неприемлемое при работе в команде, человека, не привыкшего планировать даже на шаг вперёд, не привыкшего нести ответственность, в том числе материальную, за свои поступки и решения.
Да, все мы были детьми и новичками, в чём-то мы оказываемся новичками или дилетантами каждый день — жизнь широка и сложна. Но не стоит отстаивать дилетантскую позицию из любви к самомнению. Признак мудрого человека — готовность учиться в любой ситуации и в любой момент времени и на своих ошибках, и на чужих.
Ээээ, не одобряю с оглядкой на Линуса ))
«Не то, что входит в уста, оскверняет человека, а то, что из них исходит» ©
А вот человек застрявший на бейсике — это страшно, примеры в наличии )