HTML Tim Berners Lee tarafından oluşturulduğu zamandaki en temel amacı, CERN araştırmacılarının dökümanlarını birbirleriyle paylaşabilmesi idi (şimdi NASA‘yı bile hackleyebiliyor). Hepimizin bildiği üzere bir ‘işaretleme dili’dir ve ‘statik‘ bir yapısı vardır.

Teknoloji aldı başını gitti. Onlarca teknoloji üretildi, yazıldı, öyle ki ‘artık CSS ve HTML derlenebilir‘ hale geldi. Peki bu iş nasıl oldu? Gelin hep beraber analiz edelim.

Derleyiciler/ Önişlemciler (Compilers / Preprocessors)

1960’larda ortaya çıkan Object Oriented Programming (Nesne Yönelimli Programlama), bir anda yazılım dünyasının bambaşka kapıları açmasına ön ayak oldu. Veriyi yönetmek için en iyi yöntem olarak hali hazırda global olarak kullanılmakta. Derleyici, programlama dilleri tarafından ilk kez yazıldığında adeta çığır açmıştı. Çünkü statik yapılara dinamizm katmak gibi ‘sihirli’ bir eylem gerçekleştiriyordu. Kimsenin aklına gelmeyecek bir eylem.

1950‘de ABD Donanması’nda görev almış bir asker olan Grace Hopper, daha sonra matematik bilgisiyle bilgisayarın başına geçti ve 1954‘te ilk derleyiciyi geliştirdi. Adı da ‘A Derleyicisi‘ idi. Sonrasında çeşitli konferanslara katılım göstererek geliştirmeye, derleyici tabanlı yeni programlama dilleri geliştirdi (ARITH-MATIC, MATH-MATIC ve FLOW-MATIC). Bu sayede teknolojik sıçrama yaşanmış oldu. Şimdi günümüze dönersek, HTML’nin nasıl derlendiği hakkında fikir ve bilgi sahibi olarak işlerin nasıl yürüdüğünü anlarız.

HTML Nasıl Derlenir?

HTML’nin derlenebilmesi için iki bilinen yol vardır.

Node.js -> Express.js

Temelinde Javascript olan Node.js‘in NPM (Node Package Manager)‘ı içerisinde barınan bir paket söz konusu. Adı da Express.js. Kendisini ‘minimalist web framework‘ olarak tanımlar. Böyle tanımlar çünkü farklı framework’lere altyapı desteği sağlamaktadır. Ayrıntılı liste için buraya tıklayınız. Express.js’in içinde Jade adında bir görüntü motoru vardır (yeni adı ile Pug). Jade temelde programlama dilidir aslında, her neyse. Görüntü motoru sayesinde sunucu tarafında yazılacak bir takım kodlar/komutlar ile kullanıcı tarafına müdahale edilebilir. Örneğin bir HTML kodu, döngü ile birden çok kez yazdırılabilir, veritabanından veri yazdırılabilir, one page fully dynamic uygulamalar geliştirilebilir, vs.. Bu arada sadece Jade yok bu hayatta. Haml var, Yaml var, var da var heheeey, hey gidi hey…

PHP

PHP‘nin açılımı çok enteresandır ki Hypertext Preprocessor‘dür, ancak asıl adı Personel Home Page‘dir. Bu açılımı ilk kez duyduğumda çok şaşırdım çünkü bir programlama dilinden HTML önişlemcisi olmasını beklemiyordum. Hem öyle hem de sunucu taraflı işlemler yapabiliyor. PHP ile Jade aracılığıyla yapılandan daha fazlası yapılabilir zira Jade sadece bir derleyicidir. PHP ise çok amaçlı bir dildir. İki taraflı oynar, haindir, tek kelimedir, zıpırdır, 3000’deyiz efendim, …

Demem o ki HTML teknik olarak programlama dili değildir, ancak programlanabilir. Bir mutfak robotu düşünün. Onu kodlarsınız, o kendisini kodlamaz. Verilen emirleri yerine getirir. Temelinde sunucuya istek atan bir yapısı yok ise, buna programlama dili denemez diye düşünüyorum, katılır mısınız katılmaz mısınız, aşağıda yorumlar kısmında tartışabiliriz/siniz.

instagram: #htmlisprogramminglanguage