http___programarcadegames.com_index.php_chapter_what_is_a_computer_language_lang_tr_3.xml
1.1 2.1 3.1 3.2 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 11.2 11.3 12.1 13.1 14.1 14.2 15.1 16.1 17.1 18.1 19.1 20.1 21.1 22.1 22.2 23.1
Chapter 02 Worksheet Return to worksheet index. - Give an example of a binary number. (While a number such as ``1'' can be a binary, decimal, and hexadecimal number, try coming up with an example that better illustrates the differences between the different bases of numbers.) - Give an example of a decimal number. - Give an example of a hexadecimal number. - Convert the numbers 1, 10, 100, 1000, and 10000 from binary to decimal. - What is a compiler? - What is source code? - What is machine language? (Don't just say binary. That's not correct.) - What is a first generation language? - What is a second generation language? - What is a third generation language? (Explain, don't just give one example.) - What is an interpreter and how does it differ from a compiler? - Search the web and find some of the most popular programming languages. List the website(s) you got the information from and what the languages are. - Look at the job boards and see what languages people are looking for. List the languages and the job board you looked at. - What is the difference between the ``syntax'' and ``semantics'' of a language? - Pick a piece of technology, other than a computer you use regularly. Briefly describe the hardware and software that run on it.
1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 11.1 12.1 13.1 14.1 15.1 16.1 17.1 18.1 19.1 20.1 21.1 22.1 23.1 24.1 25.1 26.1 27.1 28.1 29.1 30.1 31.1 32.1 33.1 34.1 35.1 36.1 37.1 38.1 39.1 40.1 41.1 42.1 43.1 44.1 45.1 46.1
Arcade Türü Oyun Programlamayıve Bilgisayar Bilimleri Öğrenin Chapter 2: Bilgisayar Dili Nedir? Bilgisayar dilleri ne yapar? Neden bilgisayarlarda onlar var? Neden çok fazla sayıda ve farklı programlama dili vardır? Nasıl araba sürebilmek için motorun nasıl çalıştığını anlamak gerekli değilse, basit programlama işleri için de bu soruların cevaplarını anlamak gerekli değildir. Ancak, ileri seviyeye doğru yol alındığında, bir bilgisayarın nasıl çalıştığını anlamak önemlidir. Bu bölüm, başlayabilmek için kısa bir açıklama içerir. 2.1 Programlamanın kısa tarihi Bilgisayarlar elektroniktir, ayrıca dijitaldirler. Bir bilgisayar için her şey, bir kablo boyunca gerilim(voltaj) olmasından veya olmamasından ibaretttir. Voltaj olmaması bilgisayar için sıfır demektir, herhangi bir voltaj değeri olması ise bir anlamına gelir. Aslında, bilgisayarlar sıfır ve birlerin yanyana gelmesinden daha fazlasını hesaplayamazlar. In the early days, switches were used to load ones or zeros into computer memory. The figure below, courtesy of Wikimedia Commons, shows an Altair 8800. The front panel switches were used to load in the program. The lights showed the output. There was no monitor. İlk zamanlarda, bilgisayarlara bir ve sıfırları yükleyebilmek için anahtarlar kullanılıyordu. Alttaki şekil, Wikimedia Commons'un izniyle, Altair 8800'ı göstermektedir. Düğmelerin her açılı/kapatılması bir sayıyla temsil edilir. Her sayı bilgisayara işlenmesi için bir veri veya talimat içerir. Sadece sıfır ve birlerden oluşan bu sistemler ikilik sayı sistemi olarak adlandırılır. Bu tür bilgisayar dili 1GL ya da birinci nesil programlama dili olarak adlandırılır. İkilik sistemde sayılar genellikle dörtlü gruplarla temsil edilir. Örneğin: Onaltılık(hegzadesimal) kodların kullanılmaya başlanması, programların anahtarlarla girilmesinde bir gelişme olmuştu. Onluk sayılar birçok insanın kullandığı 0-9 rakamlarını içerir. Onaltılık sayılar 0-9 sayılarını ve dört anahtarı veya 0-15 arası numaraları temsil etmek için A-F'yi içerir. Alttaki video sayma sistemini biraz daha fazla açıklıyor: Program girişini kolaylaştırma amacıyla, sonraki bilgisayarlarda programların assembly dili ile girilmesine izin verildi. Her komut bir hatırlatıcı kısaltma olarak kullanıldı ve derleyici adı verilen program hatırlatıcıları komut adı verilen sayılara dönüştürdü. Bu dil türüne 2GL veya ikinci nesil dil adı verildi. (Ç.N GL=Generation Language) Altta yer alan örnek bir assembly dili programıdır, Wikimedia Commons'un izniyle. Bu bir gelişme olduğu halde, programlamak hala pek de kolay değildi. Bir sonraki nesilde yer alan diller yüksek-seviye kısaltmalara izin verdi. İlk üçüncü nesil dillerde (COBOL, FORTRAN ve LISP) programlamak ve programı anlamak çok daha kolaydı. İkinci ve üçüncü nesil diller, derleyici adı verilen programları kullandı. Derleyici, kullanıcı tarafından yazılan programı (kaynak kodu adı verildi) alıp makine koduna dönüştürür. Programcı bunun ardından makine kodunu çalıştırır. Orijinal kaynak kodu çalışmaz. Programdaki kaynak kodu farklı parçalardan oluşuyorsa, bağ düzenleyici adı verilen program tarafından tek bir programa bağlanabilir. Bağ düzenleyici derleyici tarafından üretilen makine kodu üzerinde çalışır ve son bir program üretir. Bu son program kullanıcının çalıştırdığı programdır ve orijinal koda gerek duyulmaz. (Ç.N derleyici: compiler, bağ düzenleyici: linker) Makine diline derlemenin bir kötü yanı bu programların sadece özel makine türlerinde çalışmasıdır. Windows bilgisayarlar için derlenen programlar Apple Macintosh bilgisayarlarda ya da Linux bilgisayarlarda çalışmaz. Yeni programcılar için bütün derleme ve bağlama aşamaları karışık olabileceğinden, bazı diller onun yerine kodu yorumlayıcıları kullanarak çalıştırırlar. Bu programlar kaynak koduna bakar ve bu esnada onu makine kodu komutlarına yorumlarlar. Bu ayrıca aynı programın Windows, Mac ve Linux bilgisyarlarda çalışmasını sağlar. Her platform için yorumlayıcılar mevcuttur. Yorumlayıcı kullanmanın dezavantajı ise kodun makinenin ana dili yerine bir yorumlayıcı üzerinde çalışmasının daha yavaş olmasıdır. Python yorumlanan dillere bir örnektir. Python'da geliştirme yapmak C'den daha kolaydır, fakat Python daha yavaş çalışır ve programın çalışabilmesi için Python yorumlayıcısının bulunması şarttır. Java gibi diller asıl makine yerine Java Virtual Machine (JVM) üzerinde çalışan bir makine diline derlenen bir sistem kullanırlar. Bir başka popüler dil olan C#, bir Common Language Infrastructure (CLI) dilidir ve sanal makine üzerinde Virtual Execution System (VES) üzerinde çalışır. Bunlar hakkında tam bir tartışma bu kitabın konusunun ötesindedir. Ancak bunlar hakkında okumaya devam etmekte kendinizi özgür hissedin. Bugün birçok farklı programlama dili bulunmaktadır. Bilgisayarlar çok fazla değişik türde işler yaptıkları için farklı diller farklı işlerde özelleşebilmeleri için geliştirilmiştir. C gibi diller işletim sistemleri ve küçük gömülü bilgisayarlar için iyidir. PHP gibi diğer diller internet siteleri oluşturmak için özelleştirilmişlerdir. Python genel amaçlı olan ve kullanılması-kolay olması için özelleştirilen bir dildir. Tiobe firması farklı programlama dillerinin popülerliklerini kendi indexlerinde her ay güncelleyerek takip ediyor. Buraya bakmak iyi bir fikir olacaktır, ayrıca DICE gibi iş ilan sitelerine bakarak işverenlerin güncel olarak hangi dili bilen eleman aradıklarına ulaşabilirsiniz. Neyse ki neredeyse bütün diller aynı elementleri paylaşırlar, yani herhangi bir programlama dili bir kere öğrenildiğinde, aynı teoriler diğer dillere de uygulanacaktır. Bilgisayarın eğlenceli bir tarihi için, alttaki videoları izlemenizi ve takip etmenizi öneriyorum: Bu videolar Netflix, Amazon ve diğer yaygın kaynaklarda bulunabilir. Bunlar bütün ailenizin eğlenebileceği kadar eğlencelidir. Ben ayrıca eğer okumayı videodan daha çok tercih ediyorsanız Accidental Empires kitabını öneriyorum. 2.2 Tekrar Çoktan seçmeli tekrar quizi için buraya tıklayın.. - İkilik sistemde bir sayı örneği verin. ("1" gibi bir sayı ikilik, onluk ve onaltılık olabilirken, farklı tabanlardaki sayılar arasında yer alan farkları daha iyi örnekleyen örnekler bulmaya çalışın.) - Onluk sistemde bir sayı örneği verin. - Onaltılık sistemde bir sayı örneği verin. - 1, 10, 100, 1000 ve 10000 sayılarını ikilik sistemden onluk sisteme çevirin. - Derleyici nedir? - Kaynak kodu nedir? - Makine dili nedir? - Birinci nesil dil nedir? - İkinci nesil dil nedir? - Üçüncü nesil dil nedir? - Yorumlayıcı nedir? You are not logged in. Log in here and track your progress. English version by Paul Vincent Craven Russian version by Vladimir Slav Turkish version by Güray Yildirim Dutch version by Frank Waegeman Portuguese version by Tati Carvalho