Изменения

Перейти к навигации Перейти к поиску
Строка 49: Строка 49:
== Программирование ==
== Программирование ==
* Написание с нуля языков программирования, операционных систем, разработка игр в одиночку и т. п. изобретение велосипедов. Впрочем, порой исключения выстреливают. Линус Торвальдс на первых порах писал ядро Linux в одиночку, и даже потом, когда к его работе начали подключаться добровольцы, он все равно тянул большую часть работы сам.<ref>Впрочем, в те времена самостоятельное допиливание ещё совсем простых операционных систем было в норме, примерно как перепайка Спектрумов. И заготовка честно взята из исходников MINIX с дискеты-приложения к классическому учебнику Таненбаума + стандартные команды POSIX.</ref> Ну а Notch довёл игру Minecraft до бешеной популярности (ещё до релиза) именно что единолично; команда, релиз и последующая продажа игры Microsoft — это уже всё попозже.
* Написание с нуля языков программирования, операционных систем, разработка игр в одиночку и т. п. изобретение велосипедов. Впрочем, порой исключения выстреливают. Линус Торвальдс на первых порах писал ядро Linux в одиночку, и даже потом, когда к его работе начали подключаться добровольцы, он все равно тянул большую часть работы сам.<ref>Впрочем, в те времена самостоятельное допиливание ещё совсем простых операционных систем было в норме, примерно как перепайка Спектрумов. И заготовка честно взята из исходников MINIX с дискеты-приложения к классическому учебнику Таненбаума + стандартные команды POSIX.</ref> Ну а Notch довёл игру Minecraft до бешеной популярности (ещё до релиза) именно что единолично; команда, релиз и последующая продажа игры Microsoft — это уже всё попозже.
** Написание с нуля лексического, синтаксического анализаторов, планировщика задач, планировщика ресурсов, etc — неизбежный этап в изучении программирования уровнем выше чем «ПТУ готовил машинисток, потом „операторов пэ ка“, а теперь даёт стране фронт-энд девелоперов». [[Круто и практично]] в смысле саморазвития/карьеры, между «непрактично» и «смешно» при наличии завиральных идей «а я щас такой с пацанами замучу супер-операционку принципиально новую с нескучными обоями». [[Круто, но непрактично]] — это MenuetOS, BeOS, etc.
* С++ в 2020+ году. Язык, в котором одно и то же можно сделать парой десятков способов, на котором можно написать буквально всё, вопрос лишь в трудозатратах, компиляторы которого славятся максимально неудобочитаемыми и малопонятными, до полной практический бесполезности, сообщениями об ошибках. Синтаксис языка позволяет, а иногда вынуждает, создавать монструозные конструкции, по большей части состоящие из скобок и двоеточий. При этом более современные языки обычно дают все те же возможности, но с куда меньшими сложностями. Так что основных причин использования C++ две: всё еще огромное количество легаси-кода, традиционное использование этого языка для обучения стулентов в некоторых университетах и некоторые ниши, вроде разработки игр, где требуется максимальное быстродействие. Но там и уровень программирования нередко приближается к чистому С и прямой работе с памятью.
* С++ в 2020+ году. Язык, в котором одно и то же можно сделать парой десятков способов, на котором можно написать буквально всё, вопрос лишь в трудозатратах, компиляторы которого славятся максимально неудобочитаемыми и малопонятными, до полной практический бесполезности, сообщениями об ошибках. Синтаксис языка позволяет, а иногда вынуждает, создавать монструозные конструкции, по большей части состоящие из скобок и двоеточий. При этом более современные языки обычно дают все те же возможности, но с куда меньшими сложностями. Так что основных причин использования C++ две: всё еще огромное количество легаси-кода, традиционное использование этого языка для обучения стулентов в некоторых университетах и некоторые ниши, вроде разработки игр, где требуется максимальное быстродействие. Но там и уровень программирования нередко приближается к чистому С и прямой работе с памятью.
* Язык ассемблера знать полезно, например для отладки, поиска уязвимостей и т. д. Но писать на нём что-либо в 2020-е — значит создавать себе проблемы на ровном месте. Мало того, что программист лишает себя множества выразительных средств, имеющихся в языках высокого уровня, он ещё и запирает себя в рамках одной платформы.
* Язык ассемблера знать полезно, например для отладки, поиска уязвимостей и т. д. Но писать на нём что-либо в 2020-е — значит создавать себе проблемы на ровном месте. Мало того, что программист лишает себя множества выразительных средств, имеющихся в языках высокого уровня, он ещё и запирает себя в рамках одной платформы.
Анонимный участник

Навигация