Вы читаете журнал [info]j_sheridan

J. Sheridan, commander of the Babylon 5 station - Интересные мысли про C++ программеров в свете монополии
Добро пожаловать на борт...

J. Sheridan, commander of the Babylon 5 station
Дата: 2009-01-17 03:10
Заголовок: Интересные мысли про C++ программеров в свете монополии
Безопасность: Public
Теги:Перепечатки, Программирование, Священные Войны
Сразу скажу - не мое. Брал на рсдн.ру.


Правда состоит в том, что лучшей альтернативы С++ в ближайшее время не предвидится. C++ будет жить ещё очень долго. C++ будет жить до тех пор, пока на платформах будут поддерживаться компиляторы этого языка. А Microsoft далеко не единственный производитель компиляторов. Например, Intel традиционно выпускает два компилятора - C++ и Фортран.

С++ это СВОБОДА. Программиста С++ не сажают в "тюрьму" какого-то одного фрэймворка или одной операционной системы. С++ программисту невозможно что-то навязать снаружи, потому что это универсальный язык, который позволяет полностью абстрагироваться от конкретной реализации. Более того, невероятная гибкость позволяет повторно использовать один и тот же код в разных независимых проектах на разных операционных системах (а некоторое время спустя написанные раньше библиотеки могут снова пригодиться - ведь ничего не пропадает, всё сохраняется!), и это позволяет существенно экономить время. По простоте изучения C++ почти такой же как Java или С#. Кроме этого, С++ применим для любой ниши.

C++ это кость в горле Microsoft.

Программист, который пишет на C++ полностью неуправляем с точки зрения монополии. Такой программист может делать всё что захочет. У него есть все степени свободы. Он вещь сама в себе. Он может спокойно перейти на Линукс, на Макинтош, на FreeBSD/Unix/Solaris или ... на любую новую операционную систему, к примеру от Google. Да... Язык С++ это тот самый кошмарный сон Майкрософта, от которого монополия уже который год пытается незаметно избавиться с помощью агрессивной рекламы .NET технологий и последующей "привязкой" разработчиков к C#.

С коммерческой точки зрения язык С++ - это реальная угроза для монополии. Особенно в условиях чрезвычайно острой конкуренции со свободными юниксами, и тем более сейчас, c выходом бесплатного Qt.

Задача монополиста - жестко посадить девелопера "на иглу". Поэтому политика свелась даже к тому, чтобы в бесплатную версию VS.NET Express не включать традиционные средства разработки приложений на C++ для Windows - MFC.

Зато маркетинговый пиар С# и VB.NET продолжается полным ходом. Здесь всё понятно. В Microsoft выбрали традиционный подход для оболванивания разработчиков, и пока он работает. Но только есть одна проблема - кризис доверия. Люди не могут простить то, что произошло с VB Classic, Win32 API, COM+. Я когда-то тоже писал на VB6, внимательно изучал COM технологии. Но потом случилось то, что всех лояльных программистов неожиданно "кинули" - сказали что языку VB6 пришёл конец. Писали даже петицию, с просьбой включить VB Classic в состав новой студии - не помогло. Многие расценили этот шаг от Microsoft как издевательство. Программисты с девяностых годов учили Visual Basic около 15 лет, потратили кучу времени на изучение особенностей, а потом их просто ставят перед фактом - что весь ваш труд можете выбросить, или попробовать всё переписать. Почему? Потому что кому-то в Microsoft так захотелось.

Так вот, вместо выбора очередного маразма под называнием VB.NET, я полностью перешёл на надёжный C++. Кстати, знаю и про то, что новоиспечённые сторонники C# часто тоже переходят на C++ и говорят об удобстве проектирования ПО с помощью кроссплатформенных обёрток и библиотек таких как Qt, о долговечности, проверенной надежности языка C++. В конечном итоге они приходят к выводу, что важнее больше думать, вместо того чтобы громко кричать.

Хотя вас никто не заставляет использовать С++ и быть свободными. Пожалуйста, пользуйтесь очередными "технологиями" от Microsoft. А я, например, очень уважаю свой труд, и поэтому не могу позволить чтобы работоспособность моего кода зависела от очередного выпендрёжа или замены очередного фреймворка Microsoft на что-нибудь ещё, более "модное". Я просто хочу чтобы мои наработки можно было использовать и через 5 лет, и через 10 лет. А гадать в какой следующий дурдом побежит команда Билли мне не интересно.

В конечном итоге, каждый человек сам выбирает для себя то, что он считает нужным или лучшим.
Оставить комментарий | 17 Комментариев | В избранное | Поделиться | Ссылка



Женяй
Персона: [info]jenyay
Дата: 2009-01-17 06:45 none (UTC)
Заголовок: (без темы)
Скорее детский максимализм.
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



The Pretender
Персона: [info]zero_bit
Дата: 2009-01-17 04:18 none (UTC)
Заголовок: (без темы)
По-моему, автор слишком драматизирует. Пока читал статью, в голове нарисовался образ бородатого муджахида, размахивающего флагом с пингвином.

Я тоже начинал писать на VB6, и тоже перешёл на C++. И не вижу никакой трагедии в том, что МС перестали поддерживать VB Classic. Никакого плана порабощения вселенной тут ИМХО нет. Сколько действительно кроссплатформенных программ написано на С++? А сколько из них действительно нормально работают на нескольких платформах? В большинстве случаев софт пишется с конкретной целью и под конкретную ось. А уж на чём будет писаться такой софт - это вопрос десятый. Если руки прямые, то человек напишет на JavaScript код, который работает быстрее аналогичного кода на С++ (пример не надуман, рассказывал очень уважаемый мной человек).
Ответить | Ветвь дискуссии | Ссылка



Christian Archer
Персона: [info]gca_balthazar
Дата: 2009-01-17 08:05 none (UTC)
Заголовок: (без темы)
Согласен - Qt под LGPL это круто!
Ответить | Ветвь дискуссии | Ссылка



Персона: (Анонимно)
Дата: 2009-01-17 10:14 none (UTC)
Заголовок: (без темы)
Программист, который пишет на C++...
В большинстве задач дофига неоправданно дорог, а в некоторых вообще не применим. Как раз из-за того, что никак не связан с ужасными монополистическими фреймворками.

Кстати, если заменить “Microsoft” на “Sun” и “.NET” на “Java”, то дух статьи сохраниться.
Ответить | Ветвь дискуссии | Ссылка



Персона: [info]kuzipet
Дата: 2009-01-17 10:37 none (UTC)
Заголовок: (без темы)
А я бы кинул пару камешков в огород С++, просто очень хотелось бы видеть неплохую и удобную библиотеку в стандарте С++. Сделанную также качественно и добросовестно, как Qt. Ибо надоела мне эта вся низкоуровневость с чарами, delete, указателями и т.д. Не пригождалось мне это быстродействие ни разу. На данный момент гляжу в сторону Python, первые впечатления позитивные.
Ответить | Ветвь дискуссии | Ссылка



Dmitrii 'Mamut' Dimandt
Персона: [info]dmitriid
Дата: 2009-01-17 11:13 none (UTC)
Заголовок: (без темы)
если бы стандартный строковый класс был :(

а остальные delete, указатели и прочие, в целом, обходятся (почти) всчкими smart_ptr, auto_ptr и прочими. Что, конечно, тоже костыль и не везде можно использовать
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



Dmitrii 'Mamut' Dimandt
Персона: [info]dmitriid
Дата: 2009-01-17 11:12 none (UTC)
Заголовок: (без темы)
Последняя фраза полностью перечеркивает весь текст ;) Потому что только она во всем тексте — истинная.


А С++ долго не умрет не потому, что свобода, а потому что legacy code (именно поэтому все еще живет COBOL).

ВОт кто действительно почти никогда не умрет — это C

Ответить | Ветвь дискуссии | Ссылка



Dmitrii 'Mamut' Dimandt
Персона: [info]dmitriid
Дата: 2009-01-17 11:21 none (UTC)
Заголовок: (без темы)
ЗЫ. Вот, что еще меня кольнуло:
Правда состоит в том, что лучшей альтернативы С++ в ближайшее время не предвидится.


Альтернативы где?

В вебе C++ не нужен
Для большинства мобильных устройств он не нужен
Для десктоп-приложений он все чаще становится не нужен (GUI можно на всевозможных байндингах писать или той же Java/C#/Mono).

Его ниша — это библиотеки общего назначения типа Qt, ACE, какие-нибудь ffmpeg и прочие, которыеуже давно существуют и их надо развивать.

Что есть действительно новое "wow" на С++? (Не С, а именно С++)
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



fddima
Персона: [info]fddima
Дата: 2009-01-19 09:30 none (UTC)
Заголовок: (без темы)
Ну я ещё хочу добавить, что бы пообщаться с SOAP/Web-Service в дотнете это можно сделать "из коробки", без каких-либо левых костылей, в весьма удобном виде. Незнаю как в яве, но знаю шо в цпп невозможность этого заставляет строить всякие забавные шутки, иногда получаются велосипеды :)
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



Dmitrii 'Mamut' Dimandt
Персона: [info]dmitriid
Дата: 2009-01-19 13:45 none (UTC)
Заголовок: (без темы)
Ну, есть Apache Axis, но, помнится, я ее в свое время так и не завел :)

В С++ для меня самая большая проблема — сокрость REPL... которой нет. Даже путь написал — отдебагил может быть диком длинным, если он вдруг решит перекомпилить половину файлов в проекте :) За это время можно поседеть :)

Ответить | Уровень выше | Ветвь дискуссии | Ссылка



fddima
Персона: [info]fddima
Дата: 2009-01-19 13:51 none (UTC)
Заголовок: (без темы)
Я ж говорил о решении "в коробке". А это уже левая поделка. И хотя на апачах лежат неплохие вещи, в некоторых из них я порой очень сомневаюсь... Вот. :)
Наверняка ж такая шняга не одна... :)
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



Dmitrii 'Mamut' Dimandt
Персона: [info]dmitriid
Дата: 2009-01-19 14:03 none (UTC)
Заголовок: (без темы)
О, их много :) Два основных — Apache Axis и gSOAP. А так, многие пишут на коленке :)

Ну или http://www.soapclient.com/SourceCode.html :)))

Помнится, я и gSOAP и Axis пытался завести, когда всерьез думал о клиенте для RSDN. Ни один не завелись :) авно это было, правда :)
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



fddima
Персона: [info]fddima
Дата: 2009-01-19 14:10 none (UTC)
Заголовок: (без темы)
Ну вот где-то об этом я и говорил. :)
А по нынешним понятиям получается, что элементарную задачу что б решить приходится совершать какой-то героический подвиг, хотя над ней и думать вроде как нечего.
А в купе если бы они все по минимуму бы привносили в наш огород своих принципов... но такого что-то я не видел. Что не либа - то на все космослучаи дефайнов, определений типов, или ещё чего-нибудь, совершенно нам не нужного (пусть может и не мешает, но всё же).
Хотя и в гладком мире дотнета и явы не всё гладко на самом деле.
Лана. Мне в принципе и плюсы нравятся то.
Но вэб-апп на нём чо-то писать не хочется. И все понимают что это глупо. А в других задачах часто не понимают чо-та...
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



Николай Меркин
Персона: [info]kodt_rsdn
Дата: 2009-01-30 09:45 none (UTC)
Заголовок: (без темы)
Про мобильные устройства ты загнул.
Для симбиана и винмобайла как раз С++ - самое лучшее. Голый Си слишком мучителен, .Net тащит здоровенный рантайм, а UI на J2ME выглядит ненатурально, по крайней мере, на винмобайле.
J2ME хороша там, где есть зоопарк платформ - всякие мелкие мобильные телефоны.
Ответить | Уровень выше | Ветвь дискуссии | Ссылка



Михаил Ермолаев
Персона: [info]qvintus
Дата: 2009-01-19 07:34 none (UTC)
Заголовок: (без темы)
Ну, в целом довольно справедливо... Про себя могу сказать, что в свое время пользовался связкой Qt-C++ с пребольшим удовольствием (надо бы рассказать об этом в своем журнале). А вот сейчас активно использую связку Python-Qt --- тоже достаточно эффективно.
Ответить | Ветвь дискуссии | Ссылка



Персона: (Анонимно)
Дата: 2009-01-19 08:20 none (UTC)
Заголовок: (без темы)
Детский лепет. Постыдился бы такое постить.
Ответить | Ветвь дискуссии | Ссылка



Jin Kazama
Персона: [info]randomtoy
Дата: 2009-01-19 09:03 none (UTC)
Заголовок: оффтоп
плиз, если не трудно и не очень занят, найди меня пожалуйста в аське или жаббере y.sergeev@jabber.silicate.ru
Возникли некоторые вопросы по генте
Ответить | Ветвь дискуссии | Ссылка



Просмотр
Дневник
Ссылки
Май 2012