[id390613856|Сириус] завещал мне сохранить в камне мои крайне...

[id390613856|Сириус] завещал мне сохранить в камне мои крайне ценные мысли по поводу языков программирования, и я послушно исполняю завещанное.

Так вот. Разговоры о том, какой язык программирования классный, а какой нет, надоели мне лет десять назад. Желаю всем IT-студентам как можно скорее придти к этому же состоянию - это позволит сэкономить много времени на бесполезных обсуждениях и потратить его с какой-нибудь пользой. Например, выучить матан наконец.

Переучиться с [c|c++|c#|java|go|nameit] в любом направлении не должно быть проблемой для любого человека, и практика успешно это подтверждает - скажем, я нанял очень много ребят, программировавших на c#/java, и они неплохо себя чувствую в плюсово-питонячьем мире, некоторые даже старшими разработчиками стали. А те, которые ведущие или руководители групп, иногда код вообще днями не пишут - так не всё ли равно, какой именно язык они при этом не используют? :)

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

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

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

PS: А, да. В общем, советую всем найти какое-нибудь реально интересное дело, тогда обсуждать языки, надеюсь, резко станет намного менее интересно.
[id390613856 | Sirius] bequeathed to me to keep in stone my extremely valuable thoughts about programming languages, and I obediently fulfill the will.
 
So here. Talk about which programming language is cool and which is not, I got tired of ten years ago. I wish all IT students to come to the same state as soon as possible - this will save a lot of time on useless discussions and spend it with any benefit. For example, learn matan at last.
 
Re-learning from [c | c ++ | c # | java | go | nameit] in any direction should not be a problem for any person, and practice successfully confirms this - say, I hired a lot of guys who programmed in c # / java, and they did a good job I feel in a plus-pet world, some even become senior developers. And those who are leading or group leaders sometimes do not write code for days at all - does it really matter which language they do not use? :)
 
All languages ​​are Turing-complete, so in a typical product development, switching to a new language means learning a number of new language constructs, the rules "we usually write like this", and deal with assembly / deployment systems - and go. At the same time, of course, a certain number of relatively narrow specialists are always required, who, say, are engaged in low-level storage / processing optimization of some bigdates - for such specialists the choice of tools can be quite critical; the same can be seen in client or web development, where the ecosystem imposes certain solutions rather rigidly. However, even in these areas everything changes quite cheerfully, so that in five years the tools will be completely different, and you still need to adapt.
 
A pragmatic approach is that each organization needs to choose some very specific set of tools, otherwise a large number of developers simply will not be able to coexist. The choice is determined by a bunch of conditions - the available infrastructure, requirements of the runtime, hiring and a bunch of other things. However, once the choice is made, it must be adhered to. Well, the developer must be able to come to a new place, quickly adapt and begin to produce benefits.
 
Therefore, you should not care what language to write. On what you need - on that write and think more about how to quickly achieve an interesting result for you, rather than this one. I like to think of programming languages, as well as other development tools like a keyboard or browser, as an inevitable evil that will one day disappear. To a living person - and write the code, are you kidding me? I hope that in the foreseeable future this mockery will come to naught.

PS: Oh yes. In general, I advise everyone to find some really interesting thing, then discuss languages, I hope, it will become much less interesting.
У записи 19 лайков,
3 репостов,
1079 просмотров.
Эту запись оставил(а) на своей стене Алексей Шаграев

Понравилось следующим людям