php'de define('AD', deger) fonksiyonu bir sabit tanımlar; sonra kodun her yerinde AD olarak kullanılır ve değiştirilemez. php 5.3 ile gelen const anahtar kelimesi aynı işi derleme zamanında yapıyor; fark şu: define çalışma zamanında ve koşullu tanımlanabilir (if içinde), const ise sınıf içinde ve ad alanlarında çalışır. sabit tanımlı mı diye defined('AD') ile bakılır; bu sitenin kodunda da veritabanı bilgileri tam böyle, define ile tanımlı sabitlerde tutuluyor.
c ve c++'ta #define ise ön işlemci direktifi. derleyici kodu görmeden önce metin değiştirme yapar: #define PI 3.14 yazdıysan koddaki her PI, 3.14 ile değiştirilir. makro da tanımlanabilir: #define KARE(x) ((x)*(x)). klasik tuzak parantezleri unutmak; KARE(a+b) yazınca parantezsiz makro a+b*a+b'ye açılır ve yanlış sonuç verir. ikinci klasik kullanım header guard: #ifndef, #define, #endif üçlüsüyle aynı başlık dosyasının iki kez dahil edilmesi engellenir. modern c++'ta sabitler için constexpr, makrolar için inline fonksiyon öneriliyor; #define yalnızca koşullu derleme için kalıyor.
bir de javascript'in eski modül sistemi amd'de define(['bagimlilik' ], function(){}) çağrısı var; requirejs ile modül tanımlamak için kullanılıyordu, es modülleri (import/export) yaygınlaşınca büyük ölçüde tarihe karıştı.

