Как стать автором
Обновить
25
10.7
Геннадий Малинин @HemulGM

Программист Delphi

Отправить сообщение

От легаси никуда не деться на любом инструменте. На C# или JS легаси кода не меньше. А про php вообще молчу. Так что, наличие легаси на Делфи не является сюрпризом.

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

Вакансий на Делфи больше
Вакансий на HH: 
Delphi:       240  (-5)      ~100k (30-240)
Pascal:       84   (-3)      ~60k  (30-200)
Python:       3867 (-29)     ~60k  (10-300)
C#:           2240 (-36)     ~60k  (19-200)
C++:          2738 (-44)     ~80k  (19-400)
Swift:        439  (-8)      ~120k (35-300)
Java:         3623 (-15)     ~75k  (30-300)
Visual Basic: 102  (-7)      ~88k  (25-200)
Go:           1282 (-27)     ~100k (0-300)
Ruby:         155  (+6)      ~130k (20-350)
Kotlin:       1065 (-3)      ~120k (35-350)
Rust:         126  (0)       ~120k (40-360)
Fortran:      4    (0)       ~0k   (0-0)
Dart:         167  (-3)      ~100k (20-350)

Flutter:      270  (-5)      ~100k (0-350)
FireMonkey:   2    (0)       ~100k (80-100)
Electron:     62   (-4)      ~120k (50-350)
Lazarus:      12   (-2)      ~60k  (32-120)
React Native: 271  (-6)      ~80k  (17-350)
1С:           6717 (-38)     ~67k  (25-400)

Я веду регулярную статистику по медианной зп. Здесь кол-во вакансий всего, разница со вчерашним днем, медианная зп, и вилка всех вакансий, где указана зп в рублях.

Новые версии не имеют полной обратной совместимости со старыми проектами. Например, в нашей компании, есть как легаси проект (для Д7), так и куча новых проектов (для мобилок и не только) на свежей версии Д12 2024 года.

Скорее всего появится такая же поддержка. Сейчас, в свежей версии среды D12, даже сборка проекта C++ доступна только под Windows. Полагаю, это связано с переходом на новую версию clang. И в будущих версиях будут добавлять поддержку под другие платформы.

Зато, на этом может строиться безопасность и защита от дурака.

И речь шла все же о том, что это - полезные знания. Которые так или иначе, помогают в формировании реальной картины ИТ мира.

Никто не спорит, что использование протокола без учёта стандартов верхнего уровня с инструментами, которые требуют такие стандарты, приведёт равно или поздно к проблемам совместимости.

Все это - стандарты браузеров. А технически таких ограничений нет. Выше я уже ответил

Всё это - условности. Никаких технических отличий между ними нет. Не говоря уже о том, что "GET" или "POST" - это всего лишь текст в теле HTTP запроса.

То, что кто-то не поддерживает тело у GET или ругается на какие-то другие условные ограничения - это совсем другое. Ты можешь легко создать клиент-серверное решение, где у тебя всё будет через GET, включая пересылку файлов. И никто тебе и слова не скажет (ну кроме мата). Подобные ограничения созданы и поддерживаются в основном для браузеров.

UPD.
расчетов  *эффективности (забавная автозамена с телефона)

Сам код - это мелочь, когда "входишь в айти". В универах дают более широкие знания. Об устройстве разных вещей, от самого ЭВМ, сетей, протоколов, до создания ТЗ, экономических расчетов эфемерности. От схемотехники и контроллеров, до работы руками с проводами и мелкой электроникой.

Всё это позволяет лучше понимать. Именно понимать, устройство айти мира. И это действительно важно. Твой код и решение в целом становятся эффективнее, когда для тебя пропадает всякая "магия" работы чего-либо.

Например, ты можешь понять, что тезис "POST запрос безопаснее GET запроса, потому что он "шифрует" передаваемые данные" - это заблуждение и верно только отчасти. И что на самом деле, POST запрос, от любого другого запроса (GET, DELETE, HEAD, OPTION), абсолютно ничем не отличается.

C# не так давно начал позволят писать код без базового класса. Да и скорее всего, под капотом, он все равно просто оборачивает весь код в класс.

Pascal не создавался "для обучения". Он создавался таким, чтобы можно было легче обучать людей создавать программы. Т.е. цель языка - ускорение разработки, а не обучение. В противном случае, язык не использовался бы в "боевом режиме", а использовался бы исключительно для обучения, что приводило бы обучаемых, после обучения, писать на каком-то другом языке.

А вот PascalABC.Net создавался именно для обучения. И после обучения предлагается писать на Pascal (Delphi) или C#.

Delphi до 2003 выглядела совершенно не так, как сейчас выглядят большинство IDE. Выглядела она как куча окон разбросанных по рабочему столу)

Borland Delphi 7 (до 2002)

RAD Studio 12 (2024)

Нет, нету. А FMX Linux идёт из коробки и ставится в пару кликов из стандартного менеджера пакетов

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

С маркетингом однозначно пока туго, но я думаю, что в какой-то момент займутся и этим, когда продукт дойдет до презентабельного состояния (как по внешнему виду, так и по фичам). В RAD Studio 12.2 Beta есть новшества связанные с IDE (NDA, рассказать не могу)

JetBrains IDEшки появились не так давно, и работают на сравнительно современной графике, в то время как RAD Studio IDE создавалась ещё в 1995 году и до сих пор используется то же самое ядро, на том же VCL (Win32). Для современной красоты нужно отказываться от VCL и смотреть в сторону фреймворков, которые рендерятся на GPU (в RAD Studio это, например FMX). Однако, переписать всё, практически с нуля, выйдет в копеечку.

Тем не менее, функционал IDE крайне широк и тягается с MS VS. Имеет гибку настройку и ToolsAPI для плагинов. Ну и фреймворков для RAD Studio полно на любой вкус и цвет. Под мобилки, под полную кроссплатформу, под веб, под фуллстек веб, под IoT, под бэк. Которые тесно работают со средой разработки.

Как и любой графический фреймворк. Причем, нативные фреймворки тяжелее для подъёма.

В юнити много ресурсов внутри программы. Вдобавок, твоя картинка jpg с размером в 500кб превращается в 32бит текстуру и уже весит 3-6 мб. Это не в защиту именно Юнити, а к тому, что у qt проблема все же именно с библиотеками, которые не делятся при компановке.

Не, конечно, "нативный" вид контролов не котируется, особенно в Windows. Но я всё же имел ввиду именно привычность структуры контрола. И ожидаемое поведение.

Такое не только qt может и тем более не только imGUI. В Delphi fmx тоже выбирается бэк. Gdi, opengl, directx, direct2d, metal, opengles, skia. И поддерживаются шейдеры, так что можно не только взорвать кнопку, но и поджечь рядом стоящие.

В VCL с этим не очень. А вот в FMX с этим легче легкого. И удобнее даже, чем WPF.

Hidden text

Создал стиль (для чего угодно). При чем создал визуально

И применяешь к чему угодно

При этом, в стиле могут быть любые поля и контролы, к которым можно получать доступ для каждого отдельного конечного контрола

Последний скрин - это то, что сделано именно таким способом. Здесь каждый контрол имеет свой стиль (WinUI 3, в данном случае). Создан отдельно мной. Всё исключительно штатными средствами.

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

В Delphi, например, тот же VCL или FMX тоже построены на переплетении куч классов и интерфейсов. Но при этом, из-за того, что фреймворк внутри среды разработки представляет собой именно открытый исходный код, то при сборке берется только то, что используется в проекте. И мало того, позволяет даже вносить правки в модули фреймворков для своих проектов

Информация

В рейтинге
591-й
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Fullstack Developer
Senior
От 180 000 ₽
Delphi
SQL
Database
Git
REST
C#
Python
OOP
MySQL
PHP