> Часто это не такие человечные интересы, как пытается создать видимость, к примеру, корпорация добра. <
Да, далеко не человечные. И коммерция тут даже непричём, она просто средство (не особо я верю, что требование западных трёхбуквенных организаций к гуглю собирать со всех и вся телефонные номера (без тлф пойди зарегистрируйся у них...) как-то сильно положительно влияет на их коммерцию; в инете можно найти немало отзывов, которые гласят, что завязывают пользовать гуглями из-за требования тлф). Я бы сказал, что их нечеловеческие интересы уже куда ближе просто к сатанизму (а что оно уже весьма публично см, к примеру, происходящее в Швейцарии, открытие Готардского тоннеля летом 16-го https://www.youtube.com/watch?v=2cdj2R0hHMI ). И одним ИТ это не исправить.
> Я знаком с творчеством Петрова и его детищем КОБ. <
А, отлично (только это не его детище, он её как мог продвигал).
Попробуйте Зазнобина или Величко. Почувствуете разницу.
> например, все должны все знать и постоянно образовываться, чтобы понимать что вокруг происходит <
Да, это уже объективное требование по факту ко всем живущим, невзирая на любые учения.
> его последователи свалились в теорию заговоров и зациклились на язычестве <
Ну, люди то не меняются мгновенно, за считанные годы.
Да и суть не в последователях (шизу каждого на себя примерять — жизни не хватит) — а в первоисточниках.
А насчёт язычества — так первый же язычник — сама Надмирная Реальность (Бог, Создатель и Вседержитель). Она говорит со всеми и каждым на ЯЗЫКЕ жизненных обстоятельств (вот Вы описали свои обстоятельства, в какой-то мере передали часть (всю жизнь не перескажешь) этого Вашего личного и уникального языка читателям).
> а если процесс пустить на самотек <
Чтобы что-то пустить на самотёк — это нужно сначала взять этот самотёк. Но не в коня корм.
Несмотря на то, что в 1995 году на открытых парламентских слушаниях КОБ была рассмотрена и рекомендована к изучению и внедрению Думе всех созывов, президенту, правительству и всем прочим ведомствам — государственный воз и ныне там. Экономика — чисто либерастическая. Вместо планового роста достатка трудового населения, всё так же плановый геноцид. Ростовщичеством высасываются соки из реального сектора, а всё это покрывают ВШЭвые темнилы экономики.
Чтобы управлять чем-то, нужно это что-то знать и понимать. А суть концептуальной власти пока, мягко говоря, не сильно понимают «в верхах» в их массе. Так что, всё уже идёт давно, самотёком, и без их спроса.
> скатиться вообще до сепаратистских размышлений. <
Да… я бы вот с удовольствием чикнул бы Землю где-нить между Тихим и Атлантическим океанами от Аляски до Перу — и пусть бы себе летели куда-нить на Альфа Центавру. Житья от них на Земле нет.
Но, к счастью, мы все связаны, и подобные действия погубили бы жизнь вообще на всей планете.
Остаётся — наводить порядок глобально. Спрятаться где-нить в лесу или за какими-то административными границами не получится.
> Мне сейчас больше интересен Юрий Бялый… Расскажет про все — и про нефть, и про банки, и про айти сектор. <
Глянул его пару роликов по диагонали (один про Кудрина, второй про нефть). Ну что ж, про нефть и санкции счас не говорит только ленивый. В начале, где про нефть, он вплотную подошёл таки к вопросу о метрологии в экономике (т.е. что как и чем мерять и как отличать нечто одно от другого; тот же рубль или доллар что такое), точнее её отсутствии с 70-гг. Но дальше как-то не пошёл. Свернул на нефть и т.д.
Куда можно было бы пойти дальше? В науку экономика, которой, к слову, нет вообще пока что. Почему нет? — потому что «наука начинается там, где начинают ИЗМЕРЯТЬ». Но если в экономике всё меряют чем-то, чему не дано определение (рубли, доллары — что это? что такое 1 рубль? Где определение?) — то все дальнейшие рассуждения на околоэкономические темы (включая нефть в сколь угодно глобальных масштабах) — это попытка разобраться лишь чей шаманский бубен круче: лондонский или ньюйоркский (мож ещё чей).
Но какая от этого всего польза нам, простым россиянам? — тяжёлый вопрос…
Пока к экономике не применяются те же требования, что и к точным наукам (типа сопромата), то все подобные нефтяные обзоры будут сродни повествованиям: «да вот залили вчера бетон в фундамент, а на утро Академия Наук объявила новые показатели твёрдости цемента — оказалось, что 9-этажный дом на цементе уже не устоит… надо делать 5-этажку..., хотя когда считали проект — с запасом на 14 этажей выходило! Да… курс твёрдости цемента нынче уже не тот… Хорошо, что хоть на дерево начали переходить, ато ж цемент и в уже построенных домах начинает крошится после нового курса физики в Академии...».
Глубоко «полезные» сказки для взрослых.
А так да, милый такой расказчик. Хотя оно много таких либеральных вещателей, кончая самым авторитетным Хазиным.
Прочитал на одном дыхании.
Всё просто, жизненно и без прикрас.
Но финал таки реально удручает (натроение в начале чтения было на позитиве, под конец — ну вот не плакать конечно, но безисходность налицо).
Проблемы, которые Вы описали, конечно же имеют системный уровень (т.е. не просто из-за того, что отдельный регион «лицом не вышел»). И экономическое бедствие (один кризис сменяет другой на фоне постоянно растущих цен), коричневая чума юридизма (объём формальных требований принципиально больше, чем возможно изучить), и, в конечном итоге, просто вбивание потенциала развития человека в ноль.
Что ж, должен Вас «поздравить», Вы выявили системные признаки культуры нашей текущей цивилизации на планете. И пусть в «Силиконовой долине» разрабы и живут в потребительском раю с интересными задачами (если не смотреть с социального уровня). Но Вы меня крепко порадовали в том месте, где обеспокоились своей «кармой» при работе на антисоциальные структуры с азартными играми. Ибо весь смысл западного направления развития ИТ — это… кстати, как Вы сами думаете?
Вобщем, все эти проблемы имеют решение (но, как Вы понимаете, вне рамок западной культуры), и решения расписаны у нас, в России. И всё открыто, лежит в инете. Гуглить «Концепция общественной безопасности».
В её основе лежит теория управления, которая подходит для всех отраслей деятельности людей (Достаточно Общая Теория Управляние), и на её основе уже расписаны все прочие прикладные отрасли (включая экономику, науку, госуправление и т.д.).
С кучей больших и малых проблемам проще бороться, если знать откуда у них ноги растут. И тогда просто занулив их источник (>/dev/null) — можно наблюдать, как сами они сходят на нет.
И какой тогда будет жизнь?
Плюсую как могу.
+к важности темы:
есть люди, которые сами принципиально не желают пользоваться гуглями (и их плеями).
Всегда угнетало, когда на домашней страничке какой-нить полезной софтины было «приложение доступно через гуглеплей» @$%#$^$&%&*&%^& — они что, не могли просто .apk-шку выложить тут же?
Вот зачем мне, как пользователю, рассказывать сторонней конторе (_название_корпорации_), что я пользуюсь такой-то софтиной?
Есть производитель, есть пользователь. Зачем им посредники?
Так что, в этом плане Ваш проект на гитхабе очень порадовал: откуда скачать ПРОСТО ПРОГРАММУ (.apk) — предложен широкий выбор!
может, любви к детям? (да, студенты после школы — это ещё дети; да в 20 лет тоже; и да, я серьёзно).
Любовь — главное профессиональное качество учителя.
Без любви преподаватель — просто насильник. А люди, вобщем-то, чуствуют, когда над ними устраивают насилие (пусть сколь угодно изящно упакованное в якобы социализацию и прочую необходимость).
И как же Вы предлагаете их называть, если их самоопределение Вас не устраивает?
Да, нормально. Всё-таки они отслеживают баги.
Вы лично используете selenium для TDD?
Нет. У меня просто не та область.
Оказалось, что качество кода зависит от уровня программиста, а не от применяемых им методик.
Ну высококлассный специалист делает и работу высококлассно. Кэр тут не обманывает.
Только вот кто такой высококлассный специалист, если не тот, кто владеет и пременяет качественные методики? (при прочих равных IQ и прочих сугубо личных качествах)
но границы применимости TDD Вы по-прежнему не хотите формулировать
Да вроде уже сформулировал: если возможно автоматически проверить результаты работы кода — там применим ТДД.
Цель Вы хоть частично можете выразить в виде интеграционного теста, но никак не в виде юнит-теста.
Почему же.
Нужна ф-ция, которая что-то делает. К ней выдвигается ряд формальных требований, которые возможно записать на ЯП. Эти требования — и являются целями (впрочем, это уже термин из теории управления, что, видимо, Вас и вводит в заблуждение). А код самой функции, который удовлетворит всем требованиям — и будет концепцией (тоже термин не из ТДД, а из теории управления) достижения потавленных целей.
Вобщем, я неправ, что смешал термины разных теорий, чем… ну Вы поняли.
Занятно, конечно.
И иерархия стандартных классов да, увесистая и куда более подробная, чем у прочего множества ЯП.
SmallTalk/Pharo — по сути такой себе конструктор языков.
Однако, на практике не так много тех, кто захотел бы унаследовать от Magnitude и создать конкурента Integer'у (и Boolean то!).
Оттого, множество ЯП (созданных позже SmallTalk'а) начинает иерархию классов с уже «готовых» «привычных» типов данных. Их оказалось достаточно для абсолютно подавляющего числа задач.
Конечно же, не всем быть программистами (хотя я считаю, что программить должны уметь уже все в наше время), и школа таки общего профиля.
Конечно, должен даваться наилучший фундамент, который есть у взрослых в каждый момент времени.
И если всё будет сделано правильно — то так и будет, как Вы сказали: что нужные знания для работы будут осваиваться самостоятельно в реальном времени.
Спасибо за науку общения с представителями образовательного цеха. Хотя мне тут ещё учиться и учиться…
Всё верно.
Но, похоже, я не изложил многого в надежде…
Приходится расписывать счас.
У программы есть множество всякого функционала, который разбивается на мелкие цели и реализуется поочерёдно. Каждая отдельная цель записывается в форме теста. Он сначала не работает. Потом пишется код, достаточный для работы теста (концепция достижения этой цели). Рефакторинг — и к следующей цели.
А вообще забавно как Вы завелись…
Не люблю, когда мои слова понимают превратно, особенно диаметрально противоположно.
Это верный признак, что Вы её не понимаете, но верите в неё
Из пункта А в пункт Б, поэтому у Маши на 4 яблока больше.
Нет ничего универсального и идеально подходящего для любых задач.
Есть. См. полную функцию управления (ПФУ) в ДОТУ.
И TDD тут, само собой, не исключение.
TDD подняло планку индустрии до более автоматизированного следования ПФУ. Но сами авторы TDD об этом пока ещё даже не догадываются. Всё встаёт на свои места если знать и то, и другое.
Вспомните, чем научный подход отличается от религиозного…
Кроме того, что Вы путаете религию (religio — на латыни: связь; с кем? — в Богом) и вероучение (набор писаных людьми алгоритмов мышления/поведения), так ещё и противопоставляете науку вероучению, хотя были времена, когда они весьма мирно сосуществовали и богословы занимались наукой.
откройте для себя Airbrake и аналогичные сервисы.
Такого добра уже хватает. Но приравнивать багтрекеры к ним — это не очень.
Safari, хочу посмотреть как Вы это при помощи TDD решаете
Смотрите.
Если есть код — значит его возможно тестировать.
Для веба есть selenium и Ко.
Пару пруфов не затруднит предоставить?
Я не говорил, что TDD это гарантирует. Это именно идеал разработки, чтоб тестеры ничего не находили. И TDD этому крепко способствует. Или Вы считаете иначе? И код допустимо писать с глюками?
человек сам без труда освоит то, появление чего он давно ожидал
Не думаю, что можно считать, что большинство тех, кому приходится работать с какой-то технологией, ожидали её появления. Даже наоборот: не ждали и не хотели, но пришлось (см. луддисты), т.к. кто-то другой работал над этим, искал, нашёл и получил денег, а людям теперь всё бросать и начинать это всё осваивать просто для того, чтобы остаться на работе.
Освоение — большой труд, потому как это непременно нужно делать самому, никакими деньгами тут не откупиться, только упорной работой по смене стереотипов (а это — самая сложная работа на Земле).
Экспериментальная проверка и практика какой-то промышленной деятельности — это совершенно разные вещи.
А что, лаборатории находятся в одной Вселенной, а промышленные цехи в другой??? с другими законами мироздания? :)))))))
И после этого я демагогию развожу???
Промышленность просто использует те истины, которые были найдены в лабораторных условиях. И то, только потому, что и цех, и лаборатория — в одной Вселенной.
если я программирую на X и много вакансий на Х, то X — это самая идеальная технология
Такого я не говорил.
Эта популярная технология идеальна для заработка денег (почувствуйте разницу).
Другое дело, что абстрактные бегемоты в плазме, супер ровные и стройные, но не приносящие должной нормо-прибыли, остаются пылиться на академических полках.
И тут либо заговор большого бизнеса (есть история, когда громадная нефтяная западная компания прикупила за сотню лямов технологию, в разы улучшающую качества нефте-продуктов, но за 15 лет её так и не применила), что он упорото не желает ещё больше прибылей, либо таки применение этих идеальных бегемотов на практике (да, снова она!), включая учёбу и прочее, оказывается менее выгодным.
Что тут поделать? — у банков, рулящих экономикой, свои цели. (но о рулящей роли банков, в таком случае можно было бы предупредить студентов?)
А вообще идеальные технологии ещё только предстоит изобрести. Потому как с тем, что есть на Земле — у нас Тихий океан стал уже пластиковым супом (причём, за каких-то полвека).
Вот! Теперь Вы гораздо больше похожи на маркетолога типичных курсов.
А на студента не похож? Который с радостью и рвением готов на пару лет дольше изучать и сдавать то, без чего и так можно найти работу.
Или на его родителей? Которым предстоит на пару лет дольше кормить своего студента и ждать когда ж он выйдет на свои хлеба.
Это жизнь такая. Да, представляете?
Ну так, напоминаю, на случай если Вам из высоких кабинетов не видно этого.
текущим ВУЗам в программе как раз не хватает «мостика» между концепциями и их практическим применением
Ну что ж, спасибо за откровенное признание.
Так и есть: учат одному (причём, высокомерно, с моноклем в глазу), а на практике будет нужно другое.
Смещение цели (Вы это ниже описали). Цель разработки — код проекта, а цель TDD — тесты.
Мда… прочитать одно, и смешать всё в совершенно неудобоваримую кашу…
Проскочили слова «TDD», «цель» и «тест» в одном предложении — и, невзирая на их последовательность и роль в предложении, делается вывод, что у TDD целью являются тесты… (лицорука...)
Ладно, вижу, у Вас сложности с пониманием сути TDD. Новая методология разработки. Ну понятно, свои 7 лет Вы уже отучились и вроде студенты не жалуются (им чтоб жаловаться именно знаний то и не хватает) — зачем ещё время тратить и мозг перестраивать? если и так всё в шоколаде…
Но это дело хозяйское, чего учить, а чего нет.
С какой стати Вы отождествляете покрытие тестами и надёжность кода?
Потому как если есть контроль за каждым элементом — то качество лучше, чем если такого контроля нет. Тогда, конечно, начинается тяжёлая работа тестировщиков и проклацивание всех вариантов работы программы вручную.
О том, какая часть кода глючит Вам сообщит багтрекинг, а не тесты.
={ }
Даже комментировать такое больно…
Багтрекер ведь пополняется людьми (тестировщиками (а им ещё и ЗП надо платить) и бета-тестерами (пользователями)) в таком случае. Т.е. ошибки программистов выходят из-под их пера и ложатся бременем на других.
TDD позволяет писать код так, чтоб отдел QA находил 0 (НОЛЬ) ошибок. И его и нужно писать именно так. Что без TDD (или его подмножества TLD) — невозможно.
Не думаю, что люди жаждат прогнозов такого уровня )))
Ну, конечно же люди любят положительные прогнозы (т.е «ничё делать не надо, всё будет хорошо») и редко когда на негативные прогнозы реагируют адекватно (в частности, не любят тех, кто давал им такой прогноз-предупреждение со стороны, особенно, когда он, увы, сбывается...)
Наоборот, они хотят точных прогнозов там, где нет чётких закономерностей.
Только вот они есть везде (просто имеют вероятностный характер).
Хотя да, далеко не везде и известны (в частности, что закономерности — вещественно-вероятны, а не булево-бинарные), и приемлемы людям. Потому и хотят чёткости даже там, где всё ещё есть некая неопределённость.
Но это уже проблемы людей…
Но идеализировать её я бы не стал, проблем она тоже привносит немало
Интересно, какие бы Вы назвали, хоть пару.
особенно когда применяется формально, что тоже не редкость.
Если формализм настолько формален, что привёл к какому-то другому методу — то обсуждать уже нужно его, а не TDD.
В прочих случаях, если соблюдается цикл тест-код-рефакторинг — то это TDD и качество такой разработки на голову выше любых прочих (при прочих равных, есьно).
Вы верны себе в манере передёргивать.
Ничуть. Что не контролируется — то неизвестно существует или нет, и в каком оно состоянии. А если неизвестно работает ли код как надо, то вполне закономерно вести речь о глюках (включая безбожные :)
А как иначе проверить работает ли код как надо, кроме как проверить его? — я других путей не знаю. И если это проверка умозрительно во время чтения кода — хорошо, это тоже проверка, хоть такая. Ну и выполнение на компе — понятно.
А дальше встаёт вопрос производительности труда программиста: есть ли возможность в любой момент в течении секунд-минут получить тот единственный достоверный бит «работает ли код так, как надо?»
Если «нет» — на нет и кода нет :)
А вот «есть» — вот этот вариант возможен только при TDD. Если тестов нет или тесты когда-то будут написаны потом (читай «никогда») — то за секунды-минуты вот прям здесь и сейчас невозможно получить этот бит.
Во-первых, есть принцип Парето, который в реальной разработке просто замечательно применяется
Ну я понял. 20% кода работает, а остальные 80% — глючат (Божно или нет — уже функция от верований программиста :)
Во-вторых, отсутствие тестов не означает автоматическое наличие глюков.
Даже присутствие не означает отсутствие.
Но проверить ни то, ни другое за секунды-минуты — некак.
ни документации
Перед программером новая либа, её нужно заюзать.
Есть простыня документации и дира tests с реальными и работающими примерами кода. Куда он заглянет, когда понадобится уже вот прям брать и писать код?
Вот и вся цена громким словам о документации…
как-будто тесты это не код и как-будто в них самих не бывает багов )))
Бывает. Но их есть кому проверить — самому коду.
100% покрытие
Это не значит, что разработка по TDD. Вообще.
100% покрытие может нанести самый внушительный удар по проекту
соответственно, и это не аргумент в минус TDD, а в минус методу «смотреть качество кода по % покрытия».
если тесты проходят — то всё гарантировано работает как надо
На своём уровне — как раз значит. И как было надо — программеры записали однозначно, кодом. Это может не совпадать с приёмочными тестами (т.е. логическая ошибка программеров), но это всплывёт на соотв. этапе.
По факту, так бывает только в книжках и в волшебных мирах, где единороги бегают по радугам.
«Изучать всякое там, чтоб писать хороший код — это всё в волшебных мирах, где пони круглые и кони в эфире».
Вопрос то в другом: улучшает ли TDD качество кода или нет? А не «делает ли его идеальным?»
А раз улучшает — значит его использование оправдано.
TLD… Подход совершенно иной.
В процессе управления цель ставится всегда перед её достижением. Цель — это тест (в терминах TDD). Концепция достижения цели — это код для удовлетворения теста.
Если пишется хоть какой-то код — значит цель уже была поставлена (пусть и только в голове программера).
И чуть менее важно когда тест будет записан в синтаксисе ЯП. Не такое значимое падение качества кода TLD в сравнении с TDD имеет место лишь потому, что даже такой пост-тест всё равно будет запущен, пусть и в следующую итерацию код-тест-рефакторинг.
Ну, выражать в процентах рост актуальных знаний не буду. Но отмечу: в конце 90-хх я откуда-то притащил древний, в меру ржавый арефмометр, и он даже работал. Но использовать его в промышленном счёте, когда простой калькулятор умел на порядок больше (не говоря уже о компах), смысла не было. Хотя ещё лет 20 до того времени, арифмометр был очень даже почему же замена счётам.
Так вот такого, чтоб за 50 лет произошло несколько замен социально важных технологий, не было никогда до этого.
Ну а видеть это или нет — дело хозяйское.
В-первом случае даже учить не придётся
«Всё ваше новое состоит из всё той же старой таблицы Менделеева! Ничего учить не надо! Пойду я и дальше предлагать бухгалтерский учёт с арефмометром» — долго ль сможет ходить?
во-втором человек скорее всего будет отвергать новые технологии насколько хватит упорства.
Да, можно часто менять работу в поисках директоров-консерваторов. Но как долго будет нужен на рынке настройщик ламповых вычислительных машин? И как скоро он двинет ноги с голоду, когда последний консерватор таки купит себе комп на транзисторах или (ойойой!!) на микропроцессоре?
практика не является и не может являться критерием истины.
Ну это если считать, что всякая деятельность протекает только в своей собственной Вселенной, где законы выдуманы своими руками. Если это Ваш случай — то у меня нет вопросов.
В моей же Вселенной на планете Земля живёт 8 ярдов населения и они взаимодействуют и с окружающим миром и друг с другом по так называемым законам природы (которые не люди выдумали). И если закон Гука гласит, что сила пропорциональна коэффициенту упругости и реальные эксперименты (та самая практика) происходят в русле этой закономерности — то это истина (если вести деятельность в общей всем Вселенной, а не в своей собсной, не привлекая внимания санитаров).
Вселенная не бесконечна
Для Бога — да. А люди, будучи частью Вселенной — не могут ни выйти за её пределы, ни достоверно узнать что находится вне неё.
А потому, все сказки о раздувающемся «шарике» Вселенной — это увеселение для толпы, не более. Так же, как и большой взрыв. По нему особенно улыбают рассуждения о состоянии молодой Вселенной в тот или иной момент в долях секунды, хотя секунда тогда не могла существовать :) Вспомним через что определяли люди секунду: то часть от периода вращения Земли, то время, за которое луч света в вакууме проходит расстояние… — но всего этого в рассматриваемый момент попросту ещё не было :) Вобщем, потешно слушать про эти раздувающиеся шарики.
теорию голографической Вселенной
Спасибо, да. Я вкурсе, что Мера — голографична. В частности, торсионная связь основана на этом свойстве.
Информация может вообще не нести знания или нести мимолётное знание (аля как там дела у Питта с Джоли). Т.е. информация может быть пустой с точки зрения профессионального,… развития.
Смотрите не ляпните этого жёлто-прессовым журналистам, профессиональная работа и рост которых как раз и основана на разжёвывании Питов и Джоулей этих :)
Выходит, где «просто информация», а где «знания» — чисто субъективное отличие. Кому-то одного, кому-то другое. Т.е. объективная разница не в этом?
Так и представляю рекламу «приходите на наши 7-летние курсы».
Т.е. либо денег нет у людей, либо терпения столько лет только слушать, либо… а действитеьлно: зачем так долго изучать вот всё-всё-всё подробненько, если для достижения своих целей хватает куда меньшего объёма инфы?
Ну и студентов надо суметь заинтересовать, они то падки на сиюминутные тренды и зачастую только спустя много лет осознают, что вот те лекции надо было внимательно слушать.
Кстати, не удивительно ли, что преподаватели, зная важность того знания, что они несут, почему-то оказываются неспособными показать эту важность студентам?
Выходит, по факту ситуация для студента выглядит как: не смог понять, что этот вот дяденька несёт что-то очень важное — ну и сам себе буратино, придётся набивать шишки… А что ж взрослые? Как же так получилось, что знали, но не предупредили? (по факту)
Верить в то, что твоё будущее не зависит от тебя (т.е. теоретически предсказуемо извне) — это скорее фатализм.
Как это не зависит?
Бабушка говорит внучку: «не суй пальцы в розетку — будет бобо». Внучёк ещё не понимает данной закономерности, но она есть. И очень хорошо, что есть рядом бабушка, которая его предупредит. Но это уже дело внучка: совать пальцы в розетку или нет.
Знать закономерности и быть способным на их основе строить прогнозы — это не то же, что верить, что всё предрешено заранее (зачем тогда законы знать хоть какие-то вообще?)
В целом я за то, чтобы… низкую связность и...
Ну, собственно, да, это полезно.
Однако, TDD — это несколько не о том.
Это именно новый подход в программировании (кажись, его в 90-хх изобрели), который решает множество проблем.
20% наиболее частых/важных функций были покрыты тестами
А остальной код может глючить безбожно %)
А если нет — то как узнать что он вообще делает? Читать? Каждый раз? Все мегабайты кода?
Ну тут я уж лезу в большую тему TDD… можем не трогать. А TLD — это, по сути, та же TDD с чуть ухудшенной техникой.
Критическое мышление + знание существующих концепций и фундаментальных законов.
Т.е. правильный ответ — всё же ф-ция и от собственной интеллектуальной деятельности (критическое мышление), и от ранее созданных знаний.
Т.е. само знание «существующих концепций и фундаментальных законов» — не гарант актуальности как специалиста. Но это противоречит многому, что Вы говорите о новом (что оно почти всё мусор). но почему-то, в этом «мусоре» придётся копаться. Т.е. либо это всё не однозначно мусор, либо критическое мышление таки не нужно и можно попробовать разбить голову о жизнь, игнорируя всё новое.
такой необходимости и сейчас нет
Вашу точку зрения понял. Вам, как преподавателю, конечно же, вобщем, всё равно чему учить: всё равно что ученики-студенты, что их родители пока что знают куда меньше Вашего и Вы всё равно эксперт и заслуживаете своего вознагражения за обучение. Тут вопросов нет.
Но мир не ограничен учёбой. И вот тут уже начинается интересное…
Сейчас просто модно стало хватать по верхам
Меня учили технологиям (радиотехника), которые были актуальны лет 20 назад. Но уже на момент обучения нужно было знать не это, чтоб зарабатывать в проектировании радиоэлектроники, а какая китайская микруха что может, сколько стоит, где и в каких объёмах её можно достать. Попытки заменить эту копеечную микруху своими «тёплыми ламповыми» схемами — мгновенно выбрасывает с рынка, т.к. затраты конкурентов, которые пользуют китайские достижения, на порядки меньше.
Если не нравятся китайцы и радиотехника — то и в вычислительной технике в СССР были свои разработки, а западный 8086 — не феншуй. И как далеко придётся отложить зубы, попытавшись выйти на рынок с тем, что было изобретено на Родине в этой отрасли?
Какие Ваши прогнозы, сколько лет займёт переход к всеобщей доступности?
Научный прогресс — очень плохо прогнозируется (прогноз строится на существующих знаниях, но в том то и дело, что будущих технологий ещё нет в знаниях).
И дело не в том когда будет это нечто_новое через 5 лет или 50. А в том, что будут делать наши выпускники, когда им начальник скажет «Ну что, Саня, клиенты уже требуют <нечто_новое>» — увольняться и искать начальника со старыми взглядами или таки изучать?
У обычных компьютеров он занял в районе 50 лет. Вы утверждаете, что частота обновления технологий увеличилась… Но на сколько процентов или во сколько раз по сравнению с серединой XX века?
Прямо зацитирую ролик «Знаете ли Вы»:
«Сколько лет понадобилось, чтобы набрать аудиторию в 50 млн:
* радио — 38 лет
* телевидение — 13 лет
* интернет — 4 года
* ipod — 3 года
* лицорука (facebook) — 2 года.
К-во инет устройств:
в 1984 году — 1000
в 1992 — 1000000
в 2008 — 1000000000
...»
что мейнстрим крайне медлительно заимствует концепции, которые давным давно сформулированы и реализованы в чуть менее популярных языках. Изучить эти концепции и спокойно наслаждаться конкурентным преимуществом в ближайшие 50 лет :-)
Изучил Ваш студент эти основы и соотв. эталонные «чуть менее популярные» ЯП — и воодушевлённый Вашими словами о расслабухе на «ближайшие 50 лет» пошёл устраиваться в контору программистом… На все вопросы о его познаниях в таких-то и таких-то актуальных ЯП — он (мысленно с моноклем на носу и котелком на голове) будет вещать о том, что всё это переделки уже давно всего придуманного и писать на этом не стоит. — почему? — да потому, что на этих ЯП базовые парадигмы не так выразительны/оптимальны/нужное_подчеркнуть, а все заказчики, кто хотят проги на них — странные и… и ваще.
Вопрос: что Вам пожелает на день учителя этот Ваш бывший студент, когда будет разослан в известном направлении всеми конторами города, куда он сходил в попытках устроиться с такими речЯми?
(работу он, конечно же, нашёл; но после изучения того, что уже Ннадцатая контора рекомендовала ему изучить)
Хорошо. Но как понять: где шум, а где полезная информация?
Ведь просто закрываясь от всего нового — так ведёт себя старое (даже не старшее) поколение, для которых мобильный телефон — это «да ну, унучек! ты чаво это?»
Общество всегда пребывает в состоянии, в котором оно никогда до этого не пребывало.
Да, но не всякая смена состояния столь кардинальна. Потоянно учиться всю жизнь, чтоб быть просто актуальным специалистом — такой необходимости не было ещё до средины 20-го века.
Но при этом всегда можно и что-то общее с прошлым найти (спираль истории).
Конечно. Нет речи о том, чтобы поменялось вот прямо всё совсем. «Всего лишь» частота обновления социально значимых технологий теперь стала выше частоты обновления поколений.
А так, как говорил Ключевский «Закономерность исторических явлений — обратно пропорциональная их духовности». Т.е. пока люди не растут нравственно — круги ада всё повторяются и повторяются…
Что надо обучать полезному (концептуальному и неизменному). А Вы изначально за мейнстрим/моду/мусор агитировали.
Ну это Вы так поняли, раз считаете всё новое мусором (может, тогда и мобильник свой выбросите? их ведь масово не было во времена формулировки всего «великого и нерушимого»)
Я пишу, что жизненноважные технологии обновляются теперь по нескольку раз за период активной жизни. И как прикажете научить тому, что будет изобретено только через несколько лет?
Вот где главный вопрос, а не в информатике, компах или ЯП.
" Практика — критерий истины.
С чего вдруг?
:)
Нет, ну конечно же можно изучать какие из драконов не существуют более интересным образом: мнимые или отрицательные. Только вот во рту от этого слаще может стать только у учёных (и то, если им поверят и будут кормить во время таких изучений).
Людям нужно работать, изменять каким-либо образом Объективную реальность под свои цели. А законы, по которым она меняется — это и есть практика. Это — универсальный критерий истины.
Исходя из практики можно сделать вывод, что Солнце крутится вокруг Земли
А что, разве не крутится? — зависит от выбора точки отсчёта. И для каких-то задач лучше так, а для каких-то лучше центр Млечного пути, а не Солнце, выбирать точкой отсчёта.
Учителя то как детей учат? — Фразы «солнце взошло» и «солнце село» — вполне нормально воспринимаются. Хотя с точки зрения самого Солнца никуда оно не садится и не встаёт.
Точно так же и Ваша практика ограничивает ваши представления об истине.
Но Ваша то, видимо, сама объективность? ;)
Люди — все субъективны, и в состоянии познать лишь какую-то конечную часть безконечной Вселенной. Так что, все люди всегда ограничены.
Не ограничен — только Надмирная Реальность (Создатель).
И тут я говорю именно о знаниях, а не об информации.
А в чём разница?
Вы всерьёз считаете, что event loop и promises впервые появились в JavaScript?
Это — Ваши слова, не мои.
(что это Вам жабоскрипт покоя не даёт?)
Изучить эти концепции и спокойно наслаждаться конкурентным преимуществом в ближайшие 50 лет :-)
Ну, тут уж я вправе задать Вам похожий вопрос: Вы думаете, что первым придумали, что если изучить что-то самое лучшее — это это будет лучше всего?
А если ж нет — то что, все эти тонны курсов по программированию в мире (включая учебные заведения) либо не хотят денег, либо прям вот никто не знает всех тех условно незыблемых основ, либо почему-то целенаправленно не хотят воспитывать таких абсолютно-актуальных кадров? Или они все сговорились?
Это ведь поэтому наш бизнес не в состоянии конкурировать с общемировым?
Нет, не поэтому. Причина — в макроэкономике. Она так настроена: так называемые «развивающиеся» страны работают в угоду так называемым «развитым» странам.
Крышуется всё фрсом, ЦБ и академией наук вместе с высшей школой экономики.
Почему проблема у бизнеса, а решать ее должно образование?
Порождена она неадекватной наукой — потому и решена может быть только там же.
К примеру, если всех детей учить только телят пасти — то через 2-3 поколения будет стоять вопрос «а что это за железные кареты стоят посредь дорог и больше не двигаются? хотя деды рассказывали, что на этом раньше все ещё и ездили как-то!!!»
Да, далеко не человечные. И коммерция тут даже непричём, она просто средство (не особо я верю, что требование западных трёхбуквенных организаций к гуглю собирать со всех и вся телефонные номера (без тлф пойди зарегистрируйся у них...) как-то сильно положительно влияет на их коммерцию; в инете можно найти немало отзывов, которые гласят, что завязывают пользовать гуглями из-за требования тлф). Я бы сказал, что их нечеловеческие интересы уже куда ближе просто к сатанизму (а что оно уже весьма публично см, к примеру, происходящее в Швейцарии, открытие Готардского тоннеля летом 16-го https://www.youtube.com/watch?v=2cdj2R0hHMI ). И одним ИТ это не исправить.
> Я знаком с творчеством Петрова и его детищем КОБ. <
А, отлично (только это не его детище, он её как мог продвигал).
Попробуйте Зазнобина или Величко. Почувствуете разницу.
> например, все должны все знать и постоянно образовываться, чтобы понимать что вокруг происходит <
Да, это уже объективное требование по факту ко всем живущим, невзирая на любые учения.
> его последователи свалились в теорию заговоров и зациклились на язычестве <
Ну, люди то не меняются мгновенно, за считанные годы.
Да и суть не в последователях (шизу каждого на себя примерять — жизни не хватит) — а в первоисточниках.
А насчёт язычества — так первый же язычник — сама Надмирная Реальность (Бог, Создатель и Вседержитель). Она говорит со всеми и каждым на ЯЗЫКЕ жизненных обстоятельств (вот Вы описали свои обстоятельства, в какой-то мере передали часть (всю жизнь не перескажешь) этого Вашего личного и уникального языка читателям).
> а если процесс пустить на самотек <
Чтобы что-то пустить на самотёк — это нужно сначала взять этот самотёк. Но не в коня корм.
Несмотря на то, что в 1995 году на открытых парламентских слушаниях КОБ была рассмотрена и рекомендована к изучению и внедрению Думе всех созывов, президенту, правительству и всем прочим ведомствам — государственный воз и ныне там. Экономика — чисто либерастическая. Вместо планового роста достатка трудового населения, всё так же плановый геноцид. Ростовщичеством высасываются соки из реального сектора, а всё это покрывают ВШЭвые темнилы экономики.
Чтобы управлять чем-то, нужно это что-то знать и понимать. А суть концептуальной власти пока, мягко говоря, не сильно понимают «в верхах» в их массе. Так что, всё уже идёт давно, самотёком, и без их спроса.
> скатиться вообще до сепаратистских размышлений. <
Да… я бы вот с удовольствием чикнул бы Землю где-нить между Тихим и Атлантическим океанами от Аляски до Перу — и пусть бы себе летели куда-нить на Альфа Центавру. Житья от них на Земле нет.
Но, к счастью, мы все связаны, и подобные действия погубили бы жизнь вообще на всей планете.
Остаётся — наводить порядок глобально. Спрятаться где-нить в лесу или за какими-то административными границами не получится.
> Мне сейчас больше интересен Юрий Бялый… Расскажет про все — и про нефть, и про банки, и про айти сектор. <
Глянул его пару роликов по диагонали (один про Кудрина, второй про нефть). Ну что ж, про нефть и санкции счас не говорит только ленивый. В начале, где про нефть, он вплотную подошёл таки к вопросу о метрологии в экономике (т.е. что как и чем мерять и как отличать нечто одно от другого; тот же рубль или доллар что такое), точнее её отсутствии с 70-гг. Но дальше как-то не пошёл. Свернул на нефть и т.д.
Куда можно было бы пойти дальше? В науку экономика, которой, к слову, нет вообще пока что. Почему нет? — потому что «наука начинается там, где начинают ИЗМЕРЯТЬ». Но если в экономике всё меряют чем-то, чему не дано определение (рубли, доллары — что это? что такое 1 рубль? Где определение?) — то все дальнейшие рассуждения на околоэкономические темы (включая нефть в сколь угодно глобальных масштабах) — это попытка разобраться лишь чей шаманский бубен круче: лондонский или ньюйоркский (мож ещё чей).
Но какая от этого всего польза нам, простым россиянам? — тяжёлый вопрос…
Пока к экономике не применяются те же требования, что и к точным наукам (типа сопромата), то все подобные нефтяные обзоры будут сродни повествованиям: «да вот залили вчера бетон в фундамент, а на утро Академия Наук объявила новые показатели твёрдости цемента — оказалось, что 9-этажный дом на цементе уже не устоит… надо делать 5-этажку..., хотя когда считали проект — с запасом на 14 этажей выходило! Да… курс твёрдости цемента нынче уже не тот… Хорошо, что хоть на дерево начали переходить, ато ж цемент и в уже построенных домах начинает крошится после нового курса физики в Академии...».
Глубоко «полезные» сказки для взрослых.
А так да, милый такой расказчик. Хотя оно много таких либеральных вещателей, кончая самым авторитетным Хазиным.
(хотел покороче… наверное не очень получилось)
Всё просто, жизненно и без прикрас.
Но финал таки реально удручает (натроение в начале чтения было на позитиве, под конец — ну вот не плакать конечно, но безисходность налицо).
Проблемы, которые Вы описали, конечно же имеют системный уровень (т.е. не просто из-за того, что отдельный регион «лицом не вышел»). И экономическое бедствие (один кризис сменяет другой на фоне постоянно растущих цен), коричневая чума юридизма (объём формальных требований принципиально больше, чем возможно изучить), и, в конечном итоге, просто вбивание потенциала развития человека в ноль.
Что ж, должен Вас «поздравить», Вы выявили системные признаки культуры нашей текущей цивилизации на планете. И пусть в «Силиконовой долине» разрабы и живут в потребительском раю с интересными задачами (если не смотреть с социального уровня). Но Вы меня крепко порадовали в том месте, где обеспокоились своей «кармой» при работе на антисоциальные структуры с азартными играми. Ибо весь смысл западного направления развития ИТ — это… кстати, как Вы сами думаете?
Вобщем, все эти проблемы имеют решение (но, как Вы понимаете, вне рамок западной культуры), и решения расписаны у нас, в России. И всё открыто, лежит в инете. Гуглить «Концепция общественной безопасности».
В её основе лежит теория управления, которая подходит для всех отраслей деятельности людей (Достаточно Общая Теория Управляние), и на её основе уже расписаны все прочие прикладные отрасли (включая экономику, науку, госуправление и т.д.).
С кучей больших и малых проблемам проще бороться, если знать откуда у них ноги растут. И тогда просто занулив их источник (>/dev/null) — можно наблюдать, как сами они сходят на нет.
И какой тогда будет жизнь?
+к важности темы:
есть люди, которые сами принципиально не желают пользоваться гуглями (и их плеями).
Всегда угнетало, когда на домашней страничке какой-нить полезной софтины было «приложение доступно через гуглеплей» @$%#$^$&%&*&%^& — они что, не могли просто .apk-шку выложить тут же?
Вот зачем мне, как пользователю, рассказывать сторонней конторе (_название_корпорации_), что я пользуюсь такой-то софтиной?
Есть производитель, есть пользователь. Зачем им посредники?
Так что, в этом плане Ваш проект на гитхабе очень порадовал: откуда скачать ПРОСТО ПРОГРАММУ (.apk) — предложен широкий выбор!
Любовь — главное профессиональное качество учителя.
Без любви преподаватель — просто насильник. А люди, вобщем-то, чуствуют, когда над ними устраивают насилие (пусть сколь угодно изящно упакованное в якобы социализацию и прочую необходимость).
Любовь
Видать, мировоззрение у Кэя несколько ближе к реальности, чем у большинства.
Да, нормально. Всё-таки они отслеживают баги.
Нет. У меня просто не та область.
Ну высококлассный специалист делает и работу высококлассно. Кэр тут не обманывает.
Только вот кто такой высококлассный специалист, если не тот, кто владеет и пременяет качественные методики? (при прочих равных IQ и прочих сугубо личных качествах)
Да вроде уже сформулировал: если возможно автоматически проверить результаты работы кода — там применим ТДД.
Почему же.
Нужна ф-ция, которая что-то делает. К ней выдвигается ряд формальных требований, которые возможно записать на ЯП. Эти требования — и являются целями (впрочем, это уже термин из теории управления, что, видимо, Вас и вводит в заблуждение). А код самой функции, который удовлетворит всем требованиям — и будет концепцией (тоже термин не из ТДД, а из теории управления) достижения потавленных целей.
Вобщем, я неправ, что смешал термины разных теорий, чем… ну Вы поняли.
Занятно, конечно.
И иерархия стандартных классов да, увесистая и куда более подробная, чем у прочего множества ЯП.
SmallTalk/Pharo — по сути такой себе конструктор языков.
Однако, на практике не так много тех, кто захотел бы унаследовать от Magnitude и создать конкурента Integer'у (и Boolean то!).
Оттого, множество ЯП (созданных позже SmallTalk'а) начинает иерархию классов с уже «готовых» «привычных» типов данных. Их оказалось достаточно для абсолютно подавляющего числа задач.
Конечно, должен даваться наилучший фундамент, который есть у взрослых в каждый момент времени.
И если всё будет сделано правильно — то так и будет, как Вы сказали: что нужные знания для работы будут осваиваться самостоятельно в реальном времени.
Спасибо за науку общения с представителями образовательного цеха. Хотя мне тут ещё учиться и учиться…
Всё верно.
Но, похоже, я не изложил многого в надежде…
Приходится расписывать счас.
У программы есть множество всякого функционала, который разбивается на мелкие цели и реализуется поочерёдно. Каждая отдельная цель записывается в форме теста. Он сначала не работает. Потом пишется код, достаточный для работы теста (концепция достижения этой цели). Рефакторинг — и к следующей цели.
Не люблю, когда мои слова понимают превратно, особенно диаметрально противоположно.
Из пункта А в пункт Б, поэтому у Маши на 4 яблока больше.
Есть. См. полную функцию управления (ПФУ) в ДОТУ.
TDD подняло планку индустрии до более автоматизированного следования ПФУ. Но сами авторы TDD об этом пока ещё даже не догадываются. Всё встаёт на свои места если знать и то, и другое.
Кроме того, что Вы путаете религию (religio — на латыни: связь; с кем? — в Богом) и вероучение (набор писаных людьми алгоритмов мышления/поведения), так ещё и противопоставляете науку вероучению, хотя были времена, когда они весьма мирно сосуществовали и богословы занимались наукой.
Такого добра уже хватает. Но приравнивать багтрекеры к ним — это не очень.
Смотрите.
Если есть код — значит его возможно тестировать.
Для веба есть selenium и Ко.
Я не говорил, что TDD это гарантирует. Это именно идеал разработки, чтоб тестеры ничего не находили. И TDD этому крепко способствует. Или Вы считаете иначе? И код допустимо писать с глюками?
В остальном по TDD cм. книги или видео Дяди Боба.
Так учат везде.
Абстрактным, но удобным жирафам в разреженном газе.
Столкновение с практикой после учёбы — как холодный душ.
Не думаю, что можно считать, что большинство тех, кому приходится работать с какой-то технологией, ожидали её появления. Даже наоборот: не ждали и не хотели, но пришлось (см. луддисты), т.к. кто-то другой работал над этим, искал, нашёл и получил денег, а людям теперь всё бросать и начинать это всё осваивать просто для того, чтобы остаться на работе.
Освоение — большой труд, потому как это непременно нужно делать самому, никакими деньгами тут не откупиться, только упорной работой по смене стереотипов (а это — самая сложная работа на Земле).
А что, лаборатории находятся в одной Вселенной, а промышленные цехи в другой??? с другими законами мироздания? :)))))))
И после этого я демагогию развожу???
Промышленность просто использует те истины, которые были найдены в лабораторных условиях. И то, только потому, что и цех, и лаборатория — в одной Вселенной.
Такого я не говорил.
Эта популярная технология идеальна для заработка денег (почувствуйте разницу).
Другое дело, что абстрактные бегемоты в плазме, супер ровные и стройные, но не приносящие должной нормо-прибыли, остаются пылиться на академических полках.
И тут либо заговор большого бизнеса (есть история, когда громадная нефтяная западная компания прикупила за сотню лямов технологию, в разы улучшающую качества нефте-продуктов, но за 15 лет её так и не применила), что он упорото не желает ещё больше прибылей, либо таки применение этих идеальных бегемотов на практике (да, снова она!), включая учёбу и прочее, оказывается менее выгодным.
Что тут поделать? — у банков, рулящих экономикой, свои цели. (но о рулящей роли банков, в таком случае можно было бы предупредить студентов?)
А вообще идеальные технологии ещё только предстоит изобрести. Потому как с тем, что есть на Земле — у нас Тихий океан стал уже пластиковым супом (причём, за каких-то полвека).
А на студента не похож? Который с радостью и рвением готов на пару лет дольше изучать и сдавать то, без чего и так можно найти работу.
Или на его родителей? Которым предстоит на пару лет дольше кормить своего студента и ждать когда ж он выйдет на свои хлеба.
Это жизнь такая. Да, представляете?
Ну так, напоминаю, на случай если Вам из высоких кабинетов не видно этого.
Ну что ж, спасибо за откровенное признание.
Так и есть: учат одному (причём, высокомерно, с моноклем в глазу), а на практике будет нужно другое.
Мда… прочитать одно, и смешать всё в совершенно неудобоваримую кашу…
Проскочили слова «TDD», «цель» и «тест» в одном предложении — и, невзирая на их последовательность и роль в предложении, делается вывод, что у TDD целью являются тесты… (лицорука...)
Ладно, вижу, у Вас сложности с пониманием сути TDD. Новая методология разработки. Ну понятно, свои 7 лет Вы уже отучились и вроде студенты не жалуются (им чтоб жаловаться именно знаний то и не хватает) — зачем ещё время тратить и мозг перестраивать? если и так всё в шоколаде…
Но это дело хозяйское, чего учить, а чего нет.
Потому как если есть контроль за каждым элементом — то качество лучше, чем если такого контроля нет. Тогда, конечно, начинается тяжёлая работа тестировщиков и проклацивание всех вариантов работы программы вручную.
={ }
Даже комментировать такое больно…
Багтрекер ведь пополняется людьми (тестировщиками (а им ещё и ЗП надо платить) и бета-тестерами (пользователями)) в таком случае. Т.е. ошибки программистов выходят из-под их пера и ложатся бременем на других.
TDD позволяет писать код так, чтоб отдел QA находил 0 (НОЛЬ) ошибок. И его и нужно писать именно так. Что без TDD (или его подмножества TLD) — невозможно.
Ну, конечно же люди любят положительные прогнозы (т.е «ничё делать не надо, всё будет хорошо») и редко когда на негативные прогнозы реагируют адекватно (в частности, не любят тех, кто давал им такой прогноз-предупреждение со стороны, особенно, когда он, увы, сбывается...)
Только вот они есть везде (просто имеют вероятностный характер).
Хотя да, далеко не везде и известны (в частности, что закономерности — вещественно-вероятны, а не булево-бинарные), и приемлемы людям. Потому и хотят чёткости даже там, где всё ещё есть некая неопределённость.
Но это уже проблемы людей…
Интересно, какие бы Вы назвали, хоть пару.
Если формализм настолько формален, что привёл к какому-то другому методу — то обсуждать уже нужно его, а не TDD.
В прочих случаях, если соблюдается цикл тест-код-рефакторинг — то это TDD и качество такой разработки на голову выше любых прочих (при прочих равных, есьно).
Ничуть. Что не контролируется — то неизвестно существует или нет, и в каком оно состоянии. А если неизвестно работает ли код как надо, то вполне закономерно вести речь о глюках (включая безбожные :)
А как иначе проверить работает ли код как надо, кроме как проверить его? — я других путей не знаю. И если это проверка умозрительно во время чтения кода — хорошо, это тоже проверка, хоть такая. Ну и выполнение на компе — понятно.
А дальше встаёт вопрос производительности труда программиста: есть ли возможность в любой момент в течении секунд-минут получить тот единственный достоверный бит «работает ли код так, как надо?»
Если «нет» — на нет и кода нет :)
А вот «есть» — вот этот вариант возможен только при TDD. Если тестов нет или тесты когда-то будут написаны потом (читай «никогда») — то за секунды-минуты вот прям здесь и сейчас невозможно получить этот бит.
Ну я понял. 20% кода работает, а остальные 80% — глючат (Божно или нет — уже функция от верований программиста :)
Даже присутствие не означает отсутствие.
Но проверить ни то, ни другое за секунды-минуты — некак.
Перед программером новая либа, её нужно заюзать.
Есть простыня документации и дира tests с реальными и работающими примерами кода. Куда он заглянет, когда понадобится уже вот прям брать и писать код?
Вот и вся цена громким словам о документации…
Бывает. Но их есть кому проверить — самому коду.
Это не значит, что разработка по TDD. Вообще.
соответственно, и это не аргумент в минус TDD, а в минус методу «смотреть качество кода по % покрытия».
На своём уровне — как раз значит. И как было надо — программеры записали однозначно, кодом. Это может не совпадать с приёмочными тестами (т.е. логическая ошибка программеров), но это всплывёт на соотв. этапе.
«Изучать всякое там, чтоб писать хороший код — это всё в волшебных мирах, где пони круглые и кони в эфире».
Вопрос то в другом: улучшает ли TDD качество кода или нет? А не «делает ли его идеальным?»
А раз улучшает — значит его использование оправдано.
В процессе управления цель ставится всегда перед её достижением. Цель — это тест (в терминах TDD). Концепция достижения цели — это код для удовлетворения теста.
Если пишется хоть какой-то код — значит цель уже была поставлена (пусть и только в голове программера).
И чуть менее важно когда тест будет записан в синтаксисе ЯП. Не такое значимое падение качества кода TLD в сравнении с TDD имеет место лишь потому, что даже такой пост-тест всё равно будет запущен, пусть и в следующую итерацию код-тест-рефакторинг.
Ну, выражать в процентах рост актуальных знаний не буду. Но отмечу: в конце 90-хх я откуда-то притащил древний, в меру ржавый арефмометр, и он даже работал. Но использовать его в промышленном счёте, когда простой калькулятор умел на порядок больше (не говоря уже о компах), смысла не было. Хотя ещё лет 20 до того времени, арифмометр был очень даже почему же замена счётам.
Так вот такого, чтоб за 50 лет произошло несколько замен социально важных технологий, не было никогда до этого.
Ну а видеть это или нет — дело хозяйское.
«Всё ваше новое состоит из всё той же старой таблицы Менделеева! Ничего учить не надо! Пойду я и дальше предлагать бухгалтерский учёт с арефмометром» — долго ль сможет ходить?
Да, можно часто менять работу в поисках директоров-консерваторов. Но как долго будет нужен на рынке настройщик ламповых вычислительных машин? И как скоро он двинет ноги с голоду, когда последний консерватор таки купит себе комп на транзисторах или (ойойой!!) на микропроцессоре?
Ну это если считать, что всякая деятельность протекает только в своей собственной Вселенной, где законы выдуманы своими руками. Если это Ваш случай — то у меня нет вопросов.
В моей же Вселенной на планете Земля живёт 8 ярдов населения и они взаимодействуют и с окружающим миром и друг с другом по так называемым законам природы (которые не люди выдумали). И если закон Гука гласит, что сила пропорциональна коэффициенту упругости и реальные эксперименты (та самая практика) происходят в русле этой закономерности — то это истина (если вести деятельность в общей всем Вселенной, а не в своей собсной, не привлекая внимания санитаров).
Для Бога — да. А люди, будучи частью Вселенной — не могут ни выйти за её пределы, ни достоверно узнать что находится вне неё.
А потому, все сказки о раздувающемся «шарике» Вселенной — это увеселение для толпы, не более. Так же, как и большой взрыв. По нему особенно улыбают рассуждения о состоянии молодой Вселенной в тот или иной момент в долях секунды, хотя секунда тогда не могла существовать :) Вспомним через что определяли люди секунду: то часть от периода вращения Земли, то время, за которое луч света в вакууме проходит расстояние… — но всего этого в рассматриваемый момент попросту ещё не было :) Вобщем, потешно слушать про эти раздувающиеся шарики.
Спасибо, да. Я вкурсе, что Мера — голографична. В частности, торсионная связь основана на этом свойстве.
Смотрите не ляпните этого жёлто-прессовым журналистам, профессиональная работа и рост которых как раз и основана на разжёвывании Питов и Джоулей этих :)
Выходит, где «просто информация», а где «знания» — чисто субъективное отличие. Кому-то одного, кому-то другое. Т.е. объективная разница не в этом?
Т.е. либо денег нет у людей, либо терпения столько лет только слушать, либо… а действитеьлно: зачем так долго изучать вот всё-всё-всё подробненько, если для достижения своих целей хватает куда меньшего объёма инфы?
Кстати, не удивительно ли, что преподаватели, зная важность того знания, что они несут, почему-то оказываются неспособными показать эту важность студентам?
Выходит, по факту ситуация для студента выглядит как: не смог понять, что этот вот дяденька несёт что-то очень важное — ну и сам себе буратино, придётся набивать шишки… А что ж взрослые? Как же так получилось, что знали, но не предупредили? (по факту)
Как это не зависит?
Бабушка говорит внучку: «не суй пальцы в розетку — будет бобо». Внучёк ещё не понимает данной закономерности, но она есть. И очень хорошо, что есть рядом бабушка, которая его предупредит. Но это уже дело внучка: совать пальцы в розетку или нет.
Знать закономерности и быть способным на их основе строить прогнозы — это не то же, что верить, что всё предрешено заранее (зачем тогда законы знать хоть какие-то вообще?)
Ну, собственно, да, это полезно.
Однако, TDD — это несколько не о том.
Это именно новый подход в программировании (кажись, его в 90-хх изобрели), который решает множество проблем.
А остальной код может глючить безбожно %)
А если нет — то как узнать что он вообще делает? Читать? Каждый раз? Все мегабайты кода?
Ну тут я уж лезу в большую тему TDD… можем не трогать. А TLD — это, по сути, та же TDD с чуть ухудшенной техникой.
Т.е. правильный ответ — всё же ф-ция и от собственной интеллектуальной деятельности (критическое мышление), и от ранее созданных знаний.
Т.е. само знание «существующих концепций и фундаментальных законов» — не гарант актуальности как специалиста. Но это противоречит многому, что Вы говорите о новом (что оно почти всё мусор). но почему-то, в этом «мусоре» придётся копаться. Т.е. либо это всё не однозначно мусор, либо критическое мышление таки не нужно и можно попробовать разбить голову о жизнь, игнорируя всё новое.
Вашу точку зрения понял. Вам, как преподавателю, конечно же, вобщем, всё равно чему учить: всё равно что ученики-студенты, что их родители пока что знают куда меньше Вашего и Вы всё равно эксперт и заслуживаете своего вознагражения за обучение. Тут вопросов нет.
Но мир не ограничен учёбой. И вот тут уже начинается интересное…
Меня учили технологиям (радиотехника), которые были актуальны лет 20 назад. Но уже на момент обучения нужно было знать не это, чтоб зарабатывать в проектировании радиоэлектроники, а какая китайская микруха что может, сколько стоит, где и в каких объёмах её можно достать. Попытки заменить эту копеечную микруху своими «тёплыми ламповыми» схемами — мгновенно выбрасывает с рынка, т.к. затраты конкурентов, которые пользуют китайские достижения, на порядки меньше.
Если не нравятся китайцы и радиотехника — то и в вычислительной технике в СССР были свои разработки, а западный 8086 — не феншуй. И как далеко придётся отложить зубы, попытавшись выйти на рынок с тем, что было изобретено на Родине в этой отрасли?
Научный прогресс — очень плохо прогнозируется (прогноз строится на существующих знаниях, но в том то и дело, что будущих технологий ещё нет в знаниях).
И дело не в том когда будет это нечто_новое через 5 лет или 50. А в том, что будут делать наши выпускники, когда им начальник скажет «Ну что, Саня, клиенты уже требуют <нечто_новое>» — увольняться и искать начальника со старыми взглядами или таки изучать?
Прямо зацитирую ролик «Знаете ли Вы»:
«Сколько лет понадобилось, чтобы набрать аудиторию в 50 млн:
* радио — 38 лет
* телевидение — 13 лет
* интернет — 4 года
* ipod — 3 года
* лицорука (facebook) — 2 года.
К-во инет устройств:
в 1984 году — 1000
в 1992 — 1000000
в 2008 — 1000000000
...»
Изучил Ваш студент эти основы и соотв. эталонные «чуть менее популярные» ЯП — и воодушевлённый Вашими словами о расслабухе на «ближайшие 50 лет» пошёл устраиваться в контору программистом… На все вопросы о его познаниях в таких-то и таких-то актуальных ЯП — он (мысленно с моноклем на носу и котелком на голове) будет вещать о том, что всё это переделки уже давно всего придуманного и писать на этом не стоит. — почему? — да потому, что на этих ЯП базовые парадигмы не так выразительны/оптимальны/нужное_подчеркнуть, а все заказчики, кто хотят проги на них — странные и… и ваще.
Вопрос: что Вам пожелает на день учителя этот Ваш бывший студент, когда будет разослан в известном направлении всеми конторами города, куда он сходил в попытках устроиться с такими речЯми?
(работу он, конечно же, нашёл; но после изучения того, что уже Ннадцатая контора рекомендовала ему изучить)
Хорошо. Но как понять: где шум, а где полезная информация?
Ведь просто закрываясь от всего нового — так ведёт себя старое (даже не старшее) поколение, для которых мобильный телефон — это «да ну, унучек! ты чаво это?»
Да, но не всякая смена состояния столь кардинальна. Потоянно учиться всю жизнь, чтоб быть просто актуальным специалистом — такой необходимости не было ещё до средины 20-го века.
Конечно. Нет речи о том, чтобы поменялось вот прямо всё совсем. «Всего лишь» частота обновления социально значимых технологий теперь стала выше частоты обновления поколений.
А так, как говорил Ключевский «Закономерность исторических явлений — обратно пропорциональная их духовности». Т.е. пока люди не растут нравственно — круги ада всё повторяются и повторяются…
Ну это Вы так поняли, раз считаете всё новое мусором (может, тогда и мобильник свой выбросите? их ведь масово не было во времена формулировки всего «великого и нерушимого»)
Я пишу, что жизненноважные технологии обновляются теперь по нескольку раз за период активной жизни. И как прикажете научить тому, что будет изобретено только через несколько лет?
Вот где главный вопрос, а не в информатике, компах или ЯП.
:)
Нет, ну конечно же можно изучать какие из драконов не существуют более интересным образом: мнимые или отрицательные. Только вот во рту от этого слаще может стать только у учёных (и то, если им поверят и будут кормить во время таких изучений).
Людям нужно работать, изменять каким-либо образом Объективную реальность под свои цели. А законы, по которым она меняется — это и есть практика. Это — универсальный критерий истины.
А что, разве не крутится? — зависит от выбора точки отсчёта. И для каких-то задач лучше так, а для каких-то лучше центр Млечного пути, а не Солнце, выбирать точкой отсчёта.
Учителя то как детей учат? — Фразы «солнце взошло» и «солнце село» — вполне нормально воспринимаются. Хотя с точки зрения самого Солнца никуда оно не садится и не встаёт.
Но Ваша то, видимо, сама объективность? ;)
Люди — все субъективны, и в состоянии познать лишь какую-то конечную часть безконечной Вселенной. Так что, все люди всегда ограничены.
Не ограничен — только Надмирная Реальность (Создатель).
А в чём разница?
Это — Ваши слова, не мои.
(что это Вам жабоскрипт покоя не даёт?)
Ну, тут уж я вправе задать Вам похожий вопрос: Вы думаете, что первым придумали, что если изучить что-то самое лучшее — это это будет лучше всего?
А если ж нет — то что, все эти тонны курсов по программированию в мире (включая учебные заведения) либо не хотят денег, либо прям вот никто не знает всех тех условно незыблемых основ, либо почему-то целенаправленно не хотят воспитывать таких абсолютно-актуальных кадров? Или они все сговорились?
Нет, не поэтому. Причина — в макроэкономике. Она так настроена: так называемые «развивающиеся» страны работают в угоду так называемым «развитым» странам.
Крышуется всё фрсом, ЦБ и академией наук вместе с высшей школой экономики.
Порождена она неадекватной наукой — потому и решена может быть только там же.
К примеру, если всех детей учить только телят пасти — то через 2-3 поколения будет стоять вопрос «а что это за железные кареты стоят посредь дорог и больше не двигаются? хотя деды рассказывали, что на этом раньше все ещё и ездили как-то!!!»