July 1, 2022

7 скучных тезисов

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

1. Какой редактор кода или IDE использовать?

Любой. В комментариях читал, как один Человечище писал код фломастером на обоях. Говорит, очень удобно сворачивать код, прям сматываешь рулончиком.

Попробуйте разные инструменты и остановитесь на удобном для вас. Если вы учитесь программировать — вам не надо vim. Воспользуйтесь VS Code / PyCharm / любым другим популярным инструментом.

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

2. Какой язык программирования (ЯП) лучший?

Ответ на абстрактный вопрос тоже абстрактный — вообще пофик. Серьёзно. Все языки программирования великолепны. Brainfuck вот есть. Шучу. Если вы спрашиваете этот вопрос, Brainfuck вам пока рано.

Что сделает этот вопрос неабстрактным? Конкретика. Какой ЯП лучше для системного программирования? Какой ЯП лучше для веб-разработки? Какой ЯП лучше для скриптовых задач? Какой ЯП лучше для разработки DevOps инструментов? Какой ЯП лучше для написания 1С приложений? Какой ЯП лучше для поддержки приложения, написанного на Python?

Всё это про то, что под каждую задачу есть свои инструменты. Гвозди забиваем молотком, дырки (отверстия, прости господи, отверстия!) сверлим дрелью. Для iOS пишут на Swift и изучать Python, чтобы писать iOS приложения так себе затейка, прямо скажем.

Степень абстрактности снизилась. Но лучше добавить ещё конкретики. Такой как бюджет на задачу, если мы выбираем ЯП для своего проекта. Такой как наличие или отсутствие под рукой готовых специалистов под тот или иной ЯП. Такой как — что мы хотим делать с полученным кодом, надо ли нам его будет продавать, поддерживать, расширять. Это комплексный большой вопрос.

Ответ на этот вопрос сложнее, чем «я знаю ЯП any_lang и он потому точно лучший».

3. Какой ЯП учить?

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

Рекомендовать учить первым ЯП скриптовый ЯП, скажем, Python? Найдутся те, кто скажут (и небезосновательно скажут), что лучше будет на старте сразу понять работу компьютера, структур данных, памяти, эффективности программ на более низкоуровневом языке.

Любой ответ не единственно верный.

Вот на что следует точно обратить внимание — так это на то, что начиная учить любой ЯП, надо настраивать себя а) на долгий путь саморазвития впереди и б) на то, что этот ЯП не будет у вас единственным в арсенале. Если вы останетесь в профессии, вы будете изучать другие языки.

И с этой точки зрения — какая разница, с чего начать? Начните с питона. Популярный, простой, пишут на нём веб, data science, все скриптовые задачи. Алгоритмы, структуры данных, память и эффективность ПО догоните потом, опять же, если захотите/заставят идти дальше.

4. Мышь или клавиатура?

Мышь, разумеется. Единственный вопрос мироздания с явным однозначным ответом.

5. PHP =  говнокод?

Я писал много-много лет на PHP. Это мой первый ЯП, на котором я писал основательно, и я его люблю. Но не пишу на нём давно. Там взрослый серьёзный ООП, на PHP написано куча кода, проектов, которые еще долго надо поддерживать. Стоит ли начинать свой путь с PHP сейчас? Мой ответ нет. Но PHP не равно говнокод по умолчанию. Хотя возможно количество плохого кода на PHP и больше, чем в других ЯП.

Страшная тайна (которую все знают) — качество кода определяется скиллом разработчика, а не ЯП, на котором код написан. Побьёт каратист боксёра или борец всех заборет? Решает скилл бойца, как бы кому не хотелось услышать что-то другое. А коли боец реально боец, то, занимаясь одним видом единоборств, он будет посматривать и на другие виды, и думать, какие где есть плюсы-минусы и что где можно противопоставить. Так же и с ЯП. Коли вы действительно развиваетесь, то, повторюсь, у вас будет больше одного ЯП со временем в наборе.

Я видел и, хочется верить, иногда писал прекрасный код на PHP.

6. Python = код прекрасней фиалки на рассвете?

Нннннет! Через меня прошло почти 700 студентов на курсе и я прочёл много плохого кода на Python. Я его видел! Он есть, он существует! Это не выдумка! Чесслово! Когда новичок начинает писать код на любом ЯП, он пишет плохой код. Помните? Сначала ползаем, потом ходим, потом бегаем. Сначала надо, чтобы код решал задачу, и только потом (возможно) начинаем задумываться над качеством кода.

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

7. А что вообще важно?

Важно работать, развиваться и не трындеть. И всё будет чётенько. Инфа сотка.

И использовать мышь, конечно.