Merhaba, tekrar hoş geldiniz.
Bu konuşmada şunları tartışmak istiyorum c programlama dili ile
ilgili bazı spesifik özellikler.
Yani c'nin tüm avantajlarını biliyoruz.
Bu konu hakkında durmadan konuştum.
Biliyoruz ki c kompakt ve verimli programlar. Yine de bu bir dil özelliği,
bu önemli.
Bu en önemli şeylerden biri. programlama dilleri ve öyle olmaya
devam edecek. Bunların hepsini biliyoruz.
Bu yüzden bir kez daha tekrarlamak istiyorum.
Ancak ana özellikleri c dili verimli,
taşınabilir, güçlü ve esnek ve programcı odaklıdır.
Ve bunları ele alacağız bunun ne anlama geldiğini daha ayrıntılı olarak açıklayacağım.
Ama bunlar önemli C'nin özellikleri.
Onları yeniden anlamamız gerekiyor, Bu dilde kodun nasıl
yazılacağını anlamak için.
Peki verimlilik nedir? ve taşınabilirlik ne anlama geliyor?
C verimli bir dildir.
Tüm avantajlardan yararlanır mevcut bilgisayarların yetenekleri.
Çok kompakt programlar ve c ile yazılmıştır.
Çok hızlı ve kompakttırlar.
Daha önce eşlemenin nasıl yapıldığından bahsetmiştim. c ifadelerinin bazı dillerdeki talimatlara dönüştürülmesi
çok verimlidir.
Bu, bir tür Bu kadar hızlı olmasının sebepleri.
Hakkında şikayetlerden biri java eskiden, hey, java
gerçekten yavaş.
C ile böyle bir sorununuz yok.
'da bir program yazdığınızda C, hızlı çalışır, çok kompakttır.
Yani bu bir dil özelliği.
Bu bir verimlilik.
Programcılar ince ayar yapabilir programlarını daha
da verimli hale getirmek için çünkü çok düşük seviyede.
Daha fazla kullanabilirler belleğin verimli kullanımı.
Java'da böyle şeyler yapamazsınız.
Java'nın kendi çöp toplayıcısı vardır ve belleği daha verimli olacak şekilde
manipüle edemezsiniz.
Yani c verimli bir dildir ve taşınabilir bir dildir.
Bu yüzden bu konuya kısaca değindim ama bu önemli çünkü bu dersin konusu
Bunun anlamı, bir işletim sisteminde bir c programı
yazarsanız değiştirmeden başka bir işletim sisteminde çalıştırabilir.
Yazarken karşılaşılan sorunlardan biri Günümüz dünyasında kod bazen
işe yaramayabilir. birden fazla dilde yazıyor veya kapsamlı bir şekilde değiştiriyorsunuz.
Örneğin, eğer yazarsanız bir android telefon için bir android uygulaması,
değil bir iOS telefonda çalışacak.
Onlara sahip değilsin. C ile ilgili sorun türleri.
c yazarsınız, ve o da her türlü farklı donanım, her türlü farklı
işletim sistemi.
Aslında, c bu alanda liderdir. taşınabilirlik, bu yetenek ve derleyiciler
kolayca kullanılabilir.
Bir derleyici edinebilirsiniz Windows, Linux, sorun değil.
Linux/Unix sistemleri tipik olarak bir c derleyicisi ile, bu yüzden açıkken indirmenize
bile gerek yok Linux/Unix Macintosh ile aynı.
Böylece c programları yazmaya başlayabilirsiniz hemen, harici indirme yok.
Onlar da mevcut tabii ki Windows için.
Ancak genellikle Windows için bir derleyici indirmeniz gerekecek.
Ve biz bunu ne zaman yapacağız gerekli yazılımımızı indiriyoruz.
Yani büyük ihtimalle kullandığınız herhangi bir cihaz için bir c derleyicisi
elde edersiniz.
Bir c derleyicisi de edinebilirsiniz bir android cihaz veya
bir iOS cihaz için, gerçekten düşük seviyeli mikro veya mini bilgisayarların yanı sıra işlemciler ve otomobiller
gibi.
Ayrıca çok esnektir ki bu da önemli ve aynı zamanda çok güçlüdür.
Yani Unix Linux çekirdekleri c dilinde yazılmıştır.
Çekirdek nedir?
Unix ve Linux'u biliyoruz bir işletim sistemidir.
Bir işletim sistemi biliyoruz daha verimli kullanmanıza yardımcı olacaktır
- bir kullanıcı daha verimli - bir bilgisayar ve etkileşimin birçok yönünü
kontrol eder donanım ve benzeri şeylerle.
Çekirdek beyindir işletim sisteminin.
Yani tıpkı bir CPU'nun bir beyni olduğu gibi Bilgisayarın çekirdeği, bilgisayarın
tüm beyin ve bilgi birikiminin bulunduğu yerdir. işletim sistemi gider, bu nedenle genellikle
donanım arayüzlerini içerir ve çekirdek belleği yönetir, her türlü farklı
şeyi yapar.
Ve bunların hepsi C dilinde yazılmıştır.
Yani bu size şunu söyleyebilir dilin güçlü yönü.
Eğer bir işletim sisteminin çekirdeği sistem bu dilde yazılmıştır,
bu dil güçlüdür.
Çok fazla derleyici ve yorumlayıcı diğer diller için
c üzerine inşa edilmiş veya c ile yazılmıştır.
Yani eğer bu sana dilin güçlü doğası, neyin yapacağını
bilmiyorum.
Ama Fortran, Perl, Python, herhangi bir Bu tür dillerde yazılan derleyiciler
c dilinde yazılır.
Yani c programları aşağıdakiler için kullanılmıştır Fizik ve mühendislik problemlerini
çözmek ve hatta animasyon yapmak için Filmler için özel efektler, birçok farklı şey için yaygın olarak
kullanılır.
Esneklik de önemlidir, Özellikle de bir geliştiriciyseniz ve
bu kodu yazıyorsanız.
Yapabilmek istiyorsun farklı şekillerde.
Çözebilmek istiyorsun birçok yönden bir sorun.
Daha fazla esneklik genellikle daha iyidir.
Ancak, bir değiş tokuş söz konusudur Esneklik ve performans arasında.
Yani bazen - akılda kalıcı bir dil tasarlarken, ama c tasarlanırken
esnek ve çok esnektir.
Yani hemen hemen yapabilirsiniz Bir C programında istediğiniz her şey.
Tüm farklı yazabilirsiniz uygulama türleri.
Ayrıca belleği de yönetebilirsiniz ve diğer birçok dilin sizi kısıtladığı farklı şeyleri
yapabilirsiniz.
Bir değiş tokuş söz konusudur çünkü bazen esneklik daha fazla hataya
neden olur veya geliştiricilerin belirli kavramları tam olarak anlamak için daha karmaşık
olabilirler.
Ancak sonuçta esneklik bir iyi bir şey, özellikle de bu işlerden
anlayan bir geliştiriciyseniz dili çok iyi biliyor.
Aynı zamanda daha fazlası için temel c++ gibi gelişmiş
diller, bundan daha önce bahsetmiştim.
Cep telefonu geliştirmek için kullanılır objective-c şeklinde uygulamalar.
Objective-c tescilli bir Apple'ın dili.
Temel olarak, nesnelerle c tıpkı c++ gibi, ama kendi dillerini yazmaya
karar verdiler.
Ancak iOS'ta daha az kullanılır ve daha az çünkü Swift daha popüler oluyor,
ama aynı zamanda kompaktlığı nedeniyle öğrenir.
İdeal bir ilk dil programcı olmak istiyorsan öğren.
Ve sanırım ben Bunun için oldukça iyi bir gerekçe.
Sen kazanacaksın pratik uygulama geliştirme
için yeterli bilgi çok hızlı ve çok kolay bir şekilde.
İşte bu yüzden öğrenmek için iyi bir ilk.
Ve sen de bunu yapacaksın. Bu derste fark ettim ki,
vay be şimdi C'yi öğrendim, vay be, çok daha kolay java öğrenmek çok daha
kolay, php öğrenmek çok daha kolay, php öğrenmek çok daha kolay çünkü bu dillerin
sahip olduğu her şeye sahiptir. var ve öğrenmesi çok kolay.
Programcı odaklı.
Bu bir dil özelliği.
İhtiyaçları karşılar programcıların.
Sana Dennis Ritchie'nin nasıl dili yarattığında daha
geliştirici olmasını istedi odaklandı ve o da bunu yaptı.
Bu hedefine ulaştı.
Size doğrudan erişim sağlar donanımı, belleğe doğrudan erişmenizi ve kendi belleğinizi
yönetmenizi sağlar.
Yani esneklik geliyor programcı odaklı olduğunda
devreye girer.
Java'da bunların çoğunu yapamazsınız kendi hafızanızı yönetmek gibi şeyler.
C'nin başka birçok özelliği de vardır esnekliğe izin verir.
Ve bence bu esneklik daha programcı odaklı olmak, çünkü programcılar
bunu sever.
Bu esnekliği seviyorlar, onlar ne yapacağının söylenmesini istemez.
Geniş bir seçim içerir Kendinizi kısa ve öz bir şekilde
ifade etmenizi sağlayan operatörler.
Şimdi bu, bilmediğimiz anlamına geliyor bir operatörün ne olduğunu henüz bilmiyor.
Ancak bir operatör şu özelliklere sahip olabilir matematiksel işleçleri
toplama ve çıkarma veya atama gibi hafızaya veri atayan operatörler.
Ve ne kadar çok operatör kodunuzda kendinizi daha fazla ifade etmenize
olanak tanır.
Ve böylece bir dil özelliği daha programcı odaklı olmak, bu operatörler listesidir.
çok daha detaylı konuşmak istiyorum.
Çoğu dilden daha az katıdır Yapabileceklerinizi sınırlamaktan
zaten bahsetmiştik.
Şununla değiş tokuştan bahsetmiştim Bu, esnekliğe karşı katılık.
Bu bir avantajdır çünkü işleri birçok farklı şekilde yapmak.
Ancak, bu bir tehlike olabilir çünkü programcıların hata yapma olasılığı
daha yüksektir, özellikle işaretçiler gibi bir şeyle.
Yani, kendi işinizi yönetebilmeniz c'de kendi belleğine sahip olmak çok esnektir, ancak
bazen de çok karmaşıktır.
Ve sonuç olarak, birçok programcı programlara hatalar getirebilir.
Şimdi java izin vermiyor hafızanızı yönetmeniz için.
Ama aynı zamanda daha az esnek ama aynı zamanda programınızdaki hataları
da azaltır.
Yani bir değiş tokuş var.
Temelde sahip olmak istiyorsun daha az karmaşık olmasına da izin
vererek esneklik sağlar.
C size daha fazla özgürlük verir, ancak geliştiriciye de daha fazla sorumluluk
yüklüyor ve bu neden program odaklı olduğunu.
C uygulamalarının büyük bir kullanışlı c fonksiyonları kütüphanesi.
Yani her şeyi yazmak zorunda değilsiniz c'de bir şey yapmak istiyorsanız.
Programlama dilleri tipik olarak dil ile birlikte gelen diğer program işlevlerini
içerir.
Örneğin, eğer okumak istiyorsanız kullanıcıdan gelen girdi, bunu yapmak
için düşük seviyeli c kodu yazmak istemezsiniz.
C'de şu kodlar olacaktır zaten bunu sizin için yapıyor ve siz sadece bu
kodu yeniden kullanıyorsunuz.
Ve bu genellikle kütüphane denen bir şeyde.
Ve böylece C'nin her türlü kütüphanesi var klavyeden
veri okumak, dosyalara veri yazmak için işlevler, farklı süreçler ve tehditlerle her türlü güzel şeyi yaratmak
için.
Her türlü güzel şeyi kastediyorum.
Bu yüzden, birçok kişinin uygulama dil ile birlikte gelir ve aslında
bunu kendiniz uygulayabilirsiniz, sadece nasıl kullanılacağını öğrenmeniz
gerekir kütüphaneler çok avantajlı ve çok programcı odaklıdır.
c'nin diğer bazı özellikleri şunlardır genellikle alt seviye tarafından sağlanan
düşük seviye özellikler sağlar Diller, bunu konuşmuştuk.
Ama yine de, bunun en iyi örneği hafızadır yönetimi, belleğe doğrudan erişim.
Programlar şu şekilde olabilir bitler kullanılarak manipüle edilir.
Eğer bu düşük bir seviye değilse Ne olduğunu bilmiyorum. Hafızayı yönetme yeteneğidir
bit seviyesinde temsil.
Bitler ve baytlar bizim nasıl aslında bilgisayarlarda veri depolamak,
çok çeşitli bit manipülasyon operatörleri.
Yine, dilde bir şey Bu konu hakkında daha detaylı konuşacağız.
Pointer'lar c'de büyük bir rol oynar.
Bu, belki de sizin daha önce duymuş olabilirsiniz, duymamış
olabilirsiniz, ama bu bellek yönetimi ile ilgili.
Bir sürü İşaretçiler üzerine dersler. Ama bu çok, çok önemli bir
özellik Çok yüksek seviyede aşina olmanız
gereken c.
C bellek yönetimi, c işaretçileri. Genellikle c programlama dilini düşündüğünüzde,
ilk olarak aklınıza gelen şey işaretçilerdir.
Ve tüm bunlar doğrudan belleğe erişim.
C'nin dezavantajları, konuştuk esneklik ve özgürlük arasında bir denge kurmaya
çalışıyorum.
Ayrıca ek sorumluluk gerektirir.
Bazıları bunu bir dezavantaj olarak görmektedir, bazı görüşlere göre işaretçiler kötüye kullanılıyor.
Ve sonuç olarak, birçok İnsanlar kötü C programları yazıyor.
Evet, eğer birine Bir araçla bir şey yapıyorsunuz, onlar
bunu yanlış yapıyor, kim hatalı?
Bu bir tür, yine, istiyor musun istismar edildiği için bu
aracı kısıtlamak mı istiyorsunuz yoksa esneklik sağlamak için bu araç.
Yani genellikle daha esnek olabilirsiniz ama daha fazla hata yapma riski vardır ve çoğu
zaman bu hatalar özellikle de hafızada yer alıyorlarsa bulması ve
izini sürmesi çok zordur.
Yani bu bir sorun olabilir.
Zenginliği nedeniyle diğer şeyler operatörlerin çokluğu ve kısalığı,
dili zorlaştırmaktadır. bazen okumak ve takip etmek için.
Çoğunlukla, c çok kolay okunabilir.
Ama bunlardan çok kullanıyorsanız farklı operatörler, bu da işi daha karmaşık
hale getirebilir.
Yani yazmak için bir fırsat var ama her
dil kötü yazılabilir.
Yani İngilizce'yi kullanabilirsin Konuştuğunuzda diliniz ve
dilbilginiz kötü olabilir.
Yazarken de farklı değil - bir programlama dili kullanın.
Ama bazıları C ile dezavantajlı olduğunu söylüyor tüm bu operatörler yüzünden.
Eğer yanlış kullanırsanız kodu takip etmek daha zor olabilir.
Özetlemek gerekirse.
Bu güzel bir örnek Yine internette bulduğum
ve size sunmak istediğim bir şey var.
C dilinin temel özellikleri: hızlı ve verimli, taşınabilir, çok sayıda güzel kütüphane kodu yeniden
kullanabilir ve kendi başınıza bir şeyler yapmak zorunda
kalmazsınız, modülerlik,
hakkında konuştuk ancak bu, kodu işlevler etrafında düzenleme
fikridir, genişletilmesi kolaydır
ve daha sonra tüm bir şeyler yapmanızı sağlayan bu güçlü operatörler.
Yani pek çok güzel özellik.
Ve çoğu özellik Az önce bahsettiğimiz birçok modern dilde
var çünkü C'nin üzerine inşa edilmişler.