Kategoriler
Eser Adı Yazar Açıklama İçindekiler Barkod
Arama  
Ana Sayfa Sipariş Takibi Üyelik İletişim
 
 
   
Programlama Dillerinin Prensipleri
Mantığı Kavra – İşleyişi Öğren – Kodu Yaz
Eylül 2021 / 2. Baskı / 400 Syf.
Fiyatı: 305.00 TL
 
Sepete Ekle
   

Kitap, güncellenmiş 2. baskısını yapmıştır.

Bir söz der ki "Babaannene iki dakikada açıklayamayacağın tek satır kodu bile programına ekleme, hatta babaannen Ada Lovelace olsa bile". Birçok programcının düştüğü bu hata aslında programlamayı tam olarak öğrenmeden işe koyulmalarından kaynaklanmaktadır.

Bu kitap, "hangi programlama dilini öğrenmeliyim" ya da "hangi programlama dili ile daha çok üretebilirim"in cevabını vermeye çalışmıştır.

Kitap; programlama dillerinin değerlendirilmesi, karşılaştırılması, güçlü ve zayıf yönlerin belirlenmesi, öğrenilmesi ve öğretilmesi sırasında ele alınması gereken parametreleri incelemektedir. Aynı zamanda bir programlama dilini öğrendikten sonra, tamamen yeni bir programlama diline uyum sağlanmanın kolaylığını sunmaktadır.

Programlama dillerinin prensipleri iyi anlaşılırsa, kod geliştirme basitleşecek ve kullanıcının programlama dilini iyileştirmeye dair önerileri olabilecektir. Hangi problem yapılarında hangi programlama dilinin kullanılması gerektiği, programlama paradigmalarını anlamaya bağlıdır. Bu nedenle bu kitapta her paradigma ayrıca incelenmektedir.

Paradigmalara, yapılara ve işleyişe hakim olmadan etkili bir program kodu yazmak mümkün görünmemektedir.
Böyle bir içeriğe sahip Türkiye'de ilk Türkçe kitap özelliğini taşıyan ve sadece bir programlama dilini öğretmeyi amaçlamayan bu kitap, programlamaya yeni başlamış ya da programlamanın içerisinde olan herkesin yararlanacağı önemli bir kaynaktır.

Konu Başlıkları
Programlama Dillerinin Tarihçesi ve Çeşitleri
Dillerin Tanımlanması ve Tasarımı
Dillerin Çevrimi
Temel Programlama Kavramları
Veri Tipleri ve Yapıları
Bağlama Kavramı ve İsim Kapsamları
Emir Esaslı Paradigma
Yapısal Programlama
Alt Pogramlar ve Modülasyon
Nesneye Dayalı Programlama
İstisnai Durumlar ve Önlemleri
Eş Zamanlılık ve Thread Yapısı
Fonksiyonel Programlama
Mantıksal Programlama
Barkod: 9789750271489
Yayın Tarihi: Eylül 2021
Baskı Sayısı:  2
Ebat: 16x24
Sayfa Sayısı: 400
Yayınevi: Seçkin Yayıncılık
Kapak Türü: Karton Kapaklı
Dili: Türkçe
Ekler: -

 

İÇİNDEKİLER
İçindekiler
İkinci Baskıya Önsöz  9
Önsöz  11
Şekiller Listesi  23
Tablolar Listesi  27
Kod Listesi  29
Semboller  35
Bölüm 1
GİRİŞ
1. GİRİŞ  39
1.1. Genel Kavramlar  39
1.2. Programlama Dili Nedir?  40
1.3. Programlama Dillerinin Sınıflandırılması  41
1.3.1. Programlama Dillerinin Seviyelerine Göre Sınıflandırılması  41
1.3.2. Programlama Dillerini Uygulama Alanlarına Göre Sınıflandırma  47
1.3.3. Dilleri Tasarım Paradigmalarına Göre Sınıflandırma  49
1.3.3.1. Imperative Paradigmayı Destekleyen Diller  50
1.3.3.2. Nesneye Yönelik Paradigmayı Destekleyen Diller  51
1.3.3.3. Fonksiyonel Programlama  52
1.3.3.4. Mantıksal Paradigmayı Destekleyen Diller  52
1.4. Programlama Dillerinin Değerlendirme Ölçütleri  53
1.4.1. İfade Gücü (Expression Power)  54
1.4.2. Veri Türleri ve Yapıları (Data Types and Structures)  54
1.4.3. Giriş/Çıkış (Input/Output, I/O Facility) Kolaylığı  54
1.4.4. Taşınabilirlik (Portability)  54
1.4.5. Alt Programlama Yeteneği (Modularity)  55
1.4.6. Verimlilik (Efficiency)  55
1.4.7. Okunabilirlik (Readability)  55
1.4.8. Esneklik (Flexibility)  56
1.4.9. Öğrenme Kolaylığı (Pedagogy)  56
1.4.10. Genel Amaçlılık (Generality)  56
1.4.11. Yapısallık (Structural Programming)  57
1.4.12. Nesne Yönelimlilik (Object Orientation)  58
1.5. Dil Seçimini Etkileyen Etkenler  58
1.6. C Programlama Dili  59
1.6.1. MinGW GNU C Derleyicisinin Kurulumu  59
1.6.1.1. Örnek Bir C Kodunun Derlenmesi  60
1.6.1.2. Make Dosyası  60
1.7. Java Programlama Dili  64
1.8. Komut Satırı Parametreleri  68
1.9. Lisp Programlama Dili  68
1.10. Prolog  70
1.11. Çalışma Soruları  70
Bölüm 2
DİLLERİN TARİHÇESİ VE ÇEŞİTLERİ
2. PROGRAMLAMA DİLLERİNİN TARİHÇESİ VE ÇEŞİTLERİ  73
2.1. Fortran  73
2.1.1. Fortran I  74
2.1.2. Fortran 66  74
2.1.3. Fortran 77  74
2.1.4. Fortran 90  74
2.1.5. Fortran 95  75
2.2. Lisp  75
2.3. ALGOL  75
2.3.1. ALGOL60  75
2.3.2. ALGOL 68  77
2.4. COBOL  77
2.5. Basic  78
2.6. PL/I (Programming Language One)  79
2.7. APL ve SNOBOL (Dinamik Diller)  80
2.8. Simula 67  81
2.9. ALGOL’un Torunları  81
2.9.1. Pascal  81
2.9.2. C Programlama Dili  82
2.10. Modula  82
2.11. Oberon  83
2.12. Prolog  83
2.13. Ada  83
2.13.1. Ada 95  84
2.14. Smalltalk  84
2.15. C++  85
2.16. Eiffel (1992)  86
2.17. Delphi  86
2.18. Java  86
2.19. Dilleri  88
2.19.1. Java  88
2.19.2. PHP  88
2.20. C# Programlama Dili  88
2.21. Python Dili  89
2.22. Çalışma Soruları  90
Bölüm 3
DİLLERİN TANIMLANMASI VE TASARIMI
3. DİLLERİN TANIMLANMASI VE TASARIMI  95
3.1. İfade Notasyonları  96
3.2. Soyut Sözdizim Ağaçları  96
3.2.1. İfadelerin Ağaç ile Gösterimi  97
3.3. Metinsel (Lexical) Analiz  99
3.3.1. Token’lar ve Heceler  99
3.4. Dilbilgisi (Gramerler)  102
3.4.1. Türetimler  104
3.4.2. Parse Ağaçlarının Somut Sentaks Tanımlaması  105
3.4.3. Belirsizlik (Ambigouity)  107
3.4.4. Sallanan Else (Dangling – Else) Belirsizliği  108
3.4.5. Türetimler  109
3.4.6. Aritmetik İfadeler için Gramerler  110
3.4.6.1. İşlem Önceliği (Precedence)  110
3.4.6.2. Birleşme Özelliği (Associativity)  112
3.5. Dilbilgisi Çeşitleri  115
3.5.1. Yineleme  115
3.5.2. Seçimlik  115
3.5.3. Değiştirme  116
3.6. Sözdizim Grafikleri  117
3.7. Anlamsal Tanımlama ve Dilin Standartlaştırılması  118
3.8. Çalışma Soruları  119
Bölüm 4
DİLLERİN ÇEVRİMİ
4. DİLLERİN ÇEVRİMİ  123
4.1. Derleme Süreci  124
4.1.1. Sözcüksel (Lexical) Analiz  125
4.1.2. Sözdizim (Syntax) Analizi  127
4.1.3. Anlam (Semantic) Analizi  129
4.1.4. Kod Optimizasyonu  129
4.1.5. Kod Üretimi  131
4.2. Derleyici ve Yorumlayıcının Karşılaştırılması  133
4.3. Farklı Programlama Dillerinin Bir Arada Kullanılması  135
4.4. Çalışma Soruları  136
Bölüm 5
TEMEL PROGRAMLAMA KAVRAMLARI
5. TEMEL PROGRAMLAMA KAVRAMLARI  141
5.1. Değişkenlerin İsim Özelliği  142
5.1.1. İsim Maksimum Uzunluğu (Maximum Length)  142
5.1.2. Büyük Küçük Harf Duyarlılığı (Case Sensitivity)  143
5.1.3. Özel Kelimeler  143
5.2. Değişkenlerin Tipi  144
5.3. Sabitler  146
5.4. Programlama Dillerinin İşlemcileri (Operators)  147
5.4.1. Genel Özelliklere Göre  147
5.4.1.1. İşlenen Sayısı  147
5.4.1.2. İşlemcinin Yeri  148
5.4.1.3. İşlem Önceliği  148
5.4.1.4. Birleşme Özelliği  149
5.4.2. Niteliğe Göre İşlemciler  150
5.4.2.1. Sayısal İşlemciler  150
5.4.2.2. İlişkisel İşlemciler  151
5.4.2.3. Mantıksal İşlemciler  153
5.5. İşlemci Yükleme  155
5.6. Atama Deyimi  156
5.6.1. Çoklu Hedefli Atama  156
5.6.2. Koşullu Hedefler  157
5.6.3. Bileşik Atama  157
5.6.4. Tekli Atama İşlemcileri  158
5.7. Çalışma Soruları  159
Bölüm 6
VERİ TİPLERİ VE YAPILARI
6. VERİ TİPLERİ VE YAPILARI  163
6.1. İlkel Veri Tipleri  163
6.1.1. Sayısal Tipler  164
6.1.1.1. Tamsayı (Integer)  164
6.1.1.2. Kayan Noktalı Sayı (Floating Point)  165
6.1.1.3. Onlu (Decimal)  166
6.1.1.4. Mantıksal Veri Türü (Boolean)  167
6.1.1.5. Karakter Tipi  168
6.1.1.6. Karakter Katarı (String)  169
6.1.2. Kullanıcı Tanımlı Sıralı Tipler  170
6.1.2.1. Sayılama Tipleri (Enumeration)  170
6.1.2.2. Altalan Tipleri (Subrange)  171
6.2. Türetilmiş Veri Tipleri  172
6.2.1. Diziler  172
6.2.1.1. Dizi Tiplerinin Adres Polinomu  173
6.3. Kayıt (Record) Tipi  177
6.4. Ortaklık (Union) Tipi  178
6.5. Küme (set) Tipi  178
6.6. Gösterge (Pointer) Tipi  179
6.7. Kullanıcı Tanımlı Veri Türleri  181
6.8. Bellek Yönetimi  181
6.8.1. Statik Bellek Bölgesi  182
6.8.2. Çalışma Anı Yığını  183
6.8.3. Heap Bellek Bölgesi  184
6.8.4. void Göstericisi  185
6.8.5. Sallanan Gösterici  186
6.9. Kuvvetli Tipleme  187
6.10. Tip Denetimi  188
6.11. Tip Dönüşümleri  188
6.12. Atamalarda Tip Dönüştürme  192
6.13. var İfadesi  193
6.14. Çalışma Soruları  193
Bölüm 7
BAĞLAMA KAVRAMI VE
İSİM KAPSAMLARI
7. BAĞLAMA KAVRAMI VE İSİM KAPSAMLARI  197
7.1. Statik Tip Bağlama  198
7.1.1. Örtülü Tip Bağlama  198
7.1.2. Dışsal Tip Bağlama  199
7.2. Dinamik Tip Bağlama  199
7.3. Bellek Bağlama  201
7.3.1. Program Çalışma Zamanı Bellek Düzeni  201
7.3.2. Değişkenlerin Bellek Yeri Bağlaması  202
7.3.2.1. Statik Değişkenler  202
7.3.2.2. Yığıt Dinamik (stack–dynamic) Değişkenler  203
7.3.2.3. Dışsal Heap Dinamik Değişkenler  203
7.3.2.4. Örtülü Heap Dinamik Değişkenler  204
7.4. İsim Kapsamları  205
7.4.1. Statik Kapsam Bağlama  205
7.4.2. Dinamik Kapsam Bağlama  207
7.5. Bloklar  209
7.6. Çalışma Soruları  212
Bölüm 8
YAPISAL PROGRAMLAMA
8. YAPISAL PROGRAMLAMA  215
8.1. Sıralı Yapılar  215
8.2. Seçimlik Yapılar  217
8.2.1. İç İçe Seçimlik Yapılar  218
8.2.1.1. Koşullu Operatör Ataması  219
8.2.2. Çoklu Seçim Yapıları  220
8.2.3. Kısa Devre Değerlendirme  221
8.3. Tekrar (Döngü) Yapıları  223
8.3.1. Sayaç Kontrollü Döngü Yapıları  223
8.3.1.1. For Döngüsü  223
8.3.1.2. Foreach Döngüsü  225
8.3.2. Mantıksal Kontrollü Döngü Yapıları  226
8.3.2.1. While Döngüsü  226
8.3.2.2. Do–While Döngüsü  227
8.4. Döngü Kontrol Mekanizmaları  228
8.5. İç İçe Döngüler  230
8.6. Durum Etiketleri  230
8.7. Çalışma Soruları  231
Bölüm 9
ALT PROGRAMLAR VE MODÜLASYON
9. ALT PROGRAMLAR VE MODÜLASYON  235
9.1. Modül (Alt Program)  235
9.2. Fonksiyonlar  235
9.2.1. Fonksiyonlarda Çağrı Kısmı  236
9.2.2. Fonksiyonlarda Dönüş Kısmı  236
9.3. Prototip Tanımlama  242
9.4. Parametre Geçirme Yöntemleri  243
9.4.1. Değer İle Çağırma ( Pass–By–Value)  244
9.4.2. Referans İle Çağırma ( Pass–By–Reference)  244
9.4.3. Gösterici İle Çağırma (Adres ile Çağırma, Pass–By–Pointer)  246
9.4.4. Sonuç İle Çağırma ( Pass–By–Result)  250
9.4.5. İsim İle Çağırma ( Pass–By–Name)  251
9.5. Özyineleme  252
9.6. Varsayılan Parametre  254
9.7. Değişken Sayıda Parametre  255
9.8. Çalışma Soruları  258
Bölüm 10
NESNEYE DAYALI PROGRAMLAMA
10. NESNEYE DAYALI PROGRAMLAMA  261
10.1. Nesnelerin Harici ve Dahili Görünüşleri  263
10.2. Nesneye Dayalı Düşünme  265
10.3. Sınıf Hiyerarşisi  265
10.3.1. this Terimi  271
10.3.2. Nitelik (Property) Tanımı  272
10.3.3. İç İçe Sınıf Tanımı  273
10.3.4. Yıkıcı Metotlar  274
10.3.5. Erişim Niteleyicileri  276
10.4. Kalıtım  278
10.5. Overload (Aşırı Yükleme) ve Override (Ezme) Terimleri  283
10.6. C Dilinde Kalıtımın Benzetilmesi  284
10.7. Nesnelerin Karşılaştırılması  289
10.8. Arayüzler  291
10.9. Soyut Sınıflar  294
10.10. Object Veri Türü  297
10.11. Prosedür Esaslı Yaklaşım ile Karşılaştırma  298
10.12. Çalışma Soruları  299
Bölüm 11
İSTİSNAİ DURUMLAR VE ÖNLEMLERİ
11. İSTİSNAİ DURUMLAR VE ÖNLEMLERİ  305
11.1. Hata Kaynakları  305
11.2. Hata İle Başa Çıkma  306
11.3. Hata Yakalamada Kullanılan Kelimeler  310
11.3.1. try ve catch İfadesi  310
11.3.2. finally İfadesi  311
11.3.3. throws ifadesi  313
11.4. Hata Sınıfı Tasarlamak  315
11.5. Çalışma Soruları  320
Bölüm 12
EŞ ZAMANLILIK VE THREAD YAPISI
12. EŞ ZAMANLILIK VE THREAD YAPISI  323
12.1. Öncelik Grafları  323
12.2. Eşzamanlık Şartları  325
12.3. FORK ve JOIN Yapıları  327
12.3.1. Programlama Dillerinde Eşzamanlılığın Gerçekleştirimi  330
12.3.2. Programlama Dillerinde Eşzamanlılığın Gerçekleştirimi C Örneği  332
12.4. Parbegin–Parend Eş Zamanlılık Deyimleri  337
12.5. Bir İşlemin Durumları  339
12.6. İşlem Grafı  339
12.6.1. İşlem Oluşturma  340
12.6.1.1. Execution (Yerine Getirme)  340
12.6.1.2. Sharing (Paylaşma)  340
12.6.2. İşlem Sonlandırılması  342
12.6.3. İki İşlem Yazılım Çözümleri  343
12.7. Kritik Bölge Problemi  343
12.8. Semaforlar (Semaphores)  350
12.9. Matris Çarpımının Java’da Thread ile Gerçekleştirimi  352
12.10. Çalışma Soruları  354
Bölüm 13
FONKSİYONEL PROGRAMLAMA
13. FONKSİYONEL PROGRAMLAMA  359
13.1. Yorumlayıcı (Interpreter)  359
13.2. Fonksiyonel Tanım  359
13.3. Değişkenin Rolü  361
13.4. Programcı Tarafından Fonksiyon Tanımlanması  363
13.5. Yerel Bildirimler  363
13.6. Tipler Değerler ve İşlemler  365
13.6.1. Tiplerin Çarpımı  365
13.6.2. Fonksiyon Uygulamaları  365
13.6.3. Tip Bildirimleri  365
13.6.4. Tip Çıkarımı  366
13.7. Parametrik Çok Biçimlilik  366
13.8. Haskell Dili  367
13.9. Lisp Dili  367
13.9.1. Lisp Programlama Dilinde Kontrol Blokları  370
13.9.2. Lisp Programlama Dilinde Döngüler  371
13.9.3. Opsiyonel Parametre Tanımlama  372
13.9.4. Lisp Dilinde Listeler  373
13.10. Çalışma Soruları  375
Bölüm 14
MANTIKSAL PROGRAMLAMA
14. MANTIKSAL PROGRAMLAMA  379
14.1. Mantıksal Konsept  379
14.1.1. Olaylar  379
14.1.2. Kurallar  380
14.1.3. Eşitlik Kavramı  381
14.2. Mantıksal Operatörler  381
14.2.1. Durum Yapıları  381
14.3. Kararlılık  382
14.4. Atama Kavramı  383
14.5. Liste Yapısı  384
14.6. Özyinelemeli Çağrımlar  384
14.7. Çalışma Soruları  384
Kaynaklar  385
Kavramlar Dizini  387
Yazarların Özgeçmişi  399
 


 
Kitap
 
 
Ana Sayfa | Hakkımızda | Gizlilik Sözleşmesi | Üye Sayfası | Yardım | İletişim
Akademik ve Mesleki Yayınlar

Seçkin Yayıncılık San. Tic. A.Ş.
Copyright © 1996 - 2024