четверг, 22 января 2009 г.

I'm not standard. Is C++ the best language?

Продолжение "I'm not standard". Тов.Чистяков, утверждает, что я считаю C++ отличным языком программирования?

Это не так. Так было когда-то, но времена меняются, я меняюсь. Два года назад на своей страничке я завел раздел "В поисках лучшего языка", для того, чтобы описать почему я хочу найти замену C++ и какие языки я рассматривал/рассматриваю в качестве потенциальной замены. Если бы я продолжал считать C++ отличным языком программирования, этого раздела просто не было бы.

В качестве замены C++ в разное время я рассматривал Scala, D, Eiffel, Nice (с этим языками я познакомился довольно плотно), а так же OCaml и C# (менее плотно, в особенности C#). Но, в моих текущих условиях, отказаться от C++ просто так все равно не получится. Слишком много кода, который гораздо дешевле развивать и совершенствовать, чем переписывать. Да и выбрать в качестве замены можно разве что Java, из-за ее переносимости. Но, на мой взгляд, безопасность Java является ее единственным достоинством (как языка), по сравнению с C++. Мне доводилось программировать на Java, я был не в восторге. Так что, в какой-то степени, замена C++ на Java -- это смена шила на мыло.

Наилучшие впечатления в качестве языка для разработки промышленного программного обеспечения на меня произвел Eiffel. Особенно в купе с доработками, которые появились в языке после версии 6.1. Но у Eiffel есть две большие проблемы: религия Eiffel и слишком высокие цены на средства разработки. Так что, если только Eiffel внезапно не выпустит бесплатный компилятор с большой бесплатной базовой библиотекой, шансов у него нет.

Еще хотелось бы плотно познакомиться с Ada (особенно в версии стандарта Ada-2005), но до этого пока не дошли руки.

Наилучшие перспективы на будущее, как мне кажется, у двух языков для платформы .Net: C# и F#. Но есть ли хорошие перспективы у самого .Net как у кросс-платформенного проекта? Может быть, со временем Mono покажет. (Я бы сам с удовольствием бы занялся разработкой ПО под какую-то одну платформу, под тот же .Net... Но пока нужно принимать во внимание разнообразные *nix-ы.)

Так что сейчас я программирую на C++. По большей части с удовольствием. Временами с сожалением. Была бы возможность сменить его на что-то достаточно мощное и безопасное -- сменил бы.

Отправить комментарий