Programlama dilleri nasıl yazıldı ?

  • Konuyu başlatan Mert Özdemir
  • Başlangıç Tarihi
  • Mesaj 4
  • Görüntüleme 7B
M

Mert Özdemir

Ziyaretçi
Arkadaşlar hep merak etmişimdir programlama dilleri nasıl yazılıdı assembler mi ne vardı o nasıl yazıldı onu çok merak ediyorum. Birde hemen bilgisayarı çalıştırınca Dos ekranı mı geldi ? Programlama dilleri dos ile yapıldıysa dos nasıl anladı ? Çok sordum özür dilerim :/
 
Assembly ile programlanmış. Ne kadar zor olduğunu tahmin ediyorsundur sanırım :)

MS-DOS - Wikipedia, the free encyclopedia

Assembly makine dili olduğundan onu oluşturmak için de bir dil yapıldığını sanmıyorum. Artık geriye sadece Assembler komutlarını işlemcinin anlayacağı dile çevirecek komut setleri gerekiyordu.
 
Arkadaşlar hep merak etmişimdir programlama dilleri nasıl yazılıdı assembler mi ne vardı o nasıl yazıldı onu çok merak ediyorum. Birde hemen bilgisayarı çalıştırınca Dos ekranı mı geldi ? Programlama dilleri dos ile yapıldıysa dos nasıl anladı ? Çok sordum özür dilerim :/

Şu yazıyı okuyabilirsiniz:

Programlama dili ne demektir? (What is the programming language?)

Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.

Şu ana kadar 2000´in üzerinde programlama dili tasarlanmıştır. Bunlardan bazıları Assembly, Pascal, BASIC, C, C++, C#, Java, JavaScript, COBOL, Perl, Python, Ruby, PHP, Ada, Fortran, Delphi, Objective-C ve Swift örnek olarak gösterilebilir. Programlama dillerinin daha geniş bir listesine (tam değil) aşağıda ki bağlantıdan ulaşabilirsiniz:


Programlama dillerinin uygulanması (Implementation of programming languages)

Donanım ve yazılımın bir veya daha fazla yapılandırması o programı çalıştırmak için bir tür yol sağlar. Programlama dili uygulamasında üç farklı yaklaşım vardır: çevirici (assembler), derleme (compile) ve yorumlama (interpreter).

Genellikle donanım (hardware) üzerinde çalışanlar yazılım (software) üzerinde yorumlananlardan daha hızlıdır. Yorumlanan programların performansını geliştirmek için anında derleme (just-in-time compilation) programları kullanılır. Derleyiciden gelen çıktı ya donanım tarafından doğrudan (makine koduna derlenmiş yazılımlar), ya da yorumlayıcı diye adlandırılan bir alt katmanda çalışan yazılımlar tarafından yorumlanarak dolaylı bir şekilde çalıştırılır.

Cihaza komut göndermeyi sağlayan, verileri cihaza aktarma stilidir. Şu anda hemen hemen bütün programlama dilleri İngilizce´dir. Bazı uygulamaların dili ise İspanyolca olarak kullanılmaya başlanmıştır. Ancak kullanımları yaygın değildir.

Yazılımların sınıflandırılması (Classifications of softwares)

Yazılım uygulama alanlarına göre çeşitli gruplara ayrılabilir:

  1. Bilimsel yazılımlar ve mühendislik yazılımları: Bilimsel konularda ve mühendislik uygulamalarında ki problemlerin çözülmesinde kullanılan yazılımlardır. Bu tür yazılımlarda veri miktarı göreli olarak düşüktür ancak matematiksel ve istatistiksel algoritmalar yoğun olarak kullanılır. Böyle programlar ağırlıklı olarak hesaplamaya yönelik işlemler içerir ve bilgisayarın merkezi işlem birimini (CPU) yoğun bir biçimde kullanır. Elektronik devrelerin çözümünü yapan programlar ve istatistik analiz paketleri bu tür programlara örnek olarak verilebilir.
  2. Uygulama yazılımları: Veri tabanı ağırlıklı yazılımlardır. Genel olarak verilerin oluşturulması, işlenmesi ve dosyalar da saklanması (yani depolanması) ile ilgilidir. Bu tür programlara örnek olarak stok kontrol (stock control) programları, müşteri izleme programları, muhasebe programları verilebilir.
  3. Yapay zeka (artificial intelligence) yazılımları: İnsanın düşünsel ya da öğrenmeye yönelik davranışlarını taklit eden yazılımlardır. Örnek olarak robot yazılımları (robotic softwares), satranç (chess) ya da briç oynatan programlar vs. verilebilir.
  4. Görüntüsel yazılımlar: Görüntüsel işlemlerin ve algoritmaların çok yoğun olarak kullanıldığı programlardır. Örnek olarak oyun (game) ve canlandırma (animation) yazılımları verilebilir. Bu tür yazılımlar ağırlıklı olarak bilgisayarın grafik arabirimini (yani GPU´yu) kullanır.
  5. Simülasyon yazılımları (simulation softwares): Bir sistemi bilgisayar ortamında simüle etmek için kullanılan yazılımlardır.
  6. Sistem yazılımları (system softwares): Bilgisayarın elektronik yapısını yöneten yazılımlardır. Derleyiciler, haberleşme programları, işletim sistemleri (operating systems) birer sistem yazılımıdır. Örneğin bir metin işleme programı da bir sistem yazılımıdır. Bu yazılımlar, uygulama programlarına göre daha düşük düzeyli işlemler (low-level operations) gerçekleştirirler.

Makine kodu nedir? (What is the machine code?)

Makine kodu ya da makine dili mikroişlemci ya da mikrodenetleyici gibi komut işleme yeteneğine sahip entegrelerin işleyebilecekleri, yapısına göre değişebilen ama genellikle her biri 8 adet 0-1'den (bit) ibaret komutlardan oluşan dile verilen addır.

Her bir komutun mnemonic olarak adlandırılan bir tanımı ve op code olarak adlandırılan bir sayı karşılığı vardır. Mnemonic'ler, o op kodun ne işe yaradığını hatırda tutmaya yarar. Örneğin Z-80 mikroişlemcisinde bir alt yordamı çağırmak için kullanılan komutun mnemonic'i Call NN´dir ve program yazarken Call NN mnemonic'inin op code'u olan “205” sayısı programa konur. Yani bir makine dili program 205 14 45 195 22 15 gibi ardışık sayılardan, daha doğrusu bu sayıların binary karşılığı olan 0 ve 1'lerden oluşur.

Makine dili, işlemcinin verilen komutlar doğrultusunda çalıştırılmasını sağlayan ve işlemci mimarisine göre değişen en alt seviyedeki programlama dilidir. Bu dil sadece 0 ve 1 binary ikililerinin anlamlı kombinasyonlarından meydana gelmektedir. 0 ve 1 ikilileri işlemcinin talimat seti doğrultusunda işleme uygulanacak operasyon, operasyonun gerçekleştirileceği verinin hafızada bulunduğu adres ve hafızaya ulaşım yolları gibi bilgileri ifade edecek şekilde bir araya gelmekte ve işlemci tarafından kodu çözülerek gerekli işlemin yerine getirilmesi sağlanmaktadır. Diğer programlama dillerin gerektirdiği derleyici ya da yorumlayıcı kullanımını gerektirmediğinden ve donanımı doğrudan kontrol etme gücü olduğundan kullanılır.

Kullanılan işlemcinin komut setinden ibaret olan makine dili komutları donanıma bağımlıdır. Günümüzde kullanılan i386 (32 bit intel) ve i486 gibi işlemci standartlarının her birine ait birer komut seti bulunmaktadır. Bu komut seti yalnız o mimariye yöneliktir. Bunun temelinde yatan asıl sebep işlemcinin hafıza birimi üzerinden okuduğu bir veri parçasının (bir ya da birkaç bayt) işlemciye bir emir teşkil edecek bir ifade olabilmesi için bu veri parçasının işlemci üzerinde donanımsal olarak bir işleme karşılık gelmesi gerekliliğinden kaynaklanır.

Makine diline "birinci kuşak programlama dili" denir. Genellikle ikinci kuşak programlama dili olan Assembly ile karıştırılır. Assembly'de op code'lar yerine mnemonic'ler yazılır. Bu sayede programlar insan açısından anlaşılır olur. Daha sonra assembler denen bir program kullanılarak, yazılan bu assembly program, makine diline çevrilerek kullanılabilir.

Makine kodundan (machine code), simgesel makine dillerine (assembly languages) geçiş

Bir programlama dilinin seviyesi (level) o programlama dilinin insan algısına ya da makineye yakınlığının ölçüsüdür. Bir programlama dili insan algılasına ne kadar yakınsa o kadar yüksek seviyeli (high level) demektir. Yine bir programlama dili bilgisayarın elektronik yapısına ve çalışma biçimine ne kadar yakınsa o kadar düşük seviyeli (low level) demektir.

Bilgisayarın işlemcisinin anladığı bir "komut takımı" (instruction set) vardır. İşlemci yalnızca kendi komut takımı içinde yer alan komutları çalıştırabilir. Programlama dilinde yazılan metin, bazı süreçler sonunda bilgisayarın işlemcisinin komut takımında yer alan komutlara dönüştürülür.

Yüksek seviyeli dillerle çalışmak programcı açısından kolaydır, iyi bir algoritma bilgisi gerektirmez. Bu dillerde yalnızca nelerin yapılacağı programa bildirilir ama nasıl yapılacağı bildirilmez. Genel olarak programlama dilinin düzeyi yükseldikçe, o dilin öğrenilmesi ve o dilde program yazılması kolaylaşır.

Makine dili bilgisayarın doğal dilidir, bilgisayarın donanımsal tasarımına bağlıdır. Bilgisayarların geliştirilmesiyle birlikte onlara iş yaptırmak için kullanılan ilk diller, makine dilleri olmuştur. Bu yüzden makine dillerine birinci kuşak diller de denir. Makine dilinin programlarda kullanılmasında karşılaşılan iki temel sorun vardır. Makine dilinde yazılan kodlar doğrudan makinenin işlemcisine, donanım parçalarına verilen komutlardır. Değişik bir CPU kullanıldığında ya da bellek düzenlemesi farklı bir şekilde yapıldığında artık program çalışmaz, programın yeniden yazılması gerekir. Çünkü makine dili yalnızca belirli bir CPU ya da CPU serisine uygulanabilir. Makine dili taşınabilir (portable) değildir. Diğer önemli bir sorun ise, makine dilinde kod yazmanın çok zahmetli olmasıdır. Yazmanın çok zaman alıcı ve uğraştırıcı olmasının yanı sıra yazılan programı okumak ya da algılamak da o denli zordur. Özellikle program boyutu büyüdüğünde artık makine dilinde yazılan programları geliştirmek, büyütmek, iyice karmaşık bir hale gelir. Başlangıçta yalnızca makine dili vardı. Bu yüzden makine dilleri 1. kuşak diller olarak da isimlendirilir. Yazılımın ve donanımın tarihsel gelişimi içinde makine dilinden, insan algılamasına çok yakın yüksek seviyeli dillere (4. kuşak diller) kadar uzanan bir süreç söz konusudur.

1950'li yılların hemen başlarında makine dili kullanımının getirdiği sorunları ortadan kaldırmaya yönelik çalışmalar yoğunlaştı. Bu yıllarda makine dillerinde yazılan programlar bilgisayarın çok sınırlı olan belleğine yükleniyor, böyle çalıştırılıyordu. İlk önce makine dilinin algılanma ve anlaşılma zorluğunu kısmen de olsa ortadan kaldıran bir adım atıldı. Simgesel makine dilleri geliştirildi. Simgesel makine dilleri (Assembly Languages) makine komutlarından birkaç tanesini paketleyen bazı kısaltma sözcüklerden, komutlardan
oluşuyordu. Simgesel makine dillerinin kullanımı kısa sürede yaygınlaştı. Ancak simgesel makine dillerinin makine dillerine göre çok önemli bir dezavantajı söz konusuydu. Bu dillerde yazılan programlar makine dilinde yazılan programlar gibi bilgisayarın belleğine yükleniyor ancak programın çalıştırılma aşamasında yorumlayıcı (interpreter) bir program yardımıyla simgesel dilin komutları, bilgisayar tarafından komut komut makine diline çevriliyor ve oluşan makine kodu çalıştırılıyordu. Yani bilgisayar, programı çalışma aşamasında önce yorumlayarak makine diline çeviriyor, daha sonra makine diline çevrilmiş komutları yürütüyordu. Programlar bu şekilde çalıştırıldığında neredeyse 30 kat yavaşlıyordu.

Bu dönemde özellikle iki yorumlayıcı program öne çıkmıştı: John Mauchly'nin UNIVAC 1 için yazdığı yorumlayıcı (1950) ve John Backus tarafından 1953 yılında IBM 701 için yazılan "Speedcoding" yorumlama sistemi. Bu tür yorumlayıcılar, makine koduna göre çok yavaş çalışsalar da programcıların verimlerini artırıyorlardı. Ama özellikle eski makine dili programcıları, yorumlayıcıların çok yavaş olduklarını, yalnızca makine dilinde yazılan programlara gerçek program denebileceğini söylüyorlardı.

Bu sorunun da üstesinden gelindi. O zamanlar için çok parlak kabul edilebilecek fikir şuydu: Kodun her çalıştırılmasında yazılan kod makine diline çevrileceğine, geliştirilecek bir başka program simgesel dilde yazılan kodu bir kez makine diline çevirsin ve artık program ne zaman çalıştırılmak istense, bilgisayar, yorumlama olmaksızın yalnızca makine kodunu çalıştırsın. Bu fikri Grace Hopper geliştirmişti. Grace Hopper'ın buluşuna "compiler" derleyici ismi verildi. (Grace Hopper aynı zamanda Cobol dilini geliştiren
ekipten biridir, bug(böcek) sözcüğünü ilk olarak Grace Hopper kullanmıştır.) Artık programcılar, simgesel sözcüklerden oluşan Assembly programlama dillerini kullanıyor, yazdıkları programlar derleyici tarafından makine koduna dönüştürülüyor ve makine kodu eski hızından bir şey yitirmeksizin tam hızla çalışıyordu. Assembly diller 2. kuşak diller olarak tarihte yerini aldı.

Assembly dillerinin kullanılmaya başlamasıyla bilgisayar kullanımı hızla arttı. Ancak en basit işlemlerin bile bilgisayara yaptırılması için birçok komut gerekmesi, programlama sürecini hızlandırma ve kolaylaştırma arayışlarını başlattı, bunun sonucunda da daha yüksek seviyeli programlama dilleri geliştirilmeye başlandı.

Tarihsel süreç içinde Assembly dillerinden daha sonra geliştirilmiş ve daha yüksek seviyeli diller 3. kuşak diller sayılır. Bu dillerin hepsi algoritmik dillerdir. Bugüne kadar geliştirilmiş olan yüzlerce yüksek seviyeli programlama dilinden pek azı bugüne kadar varlıklarını sürdürebilmiştir. 3. kuşak dillerin hemen hemen hepsi üç ana dilden türetilmiştir. 3. kuşak dillerin ilkleri olan bu üç dil halen varlıklarını sürdürmektedir:

  1. FORTRAN dili (FORmula TRANslator) karmaşık matematiksel hesaplamalar gerektiren mühendislik ve bilimsel uygulamalarda kullanılmak üzere 1954 - 1957 yılları arasında IBM firması için John Backus tarafından geliştirildi. FORTRAN dili, yoğun matematik hesaplamaların gerektiği bilimsel uygulamalarda halen kullanılmaktadır. FORTRAN dilinin FORTRAN IV ve FORTRAN 77 olmak üzere iki önemli sürümü vardır. Doksanlı yılların başlarında FORTRAN - 90 isimli bir sürüm için ISO ve ANSI standartları kabul edilmiştir. FORTRAN dili, 3. kuşak dillerin en eskisi kabul edilir.
  2. COBOL (COmmon Business Oriented Language) 1959 yılında, Amerika'daki bilgisayar üreticileri, özel sektör ve devlet sektöründeki bilgisayar kullanıcılarından oluşan bir grup tarafından geliştirildi. COBOL'un geliştirilme amacı, veri yönetiminin gerektiği ticari uygulamalarda kullanılacak taşınabilir bir programlama dili kullanmaktı. COBOL dili de halen yaygın olarak kullanılıyor.
  3. ALGOL (The ALGOritmick Language) 1958 yılında Avrupa'da bir konsorsiyum tarafından geliştirildi. IBM Firması FORTRAN dilini kendi donanımlarında kullanılacak ortak programlama dili olarak benimsediğinden, Avrupa'lılar da seçenek bir dil geliştirmek istemişlerdi. ALGOL dilinde geliştirilen birçok tasarım özelliği, modern programlama dillerinin hepsinde kullanılmaktadır. 60'lı yılların başlarında programlama dilleri üzerinde yapılan çalışmalar yapısal programlama kavramını gündeme getirdi.
  4. PASCAL dili 1971 yılında akademik çevrelere yapısal programlama kavramını tanıtmak için Profesör Niclaus Wirth tarafından geliştirildi. Dilin yaratıcısı, dile matematikçi ve filozof Blaise Pascal'ın ismini vermiştir. Bu dil, kısa zaman içinde üniversitelerde kullanılan programlama dili durumuna geldi. Pascal dilinin ticari ve endüstriyel uygulamaları desteklemek için sahip olması gereken bir takım özelliklerden yoksun olması, bu dilin kullanımını kısıtlamıştır. Modula ve Modula-2 dilleri Pascal dili temel alınarak geliştirilmiştir.
  5. BASIC dili 1960'lı yılların ortalarında John Kemeney ve Thomas Kurtz tarafından geliştirildi. BASIC isminin "Beginner's All Purpose Symbolic Instruction Code" sözcüklerinin baş harflerinden oluşturulduğu söylenir. Yüksek seviyeli dillerin en eski ve en basit olanlarından biridir. Tüm basitliğine karşın, birçok ticari uygulamada kullanılmıştır. BASIC dili de ANSI tarafından standartlaştırılmıştır. Ancak BASIC dilinin ek
  6. özellikler içeren sürümleri söz konusudur. Örneğin Microsoft firmasının çıkarttığı Visual Basic diline nesne yönelimli programlamaya ilişkin birçok özellik eklendi. Daha sonra bu dil Visual Basic dot Net ismini aldı. Ayrıca BASIC dilinin bazı sürümleri uygulama programlarında -örneğin MS Excel ve MS Word programlarında- kullanıcının özelleştirme ve otomatikleştirme amacıyla yazacağı makroların yazılmasında kullanılan programlama dili olarak da genel kabul gördü.
  7. ADA dili ise Amerikan Savunma Departmanı (Department of Defence -DoD) desteği ile 70'li yıllardan başlanarak geliştirildi. DoD, dünyadaki en büyük bilgisayar kullanıcılarından biridir. Bu kurum farklı yazılımsal gereksinimleri karşılamak için çok sayıda farklı programlama dili kullanıyordu ve tüm gereksinmelerini karşılayacak bir dil arayışına girdi. Dilin tasarlanması amacıyla uluslararası bir yarışma düzenledi. Yarışmayı kazanan şirket (CII-Honeywell Bull of France) Pascal dilini temel alarak başlattığı çalışmalarının sonucunda Ada dilini geliştirdi. Ada dilinin dokümanları 1983 yılında yayımlandı. Ada ismi, düşünür Lord Byron'un kızı olan Lady Ada Lovelace'ın ismine göndermedir. Ada Lovelace delikli kartları hesap makinelerinde ilk olarak kullanılan Charles Babbage'in yardımcısıydı. Charles Babbage hayatı boyunca "Fark Makinesi" (Difference Engine) ve "Analitik Makine" (Analytical Engine) isimli makinelerin yapımı üzerinde çalıştı ama bu projelerini gerçekleştiremeden öldü. Yine de geliştirdiği tasarımlar modern bilgisayarların atası kabul edilir. Ada Lovelace, Charles Babbage'ın makinesi için delikli kartları ve kullanılacak algoritmaları hazırlıyordu. Lovelace'in 1800'lü yılların başında ilk bilgisayar programını yazdığı kabul edilir. Ada genel amaçlı bir dildir, ticari uygulamalardan roketlerin yönlendirilmesine kadar birçok farklı alanda kullanılmaktadır. Dilin önemli özelliklerinden biri, gerçek zaman uygulamalarına (real-time applications / embedded systems) destek vermesidir. Başka bir özelliği de yüksek modüler yapısı nedeniyle büyük programların yazımını kolaylaştırmasıdır. Ancak büyük, karmaşık derleyicilere gereksinim duyması; C, Modula-2 ve C++ dillerine karşı rekabetini zorlaştırmıştır.

Çok yüksek seviyeli ve genellikle algoritmik yapı içermeyen programların görsel bir ortamda yazıldığı diller ise 4. kuşak diller olarak isimlendirilirler. Genellikle 4GL (fourth generation language) olarak kısaltılırlar. İnsan algısına en yakın dillerdir. RPG dili 4. kuşak dillerin ilki olarak kabul edilebilir. Özellikle küçük IBM makinelerinin kullanıcıları olan şirketlerin, rapor üretimi için kolay bir dil istemeleri üzerine IBM firması tarafından geliştirilmiştir.

Programlama dilleri düzeylerine göre bazı gruplara ayrılabilir:

  • Çok yüksek düzeyli diller ya da görsel diller ya da ortamlar (visual languages): Access, Foxpro, Paradox, Xbase, Visual Basic, Oracle Forms.
  • Yüksek düzeyli diller. Fortran, Pascal, Basic, Cobol.
  • Orta düzeyli programlama dilleri: Ada, C. (Orta seviyeli diller daha az kayıpla makine diline çevrilebildiğinden daha hızlı çalışır.)
  • Düşük düzeyli programlama dilleri: Simgesel makine dili (Assembly language).
  • Makine dili: En aşağı seviyeli programlama dili. Saf makine dili tamamen 1 ve 0 lardan oluşur.

Sembolik makine dilleri nedir? (What is the Assembly languages?)

Çevirme dili
, Assembly dili (İngilizce´si: assembly language) ya da sembolik makine kodu, bir bilgisayarda tüm işlemleri işlemci gerçekleştirir ve işlemcinin de, makine dili denen kendine has bir dili vardır. İşlemci yalnızca bu dili anlar ve bu dili kullanarak anlaşırsınız. Fakat bu dili öğrenmek ve kullanmak çok zordur. Bu nedenle insanların anlayabileceğimiz bir dilde konuşup ardından işlemcinin diline çeviren yazılımlar geliştirilmiştir. Bunlara derleyici denir. Derleyiciler de bir dile sahiptir fakat işlemcinin diline göre çok daha kolaydır. İşte bu derleyici dillerinden biri de Assembly'dir. Çevirici dil, bilgisayar programlarının yazılmasında kullanılan alt seviyeli bir dildir. Assembly dili programlarının yazılımında insan dostu sembollerin (İngilizce “mnemonics”) kullanılması, daha fazla hataya yatkın ve zaman alıcı ilk bilgisayarlarda kullanılmış olan bir hedef bilgisayarının sayısal makine kodunda doğrudan programlama çalışmasının yerine geçmiştir. Bir assembly dil programı çevirici (İngilizce “assembler”) olarak adlandırılan faydalı bir program tarafından hedef bilgisayarın makine koduna çevrilir. (Bir çevirici bir derleyiciden (compiler) farklıdır ve genellikle “mnemonic” ifadelerden makine komutlarına teke tek (izomorfik) çeviriler yapar.)

Assembly dili karmaşık programlar yazmak için kullanılan düşük seviyeli bir programlama dilidir. Assembly insanlar tarafından anlaşılması zor olan makine dilinin sayısal ifadelerini, insanlar tarafından anlaşılarak programlanması daha kolay olan alfabetik ifadelerle değiştirerek düşük seviyede programlama için bir ortam oluşturur. Assembly kullanmanın amacı, ilk bilgisayarlarda yazılan programların daha az hata içermesi ve daha az zaman almasını sağlamaktır.

Assembly dilini makine koduna çeviren programlara assembler denir. Bir assembler'ı derleyiciden ayıran en önemli özellik birebir dönüşüm yapmasıdır. Derleyiciler kodun tamamını okurlar ve kodun tamamını anlamlı bir programa dönüştürürler. Kodun her satırını tek tek okuyan ve uygulayan programlara ise yorumlayıcı denir.

Assembly dil programları, genellikle platformdan bağımsız olan yüksek seviyeli programlama dillerinin aksine bir hedef bilgisayar mimarisine sıkı sıkıya bağlıdır ( ve bu bilgisayara özeldir). Çok fazla sofistike olan çeviriciler programın gelişmesini kolaylaştırmak, çeviri işlemini kontrol etmek ve hataların düzeltilmesine yardımcı olmak amacıyla mekanizmalar kullanarak program komutlarının temel çevirisini genişletir.

Assembly dili bir zamanlar programlamada çok fazla kullanılmaktaydı, ancak günümüzde daha az kullanılma eğilimindedir, öncelikle doğrudan donanım manipülasyonunun veya anormal performans hususları söz konusu olduğu zaman bu dil kullanılmaktadır. Tipik uygulamaları cihaz sürücüleri, alt seviyeli dahili (embedded) sistemleri ve gerçek zaman uygulamalarıdır.
 
Programlama dilleri birbiri üstüne yazılarak devam eden bir soya ağacıdır örnek vermek gerekirse C -> C++ -> C# tarzında sürekli üst üste eklenerek yeni syntax yapıları ile ilerlemiştir. Tüm dillerin en atası makine dilidir. O sebeple derlenen herhangi bir kod makine diline çevrilip çalıştırılır. Assembley makine dilinin zor olmasından dolayı daha esnek bir programlama dili olarak çıkmıştır diğer diller assembleyi takip ederek evrim geçirmiştir.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Geri
Yukarı