|
|
От: |
velkin
|
|
| Дата: | 26.07.23 22:33 | ||
| Оценка: |
+1
|
||
Линус Торвальдс о С++
C++ — кошмарный язык. Его делает ещё более кошмарным тот факт, что множество недостаточно грамотных программистов используют его, до такой степени, что оказывается намного проще выкинуть его как мусор.
Откровенно говоря, даже если нет *никаких* причин для выбора Си, кроме того чтобы держать C++-программистов подальше — то одно это уже будет достаточно веским основанием для использования Си.
Я пришёл к выводу, что *действительно* предпочту выгнать любого, кто предпочтёт вести разработку проекта на C++, нежели на Си, чтобы этот человек не загубил проект, в который я вовлечён.
C++ приводит к очень, очень плохим проектным решениям. Неизбежно начинают применяться «замечательные» библиотечные возможности вроде STL, и Boost, и прочего мусора, которые могут «помочь» программированию, но порождают:
— невыносимую боль, когда они не работают (и всякий, кто утверждает, что STL и особенно Boost стабильны и портируемы, настолько погряз во лжи, что это даже не смешно)
— неэффективно абстрагированные программные модели, когда спустя два года обнаруживается, что какая-то абстракция была недостаточно эффективна, но теперь весь код зависит ото всех окружающих её замечательных объектных моделей, и её нельзя исправить, не переписав всё приложение.
Другими словами, единственный способ иметь хороший, эффективный, низкоуровневый и портируемый C++ сводится к тому, чтобы ограничиться всеми теми вещами, которые элементарно доступны в Си.
А ограничение проекта рамками Си будет означать, что люди его не выкинут, и что будет доступно множество программистов, действительно хорошо понимающих низкоуровневые особенности и не отказывающихся от них из-за идиотской ерунды про «объектные модели».
Когда эффективность является первостепенным требованием, «преимущества» C++ будут огромной ошибкой.
Математик мог с той же лёгкостью писать формулы на C++ в структурной парадигме программирования, нежели на Python. Но мы можем позиционировать Python как язык для лёгкого написания скриптов. Таким образом мы получаем целевую аудиторию математиков в свои руки.Сегментация: относится к процессу разделения широкого потребительского или делового рынка, обычно состоящего из существующих и потенциальных клиентов, на подгруппы потребителей (известные как сегменты). Либо деление аудитории на более узкие аудитории. Например многие компании, при продаже продукции Apple разделяют аудиторию текстом, давая каждой аудитории то, что им необходимо. Мужчинам — престиж, надежное качество. Девушкам — крутую камеру и красивые селфи.
Таргетирование: относится к выбору сегмента или сегментов, которые станут объектом особого внимания (известные как целевые рынки).
Позиционирование: относится к общей стратегии, которая «направлена на то, чтобы бренд занимал определенную позицию относительно конкурирующих брендов в сознании потребителя»