В продолжение утреннего треда, возвращаемся к программированию.
Дело в том, что у каждой программной экосистемы есть если не философия, то идеология. В большинстве случаев, это не "официальная позиция" а просто некоторая совокупность взглядов большинства членов сообщества.
С++: разработчик - бог, мы даем ему все инструменты, чтобы он мог при их помощи сотворить все, что хочет.
Python: написать программу должно быть легко. Все инструменты должны быть в шаговой доступности и максимально быстро подключаться.
Java: безопасность для больших проектов и поддержка тулинга.
Kotlin: прагматичность. Каждый инструмент должен быть востребован и желательно больше, чем один раз.
Разумеется, тут нет четких границ, бывают разные проекты и разны разработчики. Но в целом, разные экосистемы придерживаются разных систем ценностей, если угодно разной этики (см. дискуссию выше... или в твиттере это ниже).
Мне кажется, что философией программирования можно назвать изучение этих концепций, их сопоставление и выводы о том, чего тут не хватает.
Разумеется речь не только о правилах экосистем, но и о так называемых best practices: изоляции кода, модуляризации и так далее.
Про Go забыл. Идеология Go - не сломай! Это во многом правильная идеология и именно поэтому язык так популярен. Но проблема в том, что неломаемость плохо сочетается с гибкостью.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Пока меня тут джависты в конец не съели (хотя я и сам в большой степени джавист). Еще один небольшой тред. Про computer science.
Дело в том, что широко бытует у подрастающего поколения заблуждение о том, что программирование - это то же самое, что и computer science.
На самом деле нет. Computer science еще дальше от прикладного программирования, чем физика. Computer science - это в большой степени изучение теории алгоритмов решаемости отдельных задач и вопросы асимптотической сложности.
Все, доделал часть дел. Теперь #треддня. Как обещал про IT образование вообще и "первый язык" в частности.
Ну для начала непопулярное мнение. Не всем нужно войти вайти. Да, на данный момент, в IT сильно не хватает людей, поэтому зарплаты все еще высокие. Особенно в России, которая к сожалению страна достаточно бедная и возможность работать на международную компанию очень ценится.
Тем не менее как раз потому что зарплаты высокие, люди часто идут в IT не потому, что оно им нравится, а в погоне за этой самой зарплатой. Часто это так себе заканчивается. Даже в самих IT есть разные задачи, не связанные с программированием.
Забабахаю все-таки на ночь глядя небольшой тредик.
Мне тут на интервью очень хороший вопрос задали: какие технологии надо в первую очередь осваивать для научного программирования. Я как-то об этом даже не задумывался. А вопрос отличны. Подумал. Пишу приблизительный ответ.
Питон (да простит меня @_bravit) все-таки маст-хэв. Он есть и, я думаю, долго еще останется, некоторым общим минимумом среди научных программистов. Разумеется, не столько Python, сколько numpy.
К счастью, его освоение занимает пару недель максимум (см. тред про идеологию).
Учить бы я стал в первую очередь веб-технологии. И клиентские и серверные. Как ни удивительно, эта область уже содержит многие вещи, нужные для науки. Коммуникационные протоколы, технологии работы с данными и соответствующие архитектуры.
Сегодня #треддня немного пораньше, потому что надо ехать на физтех и там будет не до этого.
Философия - это важно.
Но не для всех, разумеется.
В нашей стране (странАХ на самом деле) к сожалению имеет место стигматизация философии. Под философией до сих пор подразумевается так называемая марксистско-ленинистская идеология (уже у Ленина никакой философии там нет).
Ну и само существование институтов философии, наполненных бывшими учителями истории КПСС не помогает. Тот предмет, что изучается в ВУЗах, это конечно никакая не философия, а история философии. Полезная, но не супер-осмысленная дисциплина.
Я уже сильно пожалел, что выбрал в том числе и тему собеседований, ибо о них сказано уже столько, что что-то добавлять к этому кажется излишним. Но я где-то читал про то, что в мире в ближайшем будущем намечается дефицит воды, поэтому налью её немного в этом треде⬇️
У меня пока значительно преобладает опыт участия в собеседованиях со стороны кандидата, поэтому наблюдения будут достаточно субъективными. Если же вы у вы участвовали в процессе найма с другой стороны и не согласны с тезисами, буду рад любым возражениям
Самый главный ингредиент плохого собеседования это нежелание интервьюера его проводить. Вот взяли и выдернули тимлида из работы собеседовать, а ему оно нахрен не надо. У него таски горят, джун проект не вывозит и еще три созвона на сегодня. По итогу все выливается на кандидата