Pascal (Paskal okunur) bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve Pascal ile yazılmıştır.
Paradigması | , yapısal |
---|---|
İlk çıkışı | 1970 |
Tasarımcı | Niklaus Wirth |
, , | |
, , , PDP-11, , , HP, GNU | |
, Borland, Turbo | |
Etkilendikleri | ALGOL |
Etkiledikleri | Modula, Modula-2, Oberon, , , Ada, Object Pascal, Java, Seed7, |
Bilgisayar bilimcisi Niklaus Wirth Pascal'ı 1970'te yapısal programlamayı derleyiciler için daha kolay işlenir hale getirebilmek amacıyla geliştirmiştir. Adını matematikçi ve düşünür Blaise Pascal'dan alan Pascal, Algol programlama dilinden türemiştir. Wirth, Pascal'dan başka Modula-2 ve Oberon programlama dillerini de geliştirmiştir. Bu diller Pascal'a benzerler ve ayrıca nesneye yönelik programlamayı da desteklerler.
Temel sözdizimi
Bir dilin sözdizimine örnek olarak yaygın biçimde bir "Merhaba dünya" programı gösterilir. Aşağıda Pascal ile yazılmış bir "Merhaba dünya" programı görebilirsiniz:
program MerhabaDunya(output); uses crt; begin Write('Merhaba Dünya!'); end.
Pascal'da tüm programlar "Program" anahtar sözcüğü ile başlar ve ardından "Begin" / "End" anahtar sözcükleri ile sınırlanan bir blok gelir. Pascal dilinde harflerin büyüklüğü-küçüklüğü önemli değildir. İfadeler noktalı virgül ile ayrılır ve programlar bir nokta ile bitirilir. Bazı derleyiciler için "Program" satırı zorunlu değildir.
Orijinal halinde Pascal, tümüyle prosedürel bir dildir ve programlar if, while, for ve benzeri yapılardan oluşur.
Pascal ve C
Pascal ve C dilleri yaklaşık aynı zamanlarda geliştirilmişlerdir ve aralarında önemli benzerlikler vardır. Orijinal Pascal ile C'nin ikisi de yapısal programlama fikrini gerçekleştiren küçük ve prosedürel dillerdir. İkisinde de dinamik bellek ayırma ve işaretçi işleme (İng. pointer manipulation) mümkündür. Ancak, bu iki dil dışarıdan bakıldığında farklı görünürler (C programları genelde Pascal programlarından kısadır).
Tartışma yaratan farklılıklardan bir tanesi, Pascal'ın atama için := ve karşılaştırma için = imlerini kullanmasıdır. Matematikte = imi her iki amaç için de kullanıldığından, programcılar bazen yanlışlıkla Pascal'da :=, C'de ise == kastedildiği halde daha kısa olan = imini kullanırlar. C'nin tasarımcıları atama işleminin karşılaştırma işleminden daha sık kullanıldığını, dolayısıyla kısa olan imin atama işlemi için kullanılması gerektiğini savunurlar. Pascal'ın savunucuları ise, yanlışlıkla atama yapmanın yanlışlıkla karşılaştırma yapmaktan çok daha tehlikeli olduğunu savunurlar. Bu savunma, eğer, C'de olduğu gibi, bir if ifadesi içinde atama yapılabiliyorsa, kesinlikle doğrudur.
Bu tartışma, iki dilin tasarım mantıkları arasındaki farka işaret eder. Pascal, en azından kısmi olarak, bir eğitim dili olarak tasarlanmıştır. Yanlışlıklara yol açabilecek sözdizimi yapılarından kaçınılmış, sözdiziminin anlaşılması kolay olmasına dikkat edilmiştir. C'nin tasarımcıları ise dili programların kısa olması için tasarlamışlardır.
Bu iki dil arasındanki başka bir fark da, Pascal'ın "strongly typed" olmasıdır. Yani, bir değişken kullanılmadan önce belirli bir tipe sahip olmak üzere tanımlanmalıdır ve farklı tiplerden iki değişken birbirlerine atanamazlar. Bu sınırlama pek çok programlama yanlışını önler.
C'nin tersine, Pascal'da iç içe fonksiyon tanımlamak mümkündür.
Orijinal Pascal'da program parçaları ayrı ayrı derlenemezler ve derleme anında boyutu bilinmeyen diziler kullanmak mümkün değildir. Ancak bu sınırlamalar, Pascal'ın bazı versiyonlarında kaldırılmıştır. pascal biraz zor ama çözüldüğü zaman zevkli bir hale gelir.. Turbo pascal gibi programlar özellikle 'C' olup oyunlarda önde gelen programlardır.
Pascal derleyicileri
İlk Pascal derleyicileri (örneğin kendisi de Pascal ile yazılmış olan derleyicisi) Pascal programlarını makineden bağımsız 'a çevirmek üzere tasarlanmışlardı. Bu kod, sonradan her sistem için ayrı bir program tarafından yorumlanıyordu. Sonuç olarak, yalnızca küçük yorumlayıcı kısım diğer mimarilere taşınmak (port edilmek) zorundaydı.
1980'lerde Anders Hejlsberg için Blue Label Pascal derleyicisini yazdı. Daha sonra Borland'da çalışmaya başlayan Hejlsberg, burada derleyicisini IBM PC için baştan yazıp, adını Turbo Pascal koydu. Borland, Turbo Pascal'ı Hejlsberg'in Blue Label'ı sattığı fiyattan çok daha ucuza, 49 dolara sattı.
Ucuza elde edilebilen Borland derleyicisinin 1980'lerin sonunda IBM PC üzerinde yoğunlaşmaya başlayan Pascal topluluğunda büyük etkisi oldu. BASIC yerine yapısal bir programlama dili arayan pek çok PC amatörü Turbo Pascal'ı kullanmaya başladı. Yalnızca bir mimaride çalışan Turbo Pascal, programları doğrudan Intel 8088 makine diline çeviriyordu, dolayısıyla yorumlama kullanan yaklaşımdan daha hızlı idi.
Super Pascal, dile nümerik olmayan etiketler ve bir return ifadesi ekledi.
1990'larda değişik mimariler için işletilebilir kod üretebilen derleyiciler kullanılmaya başlandığında Pascal programları pek çok makine diline kolayca derlenebilir hale geldiler.
Borland, Turbo Pascal'a 5.5 versiyonunda ekledi.
Borland daha sonra daha geniş bir nesneye yönelim desteği istediğine karar verip, Apple'ın önerdiği (hala bir standart olmayan) Object Pascal taslağını kullanarak Delphi'yi geliştirmeye başladı. Borland da başta bu dili Delphi'de Object Pascal olarak adlandırdıysa da, sonradan dilin adını da Delphi olarak değiştirdi. Pascal'ın bu 'lehçesini' destekleyen başka derleyiciler de vardır.
Herkesin kullanımına açık derleyiciler
Herkesin kullanımına açık bazı Pascal derleyicileri aşağıda sıralanmıştır:
- P4 derleyicisi19 Şubat 2015 tarihinde Wayback Machine sitesinde .: Pascal kullanılarak yazılan ( dahil olmak üzere) pek çok Pascal derleyicisinin temeli olan derleyici.
- FreePascal25 Ocak 1999 tarihinde Wayback Machine sitesinde . da Pascal kullanılarak yazılmıştır (ve kendi kendini derleyebilir). FreePascal, kullanışlı ve güçlü bir derleyici olarak tasarlanmıştır ve eski uygulamaları derlemek için kullanılabileceği gibi, yeni uygulamalar yazmak için de geliştirilmiştir.
- Lazarus5 Ocak 2010 tarihinde Wayback Machine sitesinde .
Geçmişteki eleştiriler
1980'lerde ve 1990'ların başındaki kadar olmasa da hâlâ popüler olan Pascal, yine de "ciddi" programlama için uygun olmadığı ve yalnızca eğitim için kullanılabileceği savıyla eleştirilmiştir. C'nin yaratıcılarından olan Brian Kernighan, 1981'de yazdığı makalesi Why Pascal Is Not My Favorite Programming Language28 Nisan 2009 tarihinde Wayback Machine sitesinde . (Pascal Niçin Benim En Sevdiğim Dil Değildir) ile bu eleştirileri özetlemiştir. Öte yandan, 1980'lerde Apple Lisa ve Macintosh gibi büyük projeler Pascal'a dayanıyorlardı. Aradan geçen zaman içinde, Pascal gelişmeyi sürdürmüş ve bu sayede Kernighan'ın eleştirileri artık modern Pascal versiyonları için geçerli olmaktan çıkmıştır. Yeterli bilgiye sahip olmayan pek çok kimse bugün hâlâ bu eleştirilerin geçerli olduğunu düşünmektedir. Pascal üzerindeki bu haksız damga, bugün Pascal'ın önündeki en büyük sorunlardan biridir.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Pascal Paskal okunur bilgisayar programlama dili pek cok ogrenciye bilgisayar programlamayi ogreten ve cesitli versiyonlari bugun hala yaygin olarak kullanilmaya devam eden en onemli programlama dillerinden biridir Ilk Macintosh isletim sisteminin cogu ve Pascal ile yazilmistir PascalParadigmasi yapisalIlk cikisi1970TasarimciNiklaus Wirth PDP 11 HP GNU Borland TurboEtkilendikleriALGOLEtkiledikleriModula Modula 2 Oberon Ada Object Pascal Java Seed7 Bilgisayar bilimcisi Niklaus Wirth Pascal i 1970 te yapisal programlamayi derleyiciler icin daha kolay islenir hale getirebilmek amaciyla gelistirmistir Adini matematikci ve dusunur Blaise Pascal dan alan Pascal Algol programlama dilinden turemistir Wirth Pascal dan baska Modula 2 ve Oberon programlama dillerini de gelistirmistir Bu diller Pascal a benzerler ve ayrica nesneye yonelik programlamayi da desteklerler Temel sozdizimiBir dilin sozdizimine ornek olarak yaygin bicimde bir Merhaba dunya programi gosterilir Asagida Pascal ile yazilmis bir Merhaba dunya programi gorebilirsiniz program MerhabaDunya output uses crt begin Write Merhaba Dunya end Pascal da tum programlar Program anahtar sozcugu ile baslar ve ardindan Begin End anahtar sozcukleri ile sinirlanan bir blok gelir Pascal dilinde harflerin buyuklugu kucuklugu onemli degildir Ifadeler noktali virgul ile ayrilir ve programlar bir nokta ile bitirilir Bazi derleyiciler icin Program satiri zorunlu degildir Orijinal halinde Pascal tumuyle prosedurel bir dildir ve programlar if while for ve benzeri yapilardan olusur Pascal ve CPascal ve C dilleri yaklasik ayni zamanlarda gelistirilmislerdir ve aralarinda onemli benzerlikler vardir Orijinal Pascal ile C nin ikisi de yapisal programlama fikrini gerceklestiren kucuk ve prosedurel dillerdir Ikisinde de dinamik bellek ayirma ve isaretci isleme Ing pointer manipulation mumkundur Ancak bu iki dil disaridan bakildiginda farkli gorunurler C programlari genelde Pascal programlarindan kisadir Tartisma yaratan farkliliklardan bir tanesi Pascal in atama icin ve karsilastirma icin imlerini kullanmasidir Matematikte imi her iki amac icin de kullanildigindan programcilar bazen yanlislikla Pascal da C de ise kastedildigi halde daha kisa olan imini kullanirlar C nin tasarimcilari atama isleminin karsilastirma isleminden daha sik kullanildigini dolayisiyla kisa olan imin atama islemi icin kullanilmasi gerektigini savunurlar Pascal in savunuculari ise yanlislikla atama yapmanin yanlislikla karsilastirma yapmaktan cok daha tehlikeli oldugunu savunurlar Bu savunma eger C de oldugu gibi bir if ifadesi icinde atama yapilabiliyorsa kesinlikle dogrudur Bu tartisma iki dilin tasarim mantiklari arasindaki farka isaret eder Pascal en azindan kismi olarak bir egitim dili olarak tasarlanmistir Yanlisliklara yol acabilecek sozdizimi yapilarindan kacinilmis sozdiziminin anlasilmasi kolay olmasina dikkat edilmistir C nin tasarimcilari ise dili programlarin kisa olmasi icin tasarlamislardir Bu iki dil arasindanki baska bir fark da Pascal in strongly typed olmasidir Yani bir degisken kullanilmadan once belirli bir tipe sahip olmak uzere tanimlanmalidir ve farkli tiplerden iki degisken birbirlerine atanamazlar Bu sinirlama pek cok programlama yanlisini onler C nin tersine Pascal da ic ice fonksiyon tanimlamak mumkundur Orijinal Pascal da program parcalari ayri ayri derlenemezler ve derleme aninda boyutu bilinmeyen diziler kullanmak mumkun degildir Ancak bu sinirlamalar Pascal in bazi versiyonlarinda kaldirilmistir pascal biraz zor ama cozuldugu zaman zevkli bir hale gelir Turbo pascal gibi programlar ozellikle C olup oyunlarda onde gelen programlardir Pascal derleyicileriIlk Pascal derleyicileri ornegin kendisi de Pascal ile yazilmis olan derleyicisi Pascal programlarini makineden bagimsiz a cevirmek uzere tasarlanmislardi Bu kod sonradan her sistem icin ayri bir program tarafindan yorumlaniyordu Sonuc olarak yalnizca kucuk yorumlayici kisim diger mimarilere tasinmak port edilmek zorundaydi 1980 lerde Anders Hejlsberg icin Blue Label Pascal derleyicisini yazdi Daha sonra Borland da calismaya baslayan Hejlsberg burada derleyicisini IBM PC icin bastan yazip adini Turbo Pascal koydu Borland Turbo Pascal i Hejlsberg in Blue Label i sattigi fiyattan cok daha ucuza 49 dolara satti Ucuza elde edilebilen Borland derleyicisinin 1980 lerin sonunda IBM PC uzerinde yogunlasmaya baslayan Pascal toplulugunda buyuk etkisi oldu BASIC yerine yapisal bir programlama dili arayan pek cok PC amatoru Turbo Pascal i kullanmaya basladi Yalnizca bir mimaride calisan Turbo Pascal programlari dogrudan Intel 8088 makine diline ceviriyordu dolayisiyla yorumlama kullanan yaklasimdan daha hizli idi Super Pascal dile numerik olmayan etiketler ve bir return ifadesi ekledi 1990 larda degisik mimariler icin isletilebilir kod uretebilen derleyiciler kullanilmaya baslandiginda Pascal programlari pek cok makine diline kolayca derlenebilir hale geldiler Borland Turbo Pascal a 5 5 versiyonunda ekledi Borland daha sonra daha genis bir nesneye yonelim destegi istedigine karar verip Apple in onerdigi hala bir standart olmayan Object Pascal taslagini kullanarak Delphi yi gelistirmeye basladi Borland da basta bu dili Delphi de Object Pascal olarak adlandirdiysa da sonradan dilin adini da Delphi olarak degistirdi Pascal in bu lehcesini destekleyen baska derleyiciler de vardir Herkesin kullanimina acik derleyicilerHerkesin kullanimina acik bazi Pascal derleyicileri asagida siralanmistir P4 derleyicisi19 Subat 2015 tarihinde Wayback Machine sitesinde Pascal kullanilarak yazilan dahil olmak uzere pek cok Pascal derleyicisinin temeli olan derleyici FreePascal25 Ocak 1999 tarihinde Wayback Machine sitesinde da Pascal kullanilarak yazilmistir ve kendi kendini derleyebilir FreePascal kullanisli ve guclu bir derleyici olarak tasarlanmistir ve eski uygulamalari derlemek icin kullanilabilecegi gibi yeni uygulamalar yazmak icin de gelistirilmistir Lazarus5 Ocak 2010 tarihinde Wayback Machine sitesinde Gecmisteki elestiriler1980 lerde ve 1990 larin basindaki kadar olmasa da hala populer olan Pascal yine de ciddi programlama icin uygun olmadigi ve yalnizca egitim icin kullanilabilecegi saviyla elestirilmistir C nin yaraticilarindan olan Brian Kernighan 1981 de yazdigi makalesi Why Pascal Is Not My Favorite Programming Language28 Nisan 2009 tarihinde Wayback Machine sitesinde Pascal Nicin Benim En Sevdigim Dil Degildir ile bu elestirileri ozetlemistir Ote yandan 1980 lerde Apple Lisa ve Macintosh gibi buyuk projeler Pascal a dayaniyorlardi Aradan gecen zaman icinde Pascal gelismeyi surdurmus ve bu sayede Kernighan in elestirileri artik modern Pascal versiyonlari icin gecerli olmaktan cikmistir Yeterli bilgiye sahip olmayan pek cok kimse bugun hala bu elestirilerin gecerli oldugunu dusunmektedir Pascal uzerindeki bu haksiz damga bugun Pascal in onundeki en buyuk sorunlardan biridir