Комментарии 157
В конце стоило бы добавить C# с сервером веб приложений ))
Какой же молодчик Андерс Хейлсберг Обьединил очень много языков и создал C#
Данные факторы привели к практически полному исчезновению Delphi из сферы образования.
Интересно, а в каких Российских ВУЗах прекратили использовать Delphi «для образования»?
Всё таки кто не использует?
Насчет ведущего — немного спорно, конечно ;)
Впрочем, тема не об этом.
Как-то категорично.
Скорее один из ведущих, так как как минимум есть СПбГУ и ИТМО.
Например, задачу: дан текстовой файл на 100 гб, отсортировать данные при условиях (список ограничений) в Вашей группе многие бы решили?
Касаемо «многие бы решили» — дело в том, что группа лично у нас (на параллельных курсах, говорят, ситуация аналогичная) собралась на удивление разношерстная, и на всем потоке было только 3 (!) человека, которые действительно хотели идти в разработку. Еще парочка не особо определившихся. Для меня до сих пор загадка почему? Что они все делали на факультете под намекающим названием «Информационных систем и технологий»? Ладно сестра училась в экономическом, дак там ситуация была аналогичная, оно и понятно, ибо до сих пор это считается лакшери и родители считают своим долгом таким образом обеспечить своим чадам безбедное будущее, окей, но на факультете «Информационных систем и технологий»?! Поэтому тут дело не в качестве преподавания, а в качестве… Как-бы… Применения полученных знаний и желании учиться.
Поэтому я мог бы поставить оценку, но, учитывая вышеперечисленные мною факты, это, увы, сложно. Преподаватели честно обрабатывали свой хлеб, я им благодарен (разве что у самого не было возможности эти знания приобретать в дальнейшем, так как вовсю занимался разработкой своей CMS, которую начал писать на 2 курсе, а как известно, поддержка известных продуктов требуют огромного количества времени), ну и плюс, как я уже и говорил, людей, способных решать задачи такого рода, просто не было. Однако скажу честно, даже при всем при этом, большое количество людей на потоке такие задачи в принципе решить были в состоянии наравне в примерами по математике. Позволяли способности, не более. Поэтому возможно знания вуз давать был и в состоянии, было бы желание их получать.
И да, учился на очной, дневной, диплом специалиста (успел в последний год на бакалавра, поэтому теперь полноценный специалист без магистратуры, а не бакалавр по болонской системе, которых преподаватели называли у нас «недоучками»).
А для обучения именно программированию паскаль (особенно объектная версия) вполне годится.
Как правило преподают именно язык. Причем в стиле: «вот вам операторы и функции, а дальше крутитесь, как хотите».
Что же до программирования, то в понимании термина, которое давалось мне, алгоритмизация лишь часть этого понятия.
PS. У нас Delphi не было в программе, только версию 1.0 показывали как диковинку из будущего.
В ВУЗах си под дос и нортон коммандер. причем бывает, что это всё крутится на мак мини с двойной загрузков, вин хп-7 и дос. увы.
И кстати много софта написано именно на Delphi. небезызвестный мессенджер QIP, не менее небезызвестный аудиоплеер AIMP, не менее небезызвестная Victoria 4 версии (хотя там Delphi с ассемблерными вставками), флешеры и дамперы для MTK, RockChip, Spreadtrum и т.д…
Фигня это всё, не инструмент важен, а результат.
Также есть бесплатный C++Builder Starter Edition, InterBase Developer Edition.
Наиболее популярным решением для персональных Windows-компьютеров в 80-е — начале 90 годов стал компилятор и IDE Turbo Pascal фирмы Borland.
Во времена DOS, под DOS — да, называлось Turbo Pascal.
Потом, ближе ко времени Windows, IDE стало называться Borland Pascal, но это было все равно под DOS.
Turbo мог компилировать только для реального режима.
Версия 7.0 IDE была в вариантах Turbo и Borland (последняя включала обе версии).
Причем, если не ошибаюсь, версия BP 7.0 могла собирать Windows-программы из-под DOS-вской оболочки, хотя Windows IDE в комплект тоже входила.
И глючит заголовок окна. Фокус при наведении на элементы управления (свернуть, развернуть, закрыть) появляется на доли секунды, а затем пропадает (курсор на кнопке, а она не подсвечивается).
Плюс различные глюки VCL (не связаны с DPI), когда после hover остаются артефакты и пр.
Проверял всё на Delphi 10 Seattle.


Не туда ответил, это было для vsabadazh
1. Добавили, по сути, расширение рекордов в виде Object (еще в турбо-паскале образца 198x) вместо того, чтобы сразу же ввести новый тип (Class). Разница Object и Class в том, что экземпляры Object-ов копируются по умолчанию по значению, в то время как экземпляры Class-ов — сразу ссылки. В итоге ранний код (когда уже были Object-ы, но еще не было Class-ов) пестрит «крышками» (указатели в Паскале обозначаются ^) и выглядит очень уродливо. К слову, ранний PHP4 совершил ровно ту же ошибку — там экземпляры классов тоже копировались по значению, что было совершенно бессмысленно, — но, к счастью, в PHP5 они успели это исправить прежде, чем язык коллапсировал.
2. Полная неразбериха с тем, как работают конструкторы и деструкторы в object-ах и class-ах. Например, есть возможность вызвать dispose() на ссылке без вызова деструктора object-а! При том что в C++ деструктор вызывался автоматически испокон веков. Также нужно было указывать имя конструктора при создании объекта или даже вызывать его явно.
3. Но главное — ситуация не улучшилась, когда на место мертворожденного object-а пришли class-ы. Те, кто смотрел в ассемблерный код, который генерируется для конструкторов и деструкторов в class-ах, поймет, о чем речь. Дело в том, что в Delphi конструктор выделяет память под объект, а деструктор — ее освобождает. Т.е. авторы языка решили: раз мы пишем a := TClass.create(1234), то пусть этот create и выделит память внутри себя, инициализирует ее и в конце вернет на нее ссылку. И эта ошибка фатальная: конструктор не может выделать память и возвращать ссылку, потому что иначе производные классы лишаются возможности бесшовно вызвать в своем конктрукторе конструктор базового класса! В итоге Delphi передает в конструктор (и деструктор) скрытый фдаг, который говорит ему: нужно ли выделать (или освобождать) память, или вместо этого использовать ту, что уже есть. Опять же, данная проблема лежала на поверхности изначально: с C++ конструктор и оператор new (а также единственный и безусловнотвызываемый деструктор и оператор delete) испокон века разделены. Даже в python, где синтаксис похожий — a = SomeClass(1234) — стадия инициализации __init__ четко и мудро отделена от стадии выделения памяти __new__.
В общем (опять же IMHO), напортачили они знатно. Бедный Вирт вертелся в гробу, как волчок. Были и другие, менее серьезные ляпы (например, введя object-ы, не ваели public-protected-private и перегрузку операторов — а перегрузка операторов ОЧЕНЬ важна, особенно в библиотеках и научной среде — всякие там матрицы-векторы).
производные классы лишаются возможности бесшовно вызвать в своем конктрукторе конструктор базового класса!Inherited(), не?
Вообще, я сейчас пишу про то, «как было». Сейчас-то уже и generic-и появились, и вон NewInstance. Но время уже, как мне кажется, упущено, и люди, которые могли много лет назад продолжить писать на Delphi после изучения Паскаля в школе/вузе, увидев все это (и другие нестыковки — например, необходимость вручную вызывать деструктор, в то время как в C++ он вызывался автоматически при выходе объекта за область видимости), могли отвернуться и пойти использовать другой язык.
Вы так пишете, как-будто C++ проще и логичнее, чем Delphi. Хотя по факту там своих "особенностей" выше крыши и гораздо больше, чем у Delphi.
Можно только представить, каким прекрасным стал бы мир, если бы большинство софта в нем писалось не на C++ или Java, а на Паскале. (Хотя C++ и Java тоже неплохие языки, но в них нет того изящества Паскаля, что ли...)
(и другие нестыковки — например, необходимость вручную вызывать деструктор, в то время как в C++ он вызывался автоматически при выходе объекта за область видимости)
Это-то какраз «стыковки» — в Паскале отсутствует инициализация переменных при их объявлении — ну и, соответственно…
Всё-таки жаль, что умерла Модула.
Бедный Вирт вертелся в гробу, как волчок
Эм, Вирт жив…
На мой взгляд (на базе большого преподавательского опыта) в вузах следует освоить за время обучения функциональный язык (типа Lisp), логический (типа Prolog) и процедурный (типа Java).
Но обязательно (в самом начале) C.
А веб программирование факультативом — все равно сами выучат
Мое мнение — если человек не знает ничего, то и осваивать с нуля любой язык, будь то Pascal или С по сложности примерно одинаково.
P. S. Кстати приставка Turbo это разве не от одноименной псевдографической библиотеки TurboVision?
TurboVision появилась только в TurboPascal 6.0.
Нет. Он с первой версии назывался Turbo
В 5.0 появилось ООП
В 5.5 была добавлена TurboVision
Сейчас в большинстве вузов на 1 курсе дают Turbo Pascal
Откуда статистика? В вузе, где я учился (весьма провинциальном), на первом курсе дают C, ассемблер и C#. Все так плохо?
Паттерны, антипаттерны, архитектура приложения, подходы к разработке, UI/UX дизайн, модульное тестирование и т.д… Этого ничего нет. Как результат на выходе в лучшем случае заготовка джуна, которого надо за уши тянуть и обучать элементарным вещам.
В российских вузах мало преподавателей, которые могут программировать профессионально
язык первичен, а разработка вторична
Позвольте не согласиться. Разработка первична. Умение применять паттерны, избегать антипаттернов, умение строить логичные алгоритмы приветствуются в любом языке.
В российских вузах мало преподавателей, которые могут программировать профессионально
Низкая оплата труда и невысокий престиж профессии преподавателя — основная беда системы образования.
Кстати ( опять же в силу большого преподавательского опыта, включающего советскую эпоху) оплата труда не при чем (в советское время нормально платили преподавателям) — просто. когда возникла массовая потребность в преподавании программирования (начало 70-х прошлого века) советская система преподавания начала сама по себе гнить и в настоящее время разложилась окончательно
алгоритмы пишутся на языке
Алгоритмы рисуются на бумажках, досках или специализированном софте. Алгоритм в общем смысле — как программа вообще должна работать и что делать.
если не знаешь язык, то все паттерны не нужны
) Само-собой синтаксис хоть какого-то языка программирования знать надо. Но я не о том говорил. Самые важные элементы разработки ПО, как таковой практически независимы от языка. Например, архитектура взаимодействия с пользователем или умение распознать антипаттерн «божественный объект».
оплата труда не при чем
Есть условный Иван Иванович, имеющий большой опыт разработки на нескольких языках, под разные платформы. Enterprise, Web, Mobile. Был тимлидом в успешном проекте. Куда он пойдёт работать? Во фриланс, сеньором в крупную компанию, организует свой стартап или в местный вуз обучать раздолбаев за 25 т.р. в месяц?
Кстати условный Иван Иванович в настоящее время предпочтет остаться в вузе (догадайтесь почему)
Да, тех, кто случайно попал в профессию учить бесполезно, но для остальных можно значительно сократить путь к развитию.
просто. когда возникла массовая потребность в преподавании программирования (начало 70-х прошлого века)
Э-ээ?
В начале 70х ещё Фортран был актуальнейшим языком и новьём…
в начале 70-х фортран уже не был новьём
Был, был.
Актуальным был точно — ФОРТРАН-66. %))
А вот более свежие языки — вся «классика», сопсснна, Алгол-66 (так и не взлетевший), Паскаль, Си, Симула (67, емнип), Бейсик — существовали, скорее, ещё «виртуально».
Про Алгол 66 ничего не знаю — меня учили на Алголе 60, а потом был действительно канувший в лету Алгол 68
Упомянутый C популярен до сих пор см http://www.tiobe.com/tiobe-index/, как и Basic (в смысле visual)
Если какому-то сертифицированному Java-программисту требуется объяснять что такое стек, то ему надо было учить не язык (и тут речь не про стек процессора, допустим, из x86-х, а про стек как концепцию).
Что вы будете описывать, если у вас будет только язык?
Кроме того важно различать изучение языка программирования в общем — то есть как раз алгоритмов и всего того, чем «думает» программист, — и конкретного языка программирования. Проблема в том, что место первого преподают второе. Да, без языка не выразить мысль. Да, язык программирования накладывает отпечаток на решение. Но первично решение, а не способ выражения.
Если перефразировать известную цитату Дейкстры, программирование — это настолько же наука о языках, насколько астрономия наука о телескопах.
Если для начального обучения программированию — то тот же Оберон в силу простоты (проще и логичнее Паскаля, есть модули которых нет и не будет в C и C++, легко подменяется на Компонентный Паскаль если нужно полноценное ООП) в разы лучше подходит.
А что могут дать ваши курсы по C или C++, где 30 — 100 страниц уходит на написание поискового дерева и 200 страниц на «как не выстрелить себе в ногу устаревшей адресной арифметикой и прочими причудами языка»? За что первокурсникам такой геморрой?
Но, к слову, учить программированию нас начинали с простых машинных кодов в течение целого семестра
Целые факультеты «пролетали мимо» фундаментальных курсов по программированию. И наличие Turbo Pascal с низким порогом вхождения, а затем среды Delphi, позволяющей заняться самообразованием в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными разработчиками
Однако, в средне- и долгосрочной перспективе это привело к «беде»:
Вначале новоиспеченные разработчики не научились толком структурировать код и хорошо процедурно «кодить» на Турбо Паскале, не говоря уже о том, что почти никто не использовал ООП — тогдашние так называемые object (не class).
Затем паскалисты перешли на Delphi, в большинстве своем, по старой памяти, программировали процедурно (и довольно грязно), ООП тоже мало кто использовал — несмотря на все его богатство в Object Pascal.
И главное, совсем мало кто заботился о выделении логики в отдельные модули (units) c классами/процедурами — обычно вся логика «кодилась» в обработчиках событий форм, а сам код форм был наводнен множеством вспомогательных процедур, не имеющих отношения к форме.
И тем более ничего подобного не было, чтобы организовать некое подобие MVC при работе с формами.
Когда Delphi стал «всё», то большинство дельфистов двинули в C#, и, не все, но многие продолжили программировать в паскалевско-дельфийскоми стиле, делая довольно грязный неструктурированный и по факту необъекто-ориентированный код (хотя формально и с использованием классов).
И даже сейчас, даже у начинающих разработчиков можно увидеть даже не дельфийский, а турбопаскалевский стиль разработки — а все потому, что уже культурная традиция такая прижилась.
Хотя в C# сделано очень много, чтобы программировать иначе, чем даже в хорошем стиле на Delphi.
На мой взгляд, Delphi так и не взлетел — написанные на нем это или небольшие программы типа уже неподдерживаемого толком мессенджера или тяжелые энтерпрайзные разработки, актуальные версии которых в большинстве уже перенесены на C#, Java или вообще в облако.
Представляется, что C# тоже не взлетел (или взлетел — но не в соответствии со своим огромным потенциалом).
И произошло это, на мой взгляд, не только благодаря политике Майкрософт в определенный период (когда C# и .NET оказались подзаброшены в эпоху бума планшетов, а конкуренты в это время не дремали и активно развивали облачную, кроссплатформенную и мобильную разработку),
но и благодаря исторической традиции, сформировавшейся, начиная с момента, когда в мир паскаля пришли те кадры, которые пришли, и далее.
Хоронят делфи столько, сколько я на ней пишу, тоесть более 15 лет уже.
А еще у нас на стримах очень частый вопрос — почему мы игру пишем на делфи, ведь дельфи же умер. =)
А еще у нас на стримах очень частый вопрос — почему мы игру пишем на делфи, ведь дельфи же умер. =)
В Delphi очень сильная объектная модель, статическая типизация, и возможность компилировать все это в нативный код.
Устаревшие винформы или куча старых и новых технологий доступа к БД, организации многозвенности, и т.д.? — во всех средах (включая более новые) есть куча олдскульных obsolete-фреймворков.
Бинарная несовместимость с объектными моделями других языков/платформ? а где вы видели бинарную совместимость C# и Java, к примеру?
(А вызывать WinAPI и COM в Delphi можно так же, как и в C#).
Да и так ли важна эта совместимость в эпоху (микро)сервисов и REST?
Поэтому причины негативного отношения к Delphi — исторически сложившиеся, а не технически объективные.
Бинарная несовместимость с объектными моделями других языков/платформ? а где вы видели бинарную совместимость C# и Java, к примеру?
java более-менее совместима со Scala/Kotlin/Groovy. Можно вызывать код, наследоваться от классов из другого языка и делать прочие вещи — потому что всё это компилируется в байткод. По той же причине код можно запускать на разных платформах.
Упоминать «Основные версии» и не упомянуть Delphi7?
С другой стороны, среда Delphi по мере развития действительно становилась все более громоздкой и малопригодной для обучения программированию.
Нет все еще, создание и запуск нового проекта — пару кликов мышкой.
Кроме того, отсутствует бесплатная версия Delphi даже для академического использования. Данные факторы привели к практически полному исчезновению Delphi из сферы образования.
Бесплатная редакция все таки появилась:
https://www.embarcadero.com/ru/products/delphi/starter/promotional-download
А для вузов Embarcadero предлагает отдельную программу…
Не упомянуть об покупке Embarcadero компанией Idera? И проблемами от этого?
Элементы управления Memo, ListView, Calendar, Switch для платформы iOS;
Тут должно быть «Нативные, а не отрисовываемые Memo, ListView, Calendar, Switch для платформы iOS»
Упоминать «Основные версии» и не упомянуть Delphi7?
Самыми знаковыми и важными были Delphi 1 и 3.
Первая — показала, что такое RAD-разработка для Windows, и потеснила VB
3-я — показала RAD-разработку для 32-битных Windows (95 на тот момент, с поддержкой всех специфичных для Win95 технологий — Delphi 2 в этом смысле оказалась переходной версией)
А Delphi 5 и 7 действительно были самыми популярными, когда в отечественной разработке укоренилась традиция энтерпрайз решения писать на Delphi.
Но нельзя сказать, что Delphi 5 была более прорывной, чем 4, а Delphi 7, чем 6.
С точки зрения языка, в тот период более прорывной можно считать Delphi 4, когда появилась перегрузка (overload) методов и набор целых типов стал полным — добавлен тип Cardinal как беззнаковый аналог знакового зависимого от платформы типа Integer, и тип Longword как беззнаковый аналог знакового независимого от платформы Longint, а также Int64
Исторически планировалось использование Cardinal как платформозависимого представления беззнакового числа.Да, об этом и была речь.
Насчет наличия Cardinal начиная с Delphi 1, верно, припоминаю (но фиксированный 32-битный беззнаковый Longword — как пара Longint — появился именно в Delphi 4).
А вот то, что вы рассказываете про Cardinal в нынешних версиях, печально
— это уже похоже на C/C++ (int, long, long long, int32_t, int64_t) и WinAPI-стайл, когда есть огромная мешанина целочисленных типов, среди которых есть синонимы/дубли, есть типы с задекларированным Undefinded Behaviour (без привязки к размерности платформы, именно Undefined), есть типы с названиями, указывающие в имени на размер, отличный от задекларированного, и т.д.
И, да, действительно, все сильно изменилось в Delphi в эту сторону.
C# и Java пока держатся в смысле стандартизованности набора целых типов.
Но что будет, когда 32/64-битная архитектура устареет, и на смену придут 64/128 бит?
Какой тогда размер будет у int/long?
С одной стороны, менять их размер нельзя, т.к. они задокументированы как типы с фиксированным 32/64-бит размером.
С другой — если оставить типы прежнего размера, то миллионы строк кода, использующие int, превратятся в строки, как если бы они сейчас использовали тип short (сейчас он поддерживается в этих платформах «не нативно», т.е. при использовании все равно расширяется до int, а это вопросы производительности и т.д.)
ps. Вообще с delphi уже давно всё грустно и там остаётся в основном мохнатый софт. Поэтому я год-три назад занимался миграциями с windows на linux, с x86 на ARM и с delphi на java/C++ с промежуточной остановкой на кроссплатформенном fpc/lazarus. Миграция по частям с использованием fpc позволяла не тратить время на переписывание всего и сразу.
Можно было бы в будущем стандартизировать не конкретный размер строки а требования указания размера строки в битах прямо в названии производного типа.
Но вот вопрос — когда придут квантовые компьютеры ужель не наступим ли на те же грабли, опять где нибудь жестко зафиксировав количество квантовых кубитов?
Вот про видео утверждать не буду, так как не знаю.
Кроме того, отсутствует бесплатная версия Delphi даже для академического использования.
Не знаю как давно это случилось, но сейчас на сайте Embarcadero в разделе Free Tools можно бесплатно получить Delphi Starter. Наверняка там есть какие-то ограничения, которые не позволяет использовать ее на всю мощь, но для учебы она мне сгодилась и отработала отлично.
Ну и для коммерческого использования она не подходит. БОлее $1000 прибыли в год — покупайте профессиональную редакцию. Таковы лицензионные соглашения.
Вспомнил, сколько часов в свое время провел на Королевстве Дельфи/.
Зашел, приятно удивился, что форум довольно активен до сих пор.
И там была даже офлайн версия сайта (что в диалапные времена было очень актуально, таскать с собой на флешке кучу статей по любимой IDE).
Еще Delphi у меня ассоциируется с библиотекой KOL — помню, как нравилось смотреть после компиляции на размер программы, который при использовании этой библиотеки был раз в 10-20 меньше по сравнению с использованием стандартных. Вроде бы, что-то около пары килобайт пустая форма весила.
Аж прослезился )
Только по нему в моей глубинке можно было найти книги и дистрибутивы (естественно, лицензионные, за 200 р.)
Если бы не он, я так бы и остался на YaBasic.
То есть сам Delphi рассказывал, то как его использовать, как подключиться к базе и т.п.
В Delphi 2006 также была реализована технология MDA (Model Driven Architecture) с помощью ECO (Enterprise Core Objects) версии 3.0.
И ваш покорный слуга, использовал эту технологию в продакшене в составе большой группы разработчиков. Причем, сам Bold for Deplhi был изначально разработан шведской компанией BoldSoft, которую потом просто выкупила Borland. Что могу сказать по итогу использования данной технологии: это был просто прорыв для своего времени. Аналогов на тот момент не было. Но сама Borland просто провафлила на ровном месте, т.к. информационная поддержка, пиар, и хоть какие-то внятные маны отсутствовали напрочь. Я испытал гордость, когда единственную книгу, которую можно было вообще по этой теме достать, я переводил англоязычным коллегам с русского языка, что подтверждает догадки автора статьи о супер-распространенности дельфей в отечественных краях. В итоге, проект был сдан с некоторым опозданием, но заказчик остался доволен.Насколько я понял, сейчас эта технология ушла в бездну? Прямо радуют вот такие вопросы?
Вместе с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему Linux.
И ваш покорный слуга, около года использовал ее в нескольких крупных коммерческих проектов. Заявленная кроссплатформенность была весьма и весьма относительной. Работа по аналогии с BDE отсутствовала. Технология инсталляции отсутствовала, что с учетом сложных зависимостей в самой Kylix, заставило нас выделить одного человека только под технологию развертывания. И это с учетом, что для Win был их же InstallShield, все это кажется весьма непонятным.
В целом, для 2004-2006 гг. быстрее под Win платформу разрабатывать было негде, если вспомнить, что тогда вообще было. Delphi подкупил тем, что в одном пакете был и BDE, и сама среда, и InstallShield + миллиард компонентов, как платных, так и нет. Но абсолютно все вскоре было промотано в хламину из-за метаний продаем/закрываем/не продаем/развиваем. Сам я тоже из мира дельфи ушел, и вроде бы с тех пор, а уже прошло почти 13 лет, ни разу туда не возвращался. Ностальгирую, когда читаю такие статьи. И задаюсь одним и тем же вопросом — ну как можно было так все слить. Теперь же, я лично просто не представляю, чтобы заставило вернуться всех бывших разработчиков этой среды обратно. Просто остался такой осадочек ужаса, что потрачено несколько лет жизни на разработку на этом стеке технологий, весьма и весьма неплохом, а местами — революционном даже, и в итоге большая часть этого опыта просто обнулилась.
Изначальный Pascal, по мнению его разработчиков, имел самый быстрый компилятор в мире. Более того, вместе с ним была впервые разработана технология создания платформенно-независимых программ, которая нашла широкое применение в таком языке, как Java.
Однако его IDE, если это понятие можно применить к среде разработки того времени, функционировала только на базе операционной системы DOS.
В этих двух абзацах вы перепутали всё на свете. Такое чувство, что по-быстрому вычитали где-то разрозненные факты и попытались запихать их в два абзаца. Не вышло.
Давайте разбираться.
Изначальный Pascal, по мнению его разработчиков, имел самый быстрый компилятор в мире
Какой именно компилятор здесь имеется в виду? Из фразы выходит, что вроде как первый компилятор Pascal. Раз вы говорите "изначальный Pascal", значит, получается, первый компилятор Pascal. Но раз он первый, то его разработчикам сравнить-то его было не с чем. :) Как же тогда его разработчики могли утверждать, что он самый быстрый? :)
Более того, вместе с ним была впервые разработана технология создания платформенно-независимых программ, которая нашла широкое применение в таком языке, как Java.
Однако его IDE, если это понятие можно применить к среде разработки того времени, функционировала только на базе операционной системы DOS.
Угу. Вот только технология создания платформенно-независимых программ (ну или, может быть, идея таких программ) была придумана Виртом (ну или в команде Вирта). А вот упоминаемый далее IDE был от Turbo Pascal. А вы всё смешали в кучу. Оставив читателя недоумевать, мол, а раз придумана мультиплатформенная технология, зачем тогда только для DOS?
И это я только начал читать вашу статью, не знаю сколько там ещё дальше ляпов. В общем, относитесь лучше к качеству статей. Я вижу у вас уже целая серия статей про историю языков программирования, небось собираетесь ещё несколько штук статей про них написать. Так вот, внимательнее пишите, не допускайте таких ляпов.
Как же тогда его разработчики могли утверждать, что он самый быстрый? :)
Очевидно, речь идет о скорости компиляции эквивалентных программ на разных языках. Не уверен, правда, так ли это.
Насчет DOS вы правы — ETH Pascal работал на CDC-6000.
Кроме того, ощущается некий дефицит программистов с этим языком, и хедхантеры в Германии к примеру из шкуры лезут, чтоб заполучить опытного делфиста.
Написанное больше относится к северу Европы. На юге печальнее. Там до сих пор вакансии на семерке, а пару лет назад в Италии попалась даже на пятой версии.
Как я их понимаю.
По моему опыту 5.5 — самая стабильная версия среды разработки за всю историю Delphi (хотя из-за некоторых особенностей построения интерфейса не самая удобная).
Семерка уже не очень, но тоже вполне можно пользоваться.
У остальных со стабильностью как-то похуже будет.
Та же 2006-я, с которой пришлось работать довольно много, при достаточно сложном проекте сбоит слишком уж часто и неприятно. Хотя наличие у нее бесплатного, пусть и урезанного, варианта (Turbo Delphi) очень порадовало.
Извинявам се, че пиша на български език (дано това не доведе до неприятна реакция), но ще се опитам да бъда ясен.
В момента на пазара е достъпна версия Berlin10.1.2. Що се отнася до Delphi Start Edition то той е напълно безплатен.
От прочетените коментари разбра, че липсват задълбочени познания за това какво точно предоставя Delphi Architect на разработчиците и за какво служи.
Да се твърди, че Delphi се използва само и единствено за «малки проекти» е меко казано лишено от основание. Под «малък проект» в Delphi се разбира проект с мин. 70 000 програмни реда (без коментар).
За мен е огромна изненада, че никой и дума не спомена за възможностите, които Delphi предоставя при разработка на системи с паралелна обработка на данни, а не многопоточни такива.
Да се говори за «Delphi» през 2016 година e nelogi`no. Това, което се предлага в момента е RAD Studio, но това е на светлинни години от Object Pascal.
От години RAD Studio се използва за разработка на надплатформени приложения. Delphi е среда за разработка на системи за обработка на т.н. «оперативно критична информация» (ако някой знае за какво става дума).
Няма да споменавам за колко време с помощта на RAD Studio може да бъде разработен мощен REST Server.
Или да си поговорим за това какво може да се направи за Android или iOS? Що се отнася до Linux, то не само Lazarus предлага големи възможности.
Отрицателни отзиви за Delphi пишат само и единствено разработчици, които никога не са били програмисти, а са и си остават «кодери». От такива не може да се очаква да работят по създаване на патентно чист софтуер, защото нямат нужното мислене. Четох глупостите, които са написани за това какво и как се програмира и се смях със сълзи. Така се пише на C++. Tака се пише на Java. Така може да пишете на Pyton или Rubi, но да пишете програми по този начин на Delphi е чисто безумие. Delphi има своя логика, която изисква дълбоки познания и подход, който няма аналог.
Още веднъж ме извинете за това, че ползвам родния си език, но просто в момента не мога да пиша правилно на руски.
И не забравяйте. Годината е 2016, а не 2001. Посетете официалният сайт на Embarcadero и прочетете, какво пише там. Може да научите нещо, което би могло да е от полза.
ИСТИНСКИЯТ ПРОБЛЕМ ПРИ DELPHI Е ЦЕНАТА НА ЛИЦЕНЗА!
Все пак, колеги, става дума а професионална среда за разработка. Що се отнася до «облаци» и «виртуални решения» то мисля, че вече мнозина си изпатиха. Четете дребния шрифт, за да не загубите своята интелектуална собственост.
Начинал на ТурбоПаскаль 5, потом 6, БП 7.0, Delphi 1, 3, 5. Так и остался на 5, с остальными как-то не пошло. Даже 7-я портачила юникодом файлы проектов так, что в старых версиях они уже не открывались нормально.
Косяк Delphi был в том, что в новых версиях менялись наборы дополнительных компонентов и для перехода нужно было бы переписывать проект. Нормальный программист не будет заниматься этим и ломать то, что и так хорошо работает. У меня на Delphi 5 написано несколько корпоративных программ, нечто типа ERP/CRM/1С и вполне справляющихся со своими задачами до сих пор. Волнует ли меня в этих условиях то, что говорят про будущее Delphi?
По поводу будущего Delphi. Использовали таблицы GoogleDocs для управления и контроля выполняемых задач сотрудниками. Нечто типа онлайн-экселя, 30 закладок по 70 строк+дублирующая таблица, итого 4.2 тыс строк на одного сотрудника.
Примем размер данных в 50 байт на строку, выйдет 210кб. (на самом деле данных меньше выходит)
Табличка, которая вполне нормально могла работать на Quattro Pro(написанной на ассемблере и Turbo C) на компьютере типа 286 с 640 кб памяти. В современных реалиях в Google Chrome через несколько дней работы эта табличка начинает тормозить и отъедает больше 1 Гб, т.е. примерно в 5000 раз больше. Явно не на Delphi написано, потому что когда я это переписал на Delphi (+ куча другого функционала), это стало занимать 2 мб в бинарнике и 25 мб в памяти.
Поэтому, может кого-то устраивает такое будущее, когда элементарные задачи требуют облака и гигабайты памяти, а те, кому «нужно ехать, а не шашечки» будут писать на том, что им удобно.
Кстати, Turbo Pascal был так назван потому что благодаря использованию компилированных модулей позволял компилировать программы быстрее любых других существующих аналогов(не только паскаля). Да и сейчас нет никакой проблемы в программе из нескольких мегабайт кода после изменения взять и скомпилировать и сразу же увидеть результат.
История языков программирования: Delphi — больше, чем просто язык