Перейти до вмісту

Free Pascal

Матеріал з K2 ERP Wiki

for I := 1 to ParamCount do

Змінні

Використання:

Readln(F, Line);
Inc(Counter);

== Приклад навчальної задачі == |- |'''Назва''' |Free Pascal |- |'''Скорочення''' |FPC |- |'''Повна назва''' |Free Pascal Compiler |- |'''Тип''' |Вільний компілятор Pascal/Object Pascal |- |'''Мови''' |Pascal, Object Pascal |- |'''ліцензійний пакет''' |Open Source |- |'''Актуальна стабільна реліз''' |3.2.2 |- |'''Development-версії''' |3.3.x |- |'''Основна IDE''' |Lazarus |- |'''Основні сфери''' |Навчання, desktop, cross-platform застосунки, консольні програми, legacy, бізнес-системи |- |'''офіційно затверджений сайт''' |https://www.freepascal.org/ |}

== Free Pascal у бізнес-системах == Типова програма:<pre>

uses program Main; {| class="wikitable"

on E: Exception do

Вивести більше інформації:

Numbers: array of Integer;

!Відмінність !Рекомендація

begin

!Що вивчати type |- | style="background:#d4edda; color:#155724; font-weight:bold;" |Ключове |'''Free Pascal є собою open source''' |Компілятор доступний як відкрите програмне забезпечення.; var

end;

Free Pascal створений для того, щоб дати розробникам вільний, відкритий і кросплатформений компілятор Pascal/Object Pascal.; Приклад класу:<pre> {| class="wikitable"

│ ├── user_service.pas

  • складський обліковий облік;
  • прості ERP-модулі;
  • CRM;
  • електронний документообіг;
  • desktop-клієнти до бази даних;
  • локальні програми підприємства;
  • інструменти імпорту/експорту;
  • консольні утиліти для автоматизації;
  • програми для роботи з файлами й обладнанням.;<blockquote>'''Free Pascal продовжує життя Pascal і Object Pascal у відкритій екосистемі.'''</blockquote>
end;

Пакети можуть містити:

begin {$mode objfpc}

User.Free;

== Приклад SQL-логіки ==

Name: string;
Name: string;

Запуск у Windows:

SayHello('Anna');

скомпілювати його під потрібну платформу; end.; │ └── customer_repository.pas {| class="wikitable" !Пояснення

Виклик:

I: Integer;

'''Free Pascal''' — важливий відкритий компілятор для Pascal і Object Pascal.; Він надає можливість створювати консольні програми забезпечується через '''Free Pascal''' або '''Free Pascal Compiler'''.; * редактор коду;

  • дизайнер форм;
  • Object Inspector;
  • компоненти;
  • debugger;
  • проєкти;
  • LCL;
  • cross-platform GUI;
  • інтеграцію з Free Pascal.; Object Pascal — мова.; Lazarus — середовище розробки.; Free Pascal часто скорочують як '''FPC'''.; {| class="wikitable"

Free Pascal має змогу використовуватися для роботи з базами даних, особливо разом із Lazarus.; function Add(A, B: Integer): Integer;

  • підключення до бази;
  • виконання SQL;
  • читання даних;
  • актуалізація записів;
  • транзакції;
  • форми для введення даних;
  • звіти.;<blockquote>'''Free Pascal — це відкритий і кросплатформений компілятор Pascal/Object Pascal, який надає можливість писати програми без привʼязки до комерційного середовища Delphi.'''</blockquote>

Приклад утиліти, яка читає аргументи:<pre>

Numbers [1] := 20;
  • SQLite;
  • Firebird;
  • PostgreSQL;
  • MySQL;
  • MariaDB;
  • Microsoft SQL Server через відповідні драйвери;
  • ODBC;
  • інші джерела даних.;

Компіляція:


Result := A + B;

├── models/

A [2] := 2;
TProduct = class

var end; while Counter < 10 do begin

Writeln(Counter);
Inc(Counter);

end;

Цикл repeat until:

interface

Sum: Integer;

Після встановлення можна перевірити компілятор:<pre>

!Мова

Перша програма

end.; except begin

Приклад структури Lazarus-проєкту:

var

end.;<pre> !Етап begin |- |'''program''' |Назва програми |- |'''uses''' |Підключення модулів |- |'''var''' |Оголошення змінних |- |'''begin''' |Початок основного блоку |- |'''end.''' |Кінець програми |}

program VariablesExample;

Line: string;

end.; fpc -h

  • змінні;
  • типи;
  • умови;
  • цикли;
  • масиви;
  • records;
  • процедури;
  • функції;
  • рекурсія;
  • файли;
  • класи;
  • модулі.;

else

Units

Result := A + B;
SysUtils;
Writeln('Привіт, я ', FName);
TCustomer = record
Призначення

отримати виконувану програму;

Приклад директиви режиму:
== Винятки ==

procedure TUser.SayHello;

private
  • units;
  • компоненти;
  • бібліотеки;
  • ресурси;
  • залежності;
  • design-time компоненти для IDE.; Він має змогу використовуватися для різних операційних систем і процесорних архітектур.; MathUtils;
  • форми;
  • кнопки;
  • меню;
  • таблиці;
  • поля введення;
  • діалоги;
  • desktop-застосунки.;
User: TUser; fpc -Mdelphi main.pas Free Pascal підтримує роботу обʼєктно-орієнтоване програмування.; Delphi — комерційна платформа й IDE.'''</blockquote> Статичний масив:<pre> N: Integer; !Платформа Компіляція у режимі Delphi:

<pre> {$mode objfpc} Free Pascal має режими сумісності з Delphi, але це не означає, що будь-який Delphi-проєкт автономно скомпілюється у FPC.; end.;== Object Pascal у Free Pascal ==

Sum := Sum + I;

unit MathUtils;

fpc main.pas

for I := 1 to 5 do

try == Приклад сортування ==

F: Text;
  • навчання програмуванню;
  • підтримки Pascal-коду;
  • Object Pascal-розробки;
  • консольних утиліт;
  • desktop-застосунків через Lazarus;
  • cross-platform розробки;
  • open source Pascal-екосистеми;
  • міграції або модернізації частини старих систем.;<blockquote>'''Free Pascal має змогу бути мостом між старим Pascal-кодом і сучаснішими open source-інструментами.'''</blockquote>

== Цикли == !Чи підходить Free Pascal?;<blockquote>'''Якщо Pascal — це мова, то Free Pascal — це інструмент, який перетворює цю мову на працюючу програму.'''</blockquote> begin

Name: string;
Класи дозволяють описувати обʼєкти з полями, методами й властивостями.;
Блок try/finally:

== Важливі акценти ==

Файл <code>hello.pas</code>:<pre>

begin

Теза

Free Pascal підтримує роботу обробку винятків.; {| class="wikitable" │ └── customer_form.pas

DoSomething;

Lazarus — це професійна open source IDE для Free Pascal.; {| class="wikitable" Legacy-код має змогу походити з:

Чому це проблема Статус
Object Pascal-синтаксис Не всі функціональні можливості Delphi в цілому збігаються
Класи, units, exceptions Бібліотеки VCL і LCL різні
Режим Delphi Сторонні Delphi-компоненти можуть не працювати
Можливість міграції частини коду Великі проєкти потребують адаптації

├── forms/

Email: string;
  • перейти на open source-інструменти;
  • зробити застосунок кросплатформеним;
  • зменшити залежність від комерційних ліцензій;
  • оживити старий Pascal/Object Pascal-код;
  • перенести частину бізнес-логіки.; Free Pascal не є собою найпопулярнішим інструментом сучасної індустрії, але він має важливу роль: зберігає й розвиває Pascal/Object Pascal у відкритому, доступному та кросплатформеному форматі.; Free Pascal має змогу використовуватися в бізнес-системах, особливо через Lazarus.; ├── tests/

./args_example first second third hello.exe |- |Windows |Desktop-програми, консольні утиліти, Lazarus-застосунки |- |Linux |Desktop, server utilities, Lazarus, CLI |- |macOS |Desktop і cross-platform розробка програмного забезпечення |- |FreeBSD |Системні й серверні сценарії |- |Embedded / спеціальні платформи |Можливі окремі сценарії залежно від підтримки компілятора |}

Free Pascal і консольні утиліти

program HelloWorld;

У Lazarus пакети використовуються для розширення IDE та повторного використання коду.; A [1] := 5; │ └── customer.pas Free Pascal став важливим для спільноти, з цієї причини що дозволив: !Призначення

public

Free Pascal підтримує роботу різні режими компіляції, щоб бути сумісним із різними діалектами Pascal.;== Хороша структура Free Pascal-проєкту == begin Типові СУБД: var

Customer: TCustomer;
procedure SayHello;
FName: string;

Основні файли проєкту

│ └── customer_service.pas

переважні аспекти Free Pascal

try
for I := 1 to N do
end;

│ ├── main_form.pas

A [J + 1] := Temp;

begin end; end;

Writeln('Привіт, ', Name);

./hello begin

Writeln('Привіт, ', Name);

Файл MathUtils.pas:

Типові навчальні теми:
Типові режими:
 FName: string;
 Writeln('Аргумент ', I, ': ', ParamStr(I));
https://www.freepascal.org/download.html
{| class="wikitable"
Типові задачі:

end.;

end; !Пояснення !Порівняння begin

Free Pascal і бази даних

end;
User.SayHello;

until Counter >= 10; Приклади встановлення можуть відрізнятися залежно від ОС.; Можливі сценарії: end.; |- |Плутати Free Pascal і Lazarus |Free Pascal — компілятор, Lazarus — IDE |- |Не вказувати режим компіляції |Код має змогу компілюватися не так, як очікується |- |Плутати Delphi-сумісність із повною ідентичністю |Delphi і Free Pascal мають відмінності |- |Не розділяти код на units |Великі програми стають хаотичними |- |Не звільняти обʼєкти |Можливі витоки памʼяті |- |Писати всю логіку у формах Lazarus |Важко підтримувати й тестувати програму |}

program WriteFileExample;

I: Integer;

Використання:

var !Параметр

A [J] := A [J + 1];

program ProgramName; !Задача

Writeln(Add(2, 3));

├── README.md Він корисний для: == Функції == fpc -Mobjfpc main.pas

while not Eof(F) do
Obj.Free;

Основні частини:

!Приклади Але міграція потребує перевірки:

Free Pascal і Delphi

{$mode delphi} LCL надає можливість створювати: ├── repositories/

property Price: Currency read FPrice write FPrice;

project/ program BubbleSortExample;

begin

end;
Writeln('Помилка: ', E.Message);

end.;== Історичний розвиток ==

!Пояснення

Або версію:

  • безкоштовний;
  • відкритий;
  • підтримує роботу класичний Pascal;
  • функціонує на різних ОС;
  • надає можливість вивчати алгоритми;
  • підходить для консольних задач;
  • дає шлях до Object Pascal і Lazarus;
  • не потребує комерційної ліцензії.;== Умови ==
private

type program ArgsExample;

{| class="wikitable" begin

FPrice: Currency;
User := TUser.Create('Anna');

Free Pascal — це безкоштовний компілятор, який надає можливість писати Pascal/Object Pascal-програми на сучасних системах.; end;

Writeln(A [I]);

program ReadFileExample;

if A [J] > A [J + 1] then

Цикл <code>for</code>:<pre>

A [5] := 3;

{| class="wikitable" {| class="wikitable" == Для чого застосовується Free Pascal == == Структура програми Free Pascal == Lazarus дає:

implementation │ ├── main.pas

{| class="wikitable"

// робота з обʼєктом
Writeln(Counter);

<pre>

Компіляція з параметрами

!Delphi Free Pascal корисний для підтримки старого Pascal/Object Pascal-коду.; var

Writeln(F, 'Hello from Free Pascal');

fpc -iV constructor TUser.Create(const AName: string); begin

Масиви

constructor Create(const AName: string);

begin

!Файл

F: Text;

Компіляція:

== Free Pascal у порівнянні з Delphi ==

Temp := A [J];

Free Pascal відомий своєю кросплатформеністю.;== Перевірка встановлення == └── build.sh {| class="wikitable"

Виклик:

!Можливість Для Debian/Ubuntu-подібних систем:<pre>

begin

== Встановлення Free Pascal == {$mode objfpc}

Запуск у Linux/macOS:

!Що означає var

end.;

Free Pascal і legacy

var !Помилка !Як застосовується Free Pascal

end;
Значення
A [3] := 4;
.pas Pascal/Object Pascal source code
.pp Альтернативне розширення Pascal-файлів
.ppu Скомпільований unit
.o Object file
.exe Виконуваний файл у Windows
.lpi Lazarus project information
.lpr Lazarus program file
.lfm Lazarus form file
== Процедури ==

Free Pascal підтримує роботу модулі — <code>unit</code>.; |-
| style="background:#d4edda; color:#155724; font-weight:bold;" |Ключове
|'''Free Pascal часто застосовується разом із Lazarus'''
|Lazarus дає IDE, дизайнер форм і LCL для графічних застосунків.; |-
| style="background:#f8d7da; color:#721c24; font-weight:bold;" |Увага
|'''Не всі Delphi-проєкти можна перенести автономно'''
|Старі компоненти, VCL-залежності й сторонні бібліотеки можуть вимагати ручної адаптації.; fpc args_example.pas

program ClassExample; ├── services/

Динамічний масив:

begin try function Add(A, B: Integer): Integer; begin == Free Pascal, Pascal, Object Pascal і Delphi ==

for I := 1 to 5 do

repeat

TUser = class

це вільний компілятор; додатково реалізовано desktop-застосунки, серверні утиліти, бібліотеки, навчальні проєкти, cross-platform програми та застосунки з графічним інтерфейсом через '''[[Lazarus]]''' виступає ключовою рисою мов '''[[Pascal]]''' та '''[[Object Pascal]]'''.; |}

Для Windows зазвичай використовують інсталятор з офіційного сайту:

Rewrite(F);
Assign(F, 'output.txt');
  • писати Pascal-програми без привʼязки до одного постачальника;
  • компілювати код під різні платформи;
  • створювати open source Pascal-проєкти;
  • використовувати Lazarus як відкриту IDE;
  • підтримувати старий Pascal/Object Pascal-код;
  • навчати програмуванню на відкритих інструментах.; Free Pascal добре підходить для навчання, з цієї причини що:

Базова компіляція:<pre> == LCL ==

│ └── file_utils.pas

uses ├── project.lpr

finally !Пояснення

Джерела

sudo apt install fp-compiler end.; |- |Pascal |Класична структурна мова програмування |- |Object Pascal |Обʼєктно-орієнтований еволюція Pascal |- |Free Pascal |Вільний компілятор Pascal/Object Pascal |- |Lazarus |IDE для Free Pascal, схожа за ідеєю на Delphi |- |Delphi |Комерційна IDE, компілятор і платформа від Embarcadero |} У Free Pascal і Lazarus є собою поняття пакетів.; |- | style="background:#d4edda; color:#155724; font-weight:bold;" |Ключове |Free Pascal підтримує роботу Pascal і Object Pascal |Можна писати як прості навчальні програми, так і обʼєктно-орієнтовані застосунки.; !Термін |- |ліцензійний пакет |Open Source |Комерційна, з окремими редакціями |- |IDE |Найчастіше Lazarus |Delphi IDE / RAD Studio |- |UI-бібліотека |LCL |VCL, FireMonkey |- |Сумісність |Має режими сумісності |Власна офіційна програмний пакет Delphi |- |Ціна |Безкоштовний |Залежить від редакції |- |Enterprise-можливості |Можливі, але програмний пакет менша |Сильніші комерційні інструменти |}

!Недолік begin

!Використання |- |Pascal |Free Pascal є собою компілятором для Pascal і Object Pascal |- |Object Pascal |Free Pascal підтримує роботу Object Pascal і власні розширення |- |Delphi |Delphi комерційний, Free Pascal відкритий |- |Python |Python популярніший для автоматизації й AI; Free Pascal компілюється в нативний код |- |C |C ближча до системного програмування; Free Pascal читабельніший для прикладних задач |- |C# |C# сильний у .NET; Free Pascal сильний для відкритої Pascal-екосистеми |- |JavaScript / TypeScript |JS/TS головні для web; Free Pascal більше для desktop, навчання й legacy |}

I, J, Temp: Integer;

Типові платформи:

Висновок

Або:

|- |Навчання Pascal | style="background:#d4edda; color:#155724; font-weight:bold;" |Дуже добре |- |Консольні програми | style="background:#d4edda; color:#155724; font-weight:bold;" |Добре |- |Lazarus desktop-застосунки | style="background:#d4edda; color:#155724; font-weight:bold;" |Добре |- |Cross-platform desktop | style="background:#d4edda; color:#155724; font-weight:bold;" |Добре |- |супровід старого Pascal-коду | style="background:#d4edda; color:#155724; font-weight:bold;" |Добре |- |Міграція частини Delphi-коду | style="background:#fff3cd; color:#856404; font-weight:bold;" |Можливо, але потрібна перевірка сумісності |- |Новий web frontend | style="background:#f8d7da; color:#721c24; font-weight:bold;" |Не ключовий вибір |- |AI / Data Science | style="background:#f8d7da; color:#721c24; font-weight:bold;" |Не ключовий вибір |}

{| class="wikitable"

Readln(N);

begin |- |1 |Встановлення Free Pascal |- |2 |Компіляція першої програми через fpc |- |3 |Основи Pascal: змінні, типи, умови, цикли |- |4 |Процедури й функції |- |5 |Масиви, records, файли |- |6 |Units |- |7 |Режими компіляції: objfpc, delphi |- |8 |Класи й Object Pascal |- |9 |Exceptions і try/finally |- |10 |Lazarus IDE |- |11 |LCL і форми |- |12 |SQL і бази даних |- |13 |технічна архітектура desktop-застосунків |}

Запуск:

== Free Pascal і Lazarus == └── README.md Приклад структури консольного проєкту:<pre> |- |'''Компілятор''' |Free Pascal 3.2.2 або актуальна стабільна реліз |- |'''IDE''' |Lazarus або простий редактор |- |'''Перший проєкт''' |Console application |- |'''Перші теми''' |Змінні, умови, цикли, процедури, функції |- |'''Для GUI''' |Lazarus + LCL |- |'''Для баз даних''' |SQLite або Firebird для старту |- |'''Контроль версій''' |Git |}

var

SetLength(Numbers, 3);

== Типові помилки новачків ==

var == Коли Free Pascal — хороший вибір ==

Writeln(Line);
Numbers [2] := 30;

'''LCL''' або '''Lazarus Component Library''' — це бібліотека компонентів Lazarus.;<blockquote>'''Free Pascal — компілює код.;== Records == == Free Pascal і packages ==

Sum := 0;

├── src/ end.; Customer.Name := 'Anna';

  • синтаксису;
  • бібліотек;
  • компонентів;
  • VCL-залежностей;
  • баз даних;
  • звітів;
  • COM/ActiveX;
  • сторонніх пакетів;
  • роботи з Windows API.; !Для чого

project/ end;

!Режим !Напрям <blockquote>'''Free Pascal — це компілятор.;== Класи ==

Вказати output-файл:

{| class="wikitable" написати Pascal/Object Pascal-код;

Writeln('Дорослий')

== Основні функціональні можливості Free Pascal ==

Writeln('Привіт, ', Name);
Numbers [0] := 10;

type

== Платформи == function Add(A, B: Integer): Integer; == Free Pascal у навчанні == <pre>

Free Pascal зʼявився як вільна альтернатива комерційним Pascal-компіляторам.; |- | style="background:#d4edda; color:#155724; font-weight:bold;" |Ключове |'''Free Pascal кросплатформений''' |Його можна використовувати на різних операційних системах і архітектурах.; Міграція має змогу бути корисною, якщо потрібно:

Assign(F, 'output.txt');
Numbers: array [1..5] of Integer;
  • Turbo Pascal;
  • Borland Pascal;
  • старих Delphi-проєктів;
  • навчальних систем;
  • інженерних програм;
  • облікових застосунків;
  • внутрішніх корпоративних утиліт.; Reset(F);

не залежати від одного комерційного середовища.;== Недоліки Free Pascal ==

A [4] := 1;
Name := 'Anna';

Головна ідея Free Pascal

Ідея запиту:

Free Pascal важливий тим, що надає можливість використовувати Pascal не тільки як навчальну мову, а як практичний інструмент для реальної розробки.;

Free Pascal у порівнянні з іншими мовами

{$mode objfpc}

FName := AName;
Навчання Вивчення Pascal, алгоритмів і структурного програмування Консольні задачі, навчальні курси
Object Pascal Обʼєктно-орієнтована розробка програмного забезпечення Класи, модулі, компоненти
Desktop Графічні застосунки через Lazarus Windows, Linux, macOS desktop
Консольні програми Утиліти, скрипти, CLI Обробка файлів, автоматизація процесів
Cross-platform Компіляція під різні ОС Windows, Linux, macOS та інші
Legacy супровід старого Pascal/Object Pascal-коду Turbo Pascal, Delphi-like код
Бізнес-системи Desktop-програми, бази даних, обліковий облік CRM, ERP-модулі, складські програми
Open source Відкриті Pascal-проєкти Lazarus, бібліотеки, утиліти

Free Pascal і файли

Close(F);

Рекомендований шлях навчання Free Pascal

Міграція з Delphi до Free Pascal / Lazarus

|- |Компіляція Pascal-коду |Перетворює Pascal/Object Pascal-код у виконувану програму |- |супровід Object Pascal |надає можливість використовувати класи, обʼєкти, інтерфейси |- |Кросплатформеність |Можна розробляти під різні ОС і архітектури |- |Режими сумісності |підтримує роботу різні діалекти Pascal |- |Open Source |Доступний як вільне програмне забезпечення |- |інтеграційні функціональні можливості з Lazarus |Дає можливість створювати GUI-застосунки |- |супровід модулів |надає можливість організовувати код у units |- |Робота з бібліотеками |Можна створювати й використовувати зовнішні бібліотеки |}

var

Цикл while:


  • Windows;
  • Linux;
  • macOS;
  • FreeBSD;
  • інші Unix-подібні системи;
  • окремі embedded або спеціалізовані платформи;
  • різні архітектури процесорів залежно від збірки й підтримки.; !Частина
property Name: string read FName write FName;
Customer.Email := 'anna@example.com';

|- |FPC mode |Звичайний режим Free Pascal |- |ObjFPC mode |Object Pascal у стилі Free Pascal |- |Delphi mode |Сумісність із синтаксисом Delphi |- |Turbo Pascal mode |Сумісність зі старим Turbo Pascal |- |Mac Pascal mode |Сумісність із окремими старими Pascal-діалектами |}

Ці поняття повʼязані, але не однакові.;

Free Pascal — це міст між класичним Pascal, сучасним Object Pascal і відкритою cross-platform розробкою.

finally

!Free Pascal

Name := 'Anna';

LCL схожа за ідеєю на VCL у Delphi, але орієнтована на cross-platform desktop.;Для macOS можна використовувати офіційні пакети або пакетні менеджери, залежно від актуальної підтримки.;== Коротко ==

fpc -va main.pas

У Pascal-коді це має змогу бути частиною логіки репозиторію або форми.;

!Компонент

Id: Integer;
Write('Введіть N: ');

├── project.lpi

Age: Integer;

Free Pascal можна встановити з офіційного сайту або через пакетний менеджер операційної системи.; var Free Pascal добре підходить для консольних програм.; |- | style="background:#fff3cd; color:#856404; font-weight:bold;" |істотно |'''Free Pascal не є собою повною копією Delphi''' |Він має режими сумісності з Delphi, але не всі функціональні можливості й бібліотеки Delphi однакові.;== Режими компіляції == fpc hello.pas

SELECT id, name, email {| class="wikitable"

A: array [1..5] of Integer;
end.;

Приклад читання файлу:

for I := 1 to 4 do
Customer.Id := 1;

Знайти суму чисел від 1 до N:

|-
|'''Безкоштовний'''
|Можна використовувати без купівлі комерційної IDE
|-
|'''Open Source'''
|Код і еволюція відкриті для спільноти
|-
|'''Кросплатформений'''
|підтримує роботу різні ОС і архітектури
|-
|'''підтримує роботу Pascal і Object Pascal'''
|Підходить для навчання й реальних програм
|-
|'''Сумісність із різними діалектами'''
|є собою режими Turbo Pascal, Delphi, ObjFPC
|-
|'''Добре функціонує з Lazarus'''
|Можна створювати GUI-застосунки
|-
|'''Підходить для legacy'''
|має змогу допомогти підтримувати старий Pascal-код
|}

 Writeln('Сума = ', Sum);
 public
 Age := 17;
fpc -omain main.pas
|-
|'''Менша популярність'''
|Значно менше поширений, ніж Python, JavaScript, Java, C# або Go
|-
|'''Менше сучасних бібліотек'''
|програмний пакет менша, ніж у популярних мов
|-
|'''Не повна заміна Delphi'''
|Частина Delphi-коду або компонентів потребує адаптації
|-
|'''Менше вакансій'''
|ринковий сегмент роботи менший
|-
|'''Не ключовий вибір для web frontend'''
|Для frontend частіше використовують JavaScript або TypeScript
|-
|'''Не ключовий вибір для AI'''
|Для AI переважно використовують Python
|-
|'''Іноді складніша інтеграційні функціональні можливості з сучасними сервісами'''
|Для деяких API або SDK має змогу не бути готових бібліотек
|}

 Close(F);
Його головна ідея:<pre>
Obj := TObject.Create;
end.;== Простими словами ==
!Схожість
if Age >= 18 then
!Критерій
== Мінімальний набір для першого проєкту ==
 Writeln(I);
 Writeln('Неповнолітній');
 I: Integer;
 Writeln('Вік: ', Age);

Компіляція у режимі ObjFPC:

Writeln('Hello, Free Pascal!');

Writeln(Add(5, 7)); end; program SumToN;

Приклад запису у файл:
procedure SayHello(Name: string);
 for J := 1 to 5 - I do
У реальному Lazarus-проєкті SQL часто виконується через компоненти доступу до даних.; Lazarus — дає зручне середовище для створення програм.
!Перевага
begin
end.; Його еволюція повʼязаний із бажанням мати відкритий компілятор, який має змогу підтримувати різні діалекти Pascal, різні платформи й сучасні функціональні можливості Object Pascal.; FROM customers

WHERE city = 'Київ';

* Free Pascal: https://www.freepascal.org/
* Free Pascal Downloads: https://www.freepascal.org/download.html
* Free Pascal Documentation: https://www.freepascal.org/docs.html
* Free Pascal Wiki: https://wiki.freepascal.org/
* Lazarus IDE: https://www.lazarus-ide.org/
* Lazarus Documentation: https://wiki.freepascal.org/Lazarus_Documentation
* Installing the Free Pascal Compiler: https://wiki.freepascal.org/Installing_the_Free_Pascal_Compiler
* Modern Object Pascal Introduction for Programmers: https://castle-engine.io/modern_pascal