Kamis, 14 April 2011

Bahasa C

*Bahasa C adalah bahasa pemrograman tingkat menengah
*1972
-Di rancang oleh Dennis M Ritche di Bell labaratoris

*1978
   Dennis dan Brian W.Kerning mempublikasikan bahasa C melalui "The C Programming Language"

*1989
   Bahasa C di standarisasikan ANSI

contoh program :

# include <stdio.h>
       void main ()
{
   printf ("Halo! Selamat Belajar C)"
}

Bahasa C

*Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena strukturnya menggunakan fungsi..Fungsi sebagai pemrograman bagian (subroutine/module).

*Fungsi-fungsi selain fungsi utama disebut subroutine/module dan ditulis setelah fungsi utama(main) atau di letakkan pada file pustaka(library).

*Jika fungsi-fungsi di letakkan pada file pustaka dan akan di pakai di suatu program, maka nama file readernya harus di letakkan dalam program menggunakan pre processor directive # include.

C++

C++ adalah bahasa pemrograman komputer C++ dikembangkan di Bell Labs (Bjarne Stroustrup) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bell labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding). Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.

Contoh Program C++

Contoh program sederhana C++ untuk hello world dengan menggunakan Pustaka Dasar C++ dapat dilihat di bawah ini:
#include <iostream>
int main()
{
        std::cout << "hello world\n";
        return 0;
}

Keterangan

Baris pertama :
#include <iostream>
Sebagai bagian dari proses kompilator, Kompilator dari c++ menjalankan program yang dinamakan preprosesor. Preprosesor memiliki kemampuan menambahkan dan menghapus kode dari sumber, Pada bagian #include memberitahuakan preprosesor untuk menyertakan kode dari iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat lunak, atau class-class yang dibutuhkan.
Baris kedua :
int main ()
Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi, yang harus selalu memiliki sebuah fungsi utama (main function), Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu. Kata Void menandakan fungsi main tidak bertipe.
Baris ketiga :
{
Kurung kurawal buka menandakan awal program.
Baris keempat :
std::cout << "Hello world\n";
Cout adalah sebuah object dari Pustaka perangkat lunak standart C++ yang digunakan untuk mencetak string ke piranti output standart, yang biasanya adalah layar komputer, Compiler menghubungkan kode dari pustaka perangkat lunak standar itu dengan kode yang telah ditulis untuk mendapatkan hasil executable, Tanda
\n
adalah format modifier yang digunakan untuk bergabti baris setelah menampilkan string, jika ada cout lain pada program tersebut, maka string yang menyertainya akan dituliskan pada baris bawahnya. Baris kelima:
}
Kurung kurawal tutup menandakan akhir program.

Kata yang dipesan

Kelompok pertama

C++ mempunyai 32 buah kata yang dipesan (reserved words), Kata kunci kelompok pertama merupakan turunan dari bahasa C, di antaranya:.
auto
const
double
float
int
short
struct
unsigned
break
continue
else
for
long
signed
switch
void
case
default
enum
goto
register
sizeof
typedef
volatile
char
do
extern
if
return
static
union
while

Kelompok kedua

Kata yang dipesan kelompok kedua berjumlah 30. Kata-kata ini adalah baru dan hanya ada di bahasa C++.
asm
dynamic_cast
namespace
reinterpret_cast
try
bool
explicit
new
static_cast
typeid
catch
false
operator
template
typename
class
friend
private
this
using
const_cast
inline
public
throw
virtual
delete
mutable
protected
true
wchar_t
Kata-kata yang dipesan tersebut di atas tidak boleh dipakai sebagai nama variable, class, enum, macro, dan struct.

Tipe data dasar

Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer, Besar dan tipe dari Variabel-variabel di dalam standar program C++ dispesifikasikan sebagai berikut.
Nama
Keterangan
Ukuran
Jangkauan
char
Abjad/karakter atau untuk bilangan bulat kecil
1 byte
signed: -128 to 127
unsigned: 0 to 255
short int (short)
Bilangan bulat dengan jangkauan pendek
2 byte
signed: -32768 to 32767
unsigned: 0 to 65535
int
Bilangan bulat
4 byte
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
long int (long)
Integer dengan jangkauan panjang
4 byte
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
bool
Boolean, dapat bernilai benar atau salah (true or false)
i byte
true or false
float
Angka dengan titik mengambang (bilangan cacah)
4 byte
3.4e +/- 38 (7 digit)
double
Bilangan cacah dengan ketelitian ganda
8 byte
1.7e +/- 308 (15 digits)
long double
Bilangan cacah dengan ketelitian ganda panjang
8 byte
1.7e +/- 308 (15 digits)
wchar_t
Karakter lebar, biasa dipakai untuk Unicode karakter
2 byte
1 karakter lebar

Daftar C++ compiler

Untuk mengubah kode-kode C++ program menjadi suatu program aplikasi yang dimengerti oleh sistem operasi dan komputer, diperlukan sebuah kompilator C++. Berikut ini adalah beberapa kompilator C++ yang dapat digunakan secara gratis,


Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan dirilis tahun 1995. Java berbeda dengan JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser.
Sejarah perkembangan Java
Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
Versi Awal
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
  • java.lang: Peruntukan kelas elemen-elemen dasar.
  • java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
  • java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.

Kelebihan
  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
  • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan
  • Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Contoh Kode Program Sederhana Dalam Java
Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {
   public static void main(String args[]) {
       System.out.println("Hello, world!");
   }
}
Tahap Kompilasi Java        
  1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
  2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
  3. Muat. Pemuat kelas memuat bytecodes ke memori.
  4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
  5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’
Integrated Development Environment
Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain:
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.[rujukan?]
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.



Ruby
Ruby adalah bahasa skripting yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman scripting yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python.

Sejarah
Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Pada tahun 1993 Yukihiro ingin membuat sebuah bahasa skripting yang memiliki kemampuan orientasi obyek. Pada saat itu pemrograman berorientasi obyek sedang berkembang tetapi belum ada bahasa pemrograman scripting yang mendukung pemrograman obyek.
Penulisan Ruby dimulai pada Februari 1993 dan pada Desember 1994 dirilis versi alpha dari Ruby. Pada awal perkembangan Ruby, Yukihiro menulis Ruby sendiri sampai pada tahun 1996 sudah terbentuk komunitas Ruby yang banyak mengontribusikan perkembangan Ruby.
Saat ini Ruby telah berkembang tidak hanya di Jepang, tetapi diseluruh dunia. Bulan Agustus tahun 2006, Macintosh telah melakukan kerja sama dengan mengintegrasikan Ruby on Rails pada Mac OS X v10.5 Leopard telah diluncurkan bulan Oktober 2007.
Kelebihan Ruby
  • Sintaks sederhana.
  • Memiliki exception handling yang baik.
  • Bahasa Pemrograman Berorientasi Objek.
  • Mengusung konsep single inheritance.
  • Open source, siapa saja dapat menggunakannya dengan cuma-cuma dan dapat ikut berpartisipasi mengembangkannya.
  • Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori.
Sistem operasi yang didukung


Perl
Perl adalah bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali oleh Larry Wall di mesin Unix. Perl dirilis pertama kali pada tanggal 18 Desember 1987 ditandai dengan keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia pula untuk berbagai sistem operasi varian Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC. Dukungan terhadap pemrograman berbasis obyek (object oriented programming/OOP) ditambahkan pada Perl 5, yang pertama kali dirilis pada tanggal 31 Juli 1993. Proyek pengembangan Perl 6 dimulai pada tahun 2000, dan masih berlangsung hingga kini tanpa tanggal yang jelas kapan mau dirilis. Ini dikatakan sendiri oleh Larry Wall[1] dalam satu pidatonya yang dikenal dengan seri The State of the Onion.
Dua di antara karakteristik utama Perl adalah penanganan teks dan berbagai jalan pintas untuk menyelesaiakn persoalan-persoalan umum. Tidak heran jika Perl sangat populer digunakan dalam program-program CGI (Common Gateway Interface) dan berbagai protokol Internet lainnya. Seperti diketahui, TCP/IP sebagai basis bagi semua protokol Internet yang dikenal sekarang ini menggunakan format teks dalam komunikasi data. Seperti juga bahasa populer lainnya, Perl menerima banyak kritikan. Meski banyak di antaranya hanya berupa mitos, atau berlebih-lebihan, tapi terdapat juga sejumlah kritikan yang valid. Salah satunya adalah, sintaksnya susah dibaca, karena banyak menggunakan simbol-simbol yang bukan huruf dan angka.
Nama dan singkatan
Larry Wall menegaskan bahwa bahasa pemrograman yang diciptakannya diberi nama Perl (dengan P besar), sedangkan perl (dengan p kecil) adalah nama untuk program interpreter yang menjalankan kode sumber yang ditulis dengan bahasa Perl. Korelasi kedua nama ini ditegaskan oleh Tom Christiansen dalam ungkapan only perl can parse Perl, atau Nothing but perl can parse Perl. Nama perl sebagai sebuah program, mengikuti konsensus penamaan program di sistem Unix, yaitu pendek dan semua ditulis huruf kecil (kalau di Windows nama program ini adalah perl.exe). Baik Perl maupun perl bukanlah sebuah singkatan atau akronim. Jadi, penulisan PERL (semua huruf besar) dianggap salah, tidak berdasar, dan sama sekali tidak akurat jika dihubungkan dengan Perl sebagai bahasa pemrograman
Baru belakangan Larry Wall memberikan kepanjangan Practical Extraction and Reporting Language. Mungkin karena terkesan serius dan sangat relevan, kepanjangan ini secara salah sering dirujuk sebagai kepanjangan resmi dari Perl. Barangkali untuk mencegah kesalahpahaman, atau karena Larry Wall memang suka bercanda, dia mengumumkan kepanjangan lain, yaitu Pathologically Eclectic Rubbish Lister. Dan, yang terbaru adalah People Excel at Relational Labor, untuk menggambarkan bahwa perkembangan Perl tidak terlepas dari keterlibatan dan komimen komunitas
Di luar itu, berkembang kreasi-kreasi lain untuk membuat kepanjangan Perl, baik yang bermaksud serius maupun bercanda, bahkan ada juga yang sifatnya merendahkan atau melecehkan.
Lambang Unta
Buku "Programming Perl" yang diterbitkan oleh O'Reilly Media memiliki sampul depan yang bergambar unta. Setelah itu buku ini dikenal sebagai Buku Unta. Gambar unta ini kemudian digunakan secara luas sebagai lambang dari Perl.
O'Reilly memiliki hak cipta atas gambar ini tetapi menyatakan bahwa mereka hanya akan menggunakan jalur hukum untuk melindungi ketepatan dan kesamaan lambang unta ini. O'Reilly memperbolehkan penggunaan non-komersial atas lambang ini dan menyediakan logo "Programming Republic of Perl" dan gambar tombol "Powered by Perl"
Pemrograman Perl
Lihat Pemrograman Perl untuk pembahasan yang lebih komprehensif dan bersifat teknis.
Kode sumber Perl tidak perlu dikompilasi, melainkan bisa langsung dijalankan oleh sebuah program interpreter bernama perl. Misalnya,
#!/usr/bin/perl
print "Hello, world!\n";
Jika program di atas ditulis dalam sebuah berkas bernama hello.pl, lalu dijalankan dengan perintah (contoh di Linux):
$ perl hello.pl
Maka di layar akan tercetak:
Hello, World!
$
Bahkan, sebuah program yang mengerjakan proses rumit bisa ditulis dengan jumlah karakter yang lebih pendek daripada jumlah kolom layar standar, misalnya:
perl -lane '$h{$_}++ for @F; END { print "$_: $h{$_} " for keys %h}' <nama_berkas>
Program ini membaca sebuah berkas teks dan mencetak setiap kata unik dan jumlahnya di dalam berkas. Contoh hasil cetakan dengan sebuah berkas berisi kode SQL:
password: 2
category: 2
DROP: 20
TABLE: 40
varchar(12): 9
dst.
Tentu saja, yang dimaksud dengan "kata" di sini adalah rentetan karakter tanpa spasi. Jika dituangkan dalam sebuah berkas, program di atas bisa menjadi lima hingga sepuluh baris, tergantung gaya pemrograman. Program semacam ini disebut juga oneliner, dan sering digunakan untuk keperluan sederhana dan cepat. Contoh lain penggunaan oneliner adalah mengubah nama berkas di suatu direktori menjadi huruf kecil semua, seperti:
perl -e 'rename $_, lc for <*>'
Beberapa programer Perl tertantang untuk membuat solusi oneliner untuk problem yang sama dengan jumlah karakter yang lebih pendek dan berkembanglah sebuah kompetisi yang disebut Perl Golf (lihat juga Komunitas dan Budaya). Hal seperti ini bisa membuat sebagian orang kagum, namun bagi sebagian orang, semakin membuktikan bahwa Perl hanyalah bahasa untuk main-main, atau kalaupun untuk serius, tidak mudah diphami oleh orang lain, bahkan oleh programernya sendiri setelah beberapa waktu kemudian. Lelucon yang diberikan kepada Perl tentang ini adalah write only, artinya program hanya bisa ditulis, tapi tidak bisa dibaca.
Sebenarnya tidak demikian. Perl menyediakan berbagai fasilitas bagi penggunannya untuk menulis program dalam berbagai gaya dan bentuk sesuai dengan keperluannya. Dalam hal ini Perl memperkenalkan motto TMTOWDI, dalam bahasa Inggris ini adalah singkatan dari There's More Than One Way To Do It, atau terjemahan bebasnya, terdapat lebih dari satu cara untuk menyelesaikan suatu persoalan. Tanpa bisa dihindari, motto ini juga menjadi sumber kritikan. Artinya, Perl tidak memiliki standar penyelesaian masalah. Padahal tidak demikian. Hanya karena terdapat lima atau selusin cara untuk menyelesaikan masalah bukan berarti semua cara tersebut setara dalam berbagai aspek kualitas. Dan, dokumentasi Perl penuh dengan berbagai contoh penggunaan yang direkomendasikan, dan juga contoh penggunaan yang tidak direkomendasikan dengan berbagai alasan.
Seperti juga bahasa lainnya, Perl menyediakan fasilitas pemrograman standar seperti penggunaan variabel, fungsi (built-in function), kontrol logika (if-else), dan iterasi (while, for, foreach). Kontrol switch baru akan disediakan di Perl 6, namun di Perl 5 dapat diemulasikan dengan mudah. Perl membolehkan programer untuk membuat fungsi sendiri (subroutine), mengenalkan pembatasan cakupan variabel secara hirarkis, penggunaan komentar, serta pembuatan dokumentasi terstruktur bersandingan dengan kode program. Sejak Perl 5 dikeluarkan, Perl mendukung pemrograman berbasis obyek (OOP), disusul kemudian dengan thread programming, serta memperbaharui penggunaan namespace. Fasilitas yang paling digemari pengguna Perl, regular expression (atau regex), telah ada sejak Perl 2. Dari versi ke versi regex makin dikembangkan sehingga diakui sebagai implementasi regex paling lengkap. Tidak heran kemudian muncul implementasi regex yang dikenal sebagai PCRE, atau Perl-compatible regular expression.
Perl menyediakan sejumlah fasilitas untuk memastikan bahwa programer dapat membuat program yang aman dari serangan cracker. Jika programer menginginkan, Perl menyediakan linkungan pemrogaman yang lebih ketat yang akan menangkap kesalahan atau potensi kesalahan sekecil apapun sebelum program bisa dijalankan. Fasilitas pemrograman berorientasi jaringan sudah terintegrasi, juga penanganan dan pemrosesan berkas (file handling) dan setara berkas (seperti diketahui, di sistem Unix dan variannya, segala sesuatu dianggap berkas dan bisa diperlakukan sebagai berkas). Sebelumn threading diperkenalkan, Perl sudah menyediakan fasilitas untuk menjalankan lebih dari satu proses secara paralel. Sebagai bahasa yang diciptakan dalam tradisi Unix, Perl sedari awal mendukung pembuatan program yang bisa berinteraksi dengan program lain yang ada di sistem, sehingga bisa dijalankan seperti diilustrasikan di bawah ini:
cat <berkas> | sort | program_perl | perl -p -e 's/ganti ini/dengan ini/g' | vim - | tar cf - .

Komunitas dan budaya
Pada awalnya komunitas pengguna Perl hanya di sekitar tim pengembangan Perl itu sendiri, beberapa grup diskusi di newsgroup, dan sejumlah mailing list. Komunitas pengguna yang lebih spesifik dimulai dengan munculnya New York Perl Mongers (disingkat NY.pm) yang dibentuk oleh brian d foy (bdf). Dari namanya bisa diketahui bahwa anggota NY.pm berasal dari kota New York, Amerika Serikat. Terinspirasi oleh Randal L. Schwartz, bdf melangkah lebih jauh dengan membentuk Perl Mongers sebagai wadah internasional yang mengkoordinasikan komunitas pengguna Perl di seluruh dunia
Satu-persatu komunitas Perl bebasis kota berdiri. Mengambil model dari NY.pm, hampir semua nama komunitas Perl Mongers di suatu kota diambil dari nama kota tersebut dan ditambahkan .pm di belakangnya. Ini tentu mengingatkan pada penamaan modul ekstensi .pm untuk Perl Modules. Di Indonesia sempat berdiri tiga komunitas berbasis kota, yaitu Bandung.pm, Jakarta.pm, dan Semarang.pm. Di luar grup-grup berbasis kota tersebut, terdapat juga grup diskusi berbasis web, yaitu PerlMonks.
Budaya Perl dikenal cukup unik, antara lain:

 (ASP) Active Server Pages
Active Server Pages atau disingkat ASP adalah salah satu bahasa pemrograman web untuk menciptakan halaman web yang dinamis.
ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft. ASP diproses melalui web server dan hasil proses ini menghasilkan HTML yang akan dikirimkan melalui penjelajah web (browser). ASP bekerja pada web server dan merupakan server side scripting.
Pengenalan
Active Server Pages (ASP) ialah pengaturan web yang digunakan untuk membina halaman web yang dinamik dan bersifat interaktif. Active server page adalah fasilitas yang diberikan oleh Microsoft untuk memudahkan pembuatan aplikasi-aplikasi Web Server. Hal ini di mungkinkan dengan menggabungkan komponen-komponen Hyper Text Markup Language (HTML) dengan Visual Basic Script (VBScript). Sehingga di dalam sebuah halaman Web dengan Active Server Page terdapat bagian HTML dan kode VBScript. ASP diciptakan oleh Microsoft untuk menjawab tantangan pemrograman web dinamis, di mana isi dari sebuah website dapat diprogram untuk mendapatkan hasil yang berbeda. Tidak seperti HTML yang hanya menampilkan isi yang statis, ASP mampu menampilkan isi halaman yang berbeda sesuai dengan tujuan pemrogramannya. ASP telah mencapai versi 3.0 yang berjalan pada platform Windows 2000 Professional atau Server. Versi sebelumnya, yaitu versi 2.0, dapat berjalan pada platform lain seperti Linux, Solaris, OS/2, dan Novell.
Bahasa ASP murni Object Oriented Programming (OOP) memiliki struktur bahasa yang sama dengan bahasa Visual Basic yang mudah dimengerti karena sintaksnya menggunakan Bahasa Inggris. Seperti diketahui, bahwa Visual Basic adalah bahasa pemrograman yang paling mudah dimengerti dan dipelajari dibandingkan bahasa pemrograman lainnya.[4] Oleh karena itu ASP sangat mudah dipelajari oleh para pemula sekalipun untuk membuat aplikasi web, disamping kehandalan dan kelengkapan fasilitas yang diberikan.
Penjelajah web
Penjelajah web yang digunakan untuk mengetes script ASP yang dibuat diantaranya Internet Explorer, Netscape Navigator, ataupun Opera.
Kelebihan ASP
Ada beberapa keuntungan yang diberikan oleh ASP yaitu:
  • Mudah dalam mempelajarinya.
  • Mudah dikembangkan dari sistem yang telah dimiliki
  • Tidak perlu kompilasi.
  • Mudah menggabungkan dengan teknologi lain seperti CGI, DCOM, ActiveX dan lain-lain.
  • Dengan ActiveX Data Object dan SQL pembuatan Web Data Base menjadi lebih mudah.
  • Memberikan fasilitas keamanan seperti session Object, cookie, dan fasilitas transaksi online yang aman dengan protokol SSL, semua dapat dilakukan dengan sedikit kode tambahan.
  • Kode ASP tidak dapat di lihat pada client, hal ini di sebabkan oleh karena jika server menerima request file asp, maka file tersebut diproses dahulu pada server dan yang di kirimkan adalah kode-kode HTML
Contoh
<html>
<body>
<%
response.write("My first ASP script!")
%>
</body>
</html>