PROGRAM VE PROGRAMLAMA DİLİ KAVRAMI

Transkript

PROGRAM VE PROGRAMLAMA DİLİ KAVRAMI
PROGRAMLAMA DİLLERİ
Programlama dilleri iki ana bölümde toplanabilir:
(a) Makinaya yönelmiş diller ya da makina dilleri,
(b) probleme yönelmiş diller ve bunlara ilişkin programlama sistemleri.
Makine Dili ile Kodlama
Problem önce, bilgisayarın özellikleri ve mevcut komutlarla yapabileceği işlemler dizisi biçiminde
ifade edilir; sonra programcı tarafından bu, bilgisayarın makine dilinde yazılır. Elde edilen makina
dilindeki program gerekli veri ile birlikte,bilgisayarca doğrudan doğruya icra edilebilir ve aranan
sonuçlar bulunur. Ancak makina dili ile programlamada bazı önemli güçlükler ortaya çıkar. Bütün
komutların makina dili ile kodlanması; komutların makine tarafından icra olunacak sırada yazılması
ve yanlışlıkla ya da başka bir nedenle bazı komutlar atlanmışsa, bundan sonraki bütün komutların
araya eklenenler için ötelenmesi ve adreslemenin yenilenmesi zorunluluğu; bütün lojik ve program
düzenlemenin programcı tarafından yapılması; programcının kullandığı bilgisayarı çok iyi anlamış
olma gereği bu güçlüklere örneklerdir.
Programlama Sistemleri
Programlama sistemleri genel olarak bir dil ve bir birleştirici ya da derleyici programdan oluşur.
Programlama dili, programcı tarafından kolayca öğrenilebilecek ve yazılabilecek, bilgi işlem
sisteminin yapım özellikleri ve yapılacak işlemler arasında uzlaşma sağlayabilecek bir biçimde
olmalıdır. Bu dilin, diğer herhangi bir dildeki gibi, dilbilgisi, noktalama ve yazma kuralları olacağı
açıktır. Bir bilgisayarda programlama sistemlerinin bulunması makina dilinde programlamanın
güçlüklerini önemli ölçüde azaltır. Birleştirici program ve derleyiciler, programların makina dili
dışında probleme yönelmiş bir dilde hazırlanabilmesi olanağını sağlar. Programlama dilinde makina
diline çeviriyi, birleştirici ya da derleyici aracılığı ile, bilgisayarın kendisi yapar. Programlama
sisteminin dili makinaya ya da programa yönelmiş olabilir.
Sembolik Programlama Sistemleri
Sembolik programlama sistemleri, programcıyı makina dili ile kodlamanın güçlüklerinden büyük
ölçüde kurtarır; fakat belli bir bilgisayara göre hazırlandıklarından ve sistemin programlama dilinin
kısmen makinaya yönelik olmasından dolayı makina dili düzeyinde çalışan, öğrenilmeleri oldukça
uzun süren sistemlerdir ve her bilgisayar için farklıdır, diğer bir deyişle makinaya bağlıdır; her
bilgisayarda aynı dil kullanılamaz.
Probleme Yönelmiş Diller ve Derleyiciler
FORTRAN, COBOL, ALGOL, vb. bu tür programlama sistemlerine bazı örneklerdir. Bu tür
programlama sistemleri ile çalışmada, temel programın derleyici program aracılığı ile bilgisayarca,
belli kurallara uyarak makina dili programına çevrilmesine derleme denir. Derleme sırasında
rastlanan dil kurallarına aykırı olan hatalar özel hata mesajları ile bilgisayarca programcıya bildirilir.
Probleme yönelmiş dillerin en önemlilerinden biri, bilimsel ve mühendislik araştırma ve
uygulamaları için geliştirilen ve en yaygın olarak kullanılan FORTRAN dilidir. FORTRAN adi, formül
çevirisi anlamındaki, ingilizce "FORmula TRANslation" kelimelerinin ilk hecelerinden oluşur.
FORTRAN dili sayısal hesapla ilgili herhangi bir problemin kolaylıkla ifade edilebilmesini
sağlayacak biçimde düşünülmüştür. Komutlar ya da deyimler herhangi bir güçlük olmaksızın
anlaşılabilir ve yorumlanabilir. Bazı deyimler problemin matematiksel bağıntılarına çok benzer.
FORTRAN programlama sistemi 1954 yılında J.W Backus tarafından önerilmiş ve ilk kez 1957 yılı
başlarında IBM 704 Bilgi işlem Sisteminde kullanılmıştır. 1960 yılında BURROUGHS kendi
bilgisayarları için bir FORTRAN derleyicisi hazırlamıştır. Günümüze kadar çeşitli FORTRAN
programlama sistemleri geliştirilmiş ve kullanılmıştır. FORTRAN II, FORTRAN II-D, FORTRAN IV,
FORTRAN 77, FORTRAN 90 bunların en önemlilerine örneklerdir. Genel olarak,bir sonraki işlemin
bir öncekine göre daha gelişmiş olduğu ve programlamada daha geniş olanaklar sağladığı
söylenebilir.
PROGRAM VE PROGRAMLAMA DİLİ KAVRAMI
Belirli bir amaca yönelik olarak hazırlanmış ve bilgisayardan yerine getirilmesi istenen bir dizi komut
ya da işlem adımlarının tümüne program denilmektedir. Bilgisayar programda tanımlanan
işlemleri, ilk işlem adımından başlayarak her adımı teker teker yapar. Programda aynı anda birden
fazla işlemin ya da adımın yapılması söz konusu değildir. Bilgisayarın işlemler ve bunların sırasına
ilişkin herhangi bir yorumu söz konusu değildir. Bilgisayarlar bize sadece yapmasını istediğimiz
işlemleri ya da işleri sırasıyla ve hızla yerine getirmekten öteye bir katkıda bulunmayacaktır.
İnsanların tarih boyunca birbirleriyle iletişim kurmak ve anlaşabilmek için çeşitli diller geliştirmiş
olduğu gibi, bilgisayar ile iletişim kurmak, ona program adı altında bir şeyler yaptırabilmek için
benzer yöntemler geliştirilmiştir. Bilgisayarın anlayacağı yegane dil ikili yapıda olan makine dilidir.
Makine dili bilinmiyorsa ona program verilmesi mümkün olmayacaktır. Makine dilini öğrenmek için
bilgisayar donanımının çok iyi bilinmesi gerekir. Bu ise bilgisayar kullanımını oldukça zorlaştıracak
ve azaltacaktır. Bunun yanında her değişik makinenin değişik yapısı olduğundan makine dili de
değişik olmak durumundadır. Bu nedenlerle kullanımı kolaylaştırmak ve yaygınlaştırmak amacıyla
makine dilini tercüme edilebilir nitelikte özel programlama dilleri geliştirilmiştir.
Örneğin iki sayıyı ( A ve B olsun) toplamak için makine dilinde 10010010101101101
10000101101011100 gibi bir ifade gerekebilir. Bu ifade daha sonra makine dilini tercüme edecek
özel bir program ile A + B veya ADD A TO B gibi bizce anlaşılır ifadelere dönüşür. Birinci kuşak
bilgisayarlarda programlar doğrudan makine diliyle hazırlanıyordu. Bu nedenle program
hazırlamanın yanında, programda yeni düzenlemeler yapma ve hata bulup düzeltme işlemleri son
derece zahmetli olmaktaydı. Bu zorunluluktan dolayı çevirici diller geliştirildi. Bu dillerin tamamına
programlama dili denilmektedir. Günümüzde 250 civarında bilgisayar programlama dili
geliştirilmiştir.
PROGRAMLAMA DİLLERİ
Programlama dillerini genel olarak 2 gruba ayırmak mümkündür. Bunlar :
1.Alt Düzey Programlama Dilleri
2.Üst Düzey Programlama Dilleri
ALT DÜZEY PROGRAMLAMA DİLLERİ
Makine ve çevirici dilleri alt düzey programlama dillerini oluştururlar. Bu diller:
1. Kullanılan bilgisayara doğrudan bağımlıdırlar. Yani yazılan program yalnızca o marka ve model
bilgisayar için geçerlidir. Bir anlamda her bilgisayar kendine özgü kurallar içeren ve çevirici diline
sahiptir.
2. Alt Düzey dillerde yazılan programlar tercüme benzeri ara işlemlerden geçmediklerinden üst
düzey dillerle oranla çok daha hızlı ve verimli çalışırlar. Bu nedenle her gün sık sık kullanılması
gerek programlar ya çevirici diliyle ya da makine diliyle yazılırlar.
ÜST DÜZEY PROGRAMLAMA DİLİ
Bu diller:
1. Bilgisayarın markası ve modelinden bağımsız, kolay, kullanıcıya daha yakın özelliklere sahiptir.
2. Eğer bir program üst düzey dille yazılmışsa o dili kullanabilen tüm bilgisayarlarda hemen hemen
değişikliğe uğramadan uygulanabilir.
3. bazı üst düzey dillerde uluslar arası standart (ANSI) kurallar vardır. Bu kurallarla yazılan bir
program, aynı verilerle o dili kullanan her bilgisayarda aynı sonuçları verecektir. Bu özelliğe sahip
dillere standart dili adı verilir. Ancak üst düzey dillerin büyük kısmı standart değildir.
PROGRAM KULLANIM ALANLARI
Üst düzey programlama dillerinin sayısı oldukça fazladır. Bunun en önemli nedeni kullanım
alanlarının farklı olmasından kaynaklanmaktadır. Kullanım alanı kavramı hangi tür problemlerin
bilgisayarda çözülebileceğini belirlemektedir. Kullanım alanları:
1. Bilimsel Kullanım Alanları
Bu tür kullanımda o programlama dilinde yoğun matematiksel işlemleri tanımlayabilme ve etkin
olabilme (hızlı işlem, bellekte az yer tutma) yeteneği aranır. Bilimsel araştırmalar ve mühendislik
problemlerinde kullanılan veri miktarı genellikle az, işlemleri ise yoğun, sonuçlar da az sayıdadır.
Özellikteki problemlerde giriş ve çıkış komutları kısmen zayıf, ancak matematiksel komutları güçlü
olan programlama dilleri kullanılır.
2. Ticari Kullanım Alanları
Bu tür kullanımda o programlama dilindeki giriş ve çıkış komutlarının güçlü buna karşılık
aritmetiksel işlem yönünün kısmen yeterli olması özelliği aranır.
3. Özel Kullanım Alanları
Kimi programlama dilleri yalnızca belirli konulardaki problemlerin programının yazılmasında
kullanılır. Örn. İnşaat mühendisliği problemlerini (1.) deki tüm programlarla hazırlamak mümkün
olduğu gibi daha doğru olur. Özel alanlarda kullanılan dillerin bazıları, LISP, SHP, SNOBOL, LSP,
GPSS, PCS, LOGO’ dur.
PROGRAMLAMA DİLLERİ
Yaygın olarak kullanılan üst düzey programlama dillerinden bazıları şunlardır.
1. FORTRAN (FORMULA TRANSLATOR)
Bilimsel ve mühendislik uygulamalarının daha kolay bir biçimde yazılabilmesi için 1956’da
geliştirilmiştir. FORTRAN özellikle sayısal verinin işlemesinde kullanılır. FORTRAN giriş/çıkış
etkinliğini sağlamak, yazdırma ve listelerle çalışmak açısından yeterli değildir. Yazılım çok katıdır
ve anahtarlama hataları yaygındır. Bu da programların hatalarının ayıklamasını zorlaştırır.
2. COBOL (COMMON BUSINESS ORRENTED LANGUAGE)
1960 yıllarda kullanılmaya başlanmıştır. Savunma bakanlığı ortak bir yazılım geliştirmek istediği
için hükümeti ve endüstriyi temsil eden ortak bir komite tarafından geliştirilmiştir. Cobol alfanümerik
karakterlerden oluşmuş büyük veri dosyalarını işlemek ve tekrarlayan işlemler yapmak üzere iş
uygulamaları için geliştirilmiştir. Esas veri yapıları kayıtlar, dosyalar, tablolar ve listelerdir. Karmaşık
matematiksel işlemlerde yetersizdir.
3. BASIC(BEGINNERS ALL-PURPOSE SYMBOLIC INTRUCTIN CODE)
1964 yılında geliştirilmiştir. Üniversitelerde ve mikrobilgisayarlarda en çok kullanılan programlama
dilidir. BASIC envanterden, matematiksel hesaplamalara tüm işlemlerini yapabilir. Kullanımı
kolaydır, bilgisayar kapasitesini iyi kullanılır. BASIC’in zayıf tarafı tüm işlemleri yapabilmesine
rağmen az sayıda işlemi iyi yapabilmesidir. Karmaşık program mantık kontrolleri ya da veri yapıları
yoktur.
4. ASSEMBLY
Bir çok programcı hala program yazmak için bu dili tercih etmektedir. Çünkü bu dil programcının
donanımını daha iyi denetlemesini ve uygulamanın daha verimli olmasını sağlamaktadır. Makine
dili gibi assembly dili de spesifik makine ve mikroişlemciler için tasarlanmıştır. Assembly’de
denetleme şansının fazla olmasına karşın yazmak, hata bulmak ve öğrenmek zordur. Ayrıca
programı yazmak çok uzun sürer. Bu dil günümüzde çoğunlukla sistem yazılımında
kullanılmaktadır.
5. PL / I (PROGRAMMING LANGUAGE I)
IBM tarafından 1964’te geliştirilmiştir. En güçlü genel amaçlı programlama dilidir; çünkü
matematiksel ve iş uygulamalarını kolaylıkla yapabilir, giriş-çıkış işlemlerinde etkindir ve büyük
miktarda veri kullanılabilir.
6. PASCAL
1960’ların sonlarında geliştirilmiş ve 17.yy matematikçisi ve felsefecisi Blaise Pascal’ın ismi
verilmiştir. Pascal programları minimum bilgisayar belleği kullanılarak derlenebilir bu sayede
mikrobilgisayarlarda kullanılabilirler. Pascal program mantığını kontrol etmek için gelişmiş yapısı ve
basit, güçlü komut kümesi nedeniyle özellikle programlama pratiklerini öğretmek için kullanılır.
Program dosya yönetimi ve giriş-çıkış işlemlerinde zayıftır ve başlayanlar açısından kullanımı
zordur.
7. ADA
1980’de ABD savunma bakanlığının bütün uygulamalarına standart getirmesi için geliştirilmiş
yapısal bir programlama dilidir. 19.yy matematikçisi Ada’nın ismi verilmiştir. Ada ilk programcı
olarak kabul edilebilir çünkü hesap makinesi için matematiksel tablolar geliştirilmiştir. Bu dil ilk
olarak silahlar için geliştirilmiştir. Ada hükümet uygulamalarında da kullanılmaktadır. Dil aynı
zamanda genel iş uygulamalarında da kullanılır. Çünkü mikrobilgisayarlarda çalışabilir ve değişik
donanım markalarında kullanılabilir.
8. C
1970’lerde geliştirilmiştir. UNIX işletim sisteminin büyük bir bölümü C’ de yazılmıştır. Assembly
dilinin çalışma özelliklerinin etkinliğini ve kontrolünü taşınabilirlikte birleştirir. Yani bir bilgisayar
yerine çok çeşitli bilgisayarlarda çalışılabilir. Ticari mikrobilgisayar yazılımlarının çoğu C’ de yazılır.
C mini bilgisayar ve mainframe uygulamalarında da destek kazanmaktadır.
9. LISP VE PROLOG
Yapay zeka uygulamalarında kullanılır. LIPS işlemler, değişkenler ve veri değerleri gibi sembollerin
anlamlı listelere konulması temelinde çalışan yüksek seviyeli bir dildir. Prolog ise sembol üretimi
için uygundur ve genel amaçlı bilgisayarlarda çalışabilir.
DÖRDÜNCÜ KUŞAK DİLLER
Dördüncü Kuşak Diller, son kullanıcıların az miktarda teknik yardımla yazılım üretmelerini ya da
profesyonel yazılımcıların üretkenliklerini artırmayı sağlayan yazılım araçları içerirler. Standart
programlama dillerine göre daha az prosedür içerirler ya da prosedür içermezler. Dördüncü Kuşak
Dilleri işin nasıl yapılacağının ayrıntıları yerine ne yapılması gerektiğine ihtiyaç duyarlar. Böylece
bir işi daha az adım ve kodla yapabilir. Dördüncü Kuşak Dilleri yedi kategoriye ayrılır. Sorgu dilleri,
rapor oluşturucular, grafik dilleri, uygulama oluşturucular, yüksek düzey programlama dilleri,
uygulama yazılım paketleri ve mikrobilgisayar araçları.
1. SORGU DİLLERİ
Sorgu dilleri veri tabanlarında ya da dosyalarda saklanan veriyi elde etmek için kullanılan kullanılan
yüksek düzey dillerdir. Genellikle interaktif, online ve daha önceden tanımlanmış bilgi isteklerini
destekleme kapasitesine sahiptirler. Sorgu dilleri basit veya karmaşık seçim kriterleri kullanılarak,
çoklu kayıtlarla ilgili bilgiyi görüntülemek için bir veri tabanında veya dosyada arama yapar.
2. RAPOR OLUŞTURUCULAR
Özelleşmiş raporlar yaratmak için kullanılırlar. Dosyalardan ve veri tabanlarından veri olarak birçok
biçimde rapor üretirler. Rapor oluşturucular verinin biçimlendirilmesi, görüntülenmesi ve
düzenlenmesi işlemlerinde sorgu dillerine göre daha çok kontrol sağlarlar. Daha güçlü rapor
oluşturucular çıkış vermeden önce karmaşık hesaplamalı verileri düzenleyebilirler. Karmaşık ve
güçlü rapor oluşturucular profesyonel bilgi sistem uzmanlarının yardımı olmadıkça son kullanıcılar
için uygun değildir.
3.GRAFİK DİLLERİ
Dosyalardan ve veri tabanlarından veri alarak bunları grafik formatında görüntüler. Bazı grafik
yazılımları veri üzerinde aritmetiksel ve mantıksal işlemler yapabilir. SAS, Harvard Graphics ve
Lotus Freelance Graphics popüler araçlarıdır.
4. UYGULAMA OLUŞTURUCULAR
Uygulama oluşturucular, önceden programlanmış modüller içerir ve uygulamanın bütününü
oluşturup geliştirme işlemini hızlandırırlar. Kullanıcı nelerin yapılması gerektiğini belirler ve
uygulama oluşturucular giriş, değerlendirme, güncelleme, işlem ve raporlama için uygun kodu
üretirler.
5.YÜKSEK DÜZEYLİ PROGRAMLAMA DİLLERİ
Bu diller COBOL ve FORTRAN gibi geleneksel dillere oranla daha az komut kullanarak program
kodu üretmek üzere tasarlanmışlardır. Bu dillerde yazılan programlar ve uygulamalar çok daha kısa
bir sürede geliştirilebilir. Bu diller öncelikle profesyonel programcıların üretkenliğini artırmak için
tasarlanmışlardır. APL ve NOMAD2 bu tip dillere örnektir.
6.UYGULAMA YAZILIM PAKETLERİ
Bu paketler kullanıcıların ya da organizasyonların belli fonksiyonlar için kendi yazılımlarını yazma
gereksinimlerini gidermek için yazılmış ve kodlanmış ticari programlardır. Büyük karmaşık
sistemlerde kullanılan uygulama paketlerinin teknik uzmanlar tarafından yüklenmesi gerektiği
halde, mikrobilgisayarlar için yazılmış paketler doğrudan son kullanıcıya satılır.
YAZILIM VE PROGRAMLAMA DİLİ SEÇİMİ
Hangi dilin seçileceği belirlenirken tüm kriterlerin göz önünde bulunması gerekir. En önemli kriter:
1. UYGUNLUK
Bazı diller genel amaçlıdır ve çeşitli programlarda kullanılabilir, bazıları ise özel amaçlıdır ve bazı
sınırlı işlerde kullanılabilirler. Özel amaçlı grafik programları tablo yaratmada mükemmeldirler, fakat
rutin rapor işlemlerinde çok zayıftırlar. Cobol iş dünyasında veri işlemlerinde mükemmeldir fakat
matematik işlemlerinde zayıftır. Dil seçimi kullanıcının ve kullanımın ayırt edilmesini gerektirir.
2. KARMAŞIKLIK
Yüksek seviyeli diller karmaşık kontrol yapılarını ve veri yapılarını içermelidir. Kontrol yapıları,
okuması ve oluşturması kolay, açık mantıksal yapıdaki programların dış yapısını oluştururlar.
Herhangi bir dil tablo yapısına sahip olsa bile, bir tablo yaratıp daha sonra içindeki değerlere
bakma mümkün olmayabilir. Diller birçok veri yapısını destekleyecek şekilde seçilmelidir.
3.ORGANIZASYONEL DÜŞÜNCE
Bir dilin etkili olması için kullanıcı için çabuk öğrenilebilir olması gerekmektedir. Oluşturulması ve
değerlendirilmesi kolay ve organizasyonla birlikte büyüyebilecek kadar esnek olmalıdır.
4. DESTEK
Bir yazılım satın alınırken başka organizasyonlar tarafından geniş bir kullanıma sahip, destek veren
firmalar ve servisler tarafından kontrol edilmiş olması önemlidir. Desteğin diğer bir türü ise yazılımın
hatalarının ayıklanmasının ve geliştirme yardımlarının kullanışlı olmasıdır. Bu yüzden birçok
organizasyon Cobol kullanmaktadır. Aynı şey ADA için geçerli değildir.
5. ETKİNLİK
Bir yazılım satın alınırken o dilin derlendiğinde ve çalıştığında kalan performansının etkinliği
önemlidir. Bazı programlama dilleri makine zamanı kullanma açısından daha etkindir. Örneğin PL/I
hafızada daha büyük yere gereksinim duyarken Pascal ve Basic daha az yer kaplarlar. Birim hafıza
başına düşen makine fiyatı düşerken, makine zamanında etkin olmayan fakat programlama
zamanında etkin olan dillerin önemi giderek artmaktadır.
Abc
APL
WHILE (1=1) :
WRITE "Merhaba "
'MERHABA'
Ada
ALGOL
with Text_Io; use Text_Io;
procedure hello is
begin
put ("Merhaba!");
end hello;
BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "MERHABA!";
WHILE TRUE DO
BEGIN
WRITE (F, *, E);
END;
END.
Ada windows
Applescript
with Winuser; use Winuser;
procedure Hello is
I : Integer;
begin
I := MessageBox (0,
STRING("Merhaba!”),
CSTRING(""), MB_OK);
end Hello;
tell application "Scriptable Text Editor"
make new window
activate
set contents of window 1 to
"Merhaba!" & return
end tell
Assembly Language for the IBM-PC
MOS6510 assembly on a C=64
title Merhaba Pgm
; This program displays "Merhaba"
dosseg
.model small
.stack 100h
.data
hello_message db 'Hello, World!',0dh,0ah,'$'
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset hello_message
int 21h
mov ax,4C00h
int 21h
main endp
end main
reset
LDX #$00
cycle
LDA hworld,X
BEQ reset
STX cache
JSR $FFD2
LDX cache
INX
JMP cycle
hworld
.text "Hello, World!"
.byte 13,0
cache
.byte 0
awk
Basic
BEGIN {
for (;;) {
printf("Merhaba ")
}}
10 print"Merhaba!"
20 goto 10
C
C++
#include <stdio.h>
main()
{
for(;;)
{
printf ("Merhaba!\n");
}}
#include &ltiostream.h>
main()
{
for(;;)
{
cout << "Merhaba! ";
}}
COBOL
Eiffel
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLOWORLD.
DATE-WRITTEN. 02/05/96 21:04.
AUTHOR BRIAN COLLINS
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. RM-COBOL.
OBJECT-COMPUTER. RM-COBOL.
DATA DIVISION.
FILE SECTION.
PROCEDURE DIVISION.
MAIN-LOGIC SECTION.
BEGIN.
DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
DISPLAY "HELLO, WORLD." LINE 15 POSITION 10.
STOP RUN.
MAIN-LOGIC-EXIT.
EXIT.
class HELLO_WORLD
creation
make
feature
make is
local
io:BASIC_IO
do
!!io
io.put_string("%N Merhaba!!!!")
end --make
end -- class HELLO_WORLD
...and then the program to run the hello_world class
(hello_prog.pdl)
program hello_prog
root
HELLO_WORLD: "make"
cluster
"./"
end
include "$EIFFEL_S/library/lib.pdl"
end -- hello_prog
In case you are interested, this program took
(approximately) five minutes to compile and generated
an executable of around about 2 Meg in size.
postscript
Oberon
%!PS
1.00000 0.99083 scale
/Courier findfont 12 scalefont setfont
0 0 translate
/row 769 def
85 {/col 18 def 6 {col row moveto (Hello
World)show /col col 90 add def}
repeat /row row 9 sub def} repeat
showpage save restore
(* This is designed to run Under Oberon V4 *)
MODULE Hello;
IMPORT Oberon, Texts;
VAR W: Texts.Writer;
PROCEDURE World*;
BEGIN
Texts.WriteString(W, "Merhaba!");
Texts.WriteLn(W);
Texts.Append(Oberon.Log, W.buf);
END World;
BEGIN
Texts.OpenWriter(W);
END Hello.
forth
Fortran
: hello
begin
true
while
." Merhaba "
repeat
;
hello
c
c Hello, world.
c
Program Hello
implicit none
logical DONE
DO while (.NOT. DONE)
write(*,10)
END DO
10 format('Hello, world.')
END
HTML
CP/M M80
<HTML>
<HEAD>
<TITLE>Hello, World Page!</TITLE>
</HEAD>
<BODY>
Hello, World!
</BODY>
</HTML>
Title "Hello, World!"
;
; Program: HELLOW.MAC
; Author: Brian K. Durham[[email protected]]
; Date: 3-21-96
; Enviroment: M80(MS Macro Assembler) source for CP/
M
;
ORG 0100H
Print: LD HL,10H
PUSH HL
LOOP:
LD DE,MSG
LD C,09H ; CP/M write string to
console
CALL 0005H
POP HL ; Get loop counter
DEC HL ; and decriment it
PUSH HL ; Put back on stack
LD A,L
JR NZ, LOOP ; Loop while not zero
POP HL ; Clean up stack
LD C,00H ; CP/M reset call - shut down
CALL 0005H
HALT ; This code is never reached
MSG:
TEXT "Hello, World!"
DB 0Ah
DB "$" ; Line terminator
ENDM Print
HyperTalk
Java
on OpenStack
show message box
put "Merhaba!" into message box
end OpenStack
class HelloWorld {
public static void main (String args[ ]) {
for (;;) {
System.out.print("Merhaba ");
}}}
JavaScript
LaTeX
<TITLE>
Merhaba in JavaScript
</TITLE>
<SCRIPT>
document.write ("Hello, world!")
</SCRIPT>
\documentclass{article}
\begin{document}
\begin{center}
\Huge{MERHABA}
\end{center}
\end{document}
Lisp
Mathematica
; LISP
(DEFUN HELLO-WORLD ()
(PRINT (LIST 'HELLO 'WORLD)))
While[True, Print["Hello, world!"]]
Modula-2
PL/1
MODULE hello;
FROM InOut IMPORT writestring, writeln;
begin
WriteString("Hello, world!");
Writeln;
end hello.
HELLO: PROCEDURE OPTIONS (MAIN);
/* A PROGRAM TO OUTPUT MERHABA */
FLAG = 0;
PUT SKIP DATA('MERHABA!');
END HELLO;
Pascal
Perl
Program Hello (Input, Output);
Begin
Writeln ('Merhaba!');
End.
print "Hello, World!\n" while (1);
Prolog
RPG II
% MERHABA. Works with Sbp (prolog)
hello :printstring("MERHABA!!!!").
printstring([]).
printstring([H|T]) :- put(H), printstring(T).
H
FSCREEN O F 80 80 CRT
C EXCPT
OSCREEN E 1
O 12 'MERHABA!'
Simula
SNOBOL4 & SPITBOL
Begin
while 1 = 1 do begin
outtext ("Merhaba!");
outimage;
end;
End;
OUTPUT = 'Merhaba!'
END
Smalltalk
tcl
Transcript show:'Merhaba';cr
while {1} {
puts "Merhaba " }
TeX
TI-82 (Graphical Calculator)
\font\HW=cmr10 scaled 3000
\leftline{\HW Merhaba}
\bye
:OUPUT(1,1,”MERHABA!”)
VRML
#VRML V1.0 ascii
AsciiText {string "Hello, world !"justification LEFT}

Benzer belgeler

Bilgisayar Programlama Dilleri

Bilgisayar Programlama Dilleri Makine Dilleri Düşük Seviye Orta Seviye Yüksek Seviye

Detaylı