Как стать автором
Обновить

Комментарии 93

Так-то оно так, но не очень. Чтобы удовлетворить хотелки так называемого бизнеса, вроде сайтик, магазин, каталог, игруля, приложенька, образование не нужно вообще. Вот совсем. Я без образования прекрасно справляюсь с задачей удовлетворения хотелок бизнеса. Другое дело, что нового я ничего не вношу в наш с вами мирок. Ну вроде нового фреймворка, прости господи, или чего-то более серьёзного, вроде улучшенного и быстрого алгоритма поиска и вот этого всего. Жить-то можно, но как-то не чувствую себя полноценным членом комьюнити. И не из-за того, что у меня бумажки из вуза нет, а из-за того, что по знаниям я реально проигрываю. Но тут даже не вуз нужен, а простое желание опуститься на уровень ниже и начать ковыряться там. Или математикой плотнее заняться. С другой стороны, на позицию фронтендера приходили ребята с образованием, но проигрывали мне в опыте каком-то. Хотя опыта того у меня полгода было. Непонятно, в общем.
Когда я заканчивал университет, технологией будущего, которая решит все проблемы считалась CORBA, а золотым стандартом процессов разработки считался RUP.
Интересно, сколько здесь присутствующих не то, что используют эти «технологии будущего», но могут описать их без помощи Гугла?
Конечно, обновлять образовательные стандарты надо, но гнаться за модными технологиями бессмысленно. Высшее образование должно давать фундаментальные знания, а эти ваши контейнеры можно изучить за месяц максимум параллельно с работой или учебой.
Если они не уйдут в историю за время, пока вы учитесь.
Я могу +\-.
Мы про эту корбу (ничего полезного, впрочем, не сказали) учили в универе в 2012-м, а я её при этом в проде эксплуатировал под парой десятков тысяч RPS =)
(и в общем-то CORBA действительно решала многие проблемы в своё время, только готовить её не умели).

ЗЫ — omniorb.

Дык, претензий к Корбе нет. Но вот по вашему практическому опыту, надо ли было преподавать ее в ВУЗах, и как бы это помогло выпускникам?
Как по мне (кто тоже Корбу юзал в бою), так бесполезное занятие бы было.


А Корба, согласитесь, значительно более серьезная штука, чем новомодные контейнеры о которых плачет ТС

В том-то и дело, что это и подтверждает основную мысль статьи об актуальности знаний в универах, с практической точки зрения корба окончательно вымерла уже к концу нулевых (понятно что последний релиз в 2011 был, но даже на том этапе препарировать труп никому было не нужно, поэтому и перестали собссно), поэтому тем более на 2012 год она имела ценность разве что историческую, а ее на полном серьезе в универах проходят, как оказалось :/ У нас не было ее кстати, но может я и забыл уже…
Это ставит под вопрос основную мысль статьи. Зачем вводить в образовательный стандарт или программу обучения, изначально заточенную на минимум 4 года то, что, возможно, сдохнет до момента того, как студент выпустится?
Условный «матан» живет десятилетиями и веками — преподавать его в пределах 4 лет бакалавриата имеет смысл (сомнительно, что матрицы и афинные преобразования потеряют актуальность за время жизни современного человека).
Условные «контейнеры», возможно, потеряют рыночную ценность за пару лет — нафига их тащить в высшее образование?
Следует видеть разницу между условным «матаном», и отжившими свой век технологиями, как бы грустно бы это ни звучало. Та же корба была изначально мертворожденной, так как очень сложна в реализации. Неоправданно усложнена, я бы даже сказал. Поэтому в плане технологий для реализации API ее заменила SOAP, которая так же имела ощутимые проблемы, поэтому все их заменил REST, что по сути является обычным сайтом на простом и легком в освоении HTTP, и свое API поэтому таким образом поднять может любая домохозяйка. Хотим мы этого или нет, но это постепенная эволюция стека технологий. Но контейнеры и все эти микросервисы — да, пожалуй тот вариант, когда развитие идет явно не туда, но возможно со временем как и во всем появится более простое и эффективное решение, однако учить что-то нужно, и приходится поэтому скакать по всем технологиям, увы, параллельно пытаясь пророчествовать и пытаться оценить эффективность и актуальность текущей технологии в более-менее далекой перспективе, тут как раз и нужна гибкость, что не хватает универам из-за их преподавательского состава. Я даже когда-то сгоряча стал смотреть вакансии в своем универе, хотел даже идти преподавать чтобы типа изменить этот мир, но по зарплатам понял что ноша эта будет непосильной( Так что надо отдать им должное конечно же, но что есть — то есть, увы.

Почему явно не туда? В какой-то мере это и продолжение unix-way и развитие SOLID и т. п.

Нет-нет, я и сам сторонник современных технологий, и как раз и выступаю за их эволюцию, о чем я и писал, под «не туда» я подразумеваю те проходные технологии-однодневки, и те технологии, которые используются явно не для того, для чего они планировались изначально. Статья на Хабре была недавно относительно, называлась «Вы не Amazon», и основная мысль и была о том, что людям кажется что внедрив какую-то технологию как Гугл, они решат все проблемы производительности, однако вся проблема в том, что им не нужно решать эти проблемы, так как в проектах такого размера таких проблем не может существовать в принципе, поэтому нужны ли стартапам такие решения?

А SOLID и KISS все эти на всем можно построить, это просто методологии, а не технологии, мало того, их на всем и нужно реализовывать.
Нассим Талеб вывел интересное эмпирическое правило («эффект Линди») согласно которому для оценки времени жизни технологии нужно продлить в будущее то время, что она уже используется. В 99% случаев это будет верно, потому что большинство новинок вытесняются вскоре другими новинками и только очень немногие закрепляются надолго. Поэтому колесо мы будем использовать ещё примерно 6000 лет, язык С — ещё примерно 50 лет, функциональное программирование — ещё примерно 70 лет и т.д.

Поэтому в институтах нужно хорошо учить историю IT (почти как рассказывают Kevlin Henney, Robert Martin и Alan Key) с именами, идеями, концепциями, а также старые технологии, представляющие собой ортогональный базис главных идей. Из языков нужно учить LISP, SmallTalk и какой-нибудь диалект Algol (например C или Pascal). А специфику подтянуть либо по остаточному принципу на старших курсах, либо на факультативах. А то получается (как говорит Алан Кей) поп-культура, аналогичная тому как если бы студенты-физики не знали кто такой Ньютон и Паскаль и что они придумали. И такие студенты не будут изобретать заново микросервисную архитектуру, потому что будут знать, что ей уже лет 60.
Ну корбу я могу описать, прям вот реально в плане практического применения, но это все исключительно в плане интереса, где-то что-то слышал и загуглил, как и все остальное. К практическим знаниям это вообще не имеет никакого отношения. С остальным полностью согласен.
В самом начале была дельная мысль про то что для разработчика список крайне полезных книг за 10 лет остался примерно одинаковым.
А вот дальше пошло всё наперекосяк. Если говорить о ВУЗе, то это, как правило постановка «базы», то есть чего то такого, что не испортится за один-два-пять лет.
Кроме того, представьте, что хороший годный курс по вашим этим всем докерам и микросервисам нужно довольно долго разрабатывать. Добавим к этому что курс по хорошему должен быть как то увязан с остальной программой и органично в неё вписываться, получим, что готовить программу на пять лет обучения придётся дооолго.
Этого мало. Допустим, вы разработали эту программу. Проблема в том, что закончит обучение студент по вашей мегаметодике со знанием докеров и оркестраторов и тут — опаньки, и в сфере ИТ появились какие то другие технологии, о которых юный падаван не слышал и которые придётся снова осваивать.
Я ещё молчу о том что этими вашими вебсервисами мир ИТ не ограничивается.

Короче, для сиюминутных актуальных вещей должны быть достаточно короткие курсы, может быть в тех же ВУЗах на необязательной основе — для общего развития, так сказать.
А от базового высшего образования отстаньте, пожалуйста, его и так последнее время штормит.
каждому выпускнику университета понадобится еще год сверху, чтобы немного въехать в реальное положение дел в профессии

Уже давно так, причем не только в ит.
Хотите подготовленные кадры сразу после выпуска — берите на работу старшекурсников (3-4 курс), пока доучиваются, практику проходят и диплом клепают вьедут в нужную предметную область.

Университет (настоящий) не готовит кадры для компаний, в которых надо писать на Rx. Он готовит кадры для компаний, которые решают проблемы без существующих решений (или с новыми требованиями к решениям). Матан — инструмент, которым можно мир исследовать, и наисследованного уже порядочно, а будет ещё больше.

Почитайте повесть Азимова «Профессия». Тем, о чём Вы пишете, должны заниматься среднеспециальные учебные заведения. В этих заведениях по определению нет ничего плохого, они учат делать полезные в народном хозяйстве вещи, просто эти вещи не требуют знания матана.

Что до оркестраторов с микросервисами, скоро и на них мода пройдёт. Человек, который понимает в устройстве компьютера, разберётся с новой модой, а вот усвоивший про это всё с «ленты» — надо посмотреть.

Да и каким бы конкретным технологиям не научили в вузе — всё это протухнет быстро и решительно, потому что учиться 4-6 лет, а работать потом 40 лет. Если в ИТ не учиться постоянно и по ходу дела, то не сможешь работу выполнять, ибо молодое там всё и быстро меняется.
Вы предлагаете подготовить одного учёного для науки и тысячу ПТУшников для бизнеса? Так не получится.
1. Далеко не каждый человек с высшим образованием в итоге становится учёным, и нельзя заранее сказать, кто именно «выстрелит».
2. Многие научные работы были сделаны в процессе решения вполне практических задач. Если не учить студентов решать практические задачи, то их просто не возьмут туда, где они могли бы заниматься наукой.
Нет, автор такого не говорил.
НЛО прилетело и опубликовало эту надпись здесь
Ну вот вы и сделали рыбу на тему относительно нормальной статьи на тему «что не так с нашим IT» :-)
Хотя у меня есть определенные вопросы к данной повестке, вцелом я согласен.
Появляются лишь новые инструменты для старых задач. Много хороших книг и документов хоть двухтысячных, хоть девяностых, хоть семидесятых свою актуальность не теряют и сейчас. (И они по сей день остаются сильно полезнее статеек на Хабре)

> весь мир уже запускает асинхронный код двух сотен своих микросервисов в контейнерах под кубером и хранит все свои данные в кассандре.

Чем это принципиально отличается от десятка потоков на джаве в голой системе и данными в Oracle, кроме необходимости документацию загуглить?
Далее просто опыт работы с инструментами и углубление в детали, это не нужно на уровне студентов в вузе.

Проблема наших образовательных учреждений в крайне низком уровне преподавателей, а с хорошими преподавателями не было бы особой разницы, лиспу они научат или джаваскрипту
Появляются лишь новые инструменты для старых задач


И это прекрасно.

Чем это принципиально отличается от десятка потоков на джаве в голой системе и данными в Oracle

Отличается принципиально механизмом ввода-вывода и доступа к данным/
Всё потому что университет, как площадка для будущих кадров в компаниях, в своем преимуществе, не готовит студентов к работе где-то помимо собственной кафедры

А к работе где университет должен готовить? В Яндексе? Росатоме? ЦЕРНе? Амазоне? Компании, которым нужно учить под свою специфику, стек и т.д. — свои кафедры и открывают.


Со стороны преподавателя, использование популярного языка плохо тем, что:


  • надо с нуля писать каждый год программу под то, что модно в этом сезоне
  • всё равно через 4 года мода пройдёт
  • у студентов через 2 года курс по численным методам, знание JS и Electron им сильно поможет, да
  • задания будут сдавать с использованием всего синтаксического сахара, какой смогут только накопать в интернете
  • а алгоритмы в итоге так знать и не будут

Кроме этого, от языка хочется понятных (студентам!) сообщений об ошибках и простой среды разработки, которую не нужно ещё месяц настраивать, чтобы только начать что-то делать. Парадоксально, но получается, что на младших курсах лучше всего будут специальные учебные языки, которыми в кровавом энтерпрайзе вообще никто не пользуется. А потом, по-хорошему, нужно уже выбирать специализацию, и пускай кому надо учат Fortran и не мешают другим учить Python.

Тот факт, что подобные статьи появляются и при этом их кто-то плюсует, говорит о другой проблеме:


У абитуриентов сформированы ожидания, которые не соответствуют реальности.

Из за этого люди поступают в универы, 4 года осваивают дисциплины непонятного (для студентов) назначения и внезапно после выпуска осознают, что одной учебы в университете мало.

НЛО прилетело и опубликовало эту надпись здесь
ярковыраженная закономерность — поступил в универ, значит с достаточно большой вероятностью ты заработаешь сильно больше чем если бы не поступил

Как вы эту закономерность пронаблюдали?


Почему вы думаете, что исследование американского университета релевантно для РФ?

НЛО прилетело и опубликовало эту надпись здесь

Если учесть, что ВО не требуют на низкооплачиваемой простейшей работе, то принцип "закончил универ — будешь получать сильно больше (чем разнорабочий на стройке, кассир в супермаркете или фастфуде, курьер на доставке)" действительно актуален.


Вот только далеко не везде, где требуют ВО, оно реально нужно для выполнения обязанностей.
При этом там, где обязанности реально сложные, то смотрят уже не на образование, а на навыки.
Я наблюдал, как люди без вышки, со среднеспециальным образованием, руками и головой устраиваются так что получают выше средней по России.

Ну, скажем честно, эта закономерность, увы, наблюдаема, и даже многими людьми уже осуждаема (даже в тех же Штатах).
Если нужны исследования по РФ, то это неплохо гуглится тоже — тренд очевиден: www.rbc.ru/money/30/07/2015/5615461d9a7947095c7dc432
а почему осуждаема?
Где-то видел хорошее видео на эту тему, но не найду, так что перескажу своими словами (если что — речь шла про Штаты, так что надо сделать скидку на их реалии, но в реалиях РФ тоже имеет смысл):
1. Статистика, что люди с высшим образованием получают больше, чем люди со средне-специальным появилась уже давно и действительно отражала реальность (образование вообще было малодоступным). Да и сейчас это так, если посмотреть статистику, но об этом ниже.
2. Логично, что люди потянулись туда, где бабло, т.е. стали стараться получать вышку.
3. Естественно, что такой поток масс не остался без внимания бизнеса и политики. Бизнес начал раздавать кредиты на высшее образование, а власти (под давлением общественности, которая просит всем бесплатно и вышку) начали спонсировать эти кредиты (в случае США, в случае РФ закупают бюджетные места напрямую, ЕМНИП).
4. ВУЗы тоже не богадельни — они начали вести борьбу за «эффективность», причем под ней понимается большее количество студентов (ибо студенты это деньги), а не качество подготовленных специалистов.
5. Качество дипломников падает, а количество растет. Бизнес эту фишку просекает, и при выборе спецов делает следующие два хода конем:

5.1. Требование ВО даже там, где нафиг не надо. Ибо выпускников и так много, но сам факт, что долетел до диплома хоть какой-то, да фильтр против мудаков. Что порождает замкнутый круг в требовании человека получать ВО даже там, где нафиг бы его и не надо
5.2. Обесценивание диплома, как показателя уровня знания специальности. Отсюда проблемы с трудоустройством выпускников без опыта (диплому не верят, верят опыту -> чтобы получить опыт надо устроится на работу -> чтобы устроится на работу нужен опыт).

6. Ну, это больше про реалии США, но у нас такое тоже намечается. Проблема с образовательными кредитами. Как я уже выше сказал, обучение становится дорогим, для него берут кредиты, потом надо с ними расплачиваться. А работу найти получается не всем (по вышеперечисленным причинам). Становиться банкротом лет в 25-30, наверное, ок для биржевого брокера. Но вот для простого, пусть и неудавшеговся, инженера…
НЛО прилетело и опубликовало эту надпись здесь
Увы, замкнутый круг — если делать что-то доступным, то это теряет ценность.
К тому же я предполагаю, что частично может быть связано со всякими левацкими движениями и квотами (для США отдельно больная тема сейчас — Трам-пам-пам случился, к сожалению, не на пустом месте).

А вот как восстановить ценность простого труда, где не требуется матан, но нужны навыки или социальные отношения — ХЗ. А ведь именно токари, которые смогут выточить любую деталь на глазок по рисунку, и медсестры, которые смогут вколоть нужное вещество в вену будут востребованы как сейчас так и после очередной революции автоматизации/атомной войны/зомби апокалипсиса.

Но токарь 6 разряда это «не вышка», так что… эх…

Простой труд на то и простой, что для его освоения не требуется глубокого обучения.
Вот только ни медсестра, ни токарь не являются примерами простого труда.
Высший матан, например, не требуется водителям такси или кассирам. Вы готовы платить им больше?
Дальше действует закон спроса и предложения. Если есть много специалистов простого труда, то оплата их услуг будет снижаться. Кого это не будет устраивать, те сменят квалификацию. Если специалистов не будет хватать, то их оплата будет увеличиваться.
В СССР это регулировалось в плановом, приказном порядке и можно было проконтролировать высокую оплату труда простых рабочих. Правда говорят, что больше денег не всегда значило больше благ. На первый план выходил доступ к дефициту, который был не у всякого рабочего.

В каких местах конкретно?
Текст ни о чём.

Надо знать что и как учить, тогда информация будет не устаревать, а накапливаться.

За любой технологией (контейнеры, асинхронщина, новые ассемблеры, новые ЯП, что угодно ещё) стоят более абстрактные (базовые) принципы (шаблоны, математические зависимости, физические законы в конце концов). Вот последние надо запоминать и учить, тогда трендовые технологии будут ложиться на мозг быстро и без особых проблем.

Вот написано в заголовке:


Что не так с нашим IT

Три раза прочитал текст статьи, ответа не нашел. Так и задумано?

там в конце написано же:
разработчики не виноваты — людей не хватает.

Конец.


наверно, автору хотелось бы, чтобы ИТ было не таким, а другим (и разработчики были в чем-то виноваты), но что есть то есть.
НЛО прилетело и опубликовало эту надпись здесь
Про ВУЗы это бред.
Я учился в захолустном филиале вуза, и знаете что, я не пожалел об этом. В вузах преподают не только программирование, но и другие важные для IT предметы которые не меняются полностью за год: матан, физика, экономика, статистика.
Да, нам не преподавали ни Котлин которого тогда в принципе не было, ни Python3 который тогда был ещё 3.3, линукс показали один раз только, JS был на смешном уровне в школе с другом на таком уровне игрались, а уж без слёз на Visual Basic взглянуть нельзя было.
Но знаете что, мой диплом был сайт на Django ещё он кажется только только перешёл на 3 питон и ещё нужен был South, может ещё даже на втором питоне пришлось делать.
Кем я сейчас работаю? Правильно Python Backend Developer, может не на супер крутой должности в Яндекс, Гугл или Майкрософт, но получаю довольно неплохо. И вуз мне в этом помог, матан и статистика мне пригодились.
И то что нам преподавали программирование так тоже не помешало, на VB и JS я не ходил в принципе, договорился что просто в конце года принесу лабы и изучал всё сам.
В освободившееся время я изучил Линукс, Python так как мне показался этот язык интересным, JS лабы постарался сделать если не на современном уровне с реактивностью, то хотя бы с JQuery который был в то время распространён. Я изучил это сам и учился учится без ВУЗа в этих направлениях, потому что знал, что какая бы хорошая программа не была она через год устареет.
Когда пришло время писать диплом я просто пришёл к руководителю и сказал: мне нравится вот такой-то язык и такой-то фремворк для того чтобы сделать сайтеги. Что мы можем сделать чтобы оформить это в диплом? Набросали пару планов и я сделал диплом сам.

Идея в том, что у умных студентов в IT специальности нет иллюзий о том что они выйдут на уровне Junior Developer, но есть понимание, что программирование вытянут сами, а вспомогательные дисциплины получат академическим путём.
Проблема в том, что Вы изучали нужные вещи не в рамках вуза, а в свое свободное время или в рамках проектной работы. Вычеркните вуз и практически ничего не поменяется. А меж тем, учеба в вузе стоит огромных денег. И не надо говорить про бюджет, абитуриенту он обходится бесплатно, а вот государству влетает в неслабую такую копеечку. Подумайте, стоит ли Ваше обучение какие-нибудь полмиллиона рублей (я уж молчу про пять лет жизни)?
> Идея в том, что у умных студентов в IT специальности нет иллюзий о том что они выйдут на уровне Junior Developer, но есть понимание, что программирование вытянут сами, а вспомогательные дисциплины получат академическим путём.
Да даже не только у умных, иллюзии о том, что вуз готовит специалистов внутри себя, есть только у родителей этих студентов.
То есть, основное студент должен выучить сам, а вспомогательное ему даст вуз. Вам не кажется, что должно быть наоборот? И что вспомогательное хорошо бы получить все-таки тоже в вузе, взяв интересующий предмет по желанию?
Вы конечно можете не жалеть об учебе. Но это не говорит о пользе полученных там знаний.
Не так страшно, то, что в институте дают устаревшие методы, как то, что в оторванной от реальной жизни институтской среде рождаются преподавательские химеры, противоречащие самое здравому смыслу. В конце девяностых мы работу процессора изучали не на Ассемблере, а на изобретении чокнутого препода — PC-эмуляторе класса УКНЦ «Е-97». И сдавали по нему зачеты. По три захода. Со сменой экзаменационной комиссии.
УКНЦ «Е-97»


А я на нем (железном) постигал азы программирования и сетей связи. Для своего времени был просто отличный комплекс. Совершенно заслуженно носивший имя «Учебный Класс — Научный Центр». До массового распространения интернета оставалось еще как минимум пять лет, а об аналоге встроенного монитора-отладчика мог только мечтать начинавший набирать популярность спектрум.
В начале-середине девяностых? Я с ним не работал, но слышал про него хорошие отзывы. Но у нас дело было в конце девяностых, когда железный УКНЦ уже давно и прочно умер. Как и большинство отечественных высоких технологий.
Занятно. Не скажу, что статья не интересная или в корне не правильная. Но мне кажется, что уж слишком странный подход. Мне почему-то кажется, что проблема не в технологиях. Просто начинать программист должен не с JAVA, Python'а и прочего, а с ассемблера (хоть и микроконтроллерного) и классического C максимально к нему близкого. После такого старта любая высокоуровневая технология будет браться легче, а низкоуровневая база позволит более уверенно видеть сильные и слабые стороны любой технологии.

Кубики — это хорошо. Но сложно возвести величественный собор не имея представления о характеристиках стройматериалов. Увы, низкий уровень сейчас не в фаворе. Мой любимый вопрос всем приходящим на должность программиста звучит так: «Какой узел по Вашему главный в процессоре?» Чего только я не слышал в ответ, но вот тактовый генератор пока не назвал никто. А люди идут на должность низкоуровневых программистов, практически на стыке со схемотехникой. За то все активно использовали HAL, FreeRTOS, ASF и прочие «кубики». Приходится переучивать.
тактовый генератор пока не назвал никто.

А почему не система сброса? Почему не декодер опкодов?
Вообще я систему тактирования и сброса воспринимаю не как часть, а как отдельное измерение пространства, поэтому я бы точно так же споткнулся на вашем вопросе. Он неочевидный

Потому что обе названных вами подсистемы зависят от тактирования. Сброс в меньшей степени и не везде. Но он и не работает непрерывно. А уж декодер точно не будет жить без системы тактирования. Главнее только питание. Его, кстати, эпизодически называют. Правда, следом за ним почему-то ставят конвейеры команд.

Впрочем, если бы Вы сказали система сброса — мы бы сработались.
НЛО прилетело и опубликовало эту надпись здесь
Тогда уж более базовое — цепи питания самые главные.

С другой стороны, простые процессоры не имеют тактового генератора, а получают тактовый сингал снаружи. Поэтому ответ не всегда верный (без указания конкретного процессора).

Ещё можно подумать о процессорах, в которых части взаимодействуют асинхронно, и в каждом блоке свой тактовый генератор.
Про питание — абсолютно верно. А вот остальное — под большим вопросом. Увы, полностью асинхронные процессоры мне неизвестны. Даже как «сферический конь в вакууме». И даже самый простой процессор не будет жить без тактирования. Примерно тоже и про второй вариант. Кстати, был бы рад наглядному примеру такого процессора.
Поясню аргумент про «самый простой процессор».
Если тактовый сигнал подаётся извне, то тактовый генератор не может быть ответом на ваш вопрос «Какой узел по Вашему главный в процессоре?»

Открыл даташит на Pentium4 и нашёл несколько пинов для входа тактовых сигналов. Внутри процессора может находиться умножитель входной частоты, но генератором его назвать будет технически неверно?
Знаете, а Вы усложняете.

В моем понимании, главная часть системы тактирования, это тот сигнал, который за инкремент указателя команд отвечает. Он и только он. Остальное — не обязательная периферия, а без него никакой код выполнятся не будет. Даже без правильного сброса будет — с неизвестного места, но будет. А без этого такта — абсолютно любой процессор с абсолютно любой программой не более, чем гора бесполезных транзисторов и конденсаторов.

Ну, а тот факт, что генератор внешний совсем не сказывается на его важности с точки зрения процессора. Если на то пошло, то тогда и питание как ответ рассматривать нельзя. Уж оно-то абсолютно точно внешнее.

спор напоминает фильм пила :)
А по факту чего бы у процессора не отчекрыжили — работать он после этого не будет, так что главное — все.

Увы, мой профиль не позволяет поставить плюс. На самом деле тут интересны рассуждения и выводы. Как правило, вопрос ожидаемо вгоняет в ступор и я прошу не дать четкий ответ, а порассуждать. Соседние комментарии очень любопытны. Именно тем, что они раскрывают представление людей о теме. Один только асинхронный процессор чего стоит.

Один только асинхронный процессор чего стоит.
Сдаётся мне, что современные процессоры не являются полностью синхронными автоматами. Это просто невозможно — тактовый сигнал на огромной частоте 4-5GHz не может одновременно прийти на все узлы, ещё учитывая что в некоторых случаях он должен пройти через несколько логических элементов — просто невозможно иметь такую огромную полностью синхронную схему, работающую по единому тактовому сигналу.
В моем понимании, главная часть системы тактирования, это тот сигнал, который за инкремент указателя команд отвечает. Он и только он
Обалдеть, какое у вас интересное представление о тактировании. Как по мне, указатель команд связан с тактовым генератором не сильнее, чем любой другой регистр. Инкрементироваться он может не по единице (и это как правило), много тактов может вообще не меняться, а то и прыгать в разные стороны, не только увеличиваться. Этот регистр управляется микрокодом, как любой другой регистр, ничего в нём особенного нет.

Значит микрокод для Вас — черный ящик. А как быть с контроллерами, в котором его либо нет совсем, либо он жёстко фиксирован? Что до измения указателя команд командами переходов и вызовов, то далеко не каждая команда является таковой. И, соответственно, далеко не каждая изменяет этот регистр напрямую. Подавляющее большинство команд позволяет ему быть инкрементированным именно сигналами тактовой частоты.
На самом деле предлагаю завязывать с оффтопиком. Хотя, конечно, интересно. Формат ответа на комментарий, который должен быть кратким, заставляет формулировать мысль предельно сжато. Увы, временами получается сильно в ущерб сути.
Но, пожалуй, стоит согласиться с тем, что мой любимый вопрос может оказаться не совсем корректным. Это надо учесть. Второй вопрос, как правило, звучит так: "расскажите, что происходит с процессором сразу после снятия сигнала сброса, если все питания, такты и прочее наличествует". Думаю, что тут претензий не будет.

Думаю, что тут претензий не будет
Вы ожидаете ответ на примере какого процессора? С точки зрения программиста самое важное — каким значением инициализируется указатель инструкций и (если есть) регистры MMU, управляющие регистры, определяющие режим работы (например, real или protected для x86). Все эти особенности на разных архитектурах разные. Поэтому вопрос тоже некорректен. Либо вы хотите услышать что-то другое, но стоило это явно сформулировать в самом вопросе.

Я бы взял вас. Испытательной работой была бы одна из отложенных задач.
Возможно, Вы и очень хороший программист, но умение находить и вычленять похожее в разных сущностях — тот навык, который Вам однозначно стоит прокачать.

Мне вот было легче двигаться сверху вниз: в универе лекции по Си были не особо понятны, потом прочитал SICP и как-то щёлкнуло, что примеры на Си — это представления таких-то абстрактных алгоритмов, где данные организованы таким-то образом. А сходу реально не получалось отделить абстракции от конкретной реализации.


Т.е. с точки зрения обучения, может быть, имеет смысл даже начинать двуязычно. Один язык — высокоуровневый, грубо говоря, псевдокод, но которые тем не менее может исполняться компьютером. Второй — тот же Си: мол, а теперь вот эту же вещь реализуем близко к железу.

Слово «главный» имеет мутное значение. Узел А зависит от узла В — это просто и понятно. А какой узел — главный, неизвестно. Нет объективного критерия «главный». Этого они не проходили. «А теперь изучим главный узел процессора». И в учебнике не написано «главным узлом процессора является тактовый генератор». Не вопрос, а издевательство.
Т.е. Вы считаете, чт люби, идущие на должность системных программистов не должны уметь находить узлы с минимальными внешними зависимостями? Впрочем, я уже писал — я подумаю над тем как переформулировать вопрос. И еще раз — важен не конкретный ответ (особенно если его нет), а ход размышления. Или умение грамотно обосновать свои ответ. А не просто «мне так кажется».
«Какой узел по Вашему главный в процессоре?»
«Какой узел в процессоре по Вашему имеет минимальные внешние зависимости?»
Второй вопрос понятнее. Непонятно, что имеется ввиду под словом «главный».
Какой кирпич в стене самый важный (или самый главный — в данном случае не принципиально)? По-моему вполне очевидно тот, после удаления которого стена развалится. Разве нет? Конечно, стена ценна как монолит и каждый кирпич важен. Кто ж спорит. Но умение видеть «главный кирпич», т.е. узкие и особо ответственные места, что в коде, что в железе — очень полезно.

Так и просите называть узкие места, а не главные. Как по мне главный узел в процессоре — АЛУ, узел непосредственно исполняющие команды. Все остальные работают на его обеспечение. Процессор без тактового генератора в принципе представить можно, а без АЛУ непонятно зачем он вообще нужен.

Я вынужден напомнить — я подбираю не прикладных программистов. Им эти вопросы в принципе не нужны. Хотя, мое мнение, и им неплохо бы иметь представление о том на чем работает их программа. Я набираю системщиков, авторов прошивок встраиваемых систем и драйверов. А тут все совсем по другому. Задача решается методом сверху вниз, а проблемы обнаруживаются и решаются методом снизу вверх. И таким образом тактовый генератор первым оказывается под подозрением. Сразу после питания, конечно. И кода это тоже касается.

P.S.
И да, запорный кирпич в арке важен — без него арки не будет. Но и без фундамента тоже. Еще раз — ценен не ответ. Ценен ход мысли.
Всё потому что университет, как площадка для будущих кадров в компаниях, в своем преимуществе, не готовит студентов к работе где-то помимо собственной кафедры


Университет — это не площадка для будущих кадров, а место где человек получает учёную степень. В университете слушателям читают курс «алгоритмы и структуры данных», который одинаково применим для всех реализаций языков программирования под машины Фон Неймана.
Потому что надо искать работу по специальности на 3 — 4 курсе. Стажировку, реальную, а не для галочки или прямо настоящую работу.

Смотреть hh и мой круг, смотреть что надо в вакансиях, ходить на собеседования, учить нужное.

Потому что этим всёравно придётся заняться, после окончания института, только в совсем другой обстановке. Не будет стипендии, ожидания будут совсем другие, да и статус другой не «любознательный и активный студент», а «молодой специалист, который ничего не знает».
Университет и не должен учить контейнерам, кассандре и AWS. Университет должен научить человека учиться и искать пути решения для задач, которые еще не решены кем-то до вас. А выучить новый фреймворк или технологию\язык можно за месяц.
Я знаю ребят, те что хотят, уже работают с третьего-четвертого курса по полной… У них к выпуску уже отличный бэдграунд.
У меня в компании студентка первого курса магистратуры разрабатывает мобильное приложение. А студент, с которым я работал три года назад недавно поехал на собеседование в Фейсбук. Так что всё в ваших в руках, дорогие выпускники и предвыпускники. А начинать изучать программирование на первом курсе, по сегоднешним меркам — уже поздно.

Сегодня столько открыто возможностей: Школа данных от Майкрософт, Программы летней стажировке в Гугль, разные обучающие мероприятия от Яндекс, МаилаРу (технопарк)… Учись — нехочу.
Слушал подобное от медиков: Сначала 5 лет учёбы, потом ординатура/интерантура, а потом — ещё минимум год ходить мыть палаты и в лучшем случае — подавать инструменты на операции днём и напиваться ночью в шоке, потому что привозят самоубийцу — неудачника или любителя больших скоростей в формате «смотри-ка, этот фарш ещё и дышит»
И да, тоже выходят новые технологии, а тебе приходится использовать legacy-инструменты, потому что оптимизация здравоохранения. Или экстренно осваивать какую-то новую непонятную штуку, купленную за большие деньги.
По-моему, так везде — тебя учат основам, азбуке, слогам и чтению — а дальше сам. Нельзя объять необъятное.
Автор описывает что-то странное.

Нужно понимать, что IT имеет много направлений. И в каждом работают свои специалисты.
Каждому не нужно знать всё, но необходимо знать свою сферу ответственности.

В институтах такому физически не смогут обучить, т.к. тогда на каждое направление нужен свой курс, своя программа, свои преподаватели.
Даже если бы захотели все охватить — не смогут, даже преподавателей не найдут. А вести такой курс человеку, далекому от того, что он преподает — так себе затея.

Затея учить всему плоха еще и тем, что IT — живая, динамично развивающаяся область.
Приходят новые технологии, идеи, принципы. Многие направления сегодня и 10 лет назад — сильно разные вещи.

К такому подготовить нереально, сегодняшние специалисты — не продукт обучения, а продукт самообучения.
Они сами пробовали себя, сами искали свою нишу, сами добирали недостающие знания.

От институтов, как всегда, требуется только дать базу, хорошую крепкую базу для самообразования. Специализированные знания нужно добирать самостоятельно, многие это во время учебы делают, чтобы время не терять.
И так было всегда, по-моему. Просто кто-то считает, что его должны обучить всему.

Математика в IT редко где нужна, и почти все можно освоить со средне-специальным образованием, как и говорит Автор.
Но в институтах математику преподают. Если не нужна будет — хорошо, а вот если окажется нужна — со средним образованием человек такую отрасль уже не потянет, базы не хватит.

Также и с остальным. Много не нужных предметов, но когда они оказываются нужны — ты приехал.
полностью соглашусь. И добавлю к началу комментария, что студенту это тоже нереально переварить. В итоге будет куча оторванных от практики лоскутов знания из разных областей, которые забудутся за неиспользованием сразу после экзамена.
НЛО прилетело и опубликовало эту надпись здесь

На первый взгляд ничего из рассматриваемого нам в вузе не давали. Давали, навскидку:


  • интегралы и диффуры
  • матрицы
  • ряды
  • немного численных методов (без всякой привязки к компьютерам, может несколько человек в группе понимало что оно применимо)
  • теорвер и матстат
  • немного операционного исчисления (и вроде вообще то ли на электронике, то ли на управлении)
  • что ещё…

100% ничего не было про категории, типы, лямбды и функторы.

Закончила первый универ в 2010. По тому опыту подтвердила бы слова автора.
Закончила второй универ (магистратуру) в 2018: давали python3, hadoop etc. Давали в том числе люди из индустрии. Вуз не московский, а тем не менее. Так что тут многое зависит от.

Ну и имхо. Все мои знакомые разработчики (о ком мне известно) начинали работать в индустрии еще в годы учебы в универе. У нас работали процентов 70-80 группы уже курса со второго. Так что к моменту выпуска почти ни у кого не было проблем с вакансиями, где «требуется до 20 лет, но чтобы опыта было несколько лет».

Без решения задач для индустрии никакое преподавание самых новых фреймворков не даст большого эффекта. Эти технологии будут просто оторванными от практики в головах.
Искренне сочувствую студентам, обнаружившим однажды, что их знания устарели еще до того, как они поступили в университет.

И тут я вспоминаю слова Боба Мартина во вступлении в его «Чистую архитектуру», что основные принципы построения ПО не изменились со времен 70-х годов.

А так — мне всегда очень грустно смотреть, как люди, которым за 10 + 5 лет в голову вложили знания, к которым человечество шло всю свою историю, жалуются, что им положили недостаточно. То есть куча людей все эти знания нагенерировала, потом другие люди сели и подумали, как эти знания лучше нарезать, скомпоновать и объяснить, выстроили учебный процесс. А потом студент сидит и сетует, что 4000 лет истории науки и инженерии ему в голову вложили за пять лет, а ему все равно придется потратить дополнительный годик на то, чтобы актуализировать свои знания.

понадобится еще год сверху (или во время обучения в вузе, такое бывает часто), чтобы немного въехать в реальное положение дел в профессии, подучиться, найти работу и как-то влиться, хотя бы, в задачи на легаси-проектах.


Для того, чтобы у студентов знания не расходились с реальностью, придумана такая вещь, как производственная практика. Где студент приходит к живым людям, работающим по этой специальности, и они в основном на личном энтузиазме рассказывают человеку, как ему начать свою карьеру как специалисту, показывая это на живом производстве. На энтузиазме — потому что все мы знаем, что джуниор приносит мало пользы, но съедает много времени.

Просто к сожалению, эта производственная практика в наших вузах не такая принудительная, как, например, у медиков, которым все равно приходится идти в поля, в ординатуру/интернатуру, и смотреть, как это все вживую работает. Но медиков никто не спрашивает, хотят они или нет, а среднестатистический студент имеет выбор, и поэтому воротит нос, когда ему говорят, что ему помимо университета надо будет куда-то ходить, кого-то слушать и что-то делать, начинает воротить нос и жаловаться, что платят ему мало, и за такие деньги он ничего делать не хочет.

Как выше уже правильно сказали, у студентов, которые начинают работать на 4-5 курсах, хотя бы летом, хотя бы полдня, этот самый разрыв между теорией и практикой к моменту выпуска исчезает, и они стартуют с куда лучших позиций. Иногда с позиций мидлов с годом опыта. И зарплатой в 2-3 раза выше, чем у их безалаберных сокурсников.

А вот ребята, которые все пять лет студенчества полдня проводили в университете, а полдня наслаждались свободным временем, к выпуску из университетов начинают заводить ту самую байку про «на работу без опыта не берут, а чтобы получить опыт, надо устроиться на работу, на которую не берут без опыта». В то время как их однокурсники уже прошли вторую практику на предприятии, написали курсовые и дипломные работы по своей фактической работе и не имеют проблем ни с опытом, ни с практическими знаниями, ни со сдачей дипломов — по слухам, если к диплому прилагается справка от руководства предприятия о том, что описанное в дипломе уже нашло применения в производстве, то защита диплома проходит в полуавтоматическом режиме.
Не скажу про другие универы, но у нас есть деление на научные и инженерные дипломы. Для инженерных дипломов акт о внедрении строго необходим, и защищать их нужно наравне с научными.
Все вспоминал, как эта штука называется формально. Да, точно, акт о внедрении.
Защищать-то действительно приходится вместе со всеми, но я скорее о том, что обычно комиссия намного лояльней к тем, кто принес этот самый акт о внедрении.
С другой стороны, те, кто его принес, как правило, действительно знают тему диплома и не плавают в ней. Так что, ничего удивительного.
Мне этот пост больше показался нытьем. Если реально разобраться, то во всех науках так. Ты можешь стать космонавтом, и будет тоже самое. В универе ты будешь изучать какие-то основы и азы. Но в итоге тебе потом еще понадобиться много времени, чтобы осязать что-то современное.
Писать посты в стиле «чтобы научиться чему-то, то потом еще надо учиться» — в 2019 году не должны иметь право на жизнь. Хочешь развиваться и быть лучшим, не останавливайся в учебе. Только профессии, которые можно изучить за 1-2 дня не не имеют больших перспектив (кассир в маркете). А работа над тем, чтобы соответствовать рынку — нормальный процесс.

Перед тем, как что то начинать, надо исходить из желаний и потребностей. Программирование лучше изучать на основе своих пожеланий. Я забросил изучать до того времени, как только получил тот уровень который мне необходим. Но и все равно, стараюсь держать себя в тонусе.
Вот сейчас я создал сайт за 2 месяца — . Безусловно больше всего времени ушло на SEO оптимизацию, которую я вовсе не знал и не учил. Нашел актуальные книги, и понеслась…
Учитесь и развивайтесь! Уверен получится.
Какой у ВУЗа продукт? Специалист.
Кто потребитель продукта ВУЗа? Бизнес.
Кто платит ВУЗу? Студент или бюджет. При этом студенты очень часто доплачивают чтобы их хуже учили.
При такой схеме ВУЗу пофиг как и кого учить.

Да оно, тащемта, так и работает, по моим наблюдениям.


Бизнесу нужны студенты вуза — бизнес вешает в вузе объявления о стажировках, проводит какие-то очные семинары для привлечения студентов. Студенты понимают, что хотят в серьёзный IT — они идут на эти стажировки и семинары.


Как тут уже заметили, вполне нормальный аналог советской "производственной практики".

НЛО прилетело и опубликовало эту надпись здесь

Не совсем пофиг — репутация падает и студенты перестают платить. Про бюджет отдельный разговор вообще. Как по мне, то обучение на бюджете должно быть исключением, а не правилом.

Так уж и перестают? Если в областном центре один ВУЗ nГУ, один «политех» и несколько «академий» типа юридических-сельскохозяйственных-экономических, они друг с другом не конкурируют, профили разные. И основной массе студентов деваться некуда — в другой город влом ехать, а просто так сильный конкурент в городе не появится.

Довольно много студентов за вышкой едут не то, что в другой город — в другую страну. Например из бывших союзных республик.
Так что те, кому влом куда-то ехать так и будут мхом порастать

А в процентах — сколько? Достаточно, чтобы местный ВУЗ зашевелился? Я думаю, нет.

Данные брал у минобра: https://minobrnauki.gov.ru/ru/activity/statan/stat/highed/
Сведения за 2018 учебный год. На сайте скачал архив, затем открыл СВОД_ВПО1_ГОС.xls и смотрю в нем вкладки Р2_12(1), Р2_12(2), Р2_12(3)
"Распределение численности студентов, приема и выпуска по гражданству"
по программам бакалавриата численность студентов гражданства РФ 2438147, иностранных граждан всего 135919. Иностранных от общего числа 5.2%
специалитет граждан РФ 639156, иностранных граждан всего 55784. Иностранных от общего числа 8%
магистратура граждан РФ 488984, иностранных всего 24319. Иностранных от общего числа 4.7%

Это немного с другой стороны. Жаль, нет статистики по иногородним.
Иностранцы бы всё равно приехали.

Интересно отношение уехавших из областного центра в другой город к оставшимся. Вот за этот показатель ВУЗы могли бы шевелиться.

Можно поискать статистику по занимаемым общежитиям. Их обычно дают либо иногородним, либо иностранцам.

По сути статья о том что за все это время нифига не поменялось.
В статье полное непонимание целей и различий университета/института/ПТУ. Университет — это принятие архитектурных решений перед проектированием решения(продукта), в данном случае продукт — это студент. На данном этапе фиксируются решения только по архитектурно значимым и медленно изменяющимся требованиям. Это же касается и курсов в университете: они должны передать студентам широкий спектр знаний, актуальность которых медленно изменяется со временем, но сильно влияет на общие навыки, такие знания называются фундаментальными.
Университет не даст хотя бы базовых знаний новых технологий, но он положит базу, так необходимую для обучения в режиме «верхом на джетпаке». Я учился и в ПТУ и в Университете, и поверьте мне, в ПТУ максимум чему научится программист — это писать простейший SELECT на SQL в MS Access, я гарантирую, что учеба в ПТУ для программиста это тупик.
Конечно все зависит от самого человека, но университет предпочтительнее.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории