Ну в универе имеет смысл учить какой-то маинстрим язык, лучше с си-подобным синтаксисом т.к он популярен. Я сравниваю два потому что автор их сравнивает в статье.
Может я не так понял статью, но автор предлагал вместо С++ учить студентов Си, потому что видите ли в плюсах сложные конструкторы а про алгоритмы поговорить не когда. Так вот как раз всё на оборот. В плюсах достаточно понять как создавать vector и уже можно легко обсудить все алгоритмы сортировки. На сях начинающий студент начнёт писать гавнокод с malloc без free и прочие приколы, из-за этого не возможно сконцентрироваться на задаче.
В последних 4ех абзацах Вас уже понесло немного в другую тему, в целом я со сказанным согласен. Но профессора есть абсолютно разные. Есть один замечательный дядя, который работал в МИТ и показывал физические эксперименты, так он в интервью рассказывал что он приходит перед каждой лекцией в пустую аудиторию и всю свою речь толкает стенам, чтобы потом не запнутся ни разу со студентами. И оно действительно выглядит круто в итоге, к тому же там ещё и физические демонстрации постоянно. Хотя он кстати всё равно многое пишет на доске.
Потому что можно целый день потратить на рисования каких-то анимаций и стрелочек в поверпоинт. Но всё равно захочется поменять дорисовать что-то прямо на лету, а для этого уже нужен планшетный ввод и определённый скилл им пользоваться. Тут есть золотая середина, какие-то чертежи удобнее в качестве домашней заготовки на компьютере, а чтобы объянить азы усилителя на транзисторе можно и на доске порисовать, логически объясняя зачемы мы добавляем каждый новый елемент.
Если материал старый, условно первый курс то за столько поколений можно сделать красивый раздаточный материал. Но на старших курсах бывали лекции и на новую тему по которой ещё нет кинг и красивых презентаций. Поэтому, заявления что доска с мелом или фломастером это прошлый век (не конкретно ваши а вообще среди комметариев), меня посмешили.
Вы не поверите, но мой опыт в точности противоположный.
Во первых скорость набора важна. Мир
сейчас движется с невероятной скоростью. И умение всё быстро оформить и записать даёт преимущества.
Во вторых где вы таких лекторов видели которые вам идеальные конспекты будут давать. Писать конспекты в латех это время. И если профессор не собирается издавать монографию то ему нету смысла тратить на это время, потому что от руки он быстрее напишет.
В третьих как раз новую тему гораздо лучше изучать когда уже ключевые моменты, подводные камни и логику тебе обрисовали. Тогда просто проходишь по книге или статье и обрабатывпешь детали. Задать вопрос после тоже никто не запрещает.
Ну и последнее доска с мелом или маркером по интерактивности не заменит никакой повер поинт. Т.е. на компе можно 3д модельки покрутить, анимации всякие или фото и видео. Но возможность прямо на лекции что то менять, дорисовыать, расписывать формулу, соединять стрелочкамр просто необходима.
Хорошо когда экран проэктора рядом и можно в него пальцем/палкой потыкать, лазерной указкой чуть хуже. Идеальный вариант когда проэктор светит на белую доску с фломастерами. Тогда открываешь какой то график или схему и прямо по ней отметки ставишь от руки. Но если просто передо мной щелкают слайдами я смотрю как баран на новые ворота и ничего не понимаю, а если и понимаю то сразу забываю.
Если приноровится то с планшетным вводом можно на компьютере писать и рисовать как не хуже чем на бумаге. Всё остально в видео это очень хитрые макросы. Ну и apm конечно у автора нехилый. Пока я печатал этот коммент он бы уже написал курсач)))
Когда конспектируешь, то пытаешься записать то-что сказал лектор более кратко. Для этого надо понять что он такое сказал => profit. Иногда бывает сильно быстро, тогда можно задать вопрос типа "повторите ещё раз", если времени на вопросы нету тогда так и записываешь "тут с помощью какойто матановской магии из А получилось В". В последнем случае после лекции открываешь книгу и делаешь то же самое: пытаешь записать что написано в книге более кратко или наоборот более подробно, но так чтобы было самому понятно что пишешь => опять profit. Ну это больше про лекции связанные с математическими выкладками. Для кодинга надо открывать своё любимое IDE и кодить на реальном примере, а гуманитарные науки просто слушать как сказку)))
Спасибо что сделали возможность переходить на новые коментарии в мобильной версии! Но без /tracker я не знаю какую статью открывать в поисках новых коментариев.
Иногда бывает что обсуждение под какой-то статьей становится интересным, но без трекера его найти можно только на десктопе, а хотелось бы на мобилке, потому-что за компом работать надо а не на хабре сидеть :)
Да я про этот минус и имел ввиду: в Jupyter автодополнение только для объектов, которые уже в памяти. Если определяешь функцию в которой пишешь a = ... то автодополнений для методов a не будет. После PyCharm, который очень часто все типы выводит и предлагает автодоплнение ощущения не те. Поэтому в основном весь код пишу в PyCharm а из Jupyter только вызываю функции. В этом плане немного растраивает matplotlib потому что там всё через **kwargs и подсказок нету, каждый раз смотреть доку надо.
Идея по вертикали разделить код и результат довольно удбоная. В Jupyter приходится крутить туда-сюда а чтобы кому-то показать то надо скрывать код. Ну и не хватает фишек IDE и json в гит класть не удобно.
Ага т.е. похоже на питон, базовые типы immutable a объекты mutable?
А есть веарина указать что функция принимает типа const vector<int>&?
Просто интересуюсь, вроде бы затея с диспетчиризацией типов мне понравилась, но важность расстановки пробелов и переносов строк немного испугала. Узнаю детали дальше, но может проще было бы самому открыть документацию...
list = [1 2 3]
for item in list
item = item + 1
end
так будет работать? В rust/c++ можно захватывать по ссылке и по значению в такого рода for-конструкциях.
Да я имел ввиду насколько проверки замедляют код. Например если писать что-то типа
for (i=0;i<n;i++) {
x[i] = x[i]+1
}
То в некоторых случаях даже если в оператор есть проверка на i < n то много компиляторов умеют оптимизировать её, посколько такая же проверка содержится в условии цикла. Хотя для большинства случаев как Вы заметли лучше использовать синтаксис map, map-reduce, range-based-for.
Поэтому в rust например гарантируется что доступ к плохому индексу будет ругаться (panic). Поэтому стало интересно как аналогичную проблему решает Julia.
Спасибо за ответ. Некоторые похожее фишки и в С++ даже завезли.
Итерация в for происходит по ссылке или по значению?
Правильно ли я понимаю что если использовать встроенные функции языка типа map, то там проверка индексов опускается?
Большая фрагментация Линукс. Нужно оперативно доставлять все апдейты, в том числе и nightly. Во многих дистрах есть раст в пакетном менеджере, но не самой свежей версии.
Да, тогда в моем коде лучше получать index, потом сверять его в static_assert с no_index а потом return index. Тогда можно быть уверенным что оно посчитает в compile time.
Ну в универе имеет смысл учить какой-то маинстрим язык, лучше с си-подобным синтаксисом т.к он популярен. Я сравниваю два потому что автор их сравнивает в статье.
Может я не так понял статью, но автор предлагал вместо С++ учить студентов Си, потому что видите ли в плюсах сложные конструкторы а про алгоритмы поговорить не когда. Так вот как раз всё на оборот. В плюсах достаточно понять как создавать vector и уже можно легко обсудить все алгоритмы сортировки. На сях начинающий студент начнёт писать гавнокод с malloc без free и прочие приколы, из-за этого не возможно сконцентрироваться на задаче.
Недавно релизнулся PyCharm Pro 2019.
В нём как раз реализовали всё так как я себе представлял https://www.youtube.com/watch?v=TIZH4aPSN2E
В последних 4ех абзацах Вас уже понесло немного в другую тему, в целом я со сказанным согласен. Но профессора есть абсолютно разные. Есть один замечательный дядя, который работал в МИТ и показывал физические эксперименты, так он в интервью рассказывал что он приходит перед каждой лекцией в пустую аудиторию и всю свою речь толкает стенам, чтобы потом не запнутся ни разу со студентами. И оно действительно выглядит круто в итоге, к тому же там ещё и физические демонстрации постоянно. Хотя он кстати всё равно многое пишет на доске.
Потому что можно целый день потратить на рисования каких-то анимаций и стрелочек в поверпоинт. Но всё равно захочется поменять дорисовать что-то прямо на лету, а для этого уже нужен планшетный ввод и определённый скилл им пользоваться. Тут есть золотая середина, какие-то чертежи удобнее в качестве домашней заготовки на компьютере, а чтобы объянить азы усилителя на транзисторе можно и на доске порисовать, логически объясняя зачемы мы добавляем каждый новый елемент.
Если материал старый, условно первый курс то за столько поколений можно сделать красивый раздаточный материал. Но на старших курсах бывали лекции и на новую тему по которой ещё нет кинг и красивых презентаций. Поэтому, заявления что доска с мелом или фломастером это прошлый век (не конкретно ваши а вообще среди комметариев), меня посмешили.
Придумали планшеты с вводом через стилус к компу. Как художники рисуют на компьютере, не мышкой и не фигурами же.
Вы не поверите, но мой опыт в точности противоположный.
Во первых скорость набора важна. Мир
сейчас движется с невероятной скоростью. И умение всё быстро оформить и записать даёт преимущества.
Во вторых где вы таких лекторов видели которые вам идеальные конспекты будут давать. Писать конспекты в латех это время. И если профессор не собирается издавать монографию то ему нету смысла тратить на это время, потому что от руки он быстрее напишет.
В третьих как раз новую тему гораздо лучше изучать когда уже ключевые моменты, подводные камни и логику тебе обрисовали. Тогда просто проходишь по книге или статье и обрабатывпешь детали. Задать вопрос после тоже никто не запрещает.
Ну и последнее доска с мелом или маркером по интерактивности не заменит никакой повер поинт. Т.е. на компе можно 3д модельки покрутить, анимации всякие или фото и видео. Но возможность прямо на лекции что то менять, дорисовыать, расписывать формулу, соединять стрелочкамр просто необходима.
Хорошо когда экран проэктора рядом и можно в него пальцем/палкой потыкать, лазерной указкой чуть хуже. Идеальный вариант когда проэктор светит на белую доску с фломастерами. Тогда открываешь какой то график или схему и прямо по ней отметки ставишь от руки. Но если просто передо мной щелкают слайдами я смотрю как баран на новые ворота и ничего не понимаю, а если и понимаю то сразу забываю.
Если приноровится то с планшетным вводом можно на компьютере писать и рисовать как не хуже чем на бумаге. Всё остально в видео это очень хитрые макросы. Ну и apm конечно у автора нехилый. Пока я печатал этот коммент он бы уже написал курсач)))
https://www.youtube.com/watch?v=10wGMzYgnqM
Когда конспектируешь, то пытаешься записать то-что сказал лектор более кратко. Для этого надо понять что он такое сказал => profit. Иногда бывает сильно быстро, тогда можно задать вопрос типа "повторите ещё раз", если времени на вопросы нету тогда так и записываешь "тут с помощью какойто матановской магии из А получилось В". В последнем случае после лекции открываешь книгу и делаешь то же самое: пытаешь записать что написано в книге более кратко или наоборот более подробно, но так чтобы было самому понятно что пишешь => опять profit. Ну это больше про лекции связанные с математическими выкладками. Для кодинга надо открывать своё любимое IDE и кодить на реальном примере, а гуманитарные науки просто слушать как сказку)))
Спасибо что сделали возможность переходить на новые коментарии в мобильной версии! Но без /tracker я не знаю какую статью открывать в поисках новых коментариев.
Иногда бывает что обсуждение под какой-то статьей становится интересным, но без трекера его найти можно только на десктопе, а хотелось бы на мобилке, потому-что за компом работать надо а не на хабре сидеть :)
Да я про этот минус и имел ввиду: в Jupyter автодополнение только для объектов, которые уже в памяти. Если определяешь функцию в которой пишешь
a = ...то автодополнений для методовaне будет. После PyCharm, который очень часто все типы выводит и предлагает автодоплнение ощущения не те. Поэтому в основном весь код пишу в PyCharm а из Jupyter только вызываю функции. В этом плане немного растраиваетmatplotlibпотому что там всё через**kwargsи подсказок нету, каждый раз смотреть доку надо.А поподробнее? До нормального IDE там ещё далеко.
Идея по вертикали разделить код и результат довольно удбоная. В Jupyter приходится крутить туда-сюда а чтобы кому-то показать то надо скрывать код. Ну и не хватает фишек IDE и json в гит класть не удобно.
Но ведь можно просто использовать pylint.
Ага т.е. похоже на питон, базовые типы immutable a объекты mutable?
А есть веарина указать что функция принимает типа
const vector<int>&?Просто интересуюсь, вроде бы затея с диспетчиризацией типов мне понравилась, но важность расстановки пробелов и переносов строк немного испугала. Узнаю детали дальше, но может проще было бы самому открыть документацию...
Имел ввиду
так будет работать? В rust/c++ можно захватывать по ссылке и по значению в такого рода for-конструкциях.
Да я имел ввиду насколько проверки замедляют код. Например если писать что-то типа
for (i=0;i<n;i++) {
x[i] = x[i]+1
}
То в некоторых случаях даже если в оператор есть проверка на i < n то много компиляторов умеют оптимизировать её, посколько такая же проверка содержится в условии цикла. Хотя для большинства случаев как Вы заметли лучше использовать синтаксис map, map-reduce, range-based-for.
Поэтому в rust например гарантируется что доступ к плохому индексу будет ругаться (panic). Поэтому стало интересно как аналогичную проблему решает Julia.
Спасибо за ответ. Некоторые похожее фишки и в С++ даже завезли.
Итерация в for происходит по ссылке или по значению?
Правильно ли я понимаю что если использовать встроенные функции языка типа map, то там проверка индексов опускается?
Как дела с проверками выхода за границы массивов?
Большая фрагментация Линукс. Нужно оперативно доставлять все апдейты, в том числе и nightly. Во многих дистрах есть раст в пакетном менеджере, но не самой свежей версии.
Да, тогда в моем коде лучше получать index, потом сверять его в static_assert с no_index а потом return index. Тогда можно быть уверенным что оно посчитает в compile time.