Comments 282
А вот в IT, вроде как, много всего произошло.
И я не говорю, что ничего хорошего не было, нас даже чутка учили MySQL.
Просто это все оооочень медленно преподается и есть серьезные проблемы, которые я описал выше.
Лично я с удовольствием бы учился в ВУЗе, если бы там давали то, что мне необходимо
Лично я с удовольствием бы учился в ВУЗе, если бы там давали то, что мне необходимоПроблема в том, что то, что необходимо вам совершенно не нужно Университету.
Университет, как бы, призван выпускать людей, которые должны «двигать науку» (ну а «отбросы» уже пойдут в производство, где требования не так высоки). И для этого, разумеется, нужна математика, хорошая теоретическая подготовка… а умение использовать современные фреймворки — не очень нужно.
Однако это теоретически. А практически… Университетов слишком много, желающих «двигать науку» мало, а главное — совсем нет ПТУ, где всё что вы описали имело бы смысл.
Что с эти делать — неясно: создавать ПТУ, где обучать людей пользоваться Babel'ем — не имеет смысла, так как работодателям нужны корочки ВУЗа (если им вообще что-либо нужно), менять программу ВУЗув так, как вы предложили, никто не даст — так как это идёт вразрез с их основным предназначением… в общем как выправить ситуацию — не особо понятно…
А вот в IT, вроде как, много всего произошло.А что, собственно, с научной точки зрения, произошло? На ум приходят разве что кой-какие достижения, связанные с нейронными сетями. Но про «P = NP?» По прежнему никто ничего не знает, квантовые вычисления остаются экзотикой и вообще — по большому счёту всё, что умеет Rust (новый модный, молодёжный) — с научной точки зрения было исследовано лет 10-20-30 назад, а то, что происходит в C++ или PHP, с точки зрения науки вообще интереса не предоставляет: всё было изучено в LISP полвека назад…
Сейчас любое здание, где хоть чутка учат, готовы назвать университетом.
Возможно правильнее было бы сделать мало университетов, где готовили бы непосредственно почти ученых, если позволите. Которые будут решать еще не решенные задачи.
И сделать что-то между универом и ПТУ (просто ПУТ это совсем плохо, там уже учатся те, кто после 9 класса с тройками ушел, такие тоже не особо нужны), где и будут готовить тех самых обычных. но хороших программистов.
А еще и рассказать всем, как именно все теперь будет устроено.
Тогда и люди будут знать, куда же им идти и универы будут набирать только нужных людей.
А что вам даёт обычно универ, что не даст интернет? Все учебники же в свободном доступе.
Он дас то же, что даёт (должен давать) обычный — взаимодействие между студентами, возможность узнать важные вещи от преподавателя, чётко выстроенный план обучения, практика под контролем знающих людей и, конечно, надежды на будущее трудоустройство.
Кстати, мы тут определились, что не птунивер, а институт :)
Между ПТУ/лицеем (выпускники программисты) и вузом (выпускники инженеры-программисты) по "табелю о рангах" находятся техникумы/колледжи (техники-программисты)
Теоретически в дипломе инженер-программист, что довольно прикладно должно быть.
Насчет «изменилось», давайте кратенько пройдемся по преподаваемым предметам на вашей специальности из того что вспомню:
Матанализ — преобразования фурье, то на чем строятся аналогово-цифровые преобразования, то есть обработка сигналов.
Геометрия и алгебра — матрицы поворота, вектора — активно используется в геймдеве
Дискретка — это вообще фундамент вычислительной техники
Теория алгоритмов — очень приятно когда можно прикинуть что за говнокод ты планируешь накатать еще до того как осознаешь что творишь какую-то дичь
Сетевые технологии — фундаментальные понятия стека ISO/OSI и того как компьютеры вообще между собой могут обмениваться информацией.
Теория вероятностей — у меня ее как-то раз спрашивали на собеседовании, контора занималась компьютерным зрением, мне кажется неспроста :)
Что из этого принципиально изменилось того, что вы можете осознать со своего уровня? Это вещи которые пока просто работают вне зависимости от того сколько лет прошло. Вам-то понятно в ваши 20 лет надо дать клавиатуру и сказать «запили мне гугл», и вы запилите (нет). Тем не менее, изучив эти предметы вы выходите человеком который нихрена не умеет делать руками, но при этом может эти знания приложить к области которая ему интересна и развить их, если потребуется, и если надо то взять листочек и бумагу и за пару вечеров восстановить, просто потому что это уже есть в голове, у меня так за 10 лет профессиональной карьеры случалось, и не раз.
Если у вас чешутся руки садиться за комп и писать сразу код — уверяю, это пройдет со временем, опять же никто не мешает дома на коленке пилить то что нравится, сейчас с этим сильно проще чем 10 лет назад, скажем, на питоне, и даже вполне неплохие деньги можно на этом зарабатывать. Я сам с 3 курса начал работать фуллтайм совмещая с учебой на дневном.
Кстати, насчет паскаля, сложную логику, со временем, я просто начал писать на псевдокоде, просто потому что мозг занят не языковыми конструкциями, а поиском решения, и переписать его почти на любой язык это механическая работа минут на 10.
Отсталые предметы — ну куда ж без них, мы в свое время сеть настраивали между MS DOS и WINNT3.1 :)), еще было 3д моделирование, генетические алгоритмы и вот такое вот все, но это проходные предметы, на них в целом можно забить если лень или неинтересно.
А так, что там в айти изменилось то глобально? Выкинули клиркейз/свн стали юзать гит, ну да гитхаб сделали, но мержи чекауты и коммиты никуда не ушли. В линуксе был менеджер пакетов теперь менеджер пакетов есть в любом популярном языке, просто потому что это удобно и вообще переиспользование кода. Перестали юзать tcp потому что медленно, напихали reliable udp где можно. Допинали js до состояния когда видя код на нем не хочется креститься. Осознали что функциональщина это иногда хорошо и потащили в мейнстрим. Поняли что монолиты неудобно, начали распиливать на микросервисы, oh, wait, в эрланге это уже 20 лет как есть из коробки, зато теперь все думают как этим управлять. Поняли что железо под столом неудобно, сделали виртуализацию, да с оверхедом, зато не надо бояться что соседи сверху сервер зальют, зашел в авс зачаржил машину с убунтой и сервис готов. языки на VM — медленно, зато писать быстро, с++ — быстро, зато писать медленно. Докер — просто модное слово, алиасы — chroot/lxc (да я знаю что все немного сложнее)
Кирпичики то все те же остались. Поэтому пока есть время — начинайте с основ, а имя_вашего_фреймворка_здесь всегда успеете изучить. Удачи.
Как правило ДЦ или классические провайдеры вообще не реплицируют виртуалки или железные сервера на обычных тарифах. Этим занимаются облачные провайдеры.
Я программированию (вернее Джаве, опыта до этого не было) учился на джавараш. Потребовался год. После этого я получил работу в спб с зп 120.000 чистыми.
![image](https://habrastorage.org/getpro/habr/comment_images/ce8/0f9/a5f/ce80f9a5fef1f8846bf5a3a3565e1a80.jpg)
В моем — примерно так и есть. 80-120.
В идеале, ВУЗ учить решать проблемы, решения которых еще не придумано. И тут как-то тружно будет без матанализа и других страшных вещей.
ПТУ же должно учить использовать готовые решения для относительно стандартных ситуаций. И как раз тут хватит двух-трех лет.
Я не НЛО, но давайте воздержимся.
Да, нам нужны спецы, которые будут двигать всю индустрию вперед, зная самые основы всего IT.
Вот только сейчас они не делают ни того, что хочу я, ни того, что хотите вы :)
В идеале, ВУЗ учить решать проблемы, решения которых еще не придумано.
Простите, а что тогда с инженернами, технологами производств, строителями(исключая, возможно, архитекторов, но, например, прораб специалист с ВО, очень даже).
Там по многим специальностям решний вагон и маленькая тележка и высококлассные специалисты инженеры-не-конструкторы за всю свою плодотворную карьеру ничего нового не придумают\сделают. Их куда? Новые решения ищут дай бог аспиранты, но не после ВО. ИМХО вы путаете цели науки и вышки, но это очень даже не одно и тоже. Да, конечно существуют академ. вузы и специальности, однако вместе с тем ученых «начального уровня» которых они готовят более чем достаточно, говорят даже о перепроизводстве. А найдет себя в науке далеко не каждый способный выпускник. И вообще мне трудно представить что такая грандиозная образовательная машина во всем мире существует ислючительно ради переднего края науки. Хотелось бы, но все же это только самая верхушка айсберга.
Про остальное я судить не возьмусь.
В идеале, ВУЗ учить решать проблемы, решения которых еще не придумано. И тут как-то тружно будет без матанализа и других страшных вещей.
Вы бы еще на медицину замахнулись. Контекст статьи — IT, потому речь только про IT.
Про остальное я судить не возьмусь.
Возможно я Вас неверно понял, комментарий не однозначный легко подумать что речь идет про все ВО в целом.
Однако и для IT это более чем верно — информационные технологии почти полностью инженерная специальность. Конечно каждый второй мнит себя Лейбницем после первой лекции по матанту, но вот вопрос с подвохом: какой процент сложившихся и успешных разработчиков с ВО имеют оригинальные публикации представляющие хоть какую-нибудь научную ценность? Только давайте не будем назыывать фреймворки ответом на «решать проблемы, решения которых еще не придумано.» Тех кто развивает информатику как академ. науку абсолютное меньшинство, остальные же специалисты (которых не подготовить в ПТУ за годик) эти знания эксплуатируют, т.е. в широком смысле ствят эти знания на службу человеку.
Вообще наука не может быть целью в себе, т.к. получение знаний для еще большего количества заний лишено смысла. Это как плохой пример плановой экономики: производить больше металла для создания тяжелой техники с помощью которой добывать больше металла. Знания человеку, человеку в широком понимании, нужны для того чтобы так или иначе менять себя и свою жизнь в лучшую сторону, т.е. находить этим заниям различные применения. Чем и занимаются большинство профессионалов после ВО. И специалистам этим нет числа: та самая медицина с ветеринарией, строители, юристы, редакторы\корректоры, инженеры. И пусть меня закидают помидорами, IT специалисты тоже по большей части используют знания, но не преумножают, то есть являются инженерами, но не учеными.
Итого, если применить к чисто инженерной области (IT), я вижу следующее:
Есть ученые фундоментальные. Их задача — наука ради науки, больше знаний ради больше знаний. Алгоритмы, концепции, etс. Кони в вакууме, чистая математика и полет разума.
Есть (не знаю как назвать, ученые прикладные?). Их задача —
Есть инженеры. Если надо вычислить объем красного шарика — возьми справочник объемов красных шариков. То есть применить нужный инструмент в нужной ситуации. Если шире: провести анализ ситуации, провести анализ доступных решений, выбрать лучшее, идти дальше.
Ну и конечно же, обратная связь.
В данном случае — в моем видении первых двух учат ВУЗы, где лучшие становятся учеными. Инженеров готовят же ПТУ.
Однако, это идеализированный мир. В реальном же мире раздолбаи вроде меня не имея ВО занимаются вторым и третьим и хотят в первое, люди с ВО занимаются тем, что берут микроскоп и забивают им гвозди, потому что знают только про микроскоп и не хотят учить что-то другое, а ПТУ медленно вымирают, потому что каждая небольшая фирма занимающаяся написанием простых сайтов или поддержкой мнит себя гуглом и хочет обязательное ВО.
Как пример — планы продаж.
Для более четкой картины возьмем план продаж sim-карт в салонах связи. В продаже туалетной бумаги ведь работало… Внедряем план и каждый месяц повышаем планку. И даже мысли не возникает, что количество людей конечно и в конце концов наступит насыщение рынка и эти карты покупать будет просто некому.
Это все пример мышления ПТУ-шника. Он умеет в тактику, но не умеет в стратегию.
Инженер же хитрее, если тоже совести не имеет. На эту тему тоже пример: Мы делаем автомобили которые не ломаются по 10 лет. Мы молодцы, но скоро у каждого будет наш автомобиль и прибыли упадут =(. Что же делать? Просто спроектируем автомобиль, который будет выходить из строя раньше, чтобы простимулировать покупку новых. Теперь у нас стабильный денежный поток. Т.е. мы сумели в стратегию, хотя по части тактических действий (собственно впаривания покупки) у нас могут быть большие пробелы.
Их готовили в институтах.
Потому что инженер придумывает новые вещи, но использует уже относительно готовые предметы, которые придумали люди, которые учились в ВУЗе.
А уже потом то, что сделал инженер, используют те, кто из техникума.
И заканчивают все это ПТУшники, которые просто используют совсем конечный продукт.
Изначальная иерархия была такой ВУЗ>Институт>Техникум>ПТУ
Это сейчас все поломалось и ничего не понять. Но говорить, что программист — это ПТУшник, как-то грубо.
А поводу того что все поломалось, согласен. Я учился, когда смешались ВУЗ и институт. Теперь же из ВУЗ-а делают ПТУ %). И судя по вашим высказываниям, вы этот путь поддерживаете.
В какое "раньше" институты не были вузами?! До революции 1917-го?
Мне кажется или Вы хотели вместо слова "ВУЗ" написать слово "университет"? Дело в том, что [образовательный] институт — это разновидность высшего учебного заведения, к коим ещё относятся: университет, академия, высшее военное училище, были и другие, в общем-то Бауманка — изначально именовалась высшим техническим училищем, но потом этот термин вышел из употребления. Если говорить о "крутизне", то что университет, что академия, что институт — одинаково заведения где даётся высшее образование, разница только в широте охвата — университет готовит всех специалистов и преподавание несколько более разностороннее, институты — узкоспециализированные, ну вот, например, физтех и мифяга — изначально институты, хотя там прежде всего готовили именно физиков :-)
Поздравляю, вы только что придумали ПТУ.Да, это огромная проблема. В 95% вакансий по факту нужно именно ПТУ, но корочку требую университетскую, потому что ПТУ «некруто».
— А у вас ВО есть?
— Нет.
— Ну ладно.
Если нет цели работать в госструктурах или монструозных компаниях, то и корочка не нужна. Мне как раз такие компании не нравятся.
P.S. Да, ВО все таки крайне желательно иметь для миграции в другую страну.
И потом 2 года эта тетенька клала нас на лопатки в написании алгоритмов.
Правда он еще денег вымогал с нас за зачет, мотивируя тем, что ему мало платят.
Часто преподы, отлично разбирающиеся в узкой сфере, требуют от студентов тоже отлично разбираться в этом. И когда таких преподов штук 6, то начинается неподдельное веселье
Но, например, к дискретной математике претензий нет, это можно понять как связано с IT. И алгоритмы тоже.
Если серьезно, такие предметы приучают не бояться долгих вдумчивых исследований, это плюс.
Поздравляю, вы изобрели техникумы, где из вас за несколько месяцев сделают кодера. Зачем тогда вообще нужны ВУЗы?
А можно посмотреть, где, в дипломе хоть какого-нибудь ВУЗа указана специальность "Программист"? А нет, там почти всегда указано " Инженер" или "Специалист по...", ну или на худой конец сейчас уже " Бакалавр", что как бы наводит на мысли о других целях вузовского обучения.
Уверен, что большинство программистов не толкают IT вперед, а в основном используют готовые инструменты.
Ну и специальности часто странно указаны и не отражают того, что ты умеешь.
Пример.
У меня в дипломе должно было быть написано «Специалист в области принятия решений».
Немного непонятно, но даже не в этом суть.
Мой друг, который тоже в ННГУ, но на «Прикладной информатике» в «Институте экономики и предпринимательства». И у него будет написано ровно то же самое. «Специалист в области принятия решений». А знания даже близко не такие, там все намного проще.
И нигде толком не сказано, что на «Программиста» не учат. Хотя все ищут где можно.
Если так подумать, то у нас вообще нигде не учат на программиста.
Собственно, статья отчасти об этом :)
Но так ли это плохо?
На мой взгляд, приведение ВУЗов к уровню СПО — плохо. ВУЗ учит заниматься исследовательской и аналитической работой. Верстальщику и сисадмину такое не нужно. Но если идти работать в крупный бизнес, то эти навыки помогут. Исследовательская работа — чтобы проводить всякие перфоманс тюнинги, R&D и выбирать из нескольких фреймворков подходящий. Аналитическая работа помогает в анализе бизнес-процессов.
Если человек хочет просто кодить, то курсов или СПО достаточно. Если же хочется повыше, то увы — дисциплин для аналитиков и архитекторов в СПО не дают.
И нигде толком не сказано, что на «Программиста» не учат. Хотя все ищут где можно.
Если так подумать, то у нас вообще нигде не учат на программиста.
Сейчас есть великое множество онлайн курсов. Если хочется только кодить, то можно не тратить 4 года в ВУЗе. Год плотных тренировок по программированию, пол года — по СУБД и можно идти джуном устраиваться. Но выше джуна расти будет сложнее.
Я о том, что если считать многих программистов как людей с СПО, то это не плохо.
Еще небольшая проблема — да, вы выучите много вышмата и будете его знать. А скажут ли вам, как это применить в IT? Скорее всего нет и если так, то это тоже стоит исправить.
Онлайн курсов много, а сколько из них достойных?
А сколько из них финансируются государством и имеют бюджетные места?
Сколько из них освобождают от армии на время обучения?
сползают по уровню образования
Расскажите подробнее о методике измерения уровня образования? Ваши личные впечатления на основе полутора лет обучения вряд ли дадут достаточно данных.
А скажут ли вам, как это применить в IT? Скорее всего нет и если так, то это тоже стоит исправить
Смотря какого вышмата. Дискретка и теорвер понадобятся везде. Линал в обработке данных со всяких датчиков. Интегрирование — в машиностроении. Мат.статистика применяется сама по себе в BI.
Онлайн курсов много, а сколько из них достойных?
Что по вашему мнению "достойный"? Чтобы нахаляву и с отсрочкой от армии?
Пробуйте любой бесплатный вариант. Если при рождении вы выиграли в лотерею, то этого будет достаточно. Если не выиграли — платите денежку.
Сколько из них освобождают от армии на время обучения?
Зачем?
Расскажите подробнее о методике измерения уровня образования? Ваши личные впечатления на основе полутора лет обучения вряд ли дадут достаточно данных.
Субъективное мнение, основанное на знакомых, в том числе закончивших Бауманку и МГУ на хороших специальностях на красный диплом, на том, что большинство компаний не смотрят на ваши дипломы при найме.
Смотря какого вышмата. Дискретка и теорвер понадобятся везде. Линал в обработке данных со всяких датчиков. Интегрирование — в машиностроении. Мат.статистика применяется сама по себе в BI.
Да, есть то, что пригодится.
А сколько направлений в мире IT, где вам никогда не пригодится Линал или интегрирование?
Это похоже на собирательство, когда выкидываешь на балкон кучу вещей с мыслью «А вдруг пригодится»
Что по вашему мнению «достойный»? Чтобы нахаляву и с отсрочкой от армии?
Пробуйте любой бесплатный вариант. Если при рождении вы выиграли в лотерею, то этого будет достаточно. Если не выиграли — платите денежку.
Зачем мне пробовать, у меня уже есть работа и я продолжаю улучшать свои знания, без этого никак.
Но знаете, не у всех есть деньги платить за образование. Так что да, я хочу бюджетные места. Чтобы люди могли обучаться не только потому что их родители постарались чуть лучше других родителей.
Зачем?
Ну, если вы считаете армию полезной вещью или считаете, что туда стоит сходить, то тут нам не о чем говорить.
Я считаю, что срочную службу вообще стоит убрать, а пока этого нет — хочу отсрочку хотя бы пока учусь.
А сколько направлений в мире IT, где вам никогда не пригодится Линал или интегрирование?
Это похоже на собирательство, когда выкидываешь на балкон кучу вещей с мыслью «А вдруг пригодится»
В комментариях к моей статье Alexeyslav высказал интересную точку зрения:
Ты вибираешь, казалось бы вот оно выбрал и точно это то что тебе нужно! Потратил 10 лет на свой выбор, узкая специализация. И вот оно неизбежное — ВЫГОРАНИЕ. Считай, все усилия потраченные это то самое «лишнее» а сейчас бы уметь вышивать крестиком…
Широкая специализация обеспечит вам устойчивость в дальнейшей жизни. Вы же видите как трудно универ выбирать. А ведь место работы выбирать никак не проще. Вы вряд ли будете всю жизнь работать в одном месте.
Чтобы люди могли обучаться не только потому что их родители постарались чуть лучше других родителей.
Молодые люди, которые приходят ко мне на платные очные курсы, как правило зарабатывают на них сами. Некоторые работают на "рабской" работе, поэтому точно знают зачем им учиться и требуют соответственно. Курсы может быть и дороги в сравнении с халявными 4.5 годами в ВУЗе, но сильно дешевле нового айфона в рассрочку.
В сравнении с ними, нытье о том, что нахаляву в ВУЗе не научили новому фреймворку выглядит несерьезно.
Да, выгорание непростая вещь. И хорошо бы иметь запасной план на такой случай. Но с «широкой специализацией» это работает только если вы в течение 10 лет поддерживаете себя на хорошем уровне в этой ШС. А это уж далеко не все делают. И я не думаю, что через 10 лет вспомнить вышмат будет просто, если даже очень нужно будет. Придется снова все учить.
Молодые люди, которые приходят ко мне на платные очные курсы, как правило зарабатывают на них сами. Некоторые работают на «рабской» работе, поэтому точно знают зачем им учиться и требуют соответственно. Курсы может быть и дороги в сравнении с халявными 4.5 годами в ВУЗе, но сильно дешевле нового айфона в рассрочку.
В сравнении с ними, нытье о том, что нахаляву в ВУЗе не научили новому фреймворку выглядит несерьезно.
Я безмерно горжусь людьми, которые достаточно хороши, чтобы так делать.
Но если сделать все вокруг платным — зачем тогда вообще нам ВУЗы, ПТУ и прочее?
Сделаем повсюду курсы платные и так и будем жить.
И пусть молодежь вместо того, чтобы тратить свое время и силы на учебу, параллельно горбатится на «рабской» работе.
Но если сделать все вокруг платным — зачем тогда вообще нам ВУЗы, ПТУ и прочее?
Сделаем повсюду курсы платные и так и будем жить.
И пусть молодежь вместо того, чтобы тратить свое время и силы на учебу, параллельно горбатится на «рабской» работе.
Моя позиция в том, что у каждого вида образования свое назначение. Если хочется просто кодить — достаточно курсов. Если что-то сложнее и масштабнее интернет-магазинов, то нужно аккуратно выбранное высшее образование.
Высказывать претензии к яблокам потому что они не апельсины неправильно.
А так же в статье одна из проблем — что нигде точно не говорят, что же именно будут преподавать.
То есть вы просто не знаете, что лезете за яблоком в коробку с апельсинами, потому что там написано «фрукты»
То есть вы просто не знаете, что лезете за яблоком в коробку с апельсинами, потому что там написано «фрукты»Вы уверены? Вы, вообще-то, в ВУЗе, вроде как учились.
Вы́сшее уче́бное заведе́ние (сокращённо — вуз; в соответствии с нормами русского языка пишется строчными буквами), образовательная организация высшего образования (ООВО) с 2016 г. — учебное заведение, дающее высшее профессиональное образование и осуществляющее научную деятельность
Задача ВУЗа — готовить к научной деятельности, в первую очередь. Какой именно «научной деятельностью» вы сможете заниматься в ВУЗах, перестроенных по вашим рекомендациям???
Про то, что они осуществляют — несомненно. У нас так достаточно отделов с исследованиями.
Правда вот в плане IT… Скажем так, там не все так хорошо. В плане математики отлично. А вот с IT не очень.
И вы уверены, что сейчас они готовят к «научной деятельности», а не просто реализуют устаревшие стандарты обучения?
И вы уверены, что сейчас они готовят к «научной деятельности», а не просто реализуют устаревшие стандарты обучения?Нет, не уверен. Более того — уверен, что это не так.
Но если ВУЗы не выпускают учёных — то это не значит, что они должны начать выпускать верстальщиков.
Не вижу где там сказано про «подготовку к научной деятельности».
Просто надо было дальше по ссылочке пройтись
Включает в себя совокупность систематизированных знаний и практических навыков, которые позволяют решать теоретические и практические задачи по профессиональному профилю, используя и творчески развивая современные достижения науки, техники и культуры
А еще можно дальше пройтись и узнать, что такое инженер — в общем виде это именно что «изобретатель»
Основным содержанием деятельности инженера является разработка новых и/или оптимизация существующих инженерных решений.
В общем инженер должен либо создавать что-то совсем новое.
Ну вот знайте, хорошим примером инженера-программиста являются Безье и Кастельжо — это люди которые независимо работали в Рено и Ситроене изобрели за 50-60ые годы кривые Безье, стояли у истоков компьютерной графики, придумали и реализовали первые системы автоматизированного проектирования. Первый по образованию инженер-механик и инженер-электрик — выпускник Национальной Высшей Школы Искусств и Ремёсел (очень камерное такое заведение, всего 4000 студентов), второй физик и математик — выпускник Нормальной Высшей Школы Парижа, которую в свое время заканчивал Луи Пастер или Борель например. Проблема была в том, что их никто не учил компьютерной графики — ну потому что тогда её еще не существовало никакой компьютерной графики — сам термин был только вот придуман инженером Боинга в 1960 году. Были только какие-то более ранние научные изыскания типа Скетчпада Сазерленда, но что это такое CG и чего там делать никто не знал, а к компьютерам выстраивались в очередь, на которых никто бы не дал изучать все методом тыка в удобненьком дебаггере. Но при этом уже была хорошо известна и развита геометрия и теория программирования. Так что эти чуваки, основываясь исключительно на своих фундаментальных знаниях по физике, математике и инженерному делу, изобрели целый класс кривых и алгоритмов для их построения, а также разработали одну из первых САПР. И вот это инженерная работа. Инженеры это не про то как кнопки нажимать и гайки крутить, а именно что разрабатывать новые продукты и технологии, подсмотреть которые ни у кого не получится.
Второе направление инженерной деятельности — это оптимизация. Внезапно, задачами оптимизации занимается математическое программирование — очень зубодробильная штука, которая мало того что требует экспертных знаний в области применения, так еще и всю математику в себя вбирает. Например, работа САПР по физическому дизайну всяких там PCB и СБИС завязан на Markov chain Monte Carlo (MCMC) которое вообще уходит своими корням, например в статистическую физику и даже в такие аццкие штуки как модель Изинга. При этом если PCB-designer еще как-то может отбрехаться от Марковских цепей (у него зато будет куча другого геммора), то вот инженеру-программисту — уже нет, т.к. ему это и реализовывать в виде программы :-)
Замечу что я еще не упомянул ученых. Если с инженера достаточно на основе известных знаний как-то выкрутиться и выдать новый продукт или что-то как-то улучшить и починить, то от ученых требуется изобретать новые знания, что куда брутальнее. И вот ВУЗ'ы готовят именно специалистов способных вести научно-исследовательскую и изобретательскую деятельность — основная масса это будет инженеры, ну а самые выдающиеся становятся учеными.
Ну а если нужно «просто программировать» без изысков и просто писать простенькие jQuary-запросы, ну внезапно есть курсы и сертификации, которые по затраченным человеко-часам и ПТУ не догонят. Другое дело что горизонт, конечно же, будет очень сильно ограничен, в тот же RockStar уже будут спрашивать за PID-регуляторы и метод множителей Лагранжа, например :-)
А почему тогда мы не делаем курсы инженеров, медиков и других специалистов?
Смотря каких медиков. В медицине на уровне сисадминов и верстальщиков находятся массажисты и фитнес-тренеры. На эти специальности есть курсы примерно на 2-3 месяца.
Естественно, есть очень крутые массажисты и очень крутые фитнес-тренеры, но точно так же есть крутые веб-мастера. Разница — в сложности решаемых проблем.
Что, кстати, вы понимаете под словом "инженеров"? Есть например сетевой инженер — прокладка кабеля, настройка подключения к Интернет у пользователей и прочее. Вполне можно на курсах вроде Cisco обучиться.
В плане программистов выходит, что идти просто некуда.
И потому многие выбирают ВУЗы не осознавая, что они идут не туда, куда надо.
А это см. Проблема_1
Да, но там везде и сказано, что массажистам и тренерам — на специальные курсы надо идти, а не в ВУЗ.
Там сказано, а тут кто должен сказать куда вам идти?
Что мешало изучить программу вуза перед поступлением:
www.itmm.unn.ru/studentam/raspisanie/raspisanie-bakalavriata-i-spetsialiteta-ochnoj-formy-obucheniya
В плане программистов выходит, что идти просто некуда.
И потому многие выбирают ВУЗы не осознавая, что они идут не туда, куда надо.
Буквально в 5 минутах ходьбы от ННГУ:
nntc.nnov.ru/obrazovanie
niu.ranepa.ru
Не говорят, может, но то, чему должны научить, образовательные стандарты и программы по каждой специальности лежат в открытом доступе. Учат этому реально или нет — отдельный вопрос, но они есть.
А сколько направлений в мире IT, где вам никогда не пригодится Линал или интегрирование?
Ну я вот с 10+ опытом работы не знаю таких направлений где не требуется Линал :-) Даже сидя тихо пописывая всякие веб-морды на CSS и никого не трогая, то все равно от линейной алгебры и аналитической геометрии убежать не получиться…
Тоже самое относится к комбинаторике и дискретной математики — это все основа программирования. Ну просто нет таких программ где не используются вектора, матрицы, да графы с деревьями, вот просто не бывает таких случаев чтобы не было каких-то структур данных и операций над ними, если только это не школьные Hellow World! или пересчеты футов в килограммы…
>выбирать из нескольких фрейморков
спасибо вы сделали мой день
Название высшего образование создаёт иллюзию, что оно должно создавать гениев, хотя это просто следующая ступень после среднего. Более редкое "высшее профессиональное" явно говорит о том, что задача вуза — дать профессию, которая требует больше знаний, чем даёт среднее. Собстенно, поэтому просто погромистов и операторов ЭВМ уже готовят в ПТУ, а вуз готовит по други специальностям.
В моей универской группе лучший программист был как раз после ПТУ.
А то в ПТУ можно и просто находиться, а вот получал ли он там знания?
А потом учёба закончилась и я попал на реальную работу, где я курил чужую архитектуру и пилил свою. Я ни одному преподу не благодарен настолько, сколько Деду, благо он был довольно требователен (и требовал не зубрёжки и прочего, а именно понимания).
Так что старые преподы штука сложная. Они не всегда могут заинтересовать, но стоит хотя бы попытаться пересилить себя. Может оказаться гораздо полезнее, чем представляется поначалу.
Вы поступили на «информатику» и возмущаетесь, что Вас учат информатике, а не программированию. Да, это не одно и то же. Информатика — это наука, для понимания которой нужны и матанализ, и остальные «лишние» предметы. А для понимания верстки они не нужны, согласен. Другое дело, что если Вы будете заниматься чем-то более замысловатым, то актуальность хотя бы дискретки и алгоритмики поймете моментально.
По поводу Вашего подхода:
1) Ага, а первоклашкам надо за пару-тройку месяцев показать все школьные предметы, а дальше пусть сами выбирают, какие им учить. Или думаете, что успеете во всем разобраться, а потом сможете сделать взвешенный выбор?
2) Убрать лишнее — это хорошо, но как я уже сказал, действительно излишней обычно бывает гуманитарщина, а не матан и т. п.
3) Только не помоложе, а по-проффесиональнее — это вообще то ни разу не одно и то же.
4) Это уже есть очень много где, и оно не только по поводу практики. Иногда сотрудники компании приходят читать некоторые предметы. Возможно, стоило поискать такой вариант.
5) Думаю лучше не сократить а заменить ненужные предмет на нужные. Особенно учитывая такой замечательный фактор, как армия :)
А теперь про пункты
1) В 17-18 лет вы уже не первоклассник. В 17-18 лет от вас сейчас требуют выбрать ВУЗ и направление, в котором вы, возможно, будете двигаться всю жизнь. Нам часто говорили, что это почти самый важный выбор в жизни (Само собой это не так). Но все же выбор важен. И вы считаете, что если вы можете из ВСЕХ возможных работ и занятий человека выбрать нужное, то не сможете выбрать направление в программировании, попробовав их?
2) Спорный момент, если вам каждый день дать по 4 пары матана — вы не скажете, что это избыточно? Конечно, я утрирую, просто хочу сказать, что не стоит говорить, что «матана излишне не бывает».
3) Я на всякий случай повторю — претензия не к возрасту. Недавно была новость про деда, который в 78 лет занялся кодингом и вышел в полуфинал на каком-то Хакатоне.
Тут вопрос, конечно, именно в компетентности и профессионализме.
4) У нас (в ННГУ) подобные события редки, а если и случаются, это почти гарантированно будет Intel.
Это не камень в огород Интела, это я о том, что мало желающих, видимо.
Но слышал, что в некоторых ВУЗах это более развито.
5) К сожалению, растянуть процесс учебы до 27 лет, скорее всего, не дадут :)
2) Опять же, если Вы верстальщик — то да. А мне вот хотелось бы побольше матана на первых курсах.
4) Ну ясное дело, что этим занимаются только большие компании, и далеко не все.
Ну и вообще не эйджизм если что, но мне кажется, что со временем Ваше отношение к ВО слегка поменяется.
Конечно, нужно предусмотреть возможность смены направления, если что.
2) Если хотите матан — то вы там, где нужно :) Но ради интереса спрошу — зачем? Просто интересно? или знаете, где применить?
4) Тут важно, что не просто «далеко не все», а «почти никто».
Про отношение к ВО возможно, но сейчас упадок ВО не заметить сложно, с этим стоит что-то делать. Я ценю ВО, но просто не совсем такое :)
2) Занимаюсь компьютерной графикой. Признаю, не слишком распространенная отрасль, но матан нужен не только здесь. Да и на матане клином не сошлось, для той же алгоритмики проще сказать где она не нужна.
В 17-18 лет от вас сейчас требуют выбрать ВУЗ и направление, в котором вы, возможно, будете двигаться всю жизнь.
В ВУЗах можно переводиться с одного направления на другое. Еще можно из одного ВУЗа в другой. Придется повоевать с бюрократией, но это в целом возможно.
Я на всякий случай повторю — претензия не к возрасту.
Однако в статье вы сказали, что нужны именно "помоложе", а не "более профессиональные".
К сожалению, растянуть процесс учебы до 27 лет, скорее всего, не дадут :)
Как то странно высказывать претензии к учебному заведению, если оно вам нужно как социальный холодильник для избежания армии. Зачем тратить 4.5 года на "ненужные" по вашему мнению предметы, если можно потратить всего 1 год и до начала третьей мировой войны не беспокоиться по этому поводу?
В ВУЗах можно переводиться с одного направления на другое. Еще можно из одного ВУЗа в другой. Придется повоевать с бюрократией, но это в целом возможно.
А вы пробовали? Я да.
Уже после 1 года обучения разница в образовательных программах по сравнению с «Прикладной информатикой» в ИЭП была внушительной. А через 1.5 года мне сразу отказали.
Однако в статье вы сказали, что нужны именно «помоложе», а не «более профессиональные».
Перечитал и да, извиняюсь. Стоит поправить.
В тексте я так же указывал, что претензия не к возрасту, так что если вы читали — несложно поверить, это так.
Как то странно высказывать претензии к учебному заведению, если оно вам нужно как социальный холодильник для избежания армии. Зачем тратить 4.5 года на «ненужные» по вашему мнению предметы, если можно потратить всего 1 год и до начала третьей мировой войны не беспокоиться по этому поводу?
Нет, я не переждать туда пошел. Сейчас я в академе, а пока ищу, есть ли в моем организме что-то, что позволит не тратить год жизни впустую.
А ушел я как раз потому что тратить 4 года, а потом еще 1, вместо того, чтобы потратить 1 — глупо.
Так что я не просто откладывают неизбежное :)
А вы пробовали? Я да.
Не пробовал, т.к. не было необходимости. Впрочем я не говорил, что это "легкий" путь. Однако он возможен.
Еще можно забрать документы, сходить в армию и поступить в более приличное место. Как определить, что новое место будет существенно лучше — не знаю. Возможно вам ВУЗ и не нужен.
Уже после 1 года обучения разница в образовательных программах по сравнению с «Прикладной информатикой» в ИЭП была внушительной.
В чем она выражалась?
В тексте я так же указывал, что претензия не к возрасту, так что если вы читали — несложно поверить, это так.
В тексте я видел претензии к паскалю и к тому, что препод проверяла код.
Проверка одного только кода для зачета — недостаточная мера, но я про это когда-нибудь целую статью напишу.
Претензии к паскалю все таки не понятны. У всех начинающих программирование поначалу такие проблемы, которые от языка вообще не зависят.
пока ищу, есть ли в моем организме что-то, что позволит не тратить год жизни впустую.
Желаю вам здоровья, потому что если вдруг найдете, то оно испортит вам следующие пол века.
В чем она выражалась?
Там есть другие предметы и у учебных заведений есть свои способы подсчета того, сколько вы должны потратить времени, чтобы «догнать» новых однокурсников по знаниям. К слову, они считают так, будто вы учитесь исключительно в ВУЗе, даже если речь идет об Истории или других гуманитарных науках.
В тексте я видел претензии к паскалю и к тому, что препод проверяла код.
Проверка одного только кода для зачета — недостаточная мера, но я про это когда-нибудь целую статью напишу.
Претензии к паскалю все таки не понятны. У всех начинающих программирование поначалу такие проблемы, которые от языка вообще не зависят.
Про Паскаль там была всего 1 строчка, где я говорю, что нет смысла полгода изучать именно его. Паскаль уже зарекомендовал себя как хороший язык для начинающих, во многих школах его используют. Я хорошо к нему отношусь :) Просто не стоит на нем сидеть слишком долго, на мой взгляд.
Желаю вам здоровья, потому что если вдруг найдете, то оно испортит вам следующие пол века.
Пока я чертовски здоров. Одновременно чертовски рад и в то же время в армию неохота.
Примерно уже на первой паре меня напрягло, что нам преподает C
А мне вообще численные методы толкнули на информатике в ЛЭТИ. И знаете что? Они пригодились. :)
Проблема в том, что программирование быстро развивается, а взрослые люди за ту зарплату, что им платят, ну со слишком большой вероятностью не будут разбираться в чем-то новом.
Проблема в том, что языки развиваются, а толку я что-то не замечаю. Что вы будете писать на том же ожидаемом Си++ 20? Для чего вам все его новые навороты? То же, что писали 10 и 20 лет назад на ёщё тех редакциях этих языков. «Не вижу никакого прогресса. Современные часы идут ничуть не быстрее, чем хронометры во времена моей юности» (с) Бернард Шоу.
Правда у нас они должны были быть только на 4 курсе.
Без ВУЗа, если будет нужно, я, конечно, сильно не уверен, смогу ли их выучить. Скорее нет, чем да.
Сказать, что JS, например, не меняется уже лет 10, будет непросто :)
Впрочем, конечно циклы, переменные, массивы и т.д. не меняются.
Как и базовые принципы, алгоритмы и подобные вещи.
Но неужели нельзя преподать это более адекватным способом, не как сейчас?
Бернард Шоу, конечно, хорош, но не смотря на то, что время идет так же, способы его считать улучшаются. Эдак можно было бы и на ассемблере прогать, только это не годится :D
Сказать, что JS, например, не меняется уже лет 10, будет непросто :)Он меняется, но это всё синтаксический сахар, по большому счёту. Математика, за этим стоящая, та же, что и 20-30-40 лет назад.
Но неужели нельзя преподать это более адекватным способом, не как сейчас?Понятия не имею. Я вообще мехмат оканчивал — и желания перевестись на ВМК не возникало ни разу. Особенно после рассказа моих одноклассников оттуда про «отрицательную сложность» хеш-мапа.
Но неужели нельзя преподать это более адекватным способом, не как сейчас?
А на чём основана ваша оценка адекватности? ;) У вас свои интересные проекты есть? Может быть, большой опыт разработки? Вот почему вы думаете, что новомодная штучка будет более адекватным способом? Потому что модно? Ну так вы откройте же книжку и там все/большинство этих наворотов вы найдёте. Только на ваших программах это никак не скажется — это будут всё те же самые программы, что и без наворотов.
А тот же Си вам пригодится, если вы займетесь микроконтроллерами.
непосредственные функции с использованием нового зарезервированного слова consteva
Что это?
constexpr union
Почему бы компилятору всё constexpr не считать по-умолчанию?
тестовые макросы
Преобразование в битовые представления объектов
условные explicit, позволяя явному модификатору зависеть от логического выражения
Опять, что это? Зачем это?
тройное сравнение (three-way comparison)
Э… кому это вдруг надо-то? И о чём это?
конструируемые и назначаемые лямбды без сохранения по умолчанию
Это я тоже не понял, о чём речь.
Нет, видно в мои 36 мне не понять, что происходит с программированием…
Это функции, которые гарантированно вычисляются на этапе компиляции.
Всё это отлично, но почему задача оптимизации перекладывается на программиста? Тем более, что ещё не факт, что эти функции хоть как-то повлияют на скорость работы программы. А если повлияют, значит, что-то неправильно делает программист (возможно, даже в плане подхода), раз требуется для оптимизации такое извращение. :)
Так вот, основным препятствием является то, что вычисление, не делает ли функция чего-то, не разрешённого в constexpr-контексте, хотя бы для некоторых входов, эквивалентно проблеме останова. А её решать трудно.
А если я всё объявлю constexpr, то компилятору от этого легче решать разве станет? :)
Снова полезно при метапрограммировании и написании эффективных библиотек.
Вот. Метапрограммирование всплыло. А ведь фактически, это означает, что язык со своей стандартной библиотекой в полной заднице с быстродействием, коли требуется метапрограммирование, чтобы хоть как-то исправить ситуацию. Это означает, что средствами самого языка задача не решается с требуемым быстродействием. Только вот раньше как-то всё это решалось, а теперь поменялся подход и уже не решается. Прикольно, да.
Надо, чтобы печатать не 6-12-18 членов для сравнений, а 1-2.
Ещё операторы «примерно равно», «намного больше» и «намного меньше» не помешали бы. ;)
Производительность тут вообще ни при чём.
А зачем тогда ещё нужно метапрограммирование? Для чего ещё вам всё переносить в стадию компиляции из стадии выполнения? Просто потому что можете?
То есть, писать ручками все определения для < <= == > >= != вам очень нравится и интересно?
Чемоданчик Вирта сдох от зависти. :) И много вы пишете сравнений такого вида? ;)
Просто потому, что я предпочитаю, чтобы некорректные программы не компилировались, а не падали в рантайме, иначе писал бы на питоне.
К сожалению, совершенно не могу понять такие проблемы, так как занимаюсь в основном системами автоматики, а они в рантайме как-то никогда не падают. У них проблемы другие — ошибки задуманных алгоритмов реакций на события.
Да. Каждый раз, когда описываю новый value-тип.
А зачем его описывать?
Это у вас просто типов нормальных не было. Типы помогают отлавливать ошибки в логике в том числе.
Нет, тут логика иная. :) Вот вы когда-нибудь управляли, например, Шаттлом? Как думаете, если снизилась тяга на левом движке, нужно добавить топлива или вообще его нафиг отключить, потому что с ним что-то странное? А может, нужно добавить топлива на правый? Или наоборот, убрать? Или выключить сразу все двигатели немедленно? Какое решение правильное? Такие же проблемы с устройствами возникают постоянно — какие-то параметры выходят из допуска и нужно это отрабатывать.
Ну вот хочу описать типы FirstName и LastName, например, чтобы их случайно не перепутать и не оперировать голыми строками.
А, понятно.
А чего? Это, конечно, не зависимые типы, но некоторый класс ошибок избегать они помогают.
Ну, здесь тонкая грань между «крайне желательно» и «да используется-то всего два-три раза — зачем плодить новую сущность?».
Меня вот что в шаблонах интересует. Вот есть у меня класс матрицы произвольного размера. Размеры матрицы задаются в шаблоне. И всё отлично, но есть операция =, которая как бы должна копировать матрицу одного шаблона в другой. Что невозможно, если размерности не совпадают. Это вообще неустранимо. А ещё есть операция умножения, там получается матрица иной размерности в общем случае. И вот тут возникает прикол с перегрузкой оператора с указанием его другом внутри класса (который уже шаблонный). VS2010 съел переопределение шаблона. А вот gcc нет. Как бы это изящно решить, чтобы оно тоже ошибки отлавливало на этапе компиляции.
Что именно решить-то хочется?Функцию, которая «дружит» с классами Matrix<M, N>, Matrix<N, P> и возвращает Matrix<M, P>.
В один из трёх классов её можно просто засунуть. А что делать с двумя другими?
CMatrix<3,2> cMatrixA;
CMatrix<2,3> cMatrixB;
CMatrix<3,3> cMatrixC;
cMatrixC=cMatrixA*cMatrixB;
Так а в чём проблема-то с обычной свободной функцией типа такой?
Она мне нужна в друзьях класса. А сделать так нельзя:
template<size_t row,size_t col>
class CMatrix
{
template<size_t M, size_t N, size_t P>
friend Matrix<M, P> operator*<size_t M,size_t N,size_t P>(const Matrix<M, N>&, const Matrix<N, P>&) {… }
};
Точнее, VS2010 такое дал сделать (впрочем, я не удосужился проверить на разных матрицах — может, он просто не проверяет то, что не я не использовал). А вот gcc не дал.
Но если хочется вот прям напрямую с матрицами, и публичного API не хватает, то тоже ничего сложного.
то тоже ничего сложного.
Вот именно так и не компилировалось. В VS2010 компилировалось. А как перенёс под Linux, то был послан компилятором.
Компилятор с радостью заинлайнит ваши операторы для доступа к элементам.
Там вообще-то проверка на диапазон, которая в данном случае лишняя.
Ну, как видите, теперь компилируется.
Да, и у меня компилируется этот пример. В чём же тогда дело? Может быть, перегруженный оператор * нельзя так делать? У меня ещё умножения на число и на вектор (который тоже шаблонный) есть. Поэкспериментирую.
Э, у вас нет функции для доступа без проверок?
Тогда нет смысла вообще в методе доступа — открыть доступ public и дело с концом. :)
Если вдруг сломается — отпишитесь тут, мне аж интересно самому.
Попробую восстановить класс на шаблонах.
То есть, требуется предварительное объявление (у вас его нет). Ещё требуется для оператора-друга указать в классе шаблон класса после операции * как <N,M> (и этого у вас тоже нет). У меня, разумеется, сделано так, как написано в статье. А вот почему ваш фрагмент работает без всего этого — я не понимаю. Хотя, почему оператору * не нужно <N,M> догадываюсь — перед его функцией ведь указан template, то есть, она уже шаблонная.
То есть, получается, делать надо так:
template<size_t size_y,size_t size_x>
class CMatrix;
template<size_t size_y,size_t size_x>
CMatrix<size_y,size_x> operator*<size_y,size_x>(const CMatrix<size_y,size_x>& cMatrix_Left,const double& value_right);//оператор "*"
//класс матрицы произвольной размерности
template<size_t size_y,size_t size_x>
class CMatrix
{
private:
double Item[size_x*size_y];//массив компонентов матрицы
public:
...
template<size_t size_left_y,size_t size_left_x,size_t size_right_x>
friend CMatrix<size_left_y,size_right_x> operator*(const CMatrix<size_left_y,size_left_x>& cMatrix_Left,const CMatrix<size_left_x,size_right_x>& cMatrix_Right);//оператор "*"
...
friend CMatrix<size_y,size_x> operator*<size_y,size_x>(const CMatrix<size_y,size_x>& cMatrix_Left,const double& value_right);//оператор "*"
};
...
//----------------------------------------------------------------------------------------------------
//оператор "*"
//----------------------------------------------------------------------------------------------------
template<size_t size_left_y,size_t size_left_x,size_t size_right_x>
CMatrix<size_left_y,size_right_x> operator*(const CMatrix<size_left_y,size_left_x>& cMatrix_Left,const CMatrix<size_left_x,size_right_x>& cMatrix_Right)
{
...
}
...
//----------------------------------------------------------------------------------------------------
//оператор "*"
//----------------------------------------------------------------------------------------------------
template<size_t size_y,size_t size_x>
CMatrix<size_y,size_x> operator*(const CMatrix<size_y,size_x>& cMatrix_Left,const double& value_right)
{
...
}
Так компилируется и работает.
Должно быть так:
template<size_t size_y,size_t size_x>
CMatrix<size_y,size_x> operator*(const CMatrix<size_y,size_x>& cMatrix_Left,const double& value_right);//оператор "*"
'friend' not permitted on data declarations
А если убрать <> после знака операции в классе линкер не может собрать проект — не находит функцию.
А вот если убрать предварительные объявления и внутри класса каждому другу указать template, то всё начинает работать.
Ну, вот, например.
Здесь нет предварительного объявления и оператор просто засунут в класс как друг.
А вот тут старая моя проблема всплыла. Но этот же кусок в VS2010 отлично компилируется.
В общем, я уже сам запутался, что и как надо делать.
Ну, вот, например.А шаблон кто будет описывать? Пушкин?
Видимо имелось в виду вот это.
А вот тут старая моя проблема всплыла.И вам о ней человеческим языком написали. Думаю хотелось написать вот это.
Но этот же кусок в VS2010 отлично компилируется.Visual Studio вообще очень вольно к стандарту относится. Этот вариант чётко запрещён: 17.7.1 (6): A template-parameter
shall not be redeclared within its scope (including nested scopes). A template-parameter shall not have the same name as the template name.
В общем, я уже сам запутался, что и как надо делать.Лучший вариант вам уже описали.
А шаблон кто будет описывать? Пушкин?
Не-е-е-т. :) О том и речь, чтобы не описывать предварительно шаблон, как это сделано было у 0xd34df00d.
И вам о ней человеческим языком написали. Думаю хотелось написать вот это.
Нет, не это. То есть это, но не менять имена. Проблема в том, что если имена пересекаются это вызывает ошибку не в VS2010.
Проблема в том, что если имена пересекаются это вызывает ошибку не в VS2010.Потому что, извиняюсь, об этом чёрным по белому написано в стандарте. То, что Visual Studio не отлавливает ошибку — его проблемы. Но написать неправильную программу, а потом бегать и кричать на всех переулках «а почему у меня неправильная-то программа не компилируется»… глупо.
Хотя в случае с
operator+
всё вообще просто — час вас самый банальный вариант не устраивает?Но если хочется вот прям напрямую с матрицами, и публичного API не хватает, то тоже ничего сложного.Дык не работает ведь!
Какое отношение матрица 10x10 имеет к оператору умножения матрицы «3x2» на матрицу «2x3»?
На самом деле есть ощущение, что тут ничего и не поделать в C++: «ограничения доступа в C++ предназначены для обнаружение случайных ошибок доступа, они не защищают от кражи или взлома».
Жалко, что эта фраза из ARM больше не присутствует в современных стандартах. Так-то представить себе, что шаблонная функция будет что-то делать с объектами, к которым у неё нет доступа — довольно-таки сложно.
А что-нибудь подобное — это уже кража со взломом, фактически…
Ну так можно сказать, что плюсы вообще не нужны как класс, есть же С и вообще ассемблер, на нём тоже можно писать.
Так смысл С++ и классов в уменьшении сложности, за счёт инкапсуляции — не нужно помнить детали работы класса, используя его как чёрный ящик. А созданием большого количества сущностей мы увеличиваем сложность опять — нужно помнить, что это за сущность, какое у её назначение, ограничения и применение. Поэтому и тонкая грань польза/вред.
Зачем их помнить? Они все торчат в API нужных функций, компилятор сам напомнит.
О, хорошо, что API напомнили! Вот есть у нас Win32API, где буквально всё сделано своими собственными типами. Ну и как? Удобно? ;) Каждая сущность имеет свои значения и диапазон (в том числе запрещённые состояния типа INVALID_HANDLE_VALUE). Так как сделано было просто через typedef и структуры, то компилятор часто допускает подстановку одного вместо другого. Хрен с ним! Но всё равно требуется часто лезть в справочник, чтобы понять, что там вообще за значения допустимы.
в плюсах с неявными преобразованиями пару раз удавалось себе выстрелить в ногу.
Никогда не стрелял себе в ногу в С и С++ из-за языка. Стрелял из-за особенностей ОС, нюансов многозадачности с захватом GUI (в QNX), но из-за языка — никогда.
Так это не типы, а ерунда.
Суть в том, что они всё равно требовали помнить, что это такое.
Суть в том, что они всё равно требовали помнить, что это такое.Они требовали помнить ровно потому что всё было сделано не через типы, а через синонимы типов.
typdef
не вводит новых типов — в чём его очень большая беда.Если бы вы, как многие, поработали с языками, где это место сделано «по уму» (скажем с тем же «никому не нужным» Turbo Pascal'ем), то у вас бы ни вопросов, ни претензий не возникало.
Если бы вы, как многие, поработали с языками, где это место сделано «по уму»
Насколько я помню, Windows вроде как на паскале изначально и начинался. Отсюда и обратный Си порядок помещения аргументов функций на стек.
В любом случае, любая сущность требует её держать в голове. В этом их минус. А так удобно, да.
Тем более, что ещё не факт, что эти функции хоть как-то повлияют на скорость работы программы.Для того, чтобы они не влияли нужно, чтобы компилятор умел осознать, что размер
std::vector
а никогда не меняется и умел его, прозрачно для программиста, превратить в std::array
— но только в тех случаях, когда это приведёт к выигрышу, а не к проигрышу.Боюсь что подобное даже чисто теоретически невозможно, так как может зависеть от входных данных программы.
Только вот раньше как-то всё это решалось, а теперь поменялся подход и уже не решается.Никогда не решалось. Во всех «старых» проектах полно кодогенерации — lex, ragel, yacc и bison и так далее — ровно по этой причине.
Это, как бы, тоже метапрограммирование — и родилось оно раньше, чем C++.
Для того, чтобы они не влияли нужно
Нужно не использовать стандартную библиотеку, а делать для конкретного случая конкретную лучшую реализацию, как раньше и делали. А то нынче это «велосипед», сделаем всё через stl, всё десять раз перегрузим, допилим семантику переноса, придумаем вычислять на стадии компиляции, но зато теперь делаем стандартным способом (правда, обвешанным костылями, так как, оказывается, без подсказок компилятор сам не понимает, как это оптимизировать). Ну что сказать? Приплыли. Кто-то тут недавано магические квадраты через std::set решал и удивлялся просадке быстродействия. Способ, к слову сказать, очевидный и формально стандартный. Вот только std::set гораздо медленнее работает из-за своих особенностей, чем простое сравнение переменных в цикле. Тормозит? Да. Но зато задача решена стандартным и универсальным способом. Завтра вместо цифр будут цвета и программа и с ними сможет работать.
Никогда не решалось. Во всех «старых» проектах полно кодогенерации — lex, ragel, yacc и bison и так далее — ровно по этой причине.
Возможно, это в узкоспецифической области.
Нужно не использовать стандартную библиотеку, а делать для конкретного случая конкретную лучшую реализацию, как раньше и делали.Вот только раньше процессоры менялись реже и у вас был хотя бы теоретический шанс довести эту реализацию до ума до того момента, пока выйдет новый процессор и «парадигма поменяется».
Кодеки, впрочем, и сейчас примерно так пишут. Благо там кода мало. А вот уже что-то более объёмное — времени нет на «конкретную лучшую реализацию», увы.
Более прямой способ делать преобразования типов без type punning'а (который почти всегда UB) и безПроблема не в том, чтоmemcpy
(надеясь, что компилятор этотmemcpy
поймёт и соптимизирует). Джва года такое жду, особенно в лоу-летенси-ерунде.
memcpy
не будет соптимизирован (никогда проблем не было), проблема в том, что в constexpr
нельзя использовать memcpy
, а std::bit_cast
— можно.Если у вас есть лямбда без захвата, например,Дык и сейчас вроде как можно.auto foo = [](int a, int b) { return a < b; };
, то вы можете сделатьdecltype(foo) bar;
.
Это, кстати, тоже можно было бы ослабить.А зачем? Все известные мне практические потребности и
std::bit_cast
покрывает, а думать что там произойдёт, когда вы с помощью memcpy
перепишите VTbl в constexpr
функции — никому не интересно.Ну камон, плюсик-то уберите.Я что — себе враг?
И как думаете, какой тип у bar и почему туда компилятор ноль положил?Указатель, а ноль — потому что оно в BSS должно идти, раз неинициализировано.
Да, так сложно создаете указатель на функцию, а не инстанс конкретной структуры с конкретным operator(). Вы ж понимаете разницу в семантике?Понимаю, но не понимаю что мне это даст. Вот если бы можно было любую лямбду в тип превратить (ну Ok, пусть даже только если захвачены переменные с операциями копирования/перемещения) — это было бы круто.
А то, что в C++20 — это какой-то странный огрызок, если честно: там, где он применим, можно было обойтись и указателями на функции (у которых да, есть разница в семантике, но которые компилятор отлично изводит), а там где нет — там и в C++20 ничего сделать нельзя.
Ну и безотносительно этого, как вы указателями на функцию-компаратор параметризуете тип std::map так, чтобы значение не нужно было передавать в ее конструктор?Никак — но это, как бы, и не проблема на практике. Если реально сильно приспичит — можно и глобальную функцию завести, если лямбда ничего не захватывает. Хотя да, со статическими переменными неприятно будет.
Но нужда такая бывает, и реализовать это довольно просто, так что почему бы и не запилить?Проблема в том, что такие вещи, которые бывают полезны раз в год очень усложняют чтение программ.
Вещи, которые ты используешь часто — ты начинаешь воспринимать довольно быстро. Какими бы сложными они бы не были.
А вот вещи, которые нужны бывают очень редко… Тут всё не так просто…
Описанное в решениях очень похоже на то, что я слышу от своих немецких коллег-практикантов/недавно бывших практикантами. Однако у них это не ВУЗ, это курсы 1.5 года + 6 месяцев практики на предприятии + экзамен — web-разработчик на выходе.
Бывший коллега, закончивший бакалавриат по направлению информационной безопасности, уже рассказывал про "общеобразовательные" предметы что-то приближенное к тому, что было у нас (матанализ, линейная алгебра и т.д.), но он и в web-разработчики не планировал идти, закончив универ пошёл по специальности куда-то.
Ту же School 42 до сих пор не аттестировали в США, потому что не подходят по стандарты.
Но они готовят хороших специалистов.
Получаются, что такие вещи упираются в стандарты и потому вроде как не считаются «официальным образованием».
Вот только я не уверен, что работодателей волнует, какая там у вас бумага есть. Быстро можно будет понять, умеете вы что-то или нет.
Вот только я не уверен, что работодателей волнует, какая там у вас бумага есть.Работодателей не волнует, а вот вас — очень даже может. В ту же Германию вышеупомянутую, имея диплом, вы спокойно по «голубой карте» поедете, а без образования… Тоже можно, конечно, но процесс будет куда как сложнее и запутаннее…
Не погружалась глубоко в тему, однако в Берлине чтобы получить корочку курсов, коллега сдавал отчет с практики, что-то вроде дипломной работы (веб приложение) и экзамен перед комиссией. Насколько я понимаю, эти курсы — аналог ПТУ, дают Berufsausbildung, вполне официальное образование. Если человек безработный, то его оплату, как и деньги на проживание, можно получить от центра занятости. Но путь это доступен только местным/людям с ПМЖ, не уверена, что можно под них получить визу (и точно нельзя оплату курса от центра занятости).
Нет никакого смысла сидеть там 4-5 лет.
За 2 года не накопить столько денег, чтобы уехать из этой страны.
Ещё одна проблема — ВУЗы очень любят пилить деньги. Поэтому для всех ваших решений необходимо сначала провести реформу образования. Но законодатели тоже очень любят пилить деньги. Поэтому для реформы образования необходимо сначала провести реформу власти. А кто её проведёт? Навальный?
А так конечно, пока все пилят деньги, на что-то нормальное их всегда не будет хватать.
В каких, интересно, справились?
Не знаю кто там с чем справился, но на достижения в ИТ-индустрии это не очень повлияло.
И вы еще скажите, что Сингапур, Германия и Великобритания не имеют отношения к продвижению ИТ
И вы еще скажите, что Сингапур, Германия и Великобритания не имеют отношения к продвижению ИТИмеют. Но гораздо меньшее, чем США, Корея и Китай. Которые в том самом рейтинге на 22м, 46м и 86м местах, соответственно.
И я бы не стал говорить, что те 3 страны «гораздо меньше» делают, чем Корея и Китай
Когда я пришел в ВУЗ я знал от силы Паскаль и тот слабо. И был полон надежд, что вот сейчас то мне точно дадут нужные знания.
Я неплохо впитывал в себя вышмат, но прочитав, в том числе, немало споров на Хабре по поводу необходимости его в IT, я решил самому начать учиться.
И вы, кажется, упустили момент, когда я рассказывал, каким именно языкам и как нас учили.
Почему бы не на ассеблере или не на машинном коде?
Да, сменить язык, часто, не слишком сложно, ведь они похожи в плане основных вещей.
Но я бы хотел учить WEB на JS, PHP и других вещах, которые действительно используются.
Если вы делаете только калькуляторы, то, конечно, язык совсем не важен
Но системщикам — ассемблер, а вебостроителям — различную скриптуху.
Чтобы была понятна суть, а не чтоб заколебывались бойлерплейтом.
Ну, я бы посмотрел на то, как вы на бейсике изучаете Web-программирование.Смотря что вы понимаете под Web-программированием… Работу с гипертекстом и прочие подобные вещи можно и на Бейсике рассказать, а последний визг моды в области фреймворков — это вот совсем не то, что в ВУЗе должны рассказывать…
Почему бы не на ассеблере или не на машинном коде?Можно и на них. Кнут так и делал. Но программы гораздо более длинные, потому от этого метода отказались.
это вот совсем не то, что в ВУЗе должны рассказывать
Почему же нет?
Или так и надо 4 года решать все задачи в VB?
Так вышло, что у меня задачи для компа появились раньше, чем сам комп. Как учатся люди, у которых наоборот — для меня, увы, не представимо…
Вы, кажется, не имеете хобби, помимо программирования? Можете рассказать, с чего Вы начинали?
Других доступных языков на полуизолированной от интернета машине в 2001-м году не было
Ну делфи же, ну ) в 1996 еще пятеркой баловался, которую на CD продавали, на развалах.
автоматизация MS Agent — весьма забавная штука была тогда )
куча утилиток была написана на этом языке, вплоть до управления жизненным циклом виртуалок VMware/Virtual PC еще до всяких там devops, VDI, vApps и иже с ними.
BASIC, если не ошибаюсь, в комплект ms-dos входил. И в самом начале 90-х школьники далёкой провинции доставали TurboPascal, TurboC, dBase, FoxPro и т. п.
Решение очевидно — нам нужны нормальные зарплаты.
Нет. Нам нужны нормальные преподы на нормальные зарплаты.
Нам не нужно, чтобы впавшие в маразм и оторванные от реалий бизнеса в который пойдут выпускники дедушки и бабушки отсиживали часы за эти зарплаты, не давая студентам ничего ценного.
если они хотят стать сисадминами и верстальщиками.
то им не впёрлось высшее образование.
То есть, если хочешь только программировать учиться — отлично.
И честно пиши потом, что у тебя «среднее специальное».
придется уменьшить время обучения до 1-2х лет.
Во-о-о! И я о том же! Техникум!
Вот только ПТУ сейчас совсем плохо себя чувствуют, так что нужно что-то получше.
Но да, уже много раз писал — это может и не считаться ВУЗом.
Вот только ПТУ сейчас совсем плохо себя чувствуют, так что нужно что-то получше.Проблема курицы и яйца. ПТУ сейчас выпускают «разработчиков», который вообще нифига делать не умеют, потому работодатели «воротят нос»… А люди, которым, на самом деле, нужно ПТУ — идут в ВУЗ, потому что в ПТУ они совсем ничему не научатся…
Умные люди идут в ВУЗ, не понимая, что к чему (см. Проблема_1).
Те, кто поглупее, дискредитируют ПТУ.
Потому и говорю — нужно бы что-то между ПТУ и ВУЗом.
Кстати, спасибо за такую активность.
В том числе из-за вас я заметил и исправил несколько вещей, чтобы грамотнее изложить идею. Правда ценю это, значит вам тоже не плевать на IT-образование в РФ
Потому и говорю — нужно бы что-то между ПТУ и ВУЗом.Теоретически посредине — должны быть институты (кстати американская «кузница кадров» для индустрии, знаменитый MIT — это «типа институт», не университет).
Но в России в 90е почти все они «перекрасились» в университеты и теперь делают вид, что наукой занимаются.
По идее кроме ВУЗов и ПТУ еще были техникумы и институты.
И большая часть программистов относилась бы именно к ним.
Но сейчас решительно непонятно, где кто, ведь эти 2 вида влились в другие два.
Техникумы никуда не делись. У меня, одноклассник после школы в техникум на программиста поступил (не знаю, правда, выучился или нет).
Дело в том, что в СССР институты и даже некоторые училища были по факту университетами.Бауманка, в частности.
Но конечный результат: появление кучи «типа университетов», которые «типа занимаются наукой» — и полнейшее отсутствие каких-либо учебных заведений, готовящих «программистов для производства».
Бауманка, в частности.
Это та, после которой выпускники не могут нарисовать принципиальную схему и УГО диодного моста, как тут один товарищ, их собеседовавший, жаловался?
«Подколодный жопозвезд мы сожгли диодный мост».
Это та, после которой выпускники не могут нарисовать принципиальную схему и УГО диодного моста, как тут один товарищ, их собеседовавший, жаловался?Вы не поверите, но я тоже не смогу нарисовать «принципиальную схему и УГО диодного моста». Хотя когда-то изучал…
Так что нужно ещё смотреть на специальность, которую они там должны были получить.
Вы не поверите
Вы тоже не поверите, я вообще не электронщик, и у меня вообще вышки нету, но как DIY-шник я этот самый диодный мост я вам ночью с закрытыми глазами нарисую )
Вы тоже не поверите, я вообще не электронщик, и у меня вообще вышки нету, но как DIY-шник я этот самый диодный мост я вам ночью с закрытыми глазами нарисую )Это прекрасно — но ничего не говорит о том, должны ли все выпускники бауманки быть DIY-шниками и его рисовать…
Мне в Физтехе пожаловалось, что студенты нифига не знают ничего. Пришёл к ним выпускник с красным дипломом кафедры наноэлектроники ЛЭТИ. Так он даже выводы биполярного транзистора назвать не может! У нас сейчас работает студентка 4 курса такой же каферды наноэлектроники только ГУАП'а. Без 5 минут бакалавр направления наноэлектроника (бывшая микроэлектроника :) ) отвечает:
1) Что такое запрещённая зона? Ответа нет. Такого слова тоже не помнит.
2) Доноры и акцепторы? Тоже не слышала.
3) Уровень Ферми? Не слышала.
4) Физику твёрдого тела проходили? Э… Вроде бы да. На втором (!) курсе. А квантмех? Нет, не проходили. А как же вы ФТТ без квантмеха изучали?! Ну ладно, оптические и акустические спектры в кристаллах слышала? Нет. Волна Блоха? Вроде бы да, но не помнит.
5) Схемотехника была? Да, и много. Выводы транзистора полевого и биполярного? Не помнит. Но слова «эмиттер», «коллектор» и «база» знакомы. УГО (условное графическое обозначение) биполярного транзистора? Что-то со стрелкой, но нарисовать не может.
6) В дипломе электронное устройство. На микроконтроллере stm32f407 (опрашивает кнопки матричной клавиатуры и управляет реле если введённый код верный (экрана, кстати, нет) — 168 МГц частота и 192 КБ ОЗУ — отличный выбор для такой задачи. Почему взята плата с этим МК? А именно её изучали.). На базе стандартных блоков из Китая. Вся схемотехника диплома сводится к проводам. Единственное своё — матричная клавиатура. Но это не электроника вовсе.
7) Какое напряжение падает на p-n переходе кремниевого диода при прямом включении диода? Не в курсе (что там вообще что-то падает?).
8) Говорит, что советские учебники слишком сложны и непонятны. Преподают плохо, так как студентам надо больше делать что-то руками — например, паять матричную клавиатуру. Почему это считается достижением — я не понял.
9) Какие известны полупроводники, кроме кремния? Через минуту раздумий неуверенно: германий, наверное. Всё. Остальных не встречали.
10) Что такое триггер? Регистр? Мультиплексор? Ответа нет.
11) А что вообще помнишь из изученного? Что вообще изучали? Ничего не помню… Я сразу забываю…
Напомню, что это кафедра наноэлектроники. Прикольно, да.
8) Говорит, что советские учебники слишком сложны и непонятны. Преподают плохо, так как студентам надо больше делать что-то руками — например, паять матричную клавиатуру. Почему это считается достижением — я не понял.Ну дык тот же подход, что и у автора статьи: зачем на все эти «скушные» предметы, если можно бац-бац и в продакшн?
Напомню, что это кафедра наноэлектроники. Прикольно, да.Да уж. Я паяльник в руках последний раз держал лет 10 назад, но и то кой-чего вспомнить могу… и уж точно не освежив знания по таким банальным вещам не стал бы лезть в «железо».
Я говорю, что некоторые предметы не так сильно нужны, и нужно пересмотреть их необходимость и оставить только необходимые.
Что видишь ты — «Он сказал все убрать»
Что видишь ты — «Он сказал все убрать»Извините, но я вижу вот это:
Если кто-то хочет учить матанализ — пожалуйста. Просто не надо делать это обязательным.Как вы собираетесь без матанализа оценивать сложность ваших алгоритмов? Как вы без этой оценки будете понимать что будет с вашим фронтэндом при увеличении количества данных на входе в 2/3/10 раз? Как вы будете прикидывать — что при этом случится с хешами, где вы всё храните или прочим?
Опять же, если студент выбрал направление, где точно нужен матанализ — там это обязательно, а не выборочно. Это очевидно, но я лучше уточню :)
Экспериментально? Ну так это, в конце-концов и кончится тем, что вы получите кривое подобие матана и теорвера.
Сделаете как получится, а если не получится — попросите пользователей докупить памяти и более быстрый процессор? Ну пока что так все и делают — только результат всё меньше и меньше заказчиков устраивает.
В эпоху «конца закона Мура» может оказаться, что лет через 10 — и совсем устраивать перестанет.
Опять же, если студент выбрал направление, где точно нужен матанализ — там это обязательно, а не выборочно. Это очевидно, но я лучше уточню :)
Это мы игнорируем, конечно, я понял.
Ага, а как же буквально (!) следующая строкаЭта фраза тоже предполагает, что в выбранном вами направлении может не быть нужды в матанализe.Опять же, если студент выбрал направление, где точно нужен матанализ — там это обязательно, а не выборочно. Это очевидно, но я лучше уточню :)
Однако… Вселенная является великой книгой, написанной на языке математики.
Независимо от того, куда в IT вы направитесь — как только вы копнёте глубже, вы наткнётесь на матан, теорвер, матстатистику, вот это вот всё.
Соотвественно если ваша задача — не научиться «клепать формочки» не задумываясь над тем — сколько на это уходит ресурсов и как это масштабируется, то матан и теорвер вам потребуются по любому.
Это мы игнорируем, конечно, я понял.Нет, зачем. Просто нужно разделять: вы либо делаете плохие сайты и бысто-бысто их продаёте (для чего ни матан, ни теорвер не нужны, но нужно уметь «подскакивать кабанчиком» и знать «нужных людей»), либо вам потребуется-таки все эти знания, которые вы сегодня считаете «лишними».
Тот факт, что в ВУЗе некоторые получают знания о том, как нужно «подскакивать» к его программе прямого отношения не имеет — с тем же успехом этому можно учиться в любой крупной организации: хоть в банке, хоть на заводе. В этом смысле ВУЗ — действительно вещь совершенно лишняя.
Как вы собираетесь без матанализа оценивать сложность ваших алгоритмов?
А где там матан, простите? произведения, степени/корни, логарифмы в школе проходят же. Или уже нет?
Ключевое слово "иногда" :)
А ещё много оценок (даже самых простейших, типа скорости работы хеш-мапа) опираются та теорвер, к примеру.
Я боюсь вы просто не осознаёте сколько вещей, которые относятся к высшей математике и основаны на высшей математике вы используете.
Да, вам, действительно, не потребуется весь матан… так же как не потребуется вся алгебра, вся геометрия и так далее.
Но без матана анализировать сложность алгоритмов — не получится.
Ушел из ЛЭТИ на третьем курсе набора 92-го года из "железячной" группы в том числе (основная причина — мало программирования) потому что в к концу этого курса проходили один семестр эти запрещенные зоны, доноры и акцепторы чисто в теории. Субъективное ощущение, что только процентов 10 в лучшем случае потока понимало хоть как-то (я — хоть как-то) как оно относится к реальной схемотехнике, потому что реальной просто не было. Кто знал до института что такое эмиттер-коллектор-база и сток-исток-затвор (просто что это выводы транзисторов и база/затвор — типа управляющие), тот понимал о чём вообще речь. Банальный однокаскадный усилитель на биполярном транзисторе к концу третьего курса не прошли, так чтобы знать как его "спроектировать", что за что отвечает, как что влияет. Зато прошли переходные процессы в активно-пассивных цепях, абстрактные ОУ со всякими ОС с расчётами с использованием "матана" (операционное исчисление, емнип), и только один курсовик был по проектированию чего-то более-менее реального. И то: дана схема и в какой-то досовской программе (pcad?) подобрать сопротивления и емкости для нужных ТТХ, а потом развести. Паять — ничего не паяли. Триггеры, регистры, мультиплексоры проходили, но опять же абстрактные и тоже, кажется, хоть что-то понимали только те, кто эти слова до института слышал.
Ушел из ЛЭТИ на третьем курсе набора 92-го года
Так это ж золотые 90-е! Там ещё учили вообще в ЛЭТИ? :) Я-то сам набора 2000 года.
абстрактные ОУ со всякими ОС с расчётами с использованием «матана»
Это потому, что в реальных схемах есть золотой рецепт «не используйте транзисторы, используйте ОУ и получите характеристики на порядки лучше». И, ЧСХ, рецепт не врёт.
и только один курсовик был по проектированию чего-то более-менее реального.
На работе в это наиграетесь. :)
Паять — ничего не паяли.
И не должны. Вы же на инженера учились?
потому что в к концу этого курса проходили один семестр эти запрещенные зоны, доноры и акцепторы чисто в теории.
А в чём вы их хотели проходить? :O На практике? Это же так и называется «Зонная теория твёрдого тела».
Там ещё учили вообще в ЛЭТИ?
Ещё учили по чисто советским нормам. Разве что политэкономию заменили на экономику, а историю КПСС на философию и психологию, если я правильно понял.
Это потому, что в реальных схемах есть золотой рецепт «не используйте транзисторы, используйте ОУ и получите характеристики на порядки лучше». И, ЧСХ, рецепт не врёт.
Нам об этом не говорили и, главное, ОУ были абстрактные.
И не должны.
Там выше где-то было, что студенты паяли. Мы не паяли :)
А в чём вы их хотели проходить? :O На практике? Это же так и называется «Зонная теория твёрдого тела».
У нас курс назывался типа "Полупроводники в электронике". Я как-то ожидал, что он даст теорию к тому, что я осваивал на практике в радиокружке. Но как-то не срослось. Теория осталась теорией никак не связанной с каким-то МП39А или К315В (почти 30 лет прошло, мог ошибиться где-то)
А если отбросить шутки и троллинг в сторону, то сегодня после этой статьи у меня возник вопрос: по моим субъективным наблюдением, даже на кафедрах IT-направления не так уж мало студентов, которые не справляются (или совсем не хотят справляться) с базовыми IT-предметами, не говоря уже о сложных, которые доставляют страдания даже подготовленным (!) студентам профильных вузов. Почему есть такая уверенность, что если отбросить «левые» (и далеко не самые сложные, если честно) предметы, а вместо них добавить простые IT-предметы, то мы получим что-то лучше пту?
А если добавить сложные, то почему можно будет реально их преподавать (хотел бы я посмотреть на тех, кто собирается учить машинному обучению слабо знакомых с математикой людей), а студенты смогут (и захотят, ведь откуда появится мотивация, если сейчас ее нет даже для того, чтобы сходить в деканат/другие отделы вуза, чтобы узнать, что и почему происходит) их учить? Кажется, что такой путь очень легко может привести либо к разрушению сомнительных (но все еще живых) вузов и созданию пту с красивыми корочками, либо к появлению более дорогих вузов, но вместо физики студенты не будут знать машинное обучение, а вместо философии — списывать инфобез.
По поводу студентов, которые пошли на IT и не знают ничего даже из простого — это так.
Но разве на других направлениях иначе? Если заглянуть к физикам, думаю, там тоже будут люди, не понимающие даже простых вещей.
И я не говорю убирать именно «сложные» вещи. Я говорю убирать те, что не пригодятся на практике.
И вы сами сказали — есть люди, которые пришли в IT и не вытягивают даже простые вещи. В таком случае они довольно быстро могут вылететь из учебного заведения и не будут тормозить процесс.
Для этого можно нанять уже состоявшихся людей со значительным опытом.
А вы, я так понимаю, и химфак и физфак на всякий случай закончили и философию от Сократа до Гегеля учили?
А то вдруг пригодится
У меня в универе план составляли люди, которые даже что-то научное публикуют раз в 5 лет (не утрирую). И еще очень хорошо, если это будет хоть как-то связано с информатикой.
Просто потому что только такие люди в универе и есть.
И не удивительно — за такие то зарплаты
Из того, что обычно не вспоминают про ВУЗ-ы — это доп. соц. лифт, дружеские и профессиональные связи, повышенное внимание рекрутеров и гостевой/стажёрский доступ почти в любые средние-крупные компании (где-то со второго-третьего курса).
Эх. Никто толком не написал главное, что даёт вуз — среду.
1) В вузе активно хантят на стажировки крупнейшие компании.
2) Эти же компании создают собственные кафедры.
3) Через несколько лет ваши однокурсники будут работать (в том числе на руководящих должностях) во многих крупных компаниях. Когда вам понадобится собрать команду, знание людей сильно ускорит этот процесс.
4) Вы получите много людей, которые развиваются вместе с вами. Естественные соревнования друг с другом дадут мотивацию расти быстрее. А возникающие проблемы вместе решать будет проще.
5) Преподаватели-практики будут рады взять себе падаванов.
А учеба на парах это дело не основное (но полезное)
Начнем с начала — школы, школы сейчас сбросили планку на «плохого ученика», что привело к вымиранию ПТУ. Доучится 11 классов может даже самый отпетый троечник (двоечник). Тут в основном проблема в отсутствие процесса и желании родителей протолкнуть своего дитё к престижному высшему образованию, ну и так получилось что учителя относятся к своим ученикам как к собственным детям.
На выходе мы из выпуска получаем солянку из тех кто реально 11 классов пахал/трудился(10-25% от класса) и тех кто просто просиживал штанишки(как я например). И вот вся эта солянка на 90% поступает в ВУЗ. 50% из этих людей поступят на бюджет, другим 50% обучение оплатят родители.
А теперь все мы пришли и стоим перед нашим преподавателям по выш. мату, правда 70% из нас довольно хорошо забивали на школьный курс по математике. И вот так получается что первый курс по выш. мату будет состоять из того что мы ленились изучить в школе, просто потому что большая часть потока не справится с тем, с чем должна была справится. Тоже самое касательно других предметов и вот мы получаем уже +1 год к обучению для того чтобы просто сделать то, на что мы забивали в школе.
Что мы получаем в процессе, во первых демотивированных отличников которым дают тоже самое, а они теряются в этом всем и сдают позиции на старших курсах. Мотивированных троечником, которые вдруг начали выбираться из этого(там вон даже движение целое есть, «почему быть троечником лучше чем отличником») и тех кому все так же похеру.
Опять же на этом этапе, наша система не отсеивает 3 группу, потому что часто они оказываются теми кто платит деньги за обучение.
И вот тут возникает делема, мы не можем дать продвинутый курс тем кто в нем нуждается, потому что в этом случае мы потеряем тех, кто не может его вытянуть. (а это не минуточку естественный отбор, который как мы заметили работал всегда) И вот мы даем программу которая может быть воспринята и теми и другими. Именно в этот момент мы начинаем терять высшее образование во всех его смыслах и получаем «среднее». А преподаватели работают с огромными группами на износ за низкую ЗП, где о мотивации не может быть и речи.
Выхлоп такой что мы не получаем хороших кадров после вышки, диплом обесценен(даже будь он окрашен всеми цветами радуги).
Я бы предложил:
Сделать образование платным, но оставил бы спонсируемые места людям которые действительно старались в течении всего обучения в школе.
Сделать возможность выбора предметов по желанию
-> Выбор широкой специализации на входе
-> Требование по определенному кол-ву курсов и часов для выбора узкой специальности при дальнейшем обучении
Сделать более жесткими правила для продолжение обучение (а не как сейчас на заочке ребята сдают долги по физике, которая была на 1 курсе, аж на 4 курсе)
Сделать обязательное интервью перед поступлением, цель которого сугубо в том чтобы понять, а правда ли он оно ему нужно или это желание его родителей к примеру.
Запрет преподавания на стандартных курсах программы школы, пусть буду дополнительные для тех кому это действительно нужно.
Ещё можно сделать высшее общее образование для тех кому просто нужна корочка или в армию неохота.
Ну и закончить с позорной практикой требовать диплом ВУЗ-а у всех поголовно. Даже у уборщиц, которым для освоения профессии не нужны ни философия, ни матан =). Это уберет необходимость при любом раскладе запихивать свое чадо в ВУЗ. Зато в полку ПТУ прибудет =). И вместо страдальцев, которые не хотят знать основ, а хотят профессию, будут довольные люди осваивающие профессию о которой мечтали.
Вам стоило поучиться хоть в одном университете до конца хотя бы ради логики и математики. Тогда и без меня поняли бы бредовость вашей затеи.
Вопрос мотивации к учебе гораздо более объективно проверяется через вступительные экзамены, а не через кошелек. Смог подготовиться по озвученным заранее темам и сдать экзамены лучше других — значит и способности и мотивация в наличии.
Тот кто богат заливает все проблемы деньгами, а те кто умны — умом, в итоге мы получаем людей которые ненавидят друг друга и не в состоянии понять друг друга.
А равенства не будет никогда, увы, если мы конечно друг друга не убьем.
1. Вы сами предложили сделать образование платным. Причем высшее в открытой форме, а среднее и начальное в завуалированной — выделить некие курсы отрезающие полезные знания от основной учебной программы (видимо бесплатными оставить обж и физру ;). ).
2. Для того, чтобы быть технарем вам надо уметь в логику. Пока же я вижу следующее:
Вы хотите чтобы обучение было платным для всех. Т.е. завязываемся тупо на финансирование от студентов. Есть студент — есть деньги. Нет студента — нету денег…
При этом вы хотите чтобы было меньше платников-лоботрясов, которые сдают экзамены за 1-й курс на 4-м. И их не выгоняют? Почему же это? о_О. Как так получилось? Ктоооо это наделал? =)
Как думаете, в чем подвох? ;). Попробуйте поразмышлять на тему почему платников тянут. Что теряет или приобретает учебное заведение, если отчисляет платника? Что будет, если платниками будут все студенты?
Как доп. задание на дом, предлагаю вам почитать что такое конфликт интересов.
почему платников тянут. Что теряет или приобретает учебное заведение, если отчисляет платника?
Бюджетников могут тянуть по той же самой причине. Учебному заведению нет разницы, кто именно платит: государство или физ.лица.
Вы не в курсе текущего состояния образования:
из четырех 9-х классов создают один 10-й класс из местных учеников и один специализированный по предмету и это в обычной районной школе. Остальным просто указывают на дверь, после чего конкурс в ПТУ, как при поступлении в институт.
Нет сейчас всеобщего среднего образования (не в Маскве).
Да, это уже не совсем ВУЗ, так как там готовят не «ученых», а просто хороших работников.
Но это и не ПТУ, так как там готовят ХОРОШИХ работников, а обучение программированию предполагает немалые знания хотя бы в области математики. И если вы сдали ГИА на тройки и идете в ПТУ — это не совсем тот уровень знаний, о котором я говорю :)
В хорошем ПТУ тоже готовят ХОРОШИХ работников. От электрика или сантехника с таким подходом к обучению Вас будет отличать только чистый офис.
Все-таки вуз (в нашей системе образования) делает с человеком немного другую вещь.
Например я работаю разработчиком электроники, но при этом я в состоянии как минимум разобраться в любой технической системе и более менее рассчитать любое физическое явление. Не скажу что мне это нужно постоянно — но иногда приходится расчитывать например резонанс механической конструкции, чтобы понять почему из-за работы вентиляторов у меня что-то нехорошее происходит в системе.
Или например оценить тепловой режим работы схемы.
Это не особо относится к моей прямой профессии, но тем не менее я могу это делать и иногда делаю. Хотя конечно этим могли бы заниматься другие «специально обученные» люди.
Я достаточно неплохо разбираюсь ЦОС, умею читать код и даже сам немного программировать — хотя это тоже не мои профессии.
Это последствия высшего образование — оно просто делает кругозор шире что-ли. И это позволяет мне концентрироваться не только на конкретной схеме или плате, а смотреть на системы в комплексе.
Да и в быту бывает полезно, когда хочется сэкономить на проектировании электрики/сантехники/отопления — все это я умею делать, потому что в вузе мне дали для этого фундаментальную основу. Я нарисовал 3D модель своего дома со всеми деталями, каркасом и коммуникациям — это я тоже умею делать, хоть это и не моя профессия. Из меня хреновый сантехник/электрик, так как руками я работать не умею — но я прекрасно знаю как и почему делать правильно и спокойно могу сантехников/электриков контролировать. Эту способность мне тоже дал вуз.
По большому счету я могу сожрать любую техническую дисциплину, потому что почти по всем из них у меня есть базовые знания.
Я не могу оценить — хорошо это или плохо, но именно это и есть отличие вуза от ПТУ
Но справедливости ради — после выпуска, как разработчик электроники я был 0. Хотя я списываю это на то, что специальность у меня была несколько иная, а электроника это был один из ее кусочков. Ответ на вопрос — хорошо ли в Бауманке преподают эту дисциплину такой — на уровне 70х наверное.
З.Ы.
И даже вышмат с его теоремами Коши мне один раз по работе пригодился ))). Правда это конечно дичь по большому счету уже.
Неужели учась не в ВУЗе или не учась совсем, невозможно разбираться больше чем в одной-двух вещах?
Думаю, это скорее вопрос о том, хочет ли человек в целом изучать что-то новое.
Если не хочет — как ему поможет в этом ВУЗ?
Я и сам, помимо кода многие вещи пробовал. Это важно — понять, что больше нравится.
И я же и вел к тому, что следовало бы давать людям попробовать себя во многих направлениях, чтобы прочувствовать каждое.
А сейчас кто из хороших преподавателей, знающих программирование, пойдет в ПТУ преподавать? :) Это, как минимум, не выгодно
Широкий кругозор это отлично, только почему это следствие именно ВУЗа?
Потому что имеено в вузе галопом по Европе Вам помимо основной специальности дают все подряд — термех, сопромат, детмаш, физику, гидродинамику, программирование… А что с этим делать — это уже Вам дальше решать. Да на каком-то базовом уровне. Но гораздо проще если Вам препод в вузе расскажет что такое, например — «свертка» и заставит сдать экзамен и вы это забудете до лучших времен, чем когда Вы попытаетесь потом в это въехать с нуля.
В этом и смысл.
ИМХО что реально нужно исправить в вузах — это все-такие актуализировать базу знаний, чтобы она хотя бы в пределах ближайших 10 лет лежала, и добавить какой-нить прикладухи. Потому что ну вот реально не понимаешь нафига нужны все эти, скажем фильтры Чебышева — пока не увидишь как именно это применяется в конкретном устройстве. А потом через 10 лет сталкиваешься и начинаешь из глубин сознания знания выкапывать и понимать зачем это вообще все было.
Ну и как-то снизить процент валеологий и культурологий в технических вузах.
Для кого-то и переход к базису ортонормированных векторов будет далеко не базовой вещью.
А, например, производные и интегралы я еще в 10-11 классе проходил.
И где же именно этот базовый уровень? :)
Касательно программирования еще хотел написать.
Тут на мой взгляд вообще нужно учить людей придумывать и понимать алгоритмы, изучать какие-то типовые алгоритмические приемы, математике научить наконец. Дать им понимание того как работает компилятор, что идет в процессор, как обрабатывается, как это уходит в железо. Дать понимание об особенностях программирования для разных применений.
А не изучать языки. Ну ок — классику надо конечно.
Потому что я постоянно наблюдаю людей, которые могут накодить что-угодно на 5-6 языках, правда для этого им сначала надо чтоб я на бумажке алгоритм придумал им — сами не в состоянии. Язык это все таки просто инструмент. И такой уровень компетенций — это ПТУ. И за компьютером сидит не инженер-программист, а рабочий-программист с инструкцией от инженера.
По мне так это как если бы полностью нарисовал схему обвязки котельной и отдал ее «инженеру» на реализацию. А он бы ее просто собрал, добавив каких-то специфических деталей там… тройничков, краников, о которых я просто не знаю и не подумал.
Но и знание инструментов тоже будет далеко не лишним.
Но да, без алгоритмов — это ПТУ, где человек просто клацает по клавишам.
Это не то, что нам нужно
Ну хз — мне кажется у программистов таких вопросов возникать не должно если честно.
То есть все что ниже машинных инструкций для него уже черная магия.А речь о современном процессоре идёт или о каком-нибудь 6502?
Потому что в современном процессоре там действительно масса разных интересных вещей и изучать это можно годами.
Но как в принципе программа на внешний мир воздействует — как бы несложно-то понять…
Ну хз — мне кажется у программистов таких вопросов возникать не должно если честно.Им очень большое количество вещей вообще поначалу не интересно (то есть опускаться ниже CSS/JS как бы и не хочется, потому что, вроде как и не нужно), потом они, с удивлением, обнаруживают, что абстракции текут (как-то примерно так), а поскольку в своё время на всё «башню» не смотрели… им и неясно есть ли подо всеми этими «текущими» абстракциями твёрдое «дно»… или там черепахи до самого низу.
Так-то нужно понимать, что все достижения «цифровой электроники» опираются на транзистор, который может переключиться без сбоев и запинок миллиард миллиардов раз. Только эта беспрецедентная надёжность — делает возможным всё остальное… Однако, удивительным образом, масса вроде как программистов — этого не понимает.
В моей — это содержимое книжки Хоровиц Хилл
Вы хотели сказать «трёхтомника П. Хоровиц, У. Хилл „Искусство схемотехники“»? :)
Можно еще конечно дать элементы цифровой схемотехники из второго тома, но не вдаваясь в дебри.
Этого достаточно, чтобы в случае необходимости наш будущий инженер мог ковырять дальше.
На всякий случай — ХХ — это не настольная книга разработчика, а скорее букварь ))). На столе должны быть Говард Джонсон, Боб Смит, Эрик Богатин и тд.
Прочёл про жалобы на матан и закончил чтение
Такая ересь. Вот поэтому и плохое образование, что ребята хотят сразу кодить, а не программировать. Код писать это последнее дело.
Ну и так-то во всех вузах до 2го курса идёт база математическая, а дальше всякое по программированию вставляют.
Ну поехали.
Сам я отучился 4 года в Волггту — это политех волгоградский. Потом на магистратуре потусил 1.5 года, но бросил. Учился я плохо, можно сказать, что вообще не учился. Таков расклад.
Теперь по вашим пунктам.
1) Если вам из определения не ясно, что вы будете делать — это всегда можно уточнить. Тем более вы выбираете вуз — мониторить форумы-группы можно легко. Узнать что и как тоже. Это только ваша лень — не тянет на какой-то минус.
2) Расписание, матан… Если бы вы привели философию, экономику или что-то другое — я бы согласился, но вы решили, что матан — это худшее, что можно узнать. Сам я его не учил, например, так… чтобы сдать, но сейчас бы, если бы повторно пошел, учился бы нормально.
Вся проблема не в том, что вам дают знания плохие, а в том, что вы не хотите учится)
Вы не понимаете для чего преподают тот или иной предмет, но мол мы сейчас все модные пишем на JS, юзаем Angular и Node — нам это не нужно… какой-то Pascal…
Нас вообще на Кумире учили пол года. Знаете, что это такое?) Это такой язык на котором можно изучать алгоритмы с визуализацией. Вообще бесполезен, но благодаря нему легко понять работу алгоритмов и найти ошибки.
Матан не нужен? Ну, может, в реальности почти никому не нужен, но уметь логически думать и решать задачи — обязанность любого программиста. Матан неплохо это развивает.
Вас не должны учить технологиям, тем более на 1-2 курсе — вам дают БАЗУ. Объясняют, что такое программирование — как и зачем что-то делать, что такое алгоритм, что такое ветвление и цикл, как нужно думать и декомпозировать задачи, базы данных — графовые, документоориентированные, реляционные…
Вам нужно на курсы, типа гикунивера идти или скиллбокс — там как раз по шаре учат, как вы хотите. Это уже вы не посмотрели куда шли.
3) Учителя — тут как попадется, не спорю. У меня были просто великолепные — вышка нереальная, особенно те, что занимались программированием.
Git отлично объяснили, принципы ооп и построения сложных систем — спасибо большое им за это.
4) Как вы можете знать — как выходят с вуза, если не закончили его?))))
Практики у меня было достаточно. Притом мы писали разное, понимаете, не было такого, что нас ТОЛЬКО верстке учили или ТОЛЬКО администрированию. Нам давали всего понемногу, чтобы мы определились с направлением САМИ. Мы кодили клиент-серверные приложения, интегрировали VK API и FACEBOOK API, изучали типы и структуры данных, верстали и прогали, писали консольные програмки и с GUI.
Но это не важно. Важно то, что универ дает ЗНАНИЯ и возможности, чтобы задавать ВОПРОСЫ. А над практикой и портфолио работать должен САМ СТУДЕНТ.
Я тоже в свое время не понимал, как вы — поэтому и учился для галочки, но сейчас, спустя 5 лет — я бы с радостью заново пошел и участвовал во всей движухе. Я читаю очень много литературы. И я многое уже знаю, потому что в универе было — паттерны, проектирование, конструирование и прочее…
Естественно, чтобы сверстать какую-то фигню много не нужно ума, но для этого и универ не нужен. Он не мешает, никто вам не запрещает самостоятельно учиться. Вы многое потерял, на мой взгляд, бросив универ.
1) Если все побегут уточнять — не завидую я деканату :) (К слову, не факт, что они сами смогут уточнить)
Почему нельзя сразу нормально все объяснить?
Или так и написать — хотите узнать, куда поступаете — звоните в ВУЗ.
2) К слову, философия и экономика у нас так же были. Но их было мало, они не нагружали и без того непростую программу. В каком-то роде они «расширяли кругозор».
Я не говорю только о 1-2 курсе. У нас в программе вышмат до самого конца (4.5 года).
Про базы данных, как-то, тоже не особо все круто. Может в будущем, если повезло бы, рассказали бы. Но в первые 2 года этого не было точно.
Думать логически и знать алгоритмы — не спорю, это и необходимо. Но почему именно матан и именно в огромном количестве? (Не в обиду Алгебре Логики, она как раз к месту, что неудивительно)
А у нас есть направления, где еще плотнее загрузка, там все в бешеных темпах проходится.
3) Повезло вам, у меня только 1 препод слышал, что такое Git и ООП, и тот был всего 0.5 года, после у нас его в программе до магистратуры нет.
4) Знаете, я общаюсь с людьми :)
В том числе закончившими совершенно разные учебные заведения, от ПТУ до Бауманки.
И все, что вы описали в 4 пункте — это отлично. И ничего из этого у нас в программе нет.
А учили бы — я был бы рад остаться.
И я не говорю только о верстке.
Вот каким, например, образованием, должен обладать тимлид группы Frontend-разработчиков?
2) Хз, у нас 2 года шел матан, кажется. Был еще тервер, булеваалгебра и прочее, но опять же — а что еще нужно учить? Не знаю как у вас — у нас прям дубы дубами приходили — матан их отсеивал жестко (и физика:)).
БД 3й курс был — очень подробно.
Программа каждый год меняется. Нужно было просто посидеть там. Вам никто не мешал совмещать)
Почему матана много?
Во-первых, это вуз — высшее заведение, прицел на дальнейшую магистратуру и прочие «научные» специализации.
Во-вторых, нагрузка идет постепенная. Не помню, чтобы прям все 2 года матана было. Было много математике, но там было разное — мне даже интересно иногда было:) Опять же — барьер хороший для отсеивания.
Тут опять же — вы frontend. Тут не будет слишком алгоритических задач или подобного, а, например, ребята, которые проектируют какой-нибудь сервис по настройке подвески или танковое шасси — им нужен будет полный матан… Все субъективно. Даже в тех же играх иногда нужно прикрутить сложную логику, где будут уравнения и прочее) Математика подходит близко, когда от веба уходишь.
Так что тут субъективно. Я не помню, чтобы меня сильно напрягало что-то, кроме физики. А вот после 2го курса пошли прикладные вещи — те же базы, клиент-серверное взаимодействие, сети и прочее… Так что с этим порядок.
3) Сомневаюсь, что так плохо. Наш ВУЗ не особый топ по стране:) В НН — Интел и прочая IT-движуха. Очень, очень сомневаюсь, что там ТАК плохо с учебой. Возможно, вы не доучились как раз до 2-3го курса. Преподы по матану не должны знать программирование) У нас на первых курсах из программирования было только — введение в прин и алгоритмизация (основы программирования, как-то так называлось).
4) Ну я на своем примере написал) Столько лаб нужно делать, что хочешь-не хочешь, а практика будет. Ну и опять же — это не школа, где тебе говорят, что делать. Тут уже сам должен разбираться в предметах, практиковаться и учиться, а что не ясно — уже уточнять) Тебе дают направление, а движешься сам. Личное ИМХО.
У меня все ребята, что закончили — прекрасно работают. Сомневаюсь, что кто-то жалеет о 4х годах, которые были не напряжные. Кто-то в Яндекс сразу поехал, кому-то вуз организовывал зарубежные путевки на 3 месяца:) Ну это тем, кто учился, а не как я)
Тимлид?) Не знаю, я больше по Backend) И вообще фрилансер:)
Думаю, общими:
1) проектирование архитектур
2) знание паттернов и умение их применять
3) планирование (диаграммы ганта и прочее)
4) декомпозиция задач
5) менеджмент
6) разбираться в прикладной области
7) высокие знания по программным средствам (git тот же, язык свой, инструменты)
8) уметь обучать людей
9) алгоритмы, типы и структуры данных
10) хорошие знания ООП и других парадигм
11) знания методологий
Пожалуй, это основное. Тимлид код по-хорошему особо не пишет. Он принимает решения по архитектуре — что скрыть, что открыть, как разнести компоненты, какой сборщик использовать, какую методологию. И вот тут как раз знания вуза и помогут, а не знание хорошо JSа или любого фреймворка.
Мы на 4ом курсе объединялись в команды и работали над проектом. Все серьезно) Git, workflow и прочее))) И тут уже сразу осознаешь как работать в команде, как руководить и прочее…
Это ИМХО)
На самом деле на 4 курсе даже на пары не то чтобы много кто ходит, там уже мало пар и многие забивают
4) Лаб у нас было немало, но это «искусственная» практика. Она позволяет наработать навыки, но не дает понятия о том, а на кой черт ты это сделал :)
По поводу Тимлида — да, выглядит примерно так и на мой взгляд тоже.
Однако про это:
что скрыть, что открыть, как разнести компоненты, какой сборщик использовать, какую методологию
У нас как раз и не расскажут, все самому
У нас если кто в группы и объединяется, то только потому что им самим захотелось все ВУЗа что-то сделать.
В общем неплохо у вас там все, нужно будет поизучать :)
Вот каким, например, образованием, должен обладать тимлид группы Frontend-разработчиков?
Все что связано с руководством людьми — это не образование, а в первую очередь социальные навыки. Коих кстати вуз дает предостаточно, ибо в процессе обучения приходится решать массу организационных и социальных задач, особенно если еще и живешь в общежитии. Более того — для его развития гораздо полезнее опыт решения вопросов с преподавателями и в деканате, чем непосредственно образование. Я может скажу крамолу, но у людей после армии/военного училища или вообще детдома гораздо лучше получается руководить (если они смогли пробиться конечно), потому что социальной инженерии они поели сполна. У них уже есть чуйка с кем и как надо работать. Кого пугать, кого хвалить. Как зарабатывать авторитет. И этот скилл нельзя получить на идиотских менеджерских курсах. Все эти PMP и иже с ними являются пустым звуком, если человек первые 25 лет жизни провел в родительском уютном вакууме.
Более того — технический бэкграунд руководителю часто жмет и мешает смотреть на вещии более абстрактно.
Ну то есть руководитель программистом конечно должен понимать в вопросе, но совсем не обязан быть экспертом. А руководитель руководителей вообще может только терминологией владеть.
где выпускниками ВУЗов будут руководить ПТУшники
А Вы думаете это редкость.
У нас в топе Форбса вообще по-моему у половины никакого образования нет кроме дворового. И справляются в общем-то.
У меня масса знакомых предпринимателей разной степени успешности — в основной массе в/о у них заключается в купленном дипломе, ну просто потому что как это без диплома же. Один вот со мной школу заканчивал. Потом я пошел в институт, а он пошел на рынок покупать тухлые помидоры, перебирать их и продавать втридорога — нынче владелец сети крупных продуктовых магазинов в Тюмени. Весьма успешен. Интересовался тут полгода назад у меня про эджайл, про IT-сервисы. Слов каких-то нахватался модных.
А я весь такой с образованием одного из ведущих технических вузов — наемный инженер, ну ок — технический руководитель. Пускай и неплохо оплачиваемый. Правда думаю мой месячный заработок мой бывший одношкольник за вечер в баре высаживает иногда. Так что все относительно.
Еще один «учился» со мной в Бауманке. По сути был университетским решалой — взятки передавал в деканат. Сейчас по моему все салоны красоты в Химках — его.
А на таких парней потом работают программисты, экономисты, и все прочие очень образованные специалисты с дипломами и курсами.
Да и вообще это секрет Полишинеля: чем больше у Вас экспертизы в каком-то вопросе, тем меньше Ваши шансы подняться куда-то выше высокооплачиваемого специалиста.
А поняли бы вы это, когда вам было лет 17? Я даже близко не в курсе, о чем они. Но звучит внушительно.
В 17 лет мозги надо иметь уже. Да ёлки палки, уже года за 3 до окончания школы надо знать куда идёшь.
Сам себе злобный буратино.
В 17 лет мозги надо иметь уже. Да ёлки палки, уже года за 3 до окончания школы надо знать куда идёшь.
За 3 года — это 14-летний подросток.
Как вы себе представляете это — в 14 лет понять чем хочешь заниматься всю оставшуюся жизнь? Тут до 25 бывает люди меняются с ног на голову, а вы требуете от 14-летнего подростка себя обречь на что-то конкретное.
Как вы себе представляете это — в 14 лет понять чем хочешь заниматься всю оставшуюся жизнь?
А при чём тут вся оставшаяся жизнь? Планов лет на 5-10 достаточно.
Необходимо иметь хоть какое-то представление о том, чем хочешь заниматься и как этим занимаются. Должен быть некий интерес, который сподвиг бы пару книжек прочесть, интернеты почитать.
Или по вашему в 14 лет человек вообще ничем интересоваться не должен и планов на жизнь ему строить не надо?
Я работаю преподавателем программирования в одном из Московских колледжей, также работала по совместительству в школе, и часто общаюсь с преподавателями из вузов, грубо говоря я «окунулась» в образование всех уровней. Конечно, в образовании у нас все безрадостно, но все же есть просветы.
Кратко скажу о колледжах, сейчас московские колледжи очень поднялись в плане уровня образования, так как года два назад подняли очень хорошо зарплаты преподавателям в колледжах и школах, начали оборудование закупать, неплохие компы, в общем достаточно неплохо зажилось тем образовательным учреждениям, которые под Департаментом образования, ну а в вузах как раз ничего не поменялось. Но основные проблемы заключаются в самой системе образования и преподавателях…
1) повышение зарплат преподавателям это не решение проблем, представьте, вы преподаватель, который работает уже продолжительное время в образовании, за годы у вас накопилось большое количество лаб и методичек, которые из года в год вы даёте студентам, отработанная схема в общем, и тут повышают зарплату, вы, конечно, обрадуетесь, но будет ли это стимулом пересмотра вашего метода преподавания, вы за ту же работу будете получать в два раза больше, зачем что-то менять?
Я часто сталкивалась с коллегами, которые очень часто мне говорили Зачем? Зачем мне изучать новое, когда у меня уже есть готовые программы? Зачем мне общаться с работодателями, когда я сам работал в этой сфере 20 лет назад? Большинство преподавателей это люди в возрасте, которые не заинтересованы в повышении квалификации. Но даже молодые преподаватели не особо в этом заинтересованы, им хорошо стали платить, так зачем тратить время на обновление материала, когда можно взять «слизать» материал у коллег и не париться. Конечно, денежный стимул должен быть, но он должен напрямую зависит от работы преподавателя, его побед, заслуг.
2) Я каждый раз удивляюсь куда уходят деньги, которые дают учебному заведению на закупку оборудования, мало того, что приходится ждать закупки около 2-3 лет, так когда она приходит, половина оборудования просто нерабочая, и вот приходится на свои деньги что-то докупать, пересобирать, чтобы студентам было на чем работать. Но большинство не будет заниматься таким ремонтом, а потом говорить студентам, ну не работает, не мои проблемы. И будут правы на самом деле.
3) Колледжи гораздо гибче вузов, то есть достаточно быстро (при желании) могут подстраиваться под новые требования рынка. В вузах посложнее, там обязательно придерживаются стандартов и не могут (не хотят?) кардинально менять программы. ВУЗы это как отдельные обособленные государства, со своими порядками, подходами, в которых все уже с годами отработано. Был у меня случай, я общалась с одним преподавателям в универе, он преподавал схемотехнику и был в этом действительно хорош, он поделился со мной «возмутительным» случаем, когда пришли представители из Росатома и начали говорить о том, как лучше подготовить специалистов, какие люди им требуются и как изменить программу, мой преподаватель отреагировал так, что все это пропаганда запада, это все делают, чтобы разрушить наше образование, и что все эти подходы неправильные. Нам вроде все ещё нужно образование для того, чтобы устроится на работу, а не наоборот?
4) непосредственно про IT образование, обычно в группе программистов 25-27 человек, из них только человек 5-6 действительно пойдут работать по специальности и в принципе будут понимать программирование, а остальные кто куда… тут будет уже даже не проблема в преподавателе, а в самих студентах, которые самостоятельно работать не будут, чтобы в связи с тем, что «программирование это сложно», «у меня не получается», «я вообще сюда случайно попал». Преподаватель обязан уделять всем студентам одинаковое количество времени и внимания, поэтому иногда происходит так, что на способного студента может не хватить времени, так как его заберёт тот, кто абсолютно ничего не хочет понимать.
В общем огромное количество нюансов.
О себе, я действительно стараюсь давать те знания ребятам, которые помогут им заработать и найти хотя бы неплохую работу, на это уходит огромное количество сил и личного времени. И это очень неблагодарная работа. Ведь можно просто не париться и читать какой-то материал из книжки, чтобы просто все записывали, толком не проводя практические занятия. Зарплата от этого не изменится:)
Почему-то автор постоянно апеллирует к количеству выученных языков, что как раз таки далеко не всегда важно. На мой взгляд, конкретно веб-разработке или разработке игр может учить только сомнительный онлайн университет. Если тема занятия react (любой другой фреймворк) — стоит насторожиться. От таких знаний по факту мало пользы, т.к. как автор сам заметил — в ИТ постоянно что-то происходит, но в основном все обновления как раз связаны с языками и технологиями, а базовые знания (такие, как структуры данных, алгоритмы, методологии разработки, шаблоны проектирования и т.д.) пересматриваются реже, по этому в более-менее адекватном учебном заведении акцент делается в основном на них. Например, в моем университете почти любые работы можно было выполнять применяя практически любые средства и технологии разработки.
Похоже, что автору просто хотелось больше "кодить" и меньше изучать, в результате чего он поспешил покинуть ВУЗ и возможно зря.
Что же не так с IT-образованием в России