Free Pascal: Perbedaan antara revisi

4.225 bita ditambahkan ,  4 tahun yang lalu
revisi
(+dialek)
(revisi)
{{tanpa_kategori|date=2011}}
{{Infobox software
| logo = FPClogogif.gif
| name = Free Pascal
| screenshotdeveloper = FPC_3.1.1_command-line_options.pngFlorian Klämpfl & [[Sukarelawan]]
| programming language = [[Object Pascal]] danand [[BahasaAssembly rakitanlanguage|RakitanAssembly]]
| caption = FPC 3.1.1 on Windows
| latest_release_version = 2.4.4
| developer = [[Florian Klämpfl]] & [[sukarelawan]]
| latest release datelatest_release_date = {{startrelease date and age|20172011|1105|2822}}
| programming language = [[Object Pascal]] dan [[Bahasa rakitan|Rakitan]]
| released operating_system = {{start date and age|1997}}[[Lintas-platform]]
| logo genre = FPClogogif.gif[[Kompilator]]
| latest release version = 3.0.4
| license = [[GNU General Public License]], [[GNU Lesser General Public License]], and others
| latest release date = {{start date and age|2017|11|28}}
| operatingwebsite system = [[Cross-platform]]http://www.freepascal.org/
| genre = [[Kompiler]]
| license = [[GNU General Public License]] for the compiler and utility executables. [[GNU General Public License]] with static linking exception for the runtime, package, component and other libraries that become part of executables created with the compiler.
| website = {{URL|www.freepascal.org}}
}}
 
'''Free Pascal''' adalah [[kompilator]] [[sumber terbuka]] untuk bahasa [[Pascal]] dan [[Object Pascal]] yang berjalan secara lintas platform. Saat versi 2.64.04, kompilator ini dapat menghasilkan aplikasi di sekitar 20 pasangan arsitekur-sistem operasi (lihat <ref name="fpcplatlist">http://wiki.lazarus.freepascal.org/Platform_List</ref>). Untuk arsitektur-sistem operasi yang kecil (misalnya perangkat genggam), aplikasi dapat dihasilkan melalui [[kompilasi silang]].
 
== Sejarah ==
|}
''* tidak terdapat informasi mengenai perbedaan fitur-fitur di atas untuk dialek MacPas dan belum ada dokumentasi untuk dialek ISO''
 
== Paket dan Pustaka ==
Dalam distribusi standarnya, Free Pascal menyertakan puluhan paket dan pustaka untuk membuat aplikasi terutama yang bersifat non-[[trivial]]. Karenanya Free Pascal mampu dan mudah digunakan untuk membuat aplikasi besar, programmer tidak perlu lagi repot-repot mencari fungsionalitas yang diperlukan karena sebagian besar sudah diimplementasikan dalam pustaka yang disediakan. Secara umum, pustaka-pustaka yang disediakan dapat diklasifikasi dalam paket-paket. Dari keseluruhan paket, dapat dibagi menjadi 3 paket besar, yaitu RTL (''Run-Time Library''), FCL (''Free Component Library'') dan paket pihak ketiga.
 
=== RTL ===
RTL merupakan fondasi dari semua paket yang ada. Paket ini berisi pustaka dengan fungsi-fungsi dan definisi tipe-tipe dasar (masukan/keluaran, aritmetika, untaian, larik, waktu dan tanggal, manajemen memori dan [[Thread|ulir]] dan sebagainya), dukungan untuk pemrograman berorientasi objek, antarmuka dengan sistem operasi ([[GUI]] primitif, jaringan, perangkat keras dan sebagainya), dukungan informasi [[PEngawakutuan|pengawakutuan]] dan pemeriksa [[Kebocoran Memori|kebocoran memori]]. Terdapat satu pustaka terpenting dalam paket ini yang akan selalu digunakan oleh pustaka maupun program apapun, yaitu unit System. Di dalamnya terdapat fungsi-fungsi "ajaib" kompilator (karena secara khusus dibuat untuk digunakan oleh kompilator) terutama untuk masukan/keluaran, konversi antar tipe data, dan manipulasi angka.
 
=== FCL ===
FCL merupakan paket yang berisi fungsi-fungsi tingkat tinggi yang ditujukan untuk mempermudah pembuatan program dengan menyediakan fungsionalitas dengan kompleksitas tinggi namun seringkali diperlukan. Termasuk di dalam paket ini adalah pustaka-pustaka yang mengimplementasikan struktur data, perlindungan data (enkripsi/dekripsi), layanan ([[daemon]] di dunia *nix), basis data, pencatatan (''logging''), pengatur waktu, manipulasi berkas multimedia, manipulasi arsip terkompresi, internasionalisasi, ''stream'', implementasi manajemen memori alternatif, komunikasi antar proses, informasi tipe data program berjalan, objek sinkronisasi (untuk ulir), protokol komunikasi (http, ftp, rpc dan sebagainya), kejadian asinkron, pengurai ekspresi, manipulasi [[registry]], [[unit testing]], format data (json, xml, ini dan sebagainya) dan masih banyak lagi. FCL murni diimplementasikan dalam bahasa Pascal, sehingga portabilitasnya sama tingginya dengan kompilator.
 
=== Paket Pihak Ketiga ===
Paket pihak ketiga terbagi lagi menjadi dua, yaitu ''wrapper'' (biasanya untuk pustaka yang ditulis dalam bahasa C) dan ''port'' (hasil konversi dari bahasa maupun kompilator lain).
 
''Wrapper'' biasanya dibuat untuk pustaka-pustaka yang sudah sangat kompleks atau yang memerlukan dukungan perangkat keras, sehingga cara yang paling masuk akal untuk dapat menggunakannya adalah dengan mengaitkan aplikasi melalui ''wrapper'' ini. Pustaka-pustaka yang termasuk kategori ini diantaranya OpenGL, OpenAL, GTK, Aspell, GMP, Gnome, GDB, ImageMagick dan POSIX threads.
 
''Port'' biasanya dibuat agar penggunaan pustaka bisa dimaksimalkan. Misalnya, mungkin dalam bahasa aslinya suatu pustaka hanya dapat berjalan di atas sistem operasi Windows. Dengan adanya ''port'' ini, diharapkan pustaka dapat berjalan juga di sistem operasi lainnya. Selain itu, dengan adanya ''port'' memudahkan untuk ''maintenance'' karena tidak ada ketergantungan terhadap bahasa / kompilator lain.
 
=== Paket-Paket Lainnya ===
Paket-paket yang tidak termasuk di atas digolongkan ke dalam paket-paket lain. Paket-paket ini menambah fungsionalitas yang ada namun tidak secara khusus terkategorisasi dan terkadang tidak dipertahankan oleh tim pengembang. Termasuk di antaranya implementasi ekspresi reguler, alternatif manipulasi arsip terkompresi, pengevaluasi ekspresi dan sebagainya.
 
== Referensi ==
<references />
{{reflist}}
 
== Pranala Luar ==
=== Website Resmi ===
# [http://www.freepascal.org Free Pascal]
# [http://wiki.lazarus.freepascal.org Wiki, juga digunakan oleh Lazarus]
 
[[Category:Object-oriented programming languages]]
[[Category:Free compilers and interpreters]]
[[Category:Free software programmed in Pascal]]
[[Category:Pascal compilers]]
[[Category:Pascal programming language family]]
[[Category:Mac OS software]]
[[Category:Solaris software]]
[[Category:Windows software]]
[[Category:Cross-platform software]]
[[Category:Linux programming tools]]
[[Category:Free cross-platform software]]
[[Category:Compilers]]
[[Category:Mac OS X software]]
[[Category:Self-hosting_software]]
 
[[af:Free Pascal]]
[[Kategori:Bahasa pemrograman]]
[[ar:فري باسكال]]
[[Kategori:Bahasa pemrograman berorientasi objek]]
[[bg:Free Pascal]]
[[Kategori:Perangkat lunak pemrograman]]
[[ca:Free Pascal]]
[[Kategori:Perangkat lunak multi platform]]
[[Kategorics:KompilerFree Pascal]]
[[de:Free Pascal]]
[[Kategori:Sistem operasi bebas]]
[[en:Free Pascal]]
[[Kategori:Peralatan pemrograman komputer bebas]]
[[es:Free Pascal]]
[[Kategori:Perangkat lunak bebas yang diprogram dengan Pascal]]
[[fi:Free Pascal]]
[[fr:Free Pascal]]
[[it:Free Pascal]]
[[ja:Free Pascal]]
[[ko:프리 파스칼]]
[[nl:Free Pascal]]
[[pl:Free Pascal]]
[[pt:Free Pascal]]
[[ro:Free Pascal]]
[[ru:Free Pascal]]
[[sv:Free Pascal]]
[[uk:Free Pascal]]
[[zh:Free Pascal]]
40.756

suntingan