Pull to refresh

Comments 157

В конце стоило бы добавить C# с сервером веб приложений ))
Какой же молодчик Андерс Хейлсберг Обьединил очень много языков и создал C#

Андерс Хейлсберг

Все же Аннерс, раз уж он датчанин. Хоть имя и пишется через d.

Данные факторы привели к практически полному исчезновению Delphi из сферы образования.

Интересно, а в каких Российских ВУЗах прекратили использовать Delphi «для образования»?
Во, многих, надо полагать…
Захожу на сайт МГТУ имени Баумана, в поиске delphi — 751 ответ, pascal 759 ответов.
Всё таки кто не использует?
Сейчас вроде нет больше Delphi в Бауманке. Но за все факультеты не скажу
В Бонче и не было даже. Весь курс сидели на Java, пару семестров С++ (но скорее для общего развития). Так что нет.
Простите, что такое Бонч? и про какие годы речь.
Извиняюсь, думал в представлении не нуждается. «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича», один из ведущих российских вузов. Окончил в 2009-2010.
P. S. Если что — просто продолжал ветку про отсутствие Delphi в вузах)
Ну а мы проходили Delphi в не таких уж далеких 2009-2011 годах. Так же Borland C++ Builder на тот момент был не менее хорош, многие его предпочитали на 1-2 курсе (но речь о языке, а не IDE). А потом появилась бесплатная студия в нашем вузе и про пиратскую Delphi все забыли.
Исходя из комментария, я подумал вы про Бауманку продолжаете.

Насчет ведущего — немного спорно, конечно ;)
Впрочем, тема не об этом.
А, нет-нет, я о своем вузе уже, коли речь пошла о непреподавании, так сказать, Delphi в вузах. Ну а насчет ведущего — тут надо уже проверять имеет ли он сейчас такой статус, да. Во всяком случае в его защиту, чтобы наверняка, хочу сказать, что по Питеру он ведущий точно)

Как-то категорично.
Скорее один из ведущих, так как как минимум есть СПбГУ и ИТМО.

А, не-не, конечно, один из. Однако в чем он точно ведущий, дак это в выдаваемых всем новых маках (как сейчас не знаю) и новых современных корпусах, все годы учебы ощущение было как от космического корабля, особенно c непривычки и если в окна не смотреть, ибо располагается он сейчас на проспекте Большевиков, и вид из окна явно не на Альфу Центавру :/
Скажите, Вы учились на дневной или заочной форме обучения? Также, как бы Вы в 5 бальной шкале оценили обучение алгоритмам и логике в своём университете?
Например, задачу: дан текстовой файл на 100 гб, отсортировать данные при условиях (список ограничений) в Вашей группе многие бы решили?
Вы знаете… Честно признаться, я долго думал, стоило ли мне вообще оставлять свой комментарий, ибо такого вопроса боялся, честно признаюсь… Ситуация в нем сложилась, возможно, как и в любом российском вузе, следующая: при весьма ощутимых дотациях (самого вуза) огромные средства вкладываются в модернизацию процесса обучения, взять всем не по наслышке известный современнейший по всем меркам корпус на пр. Большевиков из стекла и бетона, с огромными и обставленными по последнему слову техники аудиториями, электронными досками, комнатами для групповых занятий и прочим, и это при всем при том, что когда я только поступал в него, занятия некоторое время до окончания его постройки проводились в здании детского сада (в прямом смысле, двухэтажный детский сад по типовому советскому проекту). Однако преподавательский состав довольно взрослый. Возможно из-за того, что желающих поступать на нищенскую зарплату, особенно молодежи, впереди которых вся жизнь и которые, разумеется, мечтают получше обустроиться в ней, особенно имея неплохие способности. Это, конечно, сказывается на самих языках и актуальности рассматриваемых технологий (по Линуксу почти истоки, надо сказать). Однако с Java ситуация была весьма неплоха, так как препод был, пожалуй, самым молодым из всех (относительно, конечно. Взрослый мужчина тоже), преподавал весьма неплохо, всегда был готов ответить на вопросы.

Касаемо «многие бы решили» — дело в том, что группа лично у нас (на параллельных курсах, говорят, ситуация аналогичная) собралась на удивление разношерстная, и на всем потоке было только 3 (!) человека, которые действительно хотели идти в разработку. Еще парочка не особо определившихся. Для меня до сих пор загадка почему? Что они все делали на факультете под намекающим названием «Информационных систем и технологий»? Ладно сестра училась в экономическом, дак там ситуация была аналогичная, оно и понятно, ибо до сих пор это считается лакшери и родители считают своим долгом таким образом обеспечить своим чадам безбедное будущее, окей, но на факультете «Информационных систем и технологий»?! Поэтому тут дело не в качестве преподавания, а в качестве… Как-бы… Применения полученных знаний и желании учиться.

Поэтому я мог бы поставить оценку, но, учитывая вышеперечисленные мною факты, это, увы, сложно. Преподаватели честно обрабатывали свой хлеб, я им благодарен (разве что у самого не было возможности эти знания приобретать в дальнейшем, так как вовсю занимался разработкой своей CMS, которую начал писать на 2 курсе, а как известно, поддержка известных продуктов требуют огромного количества времени), ну и плюс, как я уже и говорил, людей, способных решать задачи такого рода, просто не было. Однако скажу честно, даже при всем при этом, большое количество людей на потоке такие задачи в принципе решить были в состоянии наравне в примерами по математике. Позволяли способности, не более. Поэтому возможно знания вуз давать был и в состоянии, было бы желание их получать.

И да, учился на очной, дневной, диплом специалиста (успел в последний год на бакалавра, поэтому теперь полноценный специалист без магистратуры, а не бакалавр по болонской системе, которых преподаватели называли у нас «недоучками»).
UFO just landed and posted this here
В более-менее адекватных. Шараги, как преподавали паскаль с его производными, так и преподают. Заменили правда таки на C#. Как было тяжело найти знающего С или С++ программиста, так и осталось.
Проблема не в языке, а в том, что преподают язык вместо программирования.
А для обучения именно программированию паскаль (особенно объектная версия) вполне годится.
Преподают алгоритмизацию, а не «программирование» или язык. Язык тут вообще не важен.
Поправка: должны преподавать, но из-за низкой компетенции преподавательского состава студенты изучают именно язык.
Если бы алгоритмизацию.
Как правило преподают именно язык. Причем в стиле: «вот вам операторы и функции, а дальше крутитесь, как хотите».
Что же до программирования, то в понимании термина, которое давалось мне, алгоритмизация лишь часть этого понятия.
Шараги — преподают delphi (C# или что там ещё), а преподавать должны базу. Хоть на ПСЯК Сульповар 8.5 (Ц).
PS. У нас Delphi не было в программе, только версию 1.0 показывали как диковинку из будущего.
Есть такие. Вот только выбранные альтернативы не всегда можно похвалить. Обычно это или C# или Python. Учить таких студентов чему-либо низкоуровнему оказывается достаточно сложно, привыкают к сборщикам мусора и всё такое. Как верно заметили — учат именно языку, а не базовым основам программирования.
Дельфи как и паскаль только в школе видел.
В ВУЗах си под дос и нортон коммандер. причем бывает, что это всё крутится на мак мини с двойной загрузков, вин хп-7 и дос. увы.
На Delphi как раз таки и обучают. А все потому, что есть компоненты и встроенные функции на все случаи жизни, особенно касаемо баз данных.
И кстати много софта написано именно на Delphi. небезызвестный мессенджер QIP, не менее небезызвестный аудиоплеер AIMP, не менее небезызвестная Victoria 4 версии (хотя там Delphi с ассемблерными вставками), флешеры и дамперы для MTK, RockChip, Spreadtrum и т.д…
Убеждённо пользуюсь The Bat! молдавским с самых девяностых годов.
Даже SCADA-системы доморощенные на Delphi есть, но язык всё-таки позиции явно сдал.
FruttyLoops, WinRar, The Bat, Age of wonders, Skype… Много софта было известного, если что. Я в своё время со своим Battery Eater тоже раскрутился довольно сильно (сотни тысяч даунлоадов можно же считать сильной раскруткой), что стали на авторитетных сайтах использовать.
Фигня это всё, не инструмент важен, а результат.
Черт возьми, да сами богоподобные «Космические рейнджеры» были написаны на дельфях!
UFO just landed and posted this here
Я в универе очень жалел что преподы используют программу 5 летней давности и Delphi 7 соответственно. Украткой от них изучал C# и договорился делать все лабы не в Delphi а на C#, о чем не сожалею ))) Плюс последняя версия Visual Studio 2015 Community Edition бесплатна и покрывает 100% моих необходимостей в IDE, и в моем уневере как назло после нашего выпуска все усилено стали переводить учебные программы исключительно под C# )))
Бесплатны в том числе и express-версии. Причем специально изучал тему и нашел на сайте MS, что их вполне можно использовать в том числе и для коммерческого использования. Но самое серьезное ограничение у экспресс-версий c# и vb, из тех, с которыми сталкивался я, заключается в том, что нельзя указывать в качестве источника данных сервер БД, а можно только использовать локальные файлы базы данных. К серверу получилось подключиться только через код программы, но в таком виде работать очень геморно.
Надо уточнить. что в сентябре 2016 года появилась-таки бесплатная версия Delphi Starter. Причем это бесплатное IDE обещают своевременно обновлять одновременно со «взрослыми» версиями Delphi.

Также есть бесплатный C++Builder Starter Edition, InterBase Developer Edition.
В 2007 году вышла абсолютно бесплатная (лицензия вроде никак не ограничивала разработчика) Turbo Delphi, соответствующая по начинке Delphi 2006. Её основным недостатком была невозможность подключать новые компоненты в среду визуальной разработки. Впрочем, данное ограничение достаточно быстро научились обходить.
Пока что это я вижу как некий Special Offer. Взял себе в своё время по нему 10.1. Для дома хватает более чем.
Наиболее популярным решением для персональных Windows-компьютеров в 80-е — начале 90 годов стал компилятор и IDE Turbo Pascal фирмы Borland.


Во времена DOS, под DOS — да, называлось Turbo Pascal.
Потом, ближе ко времени Windows, IDE стало называться Borland Pascal, но это было все равно под DOS.
Borland Pascal, в отличие от «просто» Turbo, имел возможность компиляции программ для защищенного режима процессора x86.
Turbo мог компилировать только для реального режима.
Версия 7.0 IDE была в вариантах Turbo и Borland (последняя включала обе версии).
Причем, если не ошибаюсь, версия BP 7.0 могла собирать Windows-программы из-под DOS-вской оболочки, хотя Windows IDE в комплект тоже входила.
Очень много лет писал на Delphi, пока не стал заниматься в основном вебом. Недавно скачал последнюю IDE, чтобы внести небольшие правки в старый проект. Так вот, IDE не поддерживает High DPI, весь интерфейс размыт из-за масштабирования картинки средствами ОС. Формы в получившемся приложении глючат (а там нет ничего сложного). Например, при наведении курсора на крестик (закрытие окна) элемент сразу же теряет фокус (курсор на нем, а фокуса нет). Всё это очень печально, хотя я всегда был сторонником языка и IDE в целом.
10.1 поддерживает не только HighDPI, но даже многомониторность. Да, долго до этого шли, но пришли же.
Приложения скомпилированы на компьютере со стандартным DPI. При запуске на High DPI появляется непонятный отступ справа, если окно небольшой ширины. У элементов Anchors [akLeft,akTop], но это не помогает.
И глючит заголовок окна. Фокус при наведении на элементы управления (свернуть, развернуть, закрыть) появляется на доли секунды, а затем пропадает (курсор на кнопке, а она не подсвечивается).
Плюс различные глюки VCL (не связаны с DPI), когда после hover остаются артефакты и пр.
Проверял всё на Delphi 10 Seattle.
Картинки
image
image
У элементов Anchors [akLeft,akTop], но это не помогает.
Чтобы убрать отсуп справа у элементов Anchors должен быть [akLeft,akTop, akRight]
Прошу прощения, это опечатка. Конечно там [akLeft,akTop,akRight]. Проблема возникает при запуске на High DPI.
IDE по умолчанию запускается в 96 DPI вроде. Чтобы в дизайнере формы создавать с таким же DPI. Уж не знаю баг это или фича, но если IDE запускать в 144 DPI (4k), например, то в дизайнере формы вроде как обычные создаются, а при запуске ещё больше увеличиваются, при запуске на FHD мониторе они просто гигантские. То есть масштабирование происходит только в большую сторону. Пока для себя нашел выход — использую IDE на 144 DPI, и у каждой новой формы ставлю вручную 96 DPI и 11ый шрифт. Тогда они отлично масштабируются под 144 DPI и выглядят родными на 96 DPI.
MS вроде не рекомендует напрямую вызывать эту функцию, а лучше пользовать ее через манифест, да и даже так она не нужна. Потом проблем-то нет никаких. Я просто думал, что если я создаю форму при 144dpi, то при запуске на 96dpi она уменьшится вместе со шрифтами. А в итоге она умеет только увеличиваться. Поэтому в дизайнере приходится вручную выставлять 96dpi для новых форм и 11ый шрифт… Так конечно немного неудобно работать в самом дизайнере — все достаточно мелкое, зато при запуске и на 96dpi и на 144 выглядит как родное. Даже специально ставил 2 монитора рядом FHD и 4k 27 и 28" соответственно — формы получаются приблизительно одинакового размера у скомпилированного проекта. Ну или второй вариант запускать замыленную IDE в 96dpi так как будто она запущена на FHD мониторе. Но так глаза устают. Зато в дизайнере уже сразу 11ый шрифт и 96 dpi.
Забыл добавить, что на bds.exe у меня в свойствах — совместимость стоит галочка «отключить масштабирование изображения при высоком разрешении экрана» — работает отлично.
А как вы среду в 144 dpi запускаете? Уже замаялся биться с этим High DPI.
Закономерный тренд. Может и у Мелкософта с Net Core получится в кроссплатформенность.
Немного не так… Это больше к Лазарю относится. Тут скорее будет «Write once, deploy anywhere.» Причем этот write только Windows.
А вот выше ответил. В свойствах bds.exe поставить галочку на «отключить масштабирование изображения при высоком разрешении экрана». Тогда IDE использует родной dpi экрана родные шрифты, а не просто растягивает изображение… Возможно тоже самое надо сделать и с BDSLauncher.exe
Не туда ответил, это было для vsabadazh
IMHO Borland, когда создавала объектно-ориентированное расширение Паскаля, допустила несколько достаточно серьезных архитектурных ошибок, которые и не позволили Паскалю пробиться по популярности (хотя он имел все шансы, потому что язык-то хороший). Из того, что сейчас вспоминается:
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(), не?
Inherited-то inherited, вы посмотрите, какой он ассемблер генерировал, а также попробуйте ошибиться (не вызвать его, например, вызвать дважды, или вызвать конструктор, как метод, а не через inherited). В ранних версиях (по крайней мере; я не знаю, может, уже сейчас исправили) память выделял самый базовый конструктор в цепочке, и ему через весь стек протаскивался int32 с размером самого производного класса. Если в какой-то момент inherited забывали, получался занятный эффект.

Вообще, я сейчас пишу про то, «как было». Сейчас-то уже и generic-и появились, и вон NewInstance. Но время уже, как мне кажется, упущено, и люди, которые могли много лет назад продолжить писать на Delphi после изучения Паскаля в школе/вузе, увидев все это (и другие нестыковки — например, необходимость вручную вызывать деструктор, в то время как в C++ он вызывался автоматически при выходе объекта за область видимости), могли отвернуться и пойти использовать другой язык.

Вы так пишете, как-будто C++ проще и логичнее, чем Delphi. Хотя по факту там своих "особенностей" выше крыши и гораздо больше, чем у Delphi.

Паскаль — мой первый язык с 1991 года, вторым был ассемблер, а первая строчка на C++ написалась в районе 1996. Так что — нет, я не пишу так, как будто бы C++ проще и логичнее. :-) Очень горько видеть, что хороший язык пошел по тем же граблям, которые давно были преодолены в других популярных языках, и, как мне кажется, в результате получил не столь широкое распространение, какое мог бы получить, обойди он эти грабли изначально (а сейчас-то уже поздно, лидерство упущено). Всего-то и надо было аккуратно запилить объектную модель — все равно же ее с нуля делали. Хотя бы вот что: делаете изначально Object по типу Record-а, копирующегося по значению? Ну сделайте тогда, чтобы деструкторы автоматически вызывались при выходе объекта за область видимости, сделайте конструктор копирования — это же неразрывно связанные вещи. Но нет…

Можно только представить, каким прекрасным стал бы мир, если бы большинство софта в нем писалось не на C++ или Java, а на Паскале. (Хотя C++ и Java тоже неплохие языки, но в них нет того изящества Паскаля, что ли...)
(и другие нестыковки — например, необходимость вручную вызывать деструктор, в то время как в C++ он вызывался автоматически при выходе объекта за область видимости)


Это-то какраз «стыковки» — в Паскале отсутствует инициализация переменных при их объявлении — ну и, соответственно…
Всё-таки жаль, что умерла Модула.
Бедный Вирт вертелся в гробу, как волчок

Эм, Вирт жив…
Это фигура речи такая. Как говорил Джон Сильвер, "… и живые позавидуют мертвым". :)

Технически это не мешает ему крутиться в гробу. Скорее даже наоборот, живому это сделать проще.

На самом деле главная ошибка Борланда в том, что вместо того, чтобы сказать «а давайте перейдём на Оберон / Компонентный Паскаль», над архитектурой которых Вирт с учениками думал лет 30, они делали свои кривые костыли к устаревшей «пробе пера» Вирта.

Жалко, что Оберон или Компонентный Паскаль не прикрутили пока на LLVM или gcc — как яву или аду.

Паскаль изчезнет из сферы образования России, когда уйдут (в понятном смысле этого слова) те преподаватели, которые потратили свою молодость на его освоение и заставляют тратить также последующую молодежь.
На мой взгляд (на базе большого преподавательского опыта) в вузах следует освоить за время обучения функциональный язык (типа Lisp), логический (типа Prolog) и процедурный (типа Java).
Но обязательно (в самом начале) C.
А веб программирование факультативом — все равно сами выучат
Я лично двумя руками за этот подход. Сейчас в большинстве вузов на 1 курсе дают Turbo Pascal (и пофиг, что на существующих системах он заводится только после плясок с бубном, типа установки виртуальной машины со старыми версиями Windows или DOS), потом переходят на Delphi, где-то там в процессе вводят C++ с переходом на старших курсах на C# и JAVA. В итоге студент нормально не знает ни одного языка программирования или остается на Delphi, потому что на нем ваять действительно проще всего, а комьюнити за… надцать лет его существования действительно огромное.
Мое мнение — если человек не знает ничего, то и осваивать с нуля любой язык, будь то Pascal или С по сложности примерно одинаково.

P. S. Кстати приставка Turbo это разве не от одноименной псевдографической библиотеки TurboVision?

TurboVision появилась только в TurboPascal 6.0.

> Кстати приставка Turbo это разве не от одноименной псевдографической библиотеки TurboVision?
Нет. Он с первой версии назывался Turbo
В 5.0 появилось ООП
В 5.5 была добавлена TurboVision
ООП появилось в Turbo Pascal 5.5
Turbo Vision 1.0 появился в Turbo Pascal 6.0
В Borland Pascal 7.0 Turbo Vision обновился до заключительной версии 2.0
Приставка турбо означает, что код оптимизирован (в статье неправильно сказано, что самый быстрый компилятор — просто компилятор оптимизирует код в сторону ускорения выполнения, хотя никто особенно замеры не производил насколько код оптимизируется по сравнению с другими компиляторами)
Сейчас в большинстве вузов на 1 курсе дают Turbo Pascal

Откуда статистика? В вузе, где я учился (весьма провинциальном), на первом курсе дают C, ассемблер и C#. Все так плохо?

Как уже сказали тут в каментах. Проблема не в преподаваемом языке, а в том, что преподаётся именно язык, а не разработка ПО, как таковое.
Паттерны, антипаттерны, архитектура приложения, подходы к разработке, UI/UX дизайн, модульное тестирование и т.д… Этого ничего нет. Как результат на выходе в лучшем случае заготовка джуна, которого надо за уши тянуть и обучать элементарным вещам.
В принципе да — но язык первичен, а разработка вторична — то есть все знают русский язык, но не все могут его использовать профессионально

В российских вузах мало преподавателей, которые могут программировать профессионально
язык первичен, а разработка вторична

Позвольте не согласиться. Разработка первична. Умение применять паттерны, избегать антипаттернов, умение строить логичные алгоритмы приветствуются в любом языке.

В российских вузах мало преподавателей, которые могут программировать профессионально

Низкая оплата труда и невысокий престиж профессии преподавателя — основная беда системы образования.
ну странно — если не знаешь язык, то все паттерны не нужны — кстати и алгоритмы пишутся на языке — поэтому и называются алгоритмические языки

Кстати ( опять же в силу большого преподавательского опыта, включающего советскую эпоху) оплата труда не при чем (в советское время нормально платили преподавателям) — просто. когда возникла массовая потребность в преподавании программирования (начало 70-х прошлого века) советская система преподавания начала сама по себе гнить и в настоящее время разложилась окончательно
алгоритмы пишутся на языке

Алгоритмы рисуются на бумажках, досках или специализированном софте. Алгоритм в общем смысле — как программа вообще должна работать и что делать.

если не знаешь язык, то все паттерны не нужны

) Само-собой синтаксис хоть какого-то языка программирования знать надо. Но я не о том говорил. Самые важные элементы разработки ПО, как таковой практически независимы от языка. Например, архитектура взаимодействия с пользователем или умение распознать антипаттерн «божественный объект».

оплата труда не при чем

Есть условный Иван Иванович, имеющий большой опыт разработки на нескольких языках, под разные платформы. Enterprise, Web, Mobile. Был тимлидом в успешном проекте. Куда он пойдёт работать? Во фриланс, сеньором в крупную компанию, организует свой стартап или в местный вуз обучать раздолбаев за 25 т.р. в месяц?
ладно — смысл переубеждения имеет нулевую значимость — вы смотрите на систему образования снаружи, а я ее знаю изнутри на протяжении десятков именно в области преподавания информационных технологий — причем имею также большой профессиональный опыт в создании разных проектов, владея многими языками, зная разные IDE и прочие нужные технологии.

Кстати условный Иван Иванович в настоящее время предпочтет остаться в вузе (догадайтесь почему)
Мне бы в своё время парочку таких Иван Иванычей в качестве преподавателей…
А вот Ричард Фейнман говорил, что учить надо того, кто способен обучиться сам
) ну вот мне и пришлось самому обучаться, вот только те «полезные знания», которые мне вложили в незамутнённую студенческую голову как минимум нифига не помогли в становлении.
Да, тех, кто случайно попал в профессию учить бесполезно, но для остальных можно значительно сократить путь к развитию.
значит не те вкладывали — задача педагога не вложить некий объем данных, а создать идеал, к которому надо стремится, являя собой прообраз этого идеала — образование от слова образ и этот образ должен быть и должен быть не безобразным
просто. когда возникла массовая потребность в преподавании программирования (начало 70-х прошлого века)


Э-ээ?
В начале 70х ещё Фортран был актуальнейшим языком и новьём…
в начале 70-х фортран уже не был новьём — это был (и кстати есть до сих пор) язык профессиональной разработки приложенй в области научных иссследований, где требовались научные расчеты. Кстати, тогда мне и пришлось его освоить по работе. В дальнейшем с удовольствием его оставил, перейдя на c (c++), а потом на c#, java и так далее.
в начале 70-х фортран уже не был новьём


Был, был.
Актуальным был точно — ФОРТРАН-66. %))
А вот более свежие языки — вся «классика», сопсснна, Алгол-66 (так и не взлетевший), Паскаль, Си, Симула (67, емнип), Бейсик — существовали, скорее, ещё «виртуально».
можно конечно утверждать что солнце восходит на западе, но Фортран был создан до 1957 года, и к 70-м имел почти 20-летнию историю использования без потери актуальности до наших дней, причиной чему является актуальность научных исследований и значимости накопленных результатов разработки на базе фортрана — естественно он модифицировался, как нетрудно догадаться
Про Алгол 66 ничего не знаю — меня учили на Алголе 60, а потом был действительно канувший в лету Алгол 68
Упомянутый C популярен до сих пор см http://www.tiobe.com/tiobe-index/, как и Basic (в смысле visual)
Первичны алгоритмы и понимание. Я могу писать на C, C++, C#, Delphi, Perl, да даже asm под пару процесоров или SQL разных модификаций или VB[A] или какой sh, но это бесполезно, если я не знаю что писать, не могу превратить ТЗ в алгоритм.
Если какому-то сертифицированному Java-программисту требуется объяснять что такое стек, то ему надо было учить не язык (и тут речь не про стек процессора, допустим, из x86-х, а про стек как концепцию).
Попробуйте что-нибудь понять, не используя некий язык
Блок-схемы? Словесное описание алгоритма? Псяк? ER-модель? Бросаться писать код — последнее дело, обычно после такого надо написанное сначала выкинуть. И только вторым этапом происходит выбор конкретного языка, а написание на нём — хорошо, если третьим.
А словесное описание не есть ли использование языка — вы как-то узко понимаете слово язык — ясно что понимания у вас нет, так как вы даже не понимаете, что пишете на русском языке (кстати блок схемы и прочее — это просто графический язык диаграмм)

Что вы будете описывать, если у вас будет только язык?


Кроме того важно различать изучение языка программирования в общем — то есть как раз алгоритмов и всего того, чем «думает» программист, — и конкретного языка программирования. Проблема в том, что место первого преподают второе. Да, без языка не выразить мысль. Да, язык программирования накладывает отпечаток на решение. Но первично решение, а не способ выражения.


Если перефразировать известную цитату Дейкстры, программирование — это настолько же наука о языках, насколько астрономия наука о телескопах.

В каждом языке содержится своя система понятий — об этом он говорит, а о том чего нет и не говорит

А откуда эти понятия там берутся? Как они вообще появились, если до этого их в языке не было?


Что-то вас в философию потянуло. Предлагаю завершить этот спор.

почитайте Канта — пока смысла продолжать нет
Если хотите научить низкоуровневому программированию — книга «Построение компиляторов» дедушки Вирта на примере языка Оберон покажет как проводить синтаксический анализ, разбор конструкций, расскажет об архитектуре RISC, как надо генерировать код, организовать управление памятью включая сборку мусора.
Если для начального обучения программированию — то тот же Оберон в силу простоты (проще и логичнее Паскаля, есть модули которых нет и не будет в C и C++, легко подменяется на Компонентный Паскаль если нужно полноценное ООП) в разы лучше подходит.

А что могут дать ваши курсы по C или C++, где 30 — 100 страниц уходит на написание поискового дерева и 200 страниц на «как не выстрелить себе в ногу устаревшей адресной арифметикой и прочими причудами языка»? За что первокурсникам такой геморрой?
Не хочется вас обижать, но вы меня повеселили — мой опыт программирования простирается от начала 70-х годов прошлого века, поэтому ваши советы как-то мимо
Но, к слову, учить программированию нас начинали с простых машинных кодов в течение целого семестра
Так это вас целый семестр учили машинным кодам, а в моё время (13 лет назад) семестр по С++ в далеко не худшем университете ушёл как раз на очередь, стек и пяток поисковых деревьев и 80% текста методички было занято демонстрацией возможностей и дефектов языка, а не чем-то реально полезным.
Кодам нас учили, чтобы чувствовали машину, а затем языкам, чтобы формулировать и выражать свои мысли, а остальному учила жизнь по принципу — забудьте, чему вас учили и займитесь наконец делом
Целые факультеты «пролетали мимо» фундаментальных курсов по программированию. И наличие Turbo Pascal с низким порогом вхождения, а затем среды Delphi, позволяющей заняться самообразованием в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными разработчиками

Однако, в средне- и долгосрочной перспективе это привело к «беде»:

Вначале новоиспеченные разработчики не научились толком структурировать код и хорошо процедурно «кодить» на Турбо Паскале, не говоря уже о том, что почти никто не использовал ООП — тогдашние так называемые object (не class).

Затем паскалисты перешли на Delphi, в большинстве своем, по старой памяти, программировали процедурно (и довольно грязно), ООП тоже мало кто использовал — несмотря на все его богатство в Object Pascal.
И главное, совсем мало кто заботился о выделении логики в отдельные модули (units) c классами/процедурами — обычно вся логика «кодилась» в обработчиках событий форм, а сам код форм был наводнен множеством вспомогательных процедур, не имеющих отношения к форме.
И тем более ничего подобного не было, чтобы организовать некое подобие MVC при работе с формами.

Когда Delphi стал «всё», то большинство дельфистов двинули в C#, и, не все, но многие продолжили программировать в паскалевско-дельфийскоми стиле, делая довольно грязный неструктурированный и по факту необъекто-ориентированный код (хотя формально и с использованием классов).

И даже сейчас, даже у начинающих разработчиков можно увидеть даже не дельфийский, а турбопаскалевский стиль разработки — а все потому, что уже культурная традиция такая прижилась.
Хотя в C# сделано очень много, чтобы программировать иначе, чем даже в хорошем стиле на Delphi.

На мой взгляд, Delphi так и не взлетел — написанные на нем это или небольшие программы типа уже неподдерживаемого толком мессенджера или тяжелые энтерпрайзные разработки, актуальные версии которых в большинстве уже перенесены на C#, Java или вообще в облако.

Представляется, что C# тоже не взлетел (или взлетел — но не в соответствии со своим огромным потенциалом).
И произошло это, на мой взгляд, не только благодаря политике Майкрософт в определенный период (когда C# и .NET оказались подзаброшены в эпоху бума планшетов, а конкуренты в это время не дремали и активно развивали облачную, кроссплатформенную и мобильную разработку),
но и благодаря исторической традиции, сформировавшейся, начиная с момента, когда в мир паскаля пришли те кадры, которые пришли, и далее.
Про покупку Idera ничего не сказали, да и вообще скомканно как-то. Больше не про язык, а про непонимаю даже про что… Про назнвания?

Хоронят делфи столько, сколько я на ней пишу, тоесть более 15 лет уже.

А еще у нас на стримах очень частый вопрос — почему мы игру пишем на делфи, ведь дельфи же умер. =)
А еще у нас на стримах очень частый вопрос — почему мы игру пишем на делфи, ведь дельфи же умер. =)

В Delphi очень сильная объектная модель, статическая типизация, и возможность компилировать все это в нативный код.

Устаревшие винформы или куча старых и новых технологий доступа к БД, организации многозвенности, и т.д.? — во всех средах (включая более новые) есть куча олдскульных obsolete-фреймворков.

Бинарная несовместимость с объектными моделями других языков/платформ? а где вы видели бинарную совместимость C# и Java, к примеру?
(А вызывать WinAPI и COM в Delphi можно так же, как и в C#).
Да и так ли важна эта совместимость в эпоху (микро)сервисов и REST?

Поэтому причины негативного отношения к Delphi — исторически сложившиеся, а не технически объективные.
Да, это понятно и мы уже даже привыкли к этим вопросам. Приходим лишь в очередной раз к тому, что инструмент роли не играет. Примерно так и отвечаем, а на C# уже поздно переходить, много слишком написано.
Бинарная несовместимость с объектными моделями других языков/платформ? а где вы видели бинарную совместимость C# и Java, к примеру?

java более-менее совместима со Scala/Kotlin/Groovy. Можно вызывать код, наследоваться от классов из другого языка и делать прочие вещи — потому что всё это компилируется в байткод. По той же причине код можно запускать на разных платформах.

оо, а где можно ваши стримы посмотреть? :)
Мои сейчас нигде, я работаю днем, а вечером у меня все спят. А вот коллега мой ZblCoder стримит с сохранением водов тут
semen_grinshtein, я считаю, что если не разбираетесь в теме, то лучше не писать.

Упоминать «Основные версии» и не упомянуть 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»
Делфи5, 7, 2009, XE2 думается мне были самыми знаковыми и важными в истории. Ну 2006я еще с из-за нового ИДЕ и перегрузки операторов.
Упоминать «Основные версии» и не упомянуть 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 был ещё с 16-битной Delphi 1. И был 16-битным беззнаковым integer. Исторически планировалось использование Cardinal как платформозависимого представления беззнакового числа. Однако сейчас скомпилировать под 16-битную платформу можно только в FPC, в котором Cardinal жёстко гвоздями прибит к 32-битному беззнаковому integer. Да и при компиляции под 64 бит в любых компиляторах Cardinal также останется без изменений — 32 битным.
Исторически планировалось использование 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, а это вопросы производительности и т.д.)
В C++ таких проблем нет — там есть size_t.
ps. Вообще с delphi уже давно всё грустно и там остаётся в основном мохнатый софт. Поэтому я год-три назад занимался миграциями с windows на linux, с x86 на ARM и с delphi на java/C++ с промежуточной остановкой на кроссплатформенном fpc/lazarus. Миграция по частям с использованием fpc позволяла не тратить время на переписывание всего и сразу.

Можно было бы в будущем стандартизировать не конкретный размер строки а требования указания размера строки в битах прямо в названии производного типа.
Но вот вопрос — когда придут квантовые компьютеры ужель не наступим ли на те же грабли, опять где нибудь жестко зафиксировав количество квантовых кубитов?

Есть разные ключи и режимы компилятора, определяющие поведение базовых типов. Но лучше сразу проставить платформо-независимые типы в исходниках, а не полагаться на компилятор. Особенно это актуально для экспортируемых библиотек и структур.
Люблю Delphi именно за RAD. Мне не важно на каком языке писать, хотя Pascal все равно намного ближе чем любой другой язык, он как бы человечнее что ли. Но ту скорость написания для приложения, которое нужно «уже вчера» может дать только Delphi. Очень расстраивает их политика в отношении единичных разработчиков и слово Enterprise в каждом предложении про Delphi. Delphi в первую очередь — это как раз среда для одного разработчика и не важно удовольствия ради он использует ее или для коммерческой выгоды. Дайте нормальные цены таким разработчикам, как я. Уберите всю работу с БД, если так переживаете за Enterprise, но пусть будет и мобильная разработка и разработка под все платформы. Я готов выкладывать за обновления раз в год адекватную сумму, а не такую как сейчас. Уберите богомерзкую обезьяну или замените её чем-нибудь адекватным или сделайте так чтобы она могла использовать OpenGL под виндой тоже.
iga2iga fpc чем не устраивает в виде lazarus? Есть всё Вами перечисленное, в том числе БД. Платформ куча, в том числе андроид или arm.
Вот про видео утверждать не буду, так как не знаю.
1 раз вкусив прелесть создания и отладки приложения на мобильнике пусть даже с небольшими багами (ios, android) и положа руку на сердце, могу сказать что лазарь, конечно, это отличная замена для дельфи, но все еще не то. Слишком много телодвижений он требует при мобильной разработке. Но он у меня в обязательном порядке стоит как вторая среда разработки, но я все еще не готов переходить на него окончательно.
Для бесплатного проекта кучки энтузиастов все не так уж плохо. laz4android потихоньку развивается, уже не надо пол-дня тратить только на установку и настройку NDK по огромной инструкции, есть визуальные компоненты для нативных виджетов, отладка вроде бы тоже есть. Чем больше людей пользуются лазарем и пишут багрепорты, тем заметнее изменения.
В большинстве ВУЗах, СУЗах используют паскаль, Delphi+MSSQL, при этом даже не новые версии
mssql это еще терпимо… У большинства как бы не access.
Про Delphi 7 ни слова, хотя она, на мой взгляд, была самой популярной версией
Сколько лаб было написано в этой версии…
Так всегда: заманили знакомой картинкой :) Изучать D7 было весело по инфе с сайта, который написал AdmAlexus (особенно интересно было программно создавать объекты). Настольная книга была из 1-го или 2-х томов — не помню.
Кроме того, отсутствует бесплатная версия Delphi даже для академического использования.

Не знаю как давно это случилось, но сейчас на сайте Embarcadero в разделе Free Tools можно бесплатно получить Delphi Starter. Наверняка там есть какие-то ограничения, которые не позволяет использовать ее на всю мощь, но для учебы она мне сгодилась и отработала отлично.
Там дофига всего нет. Я уж молчу про 64битный компилятор или что-то такое, там даже сама среда по шорткатам урезана сильно. Не сказать чтобы это было критично, но когда уже привык, туго. Скажем перемещаться между интерфейсом и реализацией по контрол+шифт+вверх можно было бы и не убирать. Нельзя научиться пользоваться средой, если обрубать такие важные шорткаты ИМХО.
Ну и для коммерческого использования она не подходит. БОлее $1000 прибыли в год — покупайте профессиональную редакцию. Таковы лицензионные соглашения.
Спасибо за статью. Поностальгировал.
Вспомнил, сколько часов в свое время провел на Королевстве Дельфи/.
Зашел, приятно удивился, что форум довольно активен до сих пор.
А я больше изучал DelphiWorld. Можно сказать это был мой первый Stack Overflow.
И там была даже офлайн версия сайта (что в диалапные времена было очень актуально, таскать с собой на флешке кучу статей по любимой IDE).
О, а еще когда не было у меня интернета, а в школе надо было писать какой-то проект, я ехал в Библио-глобус, искал там книги по Делфи, например Флёнова и выписывал себе нужные функции и приемы.
Тоже читал Фленова. Преподаватель давал PDF-ку «Delphi глазами хакера».
Преподаватель давал PDF-ку «Delphi глазами хакера».

Всё таки баловство это… Вот Бакнелл. «Фундаментальные алгоритмы на Delphi» — это вещь! И по БД и ООП на delphi почитать книги стоит.
Delphi World это вообще очень замечательная вещь. Сколько полезного можно было оттуда почерпнуть. Целых 5000 статей :)

Ещё была классная подборка материала — Delphi Russian Knowledge Base. Помню, как я в интернет-центре целый час скачивал её… хотя она весила всего 3 Mb :-D
Зато потом дома можно было без интернета изучать интересный материал.

Я еще на диалапе сидел на delphi.mastak.ru (сейчас delphimaster.ru). Замечательное было комьюнити, огромное число профессионалов.
Да, замечательное было времечко, действительно очень дружные были ребята, а материалы на обозначенных сайтах были просто бесценны.
Еще Delphi у меня ассоциируется с библиотекой KOL — помню, как нравилось смотреть после компиляции на размер программы, который при использовании этой библиотеки был раз в 10-20 меньше по сравнению с использованием стандартных. Вроде бы, что-то около пары килобайт пустая форма весила.
Аж прослезился )
Delphi в начале двухтысячных ещё весьма широко использовался на уроках информатики в немецких гимназиях. Сейчас почти все перешли на Java (Greenfoot, BlueJ).
Простой пример из жизни — Mail AI Cup, среди доступных инструментариев и языковых пакетов есть Pascal. Еще ни одной стратегии на нем не увидел… Ни одной… Лично пролистал топ 1000. Да, можно контраргументировать меня тем, что люди, которые программируют на делфи уже не интересуются этим, но если молодежи не интересен паскаль (и делфи), то какое у него будущее?
Очень жаль что по скорости разработки интерфейсов до Delphi из современных технологий никто так и не допрыгнул. В моду вошла верстка, и теперь приходится руками верстать то что в дельфях еще 20 лет назад можно было накликать мышкой за 5 минут. И это подается как прогрессивность и развитие. Особенно яркий пример Qt с его переходом с виджетов на qml.
Спасибо Delphi за счастливую юность.
Только по нему в моей глубинке можно было найти книги и дистрибутивы (естественно, лицензионные, за 200 р.)
Если бы не он, я так бы и остался на YaBasic.
Почему в статье ни слова о том, что в первой версии был отличный встроенный интерактивный туториал?
То есть сам Delphi рассказывал, то как его использовать, как подключиться к базе и т.п.
Россия — родина слонов, Delphi вышло только в 1995м согласно wiki.
В 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 лет, ни разу туда не возвращался. Ностальгирую, когда читаю такие статьи. И задаюсь одним и тем же вопросом — ну как можно было так все слить. Теперь же, я лично просто не представляю, чтобы заставило вернуться всех бывших разработчиков этой среды обратно. Просто остался такой осадочек ужаса, что потрачено несколько лет жизни на разработку на этом стеке технологий, весьма и весьма неплохом, а местами — революционном даже, и в итоге большая часть этого опыта просто обнулилась.
Хотелось бы у ныне живущих дельфистов спросить, кто использовал MDA в своей работе: вроде бы бывшие сотрудники BoldSoft, которых купила Borland, потом опять от них ушли? А сама MDA полностью перестала поддерживаться, и существовал лишь порт под Dephi 2007? Насколько я понимаю, следующей вехой в развитии дельфийских ORM, стал ECO. Но судя по официальной конференции там как-то совсем грустно. Единственное, что активно, и вроде бы живо, так это InstantObjects, но как на самом деле дела обстоят — не понятно. Может те, кто в курсе, пояснит — вообще как сейчас с ORM в дельфях? Что актуально, что модно, что на слуху?
Спасибо!

Сам же по теме ORM нашел еще кое-что тут
Изначальный 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 Е ЦЕНАТА НА ЛИЦЕНЗА!

Все пак, колеги, става дума а професионална среда за разработка. Що се отнася до «облаци» и «виртуални решения» то мисля, че вече мнозина си изпатиха. Четете дребния шрифт, за да не загубите своята интелектуална собственост.
Написать про Delphi и не упомянуть про RXLib просто нельзя)

Начинал на ТурбоПаскаль 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 был так назван потому что благодаря использованию компилированных модулей позволял компилировать программы быстрее любых других существующих аналогов(не только паскаля). Да и сейчас нет никакой проблемы в программе из нескольких мегабайт кода после изменения взять и скомпилировать и сразу же увидеть результат.
Sign up to leave a comment.

Articles