Delphi и visual studio сравнение
It does exactly what you know from Visual Studio where you can run your tests directly from the IDE and get the results displayed in a docked windows without being interrupted while writing code/tests.
Just started looking at TestInsight, and I like the way it integrates into the IDE. I have noticed that it does not like multiple instances of Delphi, when I run XE and then try to start another instance of XE or XE5 I receive a 'TestInsight listener could not be statrted' error and I need to end the process in Task Manager.
The issue relates to the port range I specified. Why does TestInsight need 10 ports to listen on?
It only needs one port. But when you start a second instance of it obviously it needs a different port than the already running one listens to, right? It then picks one from the specified range.
Debugging services in Delphi hasn't become much easier. The remote debugger is better than it used to be (I have been told), so you don't need the IDE to run on the computer that runs the service. Still, it's a pain.
Honestly. Agreed on what you said.
A product's shape is a result of priorities considered too. Delphi only to a certain degree supports what we call 'Schottern' here - gravel running down a hill while the developer wants to go or run up at the same time.
Usually shoveling this kind of gravel should be supported. In practice such features do matter a lot less than people may think in a first place but a certain kind of pleasure and positive feeling does come along together with fast coding - the moment the developer wants to embrace the whole world. In that case it can really happen that a developer stumbles over his code. In Visual Studio that point in time is delayed to a later point in time. That's true.
В очередной раз очередной студент с горящими глазами объявил, что "всё, что у нас написано на Delphi - медленно и безобразно и, если мы уж не хотим перейти на C++, то почему бы не перейти на pascalABC.net, он быстрее значительно".
Принцип подхода к снаряду понятен, объём работы - тоже. Но, мне, как куратору студента, хотелось бы понимать, насколько правильно он выполнил свою работу. Для этого неплохо было бы и сравнить его результаты с уже имеющимися, если таковые есть.
Нет такого понятия как производительность языка. Зато есть компилятор, качество его кодогенерации и набор применяемых им оптимизаций. Даже код на том же C++ может безбожно тормозить на штатном компиляторе MSVC 6 и летать под наисвежайшим GCC.
сравнение глупое и бессмысленное. Лучше писать на том, что лучше знаете. На ютубе смотрел видео, где человек рассказывает, как он сделал большой кластер на хадупе, который долго-долго считал по его данным. А потом один из зрителей небольшим скриптом на ноуте посчитал за несколько минут.
@KoVadim "Один из зрителей" решил задачу, которую решали численно, математически, - бывает, и нередко. Многие бы биоинформатики желали бы так решать свои задачи, но увы - невозможно.
Это не ответ на конкретно ваш вопрос, но достаточно интересные измерения производительности множества программ, решающих одни и те же задачи на разных языках. Полазайте, поглядите (в т.ч. там есть сорсы)
3 ответа 3
Похоже, такие желания появляются у каждого третьего студента :) По крайней мере, у нас часто возникают схожие студенческие задачи, особенно, если приходят студенты с мехмата или ВИТ и желают заниматься только программированием. Ну, ладно, это лирика.
По делу. Сейчас у нас силами трёх студентов решается большая задача по оптимизации конвейера анализ->расшифровка->расчеты->моделирование->диагноз , в ней, в частности, большую часть занимают проблемы производительности наших пакетов, в том числе, созданных разными компиляторами. В списке компиляторов есть все три указанных вами, так что я могу в целом описать картину сравнения. Могу дать промежуточные выводы. Подробные данные могу опубликовать только с разрешения авторов (дипломная работа не окончена), если оно будет, я дополню ответ.
Сразу приведу класс задач в наших пакетах. Это работа с огромными и маленькими строками, матрицами (в меньшей степени), проблемы поиска, динамическое программирование, множества, ряды Фурье и вейвлеты, ввод-вывод. Время расчёта результата анализа одного пациента при работе в один поток может достигать 10-12 часов, так что погрешностями в долях секунды при замере времени работы можно пренебречь. В расчет принималось среднее от отношения времен работы. Для разных ситуаций количество замеров разное, но всегда больше 7.
Была еще проведена оптимизация под конкретные ядра. Тут вообще интересные результаты (в частности, при оптимизации под ядра Zen на Ryzen 1700 в 16-типоточном приложении пакет на Delphi был повторяемо быстрее всех, что мы пока не можем внятно объяснить), но в промежуточном выводе они не представлены, без разрешения авторов я их дать не могу.
Где скачать и сколько стоит Visual Studio?
При этом, для работы вам доступно три редакции IDE:
- Community
- Professional
- Enterprise
Редакция Community предоставляется абсолютно бесплатно. При этом, на сайте Microsoft относительно этой редакции сказано дословно следующее:
Кому не хочется читать текст с картинки — ниже скопированный текст с сайта Microsoft
Судя по этой информации, условия использования Visual Studio Community более, чем лояльные к разработчикам. Оно и понятно — Microsoft с её ресурсами и возможностями выставить условие для версии Community на подобие «только для индивидуальных разработчиков с годовой выручкой не более $5000», думаю, было бы совсем не солидно.
Что касается версий Professional и Enterprise, то здесь цены начинаются от $45 в месяц до $1199 в год за подписку. В качестве «плюшек» за подписку вам предоставляется, например, деньги на счете в Azure (до $50 в месяц), доступ к программному обеспечению Microsoft и так далее. В общем то, что необходимо для различных фирм и корпораций, но, в принципе, без особой надобности для индивидуальных разработчиков.
Знакомство с Visual Studio
Создание нового проекта
При запуске Visual Studio Вы увидите следующее окно, в котором Вам предложат выбрать необходимое действие для дальнейшей работы — создать проект, клонировать репозиторий т.д.
По мере того, как вы будете использовать Visal Studio, в левой части этого окна будут появляться ссылки на ваши последние проекты для того, чтобы можно быстро их открыть и начать работу.
Допустим, нам необходимо создать новый проект «Hello, world» (не будем оригинальными). Для этого выбираем последний пункт списка справа «Создание проекта»
Перед вами откроется новое окно создания проекта, которое по умолчанию выглядит вот так:
Слева в списке отображаются последние использованные шаблоны проектов, а справа — все доступные шаблоны, в зависимости от того, какую конфигурацию Visual Studio вы выбрали при установке.
Для того, чтобы быстро находить необходимый вам шаблон проекта, доступны фильтры по языку программирования, платформе и типам проектов:
В результате, вы увидите в списке шаблонов всего два шаблона проектов:
На втором шаге нас попросят ввести:
- Имя проекта
- Расположение проекта
- Имя решения
- и выбрать платформу
Здесь, стоит сделать небольшое отступление и сказать, что под понятием «Решение» в Visual Studio понимается группа проектов (в RAD Studio и Delphi — это Project Group)
После того, как вы зададите название проекта, его расположение и название решения, то у вас на жестком диске будут созданы следующие директории:
- Директория, путь к которой Вы указали для расположения проекта (например, C:\Sources)
- Поддиректория с именем решения, например, если вы назвали решение «FirstSteps», то будет создана директория C:\Sources\FirstSteps
- Поддиректория с именем вашего проекта. Например, если вы назвали проект HelloWorld, то путь к файлам проекта будет C:\Sources\FirstSteps\HelloWorld
О том, какие файлы располагаются по умолчанию в директории с проектом, мы поговорим позже, когда познакомимся с устройством Visual Studio, а пока перейдем к дальнейшему изучению IDE.
Основные окна в Visual Studio
После того, как мы создали первый проект консольного приложения для Windows, перед нами откроется основное окно Visual Studio с примерно таким содержимым:
В целом, для тех, кто работал в RAD Sudio, внешний вид окна Visual Studio не должен вызвать никаких проблем, хотя здесь есть и свои значительные отличия. Итак, что у нас есть:
справа располагается «Панель элементов»:
Для консольного приложения эта панель пустая и не содержит ничего, кроме подсказки:
Далее идёт привычное нам окно исходного кода с вкладками под каждый модуль проекта. Так как у нас один модуль, то и вкладка пока у нас в окне кода одна:
В правой части окна IDE расположены следующие окна:
Обозреватель решений
Здесь мы можем увидеть, какие проекты входят в то или иное решение, посмотреть свойства проекта, модули, входящие в состав проекта и т.д. Например, если, находясь в окне «Обозреватель решений», раскрыть вкладку «Properties» и выбрать в списке файл AssemblyInfo.cs, то в окне кода появится содержимое файла:
Файл содержит комментарии на русском языке, поэтому разобраться с его содержимым можно относительно просто. Однако, если Вам необходимо посмотреть и изменить свойства проекта в более удобном виде, то можно выбрать в «Обозревателе решений» вкладку «Properties», нажать на ней правой кнопкой мыши и выбрать пункт «Открыть». В результате, откроется вкладка с настройками вашего первого проекта, сгруппированные по секциям «Приложение», «Сборка» и т.д.:
Здесь же, в «Обозревателе решений» достаточно удобно, на мой взгляд, реализована навигация по модулям проекта. Так, например, если мы раскроем вкладку с названием единственного нашего модули «Program.cs», то увидим какие классы содержит модуль, а также методы классов:
Соответственно, если выбрать в списке, например, метод Main, то этот метод будет выделен в окне с исходным кодом проекта.
Team Explorer
Здесь вы можете создать подключение, например, к репозиторию Git или GitHub. С содержимым этого окна и работой с репозиториями мы поговорим позднее.
Представление классов
В этом окне вы можете просмотреть содержимое файла с исходным кодом в виде дерева, но, в отличие от «Обозревателя решений», в этом окне можно также увидеть и типы данных, которые используются в том или ином файле.
Свойства
Окно расположено в нижней левой части экрана и, как и следует из названия, предназначено для отображения свойств элементов. Ну а, так как свойства имеют не только компоненты, но и файлы, то выбрав, например, файл в «Обозревателе решений», можно увидеть его свойства (что, собственно, и показано на рисунке выше).
Средства диагностики
Окно расположено в правой части экрана и предоставляет нам различные средства для профилирования нашего приложения. Так, например, можно отследить загрузку ЦП, использование памяти и т.д.
В принципе, для первого знакомства с основными окнами Visual Studio информации достаточно. Теперь попробуем создать наше первое приложение.
Первое приложение в Visual Studio
Итак, если вы заплутали в окнах IDE, то, выберите «Обозреватель решений» и в этом окне щелкните мышкой по файлу Program.cs, чтобы в рабочей области появился исходный код нашей программы:
Напишем следующий код для метода Main:
Теперь нажмите F5 и увидите, что на экране появилось и быстро исчезло окно консоли Windows, что ожидаемо — программа выполнила необходимые действия и закрылась. Чтобы окно консоли не закрывалось, допишем код нашей программы следующим образом:
Чтобы приложение закрылось достаточно нажать любую клавишу на клавиатуре.
При написании кода нашей программы вы, возможно, заметили, что справа в окне исходного кода периодически появляется вот такой значок:
Таким образом Visual Studio предлагает нам какие-либо улучшения исходного кода. Например, вы можете увидеть эту лампочку, если подниметесь в самый верх исходного кода:
Судя по подсказке, можно спокойно удалить неиспользуемые директивы using. Выбираем во всплывающем окне ссылку «Показать возможные решения» и Visual Studio покажет, что можно безопасно удалить:
Применяем предложенное решение и IDE сама удалит лишний строки из модуля и наша программа станет выглядеть вот так:
В этой статье мы:
Книжная полка
Где скачать и сколько стоит Visual Studio?
При этом, для работы вам доступно три редакции IDE:
- Community
- Professional
- Enterprise
Редакция Community предоставляется абсолютно бесплатно. При этом, на сайте Microsoft относительно этой редакции сказано дословно следующее:
Кому не хочется читать текст с картинки — ниже скопированный текст с сайта Microsoft
Для организаций: Visual Studio Community может использовать неограниченное число пользователей в организации в следующих случаях: в учебных аудиториях, для научных исследований или участия в проектах с открытым кодом. Для всех прочих сценариев использования: в некорпоративных организациях Visual Studio Community могут использовать до 5 пользователей. В корпоративных организациях (в которых используется более 250 ПК или годовой доход которых превышает 1 млн долларов США) использование запрещено, за исключением случаев, перечисленных выше (открытый код, научные исследования и учебные аудитории).
Знакомство с Visual Studio
Создание нового проекта
При запуске Visual Studio Вы увидите следующее окно, в котором Вам предложат выбрать необходимое действие для дальнейшей работы — создать проект, клонировать репозиторий т.д.
По мере того, как вы будете использовать Visual Studio, в левой части этого окна будут появляться ссылки на ваши последние проекты для того, чтобы можно быстро их открыть и начать работу.
Допустим, нам необходимо создать новый проект «Hello, world» (не будем оригинальными). Для этого выбираем последний пункт списка справа «Создание проекта»
Перед вами откроется новое окно создания проекта, которое по умолчанию выглядит вот так:
Слева в списке отображаются последние использованные шаблоны проектов, а справа — все доступные шаблоны, в зависимости от того, какую конфигурацию Visual Studio вы выбрали при установке.
Для того, чтобы быстро находить необходимый вам шаблон проекта, доступны фильтры по языку программирования, платформе и типам проектов:
В результате, вы увидите в списке шаблонов всего два шаблона проектов:
На втором шаге нас попросят ввести:
- Имя проекта
- Расположение проекта
- Имя решения
- и выбрать платформу
Здесь, стоит сделать небольшое отступление и сказать, что под понятием «Решение» в Visual Studio понимается группа проектов (в RAD Studio и Delphi — это Project Group)
После того, как вы зададите название проекта, его расположение и название решения, то у вас на жестком диске будут созданы следующие директории:
- Директория, путь к которой Вы указали для расположения проекта (например, C:\Sources)
- Поддиректория с именем решения, например, если вы назвали решение «FirstSteps», то будет создана директория C:\Sources\FirstSteps
- Поддиректория с именем вашего проекта. Например, если вы назвали проект HelloWorld, то путь к файлам проекта будет C:\Sources\FirstSteps\HelloWorld
О том, какие файлы располагаются по умолчанию в директории с проектом, мы поговорим позже, когда познакомимся с устройством Visual Studio, а пока перейдем к дальнейшему изучению IDE.
Основные окна в Visual Studio
После того, как мы создали первый проект консольного приложения для Windows, перед нами откроется основное окно Visual Studio с примерно таким содержимым:
В целом, для тех, кто работал в RAD Sudio, внешний вид окна Visual Studio не должен вызвать никаких проблем, хотя здесь есть и свои значительные отличия. Итак, что у нас есть:
справа располагается «Панель элементов»:
Для консольного приложения эта панель пустая и не содержит ничего, кроме подсказки:
Далее идёт привычное нам окно исходного кода с вкладками под каждый модуль проекта. Так как у нас один модуль, то и вкладка пока у нас в окне кода одна:
В правой части окна IDE расположены следующие окна:
Обозреватель решений
Здесь мы можем увидеть, какие проекты входят в то или иное решение, посмотреть свойства проекта, модули, входящие в состав проекта и т.д. Например, если, находясь в окне «Обозреватель решений», раскрыть вкладку «Properties» и выбрать в списке файл AssemblyInfo.cs, то в окне кода появится содержимое файла:
Файл содержит комментарии на русском языке, поэтому разобраться с его содержимым можно относительно просто. Однако, если Вам необходимо посмотреть и изменить свойства проекта в более удобном виде, то можно выбрать в «Обозревателе решений» вкладку «Properties», нажать на ней правой кнопкой мыши и выбрать пункт «Открыть». В результате, откроется вкладка с настройками вашего первого проекта, сгруппированные по секциям «Приложение», «Сборка» и т.д.:
Здесь же, в «Обозревателе решений» достаточно удобно, на мой взгляд, реализована навигация по модулям проекта. Так, например, если мы раскроем вкладку с названием единственного нашего модули «Program.cs», то увидим какие классы содержит модуль, а также методы классов:
Соответственно, если выбрать в списке, например, метод Main, то этот метод будет выделен в окне с исходным кодом проекта.
Team Explorer
Здесь вы можете создать подключение, например, к репозиторию Git или GitHub. С содержимым этого окна и работой с репозиториями мы поговорим позднее.
Представление классов
В этом окне вы можете просмотреть содержимое файла с исходным кодом в виде дерева, но, в отличие от «Обозревателя решений», в этом окне можно также увидеть и типы данных, которые используются в том или ином файле.
Свойства
Окно расположено в нижней левой части экрана и, как и следует из названия, предназначено для отображения свойств элементов. Ну а, так как свойства имеют не только компоненты, но и файлы, то выбрав, например, файл в «Обозревателе решений», можно увидеть его свойства (что, собственно, и показано на рисунке выше).
Средства диагностики
Окно расположено в правой части экрана и предоставляет нам различные средства для профилирования нашего приложения. Так, например, можно отследить загрузку ЦП, использование памяти и т.д.
В принципе, для первого знакомства с основными окнами Visual Studio информации достаточно. Теперь попробуем создать наше первое приложение.
Первое приложение в Visual Studio
Итак, если вы заплутали в окнах IDE, то, выберите «Обозреватель решений» и в этом окне щелкните мышкой по файлу Program.cs, чтобы в рабочей области появился исходный код нашей программы:
Напишем следующий код для метода Main:
Теперь нажмите F5 и увидите, что на экране появилось и быстро исчезло окно консоли Windows, что ожидаемо — программа выполнила необходимые действия и закрылась. Чтобы окно консоли не закрывалось, допишем код нашей программы следующим образом:
Чтобы приложение закрылось достаточно нажать любую клавишу на клавиатуре.
При написании кода нашей программы вы, возможно, заметили, что справа в окне исходного кода периодически появляется вот такой значок:
Таким образом Visual Studio предлагает нам какие-либо улучшения исходного кода. Например, вы можете увидеть эту лампочку, если подниметесь в самый верх исходного кода:
Судя по подсказке, можно спокойно удалить неиспользуемые директивы using. Выбираем во всплывающем окне ссылку «Показать возможные решения» и Visual Studio покажет, что можно безопасно удалить:
Применяем предложенное решение и IDE сама удалит лишний строки из модуля и наша программа станет выглядеть вот так:
Всем доброго времени суток. Начиная с 2003 года, и по сегодняшний день, я профессионально занимаюсь разработкой прикладного программного обеспечения в среде Delphi 7 — Delphi 2010. И надо сказать, что эта работа позволяет мне достаточно неплохо зарабатывать на хлеб и пользоваться уважением своих коллег в нескольких организациях, с которыми я работаю.
Но многие наверняка знают о трудностях компании Borland, и как следствие провальной судьбе нескольких, вышедших подряд, версиях Delphi. Все Delphi, начиная с версии 8 (~2003 год) по 2007-ю, были не просто непопулярны. Их IDE были крайне нестабильны. Фатальные сбои среды разработки, требующие перезапуска, становились неотъемлемой частью процесса программирования. Сам язык менялся настолько незначительно, что большинство разработчиков на вопрос: “Что изменилось в новой версии?” могли только невнятно пробубнить: “Ну,… кажется, были добавлены новые компоненты…”. И только в 2009 году отделившаяся от Borland компания CodeGear смогла вывести на рынок относительно стабильную RAD Studio 2009, включающую новую версию Delphi. Подведя итоги, получаем 6 с лишним лет застоя, на фоне бурно развивающихся информационных технологий.
Поэтому и по сей день, значительный процент профессиональных разработчиков Delphi работает в 7-й версии. Могу только посочувствовать их упорству и посоветовать (если они и далее желают работать с Delphi) как можно скорее осваивать Delphi 2010. В сравнении с Delphi 7, 2010-я версия — это качественный скачек вперед. Я не стану подробно останавливаться на сравнении, поскольку это расходиться с темой статьи, но совсем промолчать не могу. Таких людей нужно чаще мотивировать, поскольку привыкание может быть существенной помехой на пути профессионального развития. Перейдя на версию 2010, вы получите стабильно работающую IDE, значительно превосходящую по комфорту работы среду Delphi 7. Из языковых возможностей вы приобретете поддержку юникода, возможность работы с обобщенными типами и анонимные методы, которые также могут плодотворно сказаться на качестве кода и скорости работы.
Начало
Проверка на попадание во множество
В Delphi есть возможность произвести проверку на попадание числа (в пределах одного байта, т.е. о 0 до 255), или ANSI символа во множество, примерно таким образом:
- procedure CheckID;
- var
- id: byte ;
- function GetID: byte ;
- begin
- result := Random (256);
- end;
- begin
- id := GetID;
- if id in [37..75,100] then //
- ShowMessage( 'Повезло, выпал номер: ' + IntToStr(id));
- end;
Вложенные функции
Явное приведение типов
- class Employee
- >
- class Manager : Employee
- public byte GetBonus()
- return 5;
- >
- >
- //…..
- private void ShowManagerBonus()
- Employee manager = new Manager();
- MessageBox.Show( "Бонус составляет: " + ((Manager)manager).GetBonus());
- >
Обратите внимание на наличие двойной открывающей скобки перед именем класса Manager. В Delphi такое приведение типов выглядит так:
TStringList
- procedure ChangeFile;
- const
- fileName = 'C:\1.txt' ;
- var
- stringList: TStringList;
- begin
- try
- stringList := TStringList.Create;
- stringList.LoadFromFile(fileName);
- stringList.Insert(0, 'Доброго времени суток!' );
- stringList.SaveToFile(fileName);
- finally
- FreeAndNil(stringList);
- end;
- end;
Чтение данных с электронной почты
Закладки в модулях кода
Конечно, я сейчас не скажу, что в Visual Studio нет возможности добавлять закладки. Все дело в том, что в RAD Studio их добавление и переход по ним реализован на порядок удобнее: Shift + Ctrl + цифра устанавливает нужную закладку в модуле, а комбинация Ctrl + цифра позволяет на нее перейти. Все настолько просто и интуитивно понятно, что нет необходимости в дополнительных окнах с кнопками и списками закладок. Если закладка с каким-то номером Вам стала не нужна, вы просто переопределяете ее той же самой комбинацией клавиш. Я был очень сильно удивлен, когда не нашел ничего подобного в Visual Studio. Если я плохо искал и такая возможность есть, буду только рад услышать критику в свой адрес, поскольку в итоге еще одним неудобством в работе для меня станет меньше.
Поиск в модуле кода
Ну, и напоследок еще одно замечание. Опять же не могу сказать, что поиск в модуле кода в Visual Studio не реализован. Я даже не могу сказать, что он реализован неудобно. Он просто реализован не так удобно, как в Delphi, начиная с версии 2009. В RAD Studio при нажатии Ctrl + f не появляется никакого дополнительного окна, а появляется небольшая панель в нижней части экрана с полем, в которое можно ввести строку поиска. После нажатия клавиши Enter редактор кода не просто переходит на искомый участок кода, все вхождения искомой строки также четко выделяются в коде. Благодаря стрелкам «Следующий» и «Предыдущий» можно в любой момент продолжить поиск в прямом или обратном направлении.
Может это просто моя привычка заставляет меня думать, что в Delphi поиск реализован удобнее? Но посмотрите, например, реализацию поиска в самом популярном на сегодня интернет браузере firefox и увидите почти аналогичную реализацию.
Заключение
Читайте также: