Что такое минималистичная архитектура? Только давайте не абстрактными понятиями.
SOLID, конечно, работает, но он не совсем про архитектуру. Если вы в начале разработки неверно проработали (или вообще забили) на performance requirements, и в результате выбрали хранилище данных, которое вам никогда не даст нужной производительности, то цена этой ошибки будет намного дороже, чем если бы вы провели нужный анализ upfront.
А структуру вашего кода для максимальной гибкости вы делаете по умолчанию. И вот тут уже SOLID. Хотя любители KISS и YAGNI и тут вам расскажут, что вы своим SRP чересчур всё усложняете, и «вам это не понадобится» ;)
Мне тоже было скучно в 1м классе (пошел с
It really depends. YAGNI — хороший принцип, когда он не касается архитектурных решений. Отлично работает в стартапах, где быстрая проверка идеи и time to market важнее результата, да и сам результат обычно не слишком сложен. Плохо работает в сложных решениях, где стоимость архитектурной недоработки сейчас станет слишком дорогой потом. Кроме того, YAGNI очень любят девелоперы, не желающие или не умеющие планировать что-то наперед. Сейчас мы быстро что-нибудь бездумно нахерячим, а потом будем разбираться, что там еще планируется сделать. А потом клиент платит за бесконечные переделки, ведь мы не подумали сразу.
Поэтому YAGNI — точно такая же НЕ серебряная пуля, как и всё остальное. Это своеобразная другая крайность big upfront design. А крайности редко когда бывают хороши.
Звучит как будто закончить школу и поступить в ВУЗ в 15 — это талант, который намекает.Я прямо даже не знаю :) Как минимум, это большая редкость, которая свидетельствует либо о неординарности ребенка, либо является следствием внешних факторов (переезды, стремление родителей, и т.д.). Хотя, конечно, медаль на межнаре — это существенно бОльший намёк на талант. В вашем случае как было?
И да, разве тимлид — это талант, а не тайтл?В данном случае я не подразумеваю какой-то особый «талант». Скорее, неординарность, которая может помочь человеку быстрее найти себя в жизни или достичь особых высот. А может и не помочь. Тут как с динозавром, никогда нельзя знать наверняка :)
Я где-то написал, что каждый, кто поступил в вуз в 15, должен стать тимлидом в 19?
Извините, а вы специалист в области искусственного интеллекта? Уверены, что знаете, о чем идет речь в этой работе?
Михаил, я вроде достаточно ясно написал, что надо понять, что подразумевается под «алгоритмическим конструктором» вообще. Задайте вопрос автору работы.
Это научная работа в университете, вряд ли она пока опубликована. Надо у самой Елены спрашивать.
Вы серьезно думаете, что человек не в курсе за ваши монады?
Не пробовали сначала прояснить детали у автора работы, а потом уже делать выводы, тем более такие? Может, там действительно что-то интересное исследуется? А то получается как «Пастернака не читал, но осуждаю».
Это единственный вопрос по сути работы, который у меня есть. Для начала нужно узнать, что именно она вкладывает в понятие «масштабируемый алгоритмический конструктор» с использованием монад. А «искусственный интеллект» там вероятнее всего представлен в виде каких-то Machine Learning алгоритмов, supervised или unsupervised, с помощью которых и составляется алгоритм. Я за последнее время видел столько нестандартных применений ML, что уже ничему не удивляюсь :) Достаточно только посмотреть спектр курсовых задач по конволюционным сетям студентов Стэнфорда, выложенных в онлайне. Там даже обученная модель для игры в шахматы есть, причем с неплохими результатами, хотя 95% остальных применений — это обработка изображений. Просто ребята догадались представить шахматную доску в виде «картинки» 8×8 — и понеслась.
В общем, явного булщита в её теме исследования нет. Есть лишь вопрос, какие именно алгоритмы и для какой финальной задачи она использует. Из темы это неочевидно.
Хотя тут же есть специалисты, которые знают, что это буллщит даже до прояснения материала и прочтения самой работы...
Слышал, конечно. Есть много и положительных примеров. По-моему, неправильно проводить подобные аналогии, Лена же будет читать всё это.
Если вы не понимаете смысл сказанного, это не значит, что там буллщит
Думаю, она сама как-нибудь с этим разберется. Не нужно никого обижать.
А теперь то, что она писала про эту книгу вначале:
В это же время мне попалась на глаза книга по С++. Прочитав первые3-4 главы, осознала, что это и есть то, чем мне будет интересно заниматься. В ней отмечалось, что некоторые операции гораздо легче программировать на С#.
Во втором классе школы я уверенно владела математической программой за 5 лет обучения. Стала интересоваться более сложными вещами, выходящими за рамки школьной программы. В это же время мне попалась на глаза книга по С++. Прочитав первыеА чего вы ожидали от девочки начальных классов? Что она прочтёт и начнёт программировать аки Торвальдс?3-4 главы, осознала, что это и есть то, чем мне будет интересно заниматься.
Вряд ли, если в книге уже упоминался C#
Все вопросы к Елене:
— Во сколько лет начали работать?
— Мой неофициальный опыт коммерческого программирования начался в10-летнем возрасте — разрабатывала сайты, отдельные компоненты, как back-end на С#, так и front-end. Заказчиками были мелкие фирмы и предприниматели.
Нормальный архитект (как и любой опытный разработчик) знает возможности и ограничения инструментов и технологий, которые он использует, поэтому может выбрать подходящие заранее, отталкиваясь от требований к продукту/решению.
А если задумываться о нефункциональных требованиях лишь когда припечёт, то вы потом будете не только хранилище данных менять и проводить масштабные изменения в коде перед самым релизом. Я видел несколько подобных проектов, и ничем хорошим они не заканчивались. Проебанные сроки, команда на овертаймах, недовольный клиент.
Хочу прояснить свою позицию по поводу YAGNI. YAGNI — это хорошо, когда в меру и не используется как отмазка для банального нежелания думать или анализировать и управлять рисками.