Смысл Гостов в чем? Все проекты с которыми я работал великолепно документированы прямо в коде и по этому коду сгенерирована документация с развернутыми примерами. Это позволяет сделать поменяв к примеру функцию или ее параметры получить в один клик новую актуальную версию документации.
Т.е. все решение у разработчика как на ладони. Он видит какие функции, методы и переменные есть в коде. Может автоматом перейти на нужные участки кода и тд. Тут же предлагается какой-то суррогат делать за актуальностью которого нужно отдельно следить.
Я просто сам с гостами много работал и для себя понял их абсолютную бестолковость. В них даже терминологию нельзя адекватную использовать и приходится слова которые запутают любого адекватного разработчика использовать.
Вы программу рассматриваете как что-то статическое и неизменное?
Ок. Вот допустим вы решили сделать рефакторинг, придется переписывать всю гостовскую часть с нуля?
>Старый разработчик ушёл, пришёл новый, ему дали папку с доками, он всё прочитал и врубился в продукт.
Категорически не согласен. Если бы разработка реальных продуктов шла по гостам никто бы вообще ни во что не врубался. Гост это сугубо формальный подход т.е. когда пишут не то что нужно, а то что требует Гост.
За примерами ходить далеко не надо — откройте любой большой проект на github который развивается 5-7 лет и посмотрите как там разработка устроена и документирование.
Искренне сочувствую всем тем кому по этой херне приходится работать. К сожалению результатами Гостофикации ИТ можно только подтереться. За примерами ходить далеко не надо. Можно любую документацию по любому продукту выполненную по ГОСТу посмотреть.
Я никак не могу взять в толк. Ведь фоновая операция (к примеру обращение к БД) должна тоже в каком-то потоке обрабатываться? Где она происходит? В каком-то отдельном потоке? Но кто его создает? И каково количество этих потоков? Ведь у них же тоже должно быть переключение контекста, а значит те же сами блокировки.
При переключении задач процессору же нужно данные от предыдущей задачи сохранить. А перед этим понять в каких регистрах задача данные хранит и их где-то сохранить? Правильно? Где оно сохраняется и как это происходит? Ведь по факту это тоже самое переключение контекста только в миниатрюре.
«Для этого мне пришлось убрать из курса много сложных технических деталей, которые не являются обязательными для понимания принципов работы сетей.»
Зачем?? Фундаментальную базу надо давать максимально развернуто и разжевано. Если человек недоразберется с азами, то более сложные темы он будет с гарантией недопонимать.
Вот вам в пример http://www.atraining.ru/knowledge-assurance/ что люди не режут вендорскую программу, а наоборот дополняют ее материалом, который сам же вендор в погоне за деньгами и массовостью режет.
За обзор спасибо, но честно не вижу смысла сейчас писать с использованием JQuery. Я лично в своих проектах использую исключительно http://vuejs.org/ и крайне сильно им доволен. Пару раз был соблазн ради какого нить модного эффекта прицепить JQuery, но всегда находил нативные варианты. В результате сейчас часто функционал проекта вырастает крайне значительно, а размер увеличивается лишь на 10-15KB.
Vue ИМХО сейчас наверно самая адекватная библиотека для построения пользовательских интерфейсов.
Господи, Skype по-моему все нормальные люди используют лишь чтобы разово созвониться голосом. Во все остальное время пользование им вызывает отврещение, а вы тут про каких-то еще ботов. Тут даже контакты хрен поймешь как ищутся\удаляются.
А кто может объяснить как файберы работают? Как я понимаю они просто не все регистры процессоры загружают и из-за этого переключение контекста быстрее идет?
Что будет если файбер повис. Поток тоже повиснет?
Как вообще очередь устроена. Как программа понимает какие данные для какого файбера предназначены? И ведь нужно еще время на то чтобы нужный файбер активировать.
Даже ключевое слово auto стали использовать для этих целей потому, что оно уже было зарезервировано в Си в тыща девятьсот лохматом году, чтобы обозначать размещение переменных на стеке (в противоположность слову register), но не использовалось в C++ от слова совсем, вот и пихнули свободное относительно подходящее по смыслу ключевое слово. Так что просто повезло, а то сделали бы какой-нибудь __var, и было бы ещё веселее.
Реально проще с нуля новый язык создать, чем это все реанимировать пытаться. D на мой вкус тоже немножко тяжеловат, однако он объективно в 2-3 раза проще пресловутых крестов и код на нем крайне прозрачный.
Это Go скорее между нишами сидит. На D я могу решать куда больше задач чем на Go, при этом код будет местами значительно короче.
У D есть хорошие шансы понемногу занять нишу С++ т.к. Rust слишком низкоуровневый для ряда задач, а С++ слишком растолстели, чтобы на них можно было писать просто и легко. А других альтернатив нет.
Полностью согласен. Я слабо представляю как все это С++ легси поддерживать. Каждая новая версия стандарта добавляет сотню страниц к спецификации языка. Уже сейчас стандарт С++ это кажется что-то около 1500 страниц. Я сомневаюсь что их кто-то осиливает и применяет правильно. Скорее всего большая часть программистов на С++ эту спецификацию даже не читали и пишут как умеют. В итоге код работает не благодаря, а вопреки. А поддержка превращается в ужас.
Т.е. все решение у разработчика как на ладони. Он видит какие функции, методы и переменные есть в коде. Может автоматом перейти на нужные участки кода и тд. Тут же предлагается какой-то суррогат делать за актуальностью которого нужно отдельно следить.
Я просто сам с гостами много работал и для себя понял их абсолютную бестолковость. В них даже терминологию нельзя адекватную использовать и приходится слова которые запутают любого адекватного разработчика использовать.
Ок. Вот допустим вы решили сделать рефакторинг, придется переписывать всю гостовскую часть с нуля?
Категорически не согласен. Если бы разработка реальных продуктов шла по гостам никто бы вообще ни во что не врубался. Гост это сугубо формальный подход т.е. когда пишут не то что нужно, а то что требует Гост.
За примерами ходить далеко не надо — откройте любой большой проект на github который развивается 5-7 лет и посмотрите как там разработка устроена и документирование.
При переключении задач процессору же нужно данные от предыдущей задачи сохранить. А перед этим понять в каких регистрах задача данные хранит и их где-то сохранить? Правильно? Где оно сохраняется и как это происходит? Ведь по факту это тоже самое переключение контекста только в миниатрюре.
Зачем?? Фундаментальную базу надо давать максимально развернуто и разжевано. Если человек недоразберется с азами, то более сложные темы он будет с гарантией недопонимать.
Вот вам в пример http://www.atraining.ru/knowledge-assurance/ что люди не режут вендорскую программу, а наоборот дополняют ее материалом, который сам же вендор в погоне за деньгами и массовостью режет.
Vue ИМХО сейчас наверно самая адекватная библиотека для построения пользовательских интерфейсов.
Что будет если файбер повис. Поток тоже повиснет?
Как вообще очередь устроена. Как программа понимает какие данные для какого файбера предназначены? И ведь нужно еще время на то чтобы нужный файбер активировать.
Rust конкурент С, а не С++.
D единственная прямая замена С++.
Даже ключевое слово auto стали использовать для этих целей потому, что оно уже было зарезервировано в Си в тыща девятьсот лохматом году, чтобы обозначать размещение переменных на стеке (в противоположность слову register), но не использовалось в C++ от слова совсем, вот и пихнули свободное относительно подходящее по смыслу ключевое слово. Так что просто повезло, а то сделали бы какой-нибудь __var, и было бы ещё веселее.
Реально проще с нуля новый язык создать, чем это все реанимировать пытаться. D на мой вкус тоже немножко тяжеловат, однако он объективно в 2-3 раза проще пресловутых крестов и код на нем крайне прозрачный.
У D есть хорошие шансы понемногу занять нишу С++ т.к. Rust слишком низкоуровневый для ряда задач, а С++ слишком растолстели, чтобы на них можно было писать просто и легко. А других альтернатив нет.