Геннадий Малинин @HemulGM
Программист Delphi
Информация
- В рейтинге
- 591-й
- Откуда
- Екатеринбург, Свердловская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Software Developer, Fullstack Developer
Senior
От 180 000 ₽
Delphi
SQL
Database
Git
REST
C#
Python
OOP
MySQL
PHP
От легаси никуда не деться на любом инструменте. На C# или JS легаси кода не меньше. А про php вообще молчу. Так что, наличие легаси на Делфи не является сюрпризом.
Но никто не принуждает тебя заниматься легаси проектами. Достаточно в вакансии смотреть на используемую версию языка. Потому как она регулярно обновляется и по версии в вакансии можно многое узнать о компании.
Вакансий на Делфи больше
Я веду регулярную статистику по медианной зп. Здесь кол-во вакансий всего, разница со вчерашним днем, медианная зп, и вилка всех вакансий, где указана зп в рублях.
Новые версии не имеют полной обратной совместимости со старыми проектами. Например, в нашей компании, есть как легаси проект (для Д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 тоже построены на переплетении куч классов и интерфейсов. Но при этом, из-за того, что фреймворк внутри среды разработки представляет собой именно открытый исходный код, то при сборке берется только то, что используется в проекте. И мало того, позволяет даже вносить правки в модули фреймворков для своих проектов