html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Как перестать программировать на Delphi и начать жить из песочницы

Если ты, %username%, едва прочитав заголовок этой статьи, чувствуешь butthurt стойкое неприятие к автору, если слова «TForm1», «circular reference» и «Access violation» для тебя не пустой звук, если после очередного холивара в уголке сознания снова зашевелился червячок — эта статья для тебя.

С завидной регулярностью появляются новые статьи как сторонников так и противников Delphi, и неизменно с новой силой разгорается холивар. И если лет 10-15 назад холивар назывался «Delphi vs C++», то теперь фронт переместился вплотную к окопам сторонников бывшего Borland и спор идет уже в рамках «Delphi vs не-Delphi». Даже самые упрямые последователи Н.Вирта иногда задумываются, почему вдруг стали изгоями и чудаками в сообществе программистов?
Если ты, читатель, все же считаешь что ничего кроме Delphi тебе не нужно для работы, сравни хотя бы вилки зарплат для вакансий Delphi и той же Java. Появилось желание изучить что-нибудь кроме Delphi? Я расскажу с чего начать на основе собственного опыта.

Откуда берутся Delphi-программисты


Будучи еще студентом, 7-8 лет назад я устроился в небольшую компанию тестировщиком. Шли годы, я освоил Delphi, на котором писались все десктопные приложения этой компании, стал ведущим программистом. Не считаю себя гуру, однако Delphi и VCL для меня — зачитанная до дырок книга. Все дырки пришлось научиться либо обходить, либо закрывать собственными заплатками. Справедливости ради стоит сказать, что VCL имеет совсем немного откровенных отказов. Многое из того что давным-давно есть в Delphi совсем недавно стало появляться в других платформах, однако на текущий момент у Delphi практически нет никаких преимуществ перед современными средствами разработки. Увы, но это факт.

Некоторое время назад биг-боссы пригласили меня на совещание и уговорили заняться новым проектом. Пришлось отложить любимый Delphi7 в самый темный и пыльный угол жесткого диска и, вооружившись интернетами, срочно осваивать Qt. Из глубин памяти, затянутые паутиной, понемногу всплыли скромные институтские познания С. Помноженные на популярные книги по С++ и документацию по Qt они начали давать первые результаты.

Разрабатывая desktop-приложения на любом языке программирования вы рано или поздно сталкиваетесь с синтаксисом С и элементами С++. Это и документации и примеры и мучительный «перевод» хедеров на любимый язык. С приходом опыта, программист Delphi все же может сносно понимать программы на С++, обилие «звездочек», «анперсандов», символы "==" уже не кажутся бессмысленной кашей и заговором коварного Страуструпа по уничтожению ваших мозговых клеток. В конце концов, начинаешь в некоторых конструкциях видеть определенную красоту. Далее будем предполагать, что читатель умеет сносно понимать С-синтаксис.

Итак, читатель, согласен изучить что-нибудь новое, но что же выбрать?

Путь первый. Самый простой. C#


Из современных языков С#, как ни странно, проще всего воспринимается Delphi-ориентированными мозгами. Чтобы пересесть с Delphi на C# вовсе не обязательно начинать с толстой книжки от Microsoft. Большинство вещей будут интуитивно понятны, остальное есть в MSDN. Все объекты, как и положено, являются указателями, методы и свойства доступны всегда через «точечку», никаких вам "->". Автоматическая сборка мусора, конечно, вызовет укоризненное покачивание головой у настоящего Delphiста, однако к хорошему быстро привыкаешь. Стоит отметить, что программировать на C# можно не только в Visual studio, есть прекрасная IDE SharpDevelop. Она бесплатна, как и Delphi. Порог вхождения минимален — установили, запустили, поехали! И в той и в другой среде можно грабить корованы программировать мышкой, как мы привыкли это делать в Delphi: редактор форм принципиально ничем не отличается, а двойной клик по кнопочке создаст метод-обработчик нажатия. Уже через полчаса вы сможете сделать первый helloworld, через сутки накатать работающий прототип собственного GPS-навигатора для старого но любимого КПК на Windows CE, а через неделю-две начнете на нем новый коммерческий проект.
Главное, не забывайте, оператор сравнения на равенство это двойное равно "==". Понять это невозможно, надо просто запомнить.

Путь второй, тернистый. С++


Сравнивая Delphi и С++ можно провести такую аналогию: Delphi это сильное тоталитарное государство. Исповедуй его идеологию — и будешь жить долго и счастливо и даже достигнешь определенных высот. Делать карьеру легко и приятно, путь предначертан. Но стоит сделать шаг в сторону — расстрел!
С++ — это демократия. Хочешь — сделай так, хочешь — эдак. Или наплюй и сделай по-своему. Но за свои действия отвечай, пожалуйста, сам.

Тут уже придется почитать специальную литературу. Лично я всегда предпочитаю книги для начинающих. Важно твердо разобраться именно в базовых вещах, тогда до высшего пилотажа быстрее дойдете сами. В данный момент дочитываю «C++ для начинающих» Герберта Шилдта. Если вы действительно опытный Delphi-программист, первые страниц сто можно полистать не очень внимательно. Особое внимание следует уделить работе с указателями и объектной модели.

Теперь надо выбрать IDE. Можно взять проверенную Visual Studio, я же выбрал Qt. Он бесплатен, кроссплатформеннен, имеет богатый набор классов, прекрасную IDE, а также широкую поддержку в сообществе. Качаем Qt, ставим, всё! Надо отдать должное, Qt не беспокоит начинающего программиста лишними вопросами, имеет встроенную документацию, примеры. Все как у дорогостоящих коммерческих IDE. Мышкой программировать уже не получится, хотя может это и к лучшему.
Первое, что не укладывается в Delphi-ориентированный мозг, это отсутствие примитивного типа string. К этому сложно привыкнуть, но это так. Во-вторых, чтобы использовать привычный нам подход к работе с объектами, придется явно объявлять их как указатели. В третьих, интерфейс модулей обычно хранится в отдельных заголовочных файлах. Это кажется избыточным на первый взгляд, однако в чужой монастырь со своим уставом, как известно, не ходят. Это только первые впечатления. Переварив и осмыслив их, вооружаемся книгами, мануалами, гуглами и начинаем переворачивать свое представление о программировании. Qt вам в помощь.

Путь третий. Извилистый. Web


Хотите открыть новые горизонты — добро пожаловать в web-программирование. Здесь царит анархия. Десятки технологий, сотни реализаций, тысячи взаимоисключающих рекомендаций. Здесь нет среды разработки, в которой можно было бы сделать весь проект. Впрочем, попробовать стоит, это интересно. Однако, не смотря на обилие и простоту большинства web-технологий сделать качественный продукт ничуть не проще, чем настольное приложение.

Заключение



Что вы выберете, решать конечно вам. Даже если вы останетесь верны Delphi — это ваш выбор, и не самый худший, надо сказать. В любом случае, читатель, помни: качество продукта определяется твоими способностями и навыками и только в самую последнюю очередь зависит от инструментов.

PS: За что я все-таки действительно люблю делфи, так это за быструю компиляцию:
image
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

198
    +180 surfers

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • ha1duk
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции