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 <iostream.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[bdurham@metronet.com] ; 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}