Programın kaynak kodu. Bilgisayar programları nasıl yazılır Programlama dilinde kod nedir

Amaç

Kaynak kodu ya nesne kodu üretmek için kullanılır ya da bir yorumlayıcı tarafından yürütülür. Nesne kodunda hiçbir zaman değişiklik yapılmaz, yalnızca kaynak kodunda değişiklik yapılır ve daha sonra tekrar nesne koduna dönüştürülür.

Kaynak kodunun bir diğer önemli amacı, bir programın açıklaması olmasıdır. Programın metnine dayanarak davranışının mantığını yeniden oluşturabilirsiniz. Yorumlar kaynak kodun anlaşılmasını kolaylaştırmak için kullanılır. Kaynak kodu belgelerini otomatik olarak almanızı sağlayan araçlar da vardır - sözde. dokümantasyon oluşturucuları.

Ayrıca kaynak kodunun başka birçok kullanım alanı vardır. Bir öğretim aracı olarak kullanılabilir; Yeni başlayan programcılar, programlama tekniklerini ve metodolojisini öğrenmek için mevcut kaynak kodunu incelemeyi faydalı bulabilirler. Aynı zamanda (ideal olarak) kısa ve net doğası nedeniyle deneyimli programcılar arasında bir iletişim aracı olarak da kullanılır. Geliştiriciler arasındaki kod paylaşımı, genellikle programcı deneyiminin iyileştirilmesine katkıda bulunan bir faktör olarak gösterilmektedir.

Programcılar genellikle kaynak kodunu bir projeden diğerine taşırlar; buna kodun yeniden kullanımı denir ( Yazılımın yeniden kullanılabilirliği).

Kaynak kodu, yazılımın diğer platformlara taşınması süreci için kritik bir bileşendir. Herhangi bir yazılımın kaynak kodu olmadan taşıma ya çok zor ya da tamamen imkansızdır.

Organizasyon

Yazılımın bazı bölümlerinin (modül, bileşen) kaynak kodu bir veya daha fazla dosyadan oluşabilir. Program kodunun mutlaka tek bir programlama dilinde yazılması gerekmez. Örneğin, optimizasyon amacıyla genellikle C dilinde yazılan programlar, montaj dilinde kod eklemeleri içerir. Bir programın bazı bileşenlerinin veya bölümlerinin farklı dillerde yazılması ve daha sonra kitaplık bağlama olarak bilinen bir teknoloji kullanılarak tek bir yürütülebilir modül halinde birleştirilmesi de mümkündür ( kütüphane bağlantısı).

Karmaşık yazılımlar düzinelerce, hatta yüzlerce kaynak kod dosyasının oluşturulmasını gerektirir. Bu gibi durumlarda, derlemeyi basitleştirmek için genellikle kaynak kod dosyaları arasındaki bağımlılıkların açıklamasını içeren ve derleme sürecini açıklayan proje dosyaları kullanılır. Bu dosyalar ayrıca diğer derleyici ve tasarım ortamı parametrelerini de içerebilir. Farklı tasarım ortamları için farklı proje dosyaları kullanılabilir ve bazı ortamlarda bu dosyalar evrensel metin editörleri kullanan bir programcının doğrudan düzenlemesine uygun bir metin formatında olabilir; diğer ortamlarda ise özel formatlar desteklenir ve oluşturulma ve değiştirilme Dosyaların işlenmesi özel araç programları kullanılarak gerçekleştirilir. Proje dosyaları genellikle "kaynak kodu" terimine dahil edilir. Modern dil ortamlarının büyük çoğunluğu, projede yer alan diğer kaynak kodların karmaşıklığına bakılmaksızın proje dosyalarının kullanılmasını gerektirir. Çoğu zaman kaynak kodu, çeşitli verileri (örneğin, bir program oluşturmak için gereken grafik görüntüleri) içeren kaynak dosyalarını da ifade eder.

Kaynak koduyla çalışmayı kolaylaştırmak için, bir programcı ekibinin kod üzerinde işbirliği yapması için sürüm kontrol sistemleri kullanılır.

Kalite

İnsanların aksine, bir bilgisayar için "iyi yazılmış" veya "kötü yazılmış" bir kod yoktur. Ancak kodun nasıl yazıldığı, yazılım bakım sürecini büyük ölçüde etkileyebilir. Kaynak kodunun kalitesi aşağıdaki parametrelerle değerlendirilebilir:

  • kod okunabilirliği (kod yorumlarının varlığı veya yokluğu dahil);
  • destek, test etme, hata ayıklama ve sorun giderme, değişiklik ve taşıma kolaylığı;
  • düşük karmaşıklık;
  • düşük kaynak kullanımı - bellek, işlemci, disk alanı;
  • derleyici tarafından verilen yorumların yokluğu;
  • "çöp"ün olmaması - kullanılmayan değişkenler, erişilemeyen kod blokları, gereksiz güncel olmayan yorumlar vb.

Çalıştırılamayan kaynak kodu

Ayrıca bakınız

  • Örnek: Merhaba dünya programı

Bağlantılar

Wikimedia Vakfı. 2010.

Diğer sözlüklerde “Program kodu”nun ne olduğuna bakın:

    yazılım paketi- 3.19 yazılım paketi: İkili veya kaynak biçiminde program kodunun yanı sıra program, sürümü, bağımlılıkları ve diğer bilgiler hakkındaki meta verileri içeren bir arşiv dosyası. Kaynak: GOST R 54593 2011: Bilgi teknolojileri. Özgür... ...

    - (Türkçe: Netscape Eklentisi Uygulama Programlama Arayüzü, NPAPI birçok tarayıcı tarafından desteklenen platformlar arası eklenti geliştirme mimarisidir. Arayüz, Netscape'den başlayarak Netscape Navigator tarayıcı ailesi için geliştirilmiştir... ... Vikipedi

    Bilgisayar bilimlerinde yazılım aracısı, bir kullanıcı veya başka bir programla aracılık ilişkisine giren bir programdır. “Ajan” kelimesi Latince agere (yapmak) kelimesinden gelir ve eylemleri gerçekleştirmek için yapılan bir anlaşma anlamına gelir ... ... Vikipedi

    Çerçeve belirsiz bir anlamı olan bir terimdir. Genellikle programlamada "karmaşık, problem çözme problemini çözmek için kullanılan basit bir kavramsal yapıyı" belirtmek için kullanılır. Bu terimin anlamı büyük ölçüde bağlamına bağlıdır... ... Vikipedi

    Bu makale genel olarak komuta sistemi hakkındadır; Talimatlar için bkz.: İşlem kodu. Makine kodu (platform odaklı kod), makine dili, belirli bir bilgisayarın yorumlanan bir komut sistemi (işlem kodları kümesi) ... ... Wikipedia

    Resmi terminoloji

    Virüs (bilgisayar, yazılım)- yetkisiz dağıtım ve kendi kendini çoğaltma özelliklerine sahip yürütülebilir program kodu veya yorumlanmış bir talimat seti. Bir bilgisayar virüsünün oluşturulan kopyaları her zaman orijinaliyle örtüşmez, ancak korunur... ... Normatif ve teknik dokümantasyon açısından sözlük referans kitabı

    - (İngilizce yönetilen kod), Microsoft tarafından sanal bir makinenin "kontrolünde" yürütülen bir programın kodunu belirtmek için tanıtılan bir terimdir. NET Ortak Dil Çalışma Zamanı. Bu durumda sıradan makine koduna yönetilmeyen kod adı verilir... ... Vikipedi

    Bir yama veya yama (İngilizce yama /pætʃ/ yama), yazılımdaki sorunları düzeltmek veya işlevselliğini değiştirmek ve ayrıca yamanın kendisini yükleme işlemini değiştirmek için kullanılan otomatik, ayrı olarak sağlanan bir yazılım aracıdır (... ... Wikipedia

    Piramit Tipi Web uygulama çerçevesi Geliştirici ... Vikipedi

Kitabın

  • Nesneye Yönelik Tasarım: Kavramlar ve Program Kodu, Gast Holger. Bu kitap, okuyucunun nesneler kavramını derinlemesine anlamasına yardımcı olmak, gerçek dünyada etkili bir şekilde çalışan kodlar yazabilmek için nesnelerin gerçek potansiyellerini ortaya çıkarmak üzere tasarlanmıştır. Düşünüyor...

Bazıları eğlence için, bazıları varlığı kanıtlamak veya bir hipotezi çürütmek için, bazıları beyin egzersizi yapmak için (Klein şişesinin yüzeyinde veya dört boyutlu uzayda seyahat etmek), ancak yüzlerce insan "ezoterik" programlama dilleri yarattı. Bu dillerden yaklaşık 150 tanesini okudum ve bir daha asla eskisi gibi olmayacağım.

“Ahhh!”, “Oof!”, “2-hasta”, “Nhohnhehr”, “Noit o" mnain gelb”, “DZZZZ”, “Ypsilax”, “YABALL”, kahretsin - bunlar büyü, şiir sadece isimlerdir ... catom altında - en göz alıcı programlama dillerindeki kod örnekleri.

Tavşan deliği derindir.

INTERCAL (Turing-tamamlandı)



Don Woods ve Jim Lyon

En eski ezoterik programlama dillerinden biri. Yaratıcılara göre adı “Telaffuz Edilemez Kısaltması Olmayan Derleyici Dili” anlamına geliyor. Dil, 1972 yılında öğrenciler Don Woods ve James M. Lyon tarafından mevcut programlama dillerinin ve zihinsel jimnastiğin bir parodisi olarak oluşturuldu.

Selam Dünya

Her program komutuna, program başladığında yürütüleceği bir olasılık verilebilir. Ek olarak, belirli bir türdeki sonraki komutların yürütülmesini veya değişkenlerde yapılan değişiklikleri engelleyen komutlar da vardır.

Selam Dünya!

// Stephen McGreal'dan “Merhaba Dünya”.
// Bu kaynak kodunda ifade edilen görüşlerin,

Gr34t l33tN3$$?
M3h…
41 değil 7rickY.

L33t SP33K, 1'inci yıl boyunca 4'üncü sırada yer alıyor.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;P
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 CL4nS r 7eh be5t th1ng 1n the 3nTIr3 DÜNYADA!!!
g4m3s wh3r3 u g3t'den 5 saate kadar kişi 70tAl1_y w1cK1d!!!
Ben fr4GM4ster'im ve t0t41_1LECE phr34k1ng fL00r ***j3d1 5tYlE*** SİZİN H1DE İLE SİLECEĞİM!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs ile mY m8tes r34lLy k1kK$ A$$

L33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff GİBİ n34t pR0gR4mm1nG DİLİ$…
s0m3tIm3$ teh l4nGu4gES l00k SADECE l1k3 rE41_ 0neS 7o yapmak ppl Th1nk th3y"r3 sadece N0rMal LEE7 5PEEk ama th3y"re 5ecRetLy C0dE!!!
n080DY ALTINDA VE $ l33t KONUŞ 4p4RT FR0m j3d1!!!
50mE ÇOCUK 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t göster 7eh wAy5 l33t kişi 8E y0d4'e daha çok benzeyebilir!!! hE i5 ve u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t C0dE.
1t 3v3n MiTe jUs7 s4y “H3LL0 DÜNYA!!!” gu3s5'i yapamazsınız.
TH3r3"ün n3v3r HERHANGİ BİR NOKTA 100KiNG SC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s ne bu 1s!!!

5uxX0r5!!!L0L0L0L0L!!!

ArnoldC

Terminatör programlama dili.

Selam Dünya!

Hangi dili öğrenmeyi seçmeniz gerektiği konusunda fazla endişelenmeyin. Birçok acemi programcı, yazılım kodları yazmayı ilk kez öğrenmeye başladıklarında dil seçmeyi zor buluyor. Bilgi oluşturmanın yapılarını ve mantığını öğrenmek söz konusu olduğunda seçtiğiniz gerçek dilin hiçbir önemi yoktur. Bu beceriler çok daha önemlidir ve herhangi bir programlama diliyle öğrenilebilir.

  • Bir dil seçerken, program kodlarını hangi amaçla oluşturmak istediğinize odaklanın ve ancak bundan sonra bir başlangıç ​​dili seçin. Örneğin, web siteleri geliştirmek istiyorsanız, HTML öğrenerek başlamalı ve ardından bunu CSS, JavaScript ve PHP ile desteklemelisiniz. Bilgisayarlar için programlar oluşturmak istiyorsanız C++ veya başka herhangi bir temel programlama dilini öğrenmeye başlayın.
  • Profesyonel bir programcı olursanız, başlangıçta öğrendiğiniz dili işiniz için asla kullanmayacağınızı hemen fark edeceksiniz. Bunun yerine sürekli belgeleme ve deneme yoluyla yeni diller öğrenmeye devam edeceksiniz.

Seçtiğiniz dile özel ücretsiz çevrimiçi kaynaklar bulun.İnternet, öğrenmeyi seçtiğiniz dile adanmış ücretsiz eğitimler, kurslar ve videolardan oluşan bir hazine sandığıdır. Hemen hemen her giriş dilinin temellerini bir günde öğrenebilirsiniz.

  • İşte sadece birkaç popüler site: Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools ve diğerleri.
  • wikiHow ayrıca farklı diller için çok çeşitli başlangıç ​​eğitimlerine de sahiptir.
  • YouTube'da hemen hemen her dil için eğitici videolar bulabilirsiniz.
  • Stack Exchange, profesyonel programcıların kullanıcılardan gelen her türlü soruyu yanıtladığı en popüler forumlardan biridir.
  • İyi bir metin düzenleyici indirin. Birçok programlama dili, program yazmak için harici metin editörlerinin kullanılmasına izin verir. Girintiyi ve kod işaretlemesini görüntüleyecek bir metin düzenleyici bulun.

    • Popüler programlar arasında Notepad++ (Windows), TextWrangler (OS X) ve JEdit (herhangi bir sistem) bulunur.
  • Gerekli derleyicileri indirin. Bazı programlama dilleri yazdığınız kaynak kodunu görüntüleyecek bir derleyiciye ihtiyaç duyar. Derleyiciler kaynak kodunu eşdeğer bir düşük seviyeli dil programına çevirir ve bu daha sonra bilgisayar tarafından işlenir. Çoğu derleyici açık kaynaklı ve özgür yazılımdır. Derleyicilerin kullanımını gerektiren diller şunları içerir:

    • TEMEL
    • Fortran
    • Pascal'ın
  • İlk projenize başlayın. Yeni becerilerinizi denemenize olanak sağlayacak iyi bir giriş projesi seçin. İnternette bu konuyla ilgili birçok teklif ve eğitim var; örneğin HTML ile basit web siteleri, PHP ile basit veritabanları ve işlevler veya derleyici kullanımını gerektiren dillerden herhangi birinde basit programlar oluşturarak başlayabilirsiniz.

    Bu, programlamanın teorik temellerine ayrılmış bir giriş bölümüdür. Okuyucu bu konuya aşina olabilir ve daha sonra programlamayı uygulamalı olarak incelemeye geçebilir (bağlantılar bu materyalin başında ve sonundadır), hemen pratik alıştırmalara dönebilir veya yazılım geliştirme teorisini tanımaya devam edebilir. Yukarıdaki listeden onu ilgilendiren sorular. Bu makaleye gelince, işte ana bölümleri:

    Tavsiye: Daha fazla materyal okurken hikaye boyunca geçen tüm terim ve tanımları hatırlamaya çalışmayın. Özellikle İnternet sayfalarının hiper metni iyi olduğundan, malzemenin ayrıntılı sunumuna giden bağlantılar gerektiğinde bulunabileceğinden, zamanla her şey yerine oturacaktır. Her zaman istediğiniz sayfaya dönebilir ve bunu tam olarak bilgi eksikliği hissettiğinizde yapabilirsiniz. Eğer herhangi bir bölümü anlamakta zorlanıyorsanız, onu atlayın. Gelecekte buna geri dönmezseniz, bu, programlamanın temellerini öğrenme sürecinde sizin için gereksiz olduğu anlamına gelir.

    Algoritma, programlama ve sözde kod nedir?

    Algoritmanın ne olduğunu tanımlayarak başlayalım. Algoritma belirli bir sorunu çözmek için yapılması gereken eylemlerin sırasıdır. Algoritma kavramı yalnızca üzerinde yürütülen programlarla ilişkili değildir, dolayısıyla "kimin yürütmesi gerekiyor" sorusunun cevabı herhangi biri veya herhangi bir şey olabilir: bir kişi, bir robot, bilgisayar teknolojisi vb. Algoritma- bu bir talimat veya kılavuzdur veya son olarak sadece eylem programı. Bu durumda bilgisayarın işleyebileceği yapıların algoritma aracılığıyla tanımlanmasıdır. Yoksa sadece bir bilgisayar programının metnini yazma işlemi midir? Bu yorumda programlama ile eşanlamlıdır. kodlama süreci. Neden yorumlardan bahsettim? Gerçek şu ki, yazılım geliştiricileri yaptıkları iş konusunda çok tutkulular ve işleri yalnızca belirli bir programlama dilinde kodlama sürecine indirgendiğinde son derece mutsuz olabiliyorlar. Kendisi sadece kodlama değil, aynı zamanda ön tasarım aşaması ve sonraki aşamalar ve bakımdır. Programlama ile genellikle bir algoritmanın geliştirilmesi de dahil olmak üzere bir bütün olarak bilgisayar programı oluşturma sürecini kastediyorlar ve kodlama, halihazırda geliştirilmiş bir algoritmanın anlaşılabilir bir dile çevrilmesidir. kodlama nesnesi(biri tarafından belirlenen bir programa göre çalışan bir bilgisayar veya başka bir cihaz anlamına gelir).

    Yani, herhangi bir şekilde açıklanan herhangi bir problemin algoritması algoritmik dil(prosedürel programlama dili), ilk yaklaşıma göre bir talimat dizisi veya operatörler. Bir operatör basit veya bileşik olabilir. Basit Şebeke- bu atomik programlama dili ünitesi. Basit operatörler (bir değişkenin adını ve türünü tanımlama), (bir değişkene değer atama), giriş ve çıkış işlemlerini vb. içerir.

    Değişken (programlamada) bir bilgisayar programı tarafından işlenen verilerin bir kısmının geçici olarak depolanması için tasarlanmış adlandırılmış bir RAM alanıdır. Bir değişken, kapladığı belleğin boyutu ve türüyle karakterize edilir; bu, belleğin bilgisayar tarafından nasıl yorumlanacağını belirler. Bir değişkenin türü basit veya karmaşık (karmaşık) olabilir. Basit türler sayısal, karakter ve mantıksal türleri içerir. Karmaşık tür, basit ve/veya diğer bileşik türlerin bir koleksiyonudur.

    Bileşik ifadeler, diğer ifadeleri bir sırayla düzenlemek ve program yürütme akışını kontrol etmek için kullanılır. Bileşik operatörler (bir dizi operatörün tekrarı) vb.'yi içerir. ve kendileri operatör değillerdir. Döngüleri ve koşullu ifadeleri yürütmek için değişken değerlere veya kriterlere ilişkin argümanlar olabilirler. Matematiksel ve mantıksal ifadelerin bir kısmı olabilir.

    Alt toplamlar: En basit bilgisayar programı, mantıksal ve aritmetik ifadelerle belirtilen koşullara dayalı olarak, bazıları değişkenleri değiştiren, diğerleri ise programın yürütülmesini kontrol eden (döngüler, koşullu ifadeler) bir dizi operatörden (program talimatları) oluşur.

    Bunlardan herhangi biri soru işaretleri doğurursa, yukarıdaki bağlantılardan herhangi birini takip etmenizi ve daha ayrıntılı olarak tanımladığım prosedürel programlama dilinin yapıları hakkında bilgi edinmenizi öneririm.

    Daha önce algoritmalar, uygulamaya konulmadan önce formda sunuluyordu. Bugün bana öyle geliyor ki klasik akış şemaları oldukça nadiren kullanılıyor (okullarda veya programlamanın temelleri üzerine çeşitli derslerde). Ayrıca iş süreçlerini diyagramlarla birlikte anlatmak için akış şemaları kullanılıyor ama bu zaten makro tasarımın aşamaları için de geçerli. Uygulamamda, algoritmaları tanımlamanın herhangi bir ara formunu çok nadiren kullanıyorum, ancak böyle bir ihtiyaç ortaya çıkarsa bunu kullanarak yapıyorum. sözde kod. Sahte kod- Bu sözde programlama dili, sözdizimi için herhangi bir standart yoktur. Sözde kod, algoritmanın özünü anlamak için önemsiz olan ayrıntılardan yoksundur; bu olmadan, gerçek programlama dillerinde program yazmak imkansızdır. Tek bir Sahte kodun amacı algoritmanın tanımını resmileştirmektir. Çözümleri sözde kodla anlatılan problemler, herhangi bir programlama diline çok kolay aktarılır. Çünkü sözde kod bir programlama dilidir, tek farkı, derleyicisinin olmaması ve onu yorumlayan tek kişinin insan beyni olmasıdır. Bu materyalin sonunda size derleyici ve yorumlayıcının ne olduğunu anlatacağım.

    Sahte koddaki ve akış şemaları biçimindeki algoritma örnekleri

    Burada, bir sayıyı diğerine bölme sorununa yönelik, sözde kodla gerçekleştirilen algoritmanın açıklamasına bir örnek verilmiştir:

    A: TAM SAYI TİPİ GİRİŞ(A) B: TAM SAYI TİPİ GİRİŞ(B) IF B=0 SONRA ÇIKIŞ(“HATA: 0'A BÖLME!”) ÇIKIŞ SONU IF C: GERÇEK TİP C = A / B ÇIKIŞ(C)

    Entegre geliştirme ortamı (IDE) – kullanıcıya program kodunu yazmak, sözdizimi hatalarını aramak ve vurgulamak ve uygulamayı hata ayıklama modunda çalıştırmak için kullanıcıya araçlar sunan bir dizi yazılım aracı. Entegre geliştirme ortamı bir derleyici, bağlayıcı, hata ayıklayıcı, profil oluşturucu ve diğer bileşenleri içerir. C#, VB.NET ve C++ programlama dillerinde yazılım ürünleri geliştirmek için en popüler ortam, eğitim amaçlı olarak aşağıdakileri kullanmanızı öneririm.

    Hata ayıklayıcı – Bir programı adım adım yürütmenize ve kesme noktaları veya kırılma noktalarıyla tanımlanan her adımda değişkenlerin değerlerini izlemenize olanak tanıyan bir IDE aracı.

    Profil oluşturucu – program kodunu yürütme hızı ve kapladığı RAM miktarı açısından optimize etmek için kullanılan bir IDE aracı. Bir profil oluşturucu kullanarak, kodun hangi bölümünün en sık yürütüldüğüne ve bilgisayarın yürütülmesi için ne kadar zaman ve kaynak harcadığına ilişkin istatistikler toplayabilirsiniz. Bu istatistiklere dayanarak programınızın darboğazlarını tespit edebilir ve bunları optimize etme çabalarınızı yönlendirebilirsiniz.

    Programlama dili - bilgisayar programlarının belirli bir sözdizimine uygun olarak yazıldığı bir dizi talimat (operatör) tarafından temsil edilen resmi bir dil. Başka bir deyişle, programlama dili, bilgisayarda belirli bir göreve yönelik bir algoritmanın uygulanmasına yönelik ana araçtır.

    Makine kodu - bilgisayar işlemcisinin "çeviri olmadan" anladığı bir komut sistemi.

    Yüksek ve düşük seviyeli programlama dilleri - programlama dillerinin, insanlar tarafından uygulamalı problemleri çözmek için kullanım kolaylığı derecesine (yüksek seviyeli diller) veya makine koduna yakınlık derecesine (düşük seviyeli diller) göre sınıflandırılması.

    Derleyici – derleme süreciyle ilgilenen bir uygulama – yüksek seviyeli bir programlama dilinde yazılmış bir programın (program kodunun çevirisi) düşük seviyeli bir dile veya makine koduna çevrilmesi. Düşük seviyeli bir dilde derleme, çoğunlukla, bir programı makine koduna çevirmeden önce bireysel darboğazlara ince ayar yapmak için montaj diline çevirmek anlamına gelir. Assembler'daki bir programın örneğini görebilirsiniz.

    Nesne modülü – program karmaşıksa ve birçok bileşenden oluşuyorsa, derleyicinin çalışmasının sonucunu, yani diğer nesne modüllerine bağlantılarla birlikte makine kodunun kendisini içeren bir dosya.

    Bağlayıcı – derleyiciden sonra yürütülebilir bir modül oluşturma sürecine giren bir uygulama. Derlemenin sonucu birkaç nesne modülü ise, bağlayıcı bunların hepsini bulur ve bunlardan yürütülebilir bir modül oluşturur.

    Yürütülebilir modül – programı tam olarak belirli bir işletim sisteminin önyükleyicisinin işleyebileceği biçimde içeren bir dosya. Çoğu zaman bunlar exe veya dll uzantılı dosyalardır.

    Yükleyici - program için ayrı bir tane oluşturan, yürütülebilir dosyanın verilerini RAM'e (işlem için ayrılan RAM alanına) yükleyen, işlemci kayıtlarını başlatan ve işlemi başlatan işletim sisteminin bir parçası. Bu andan itibaren program çalışmaya başlar.

    Tercüman – program kodunu adım adım çalıştıran, yalnızca belirli bir zamanda yürütülmesi gereken kısmını makine koduna çeviren bir program. Tercüman programı satır satır işler. Derleyici ile yorumlayıcı arasındaki fark, derleyicinin tüm programı aynı anda makine koduna çevirerek bir veya daha fazla nesne modülü oluşturması ve yorumlayıcının programın yalnızca ihtiyaç duyduğu parçasını çevirdikten sonra bu parçayı hemen yürütmesidir. Bu nedenle, bazı tercümanlar bir derleyici, bağlayıcı ve yükleyicinin bir araya toplanmış halidir. Tercümana örnek olarak bir İnternet tarayıcısındaki işlem birimi verilebilir.

    Teoriyi bitirip pratiğe geçeyim. Bununla başlayacağım.

    Her gün yüz milyonlarca insanın şu ya da bu şekilde başlattığı herhangi bir program veya çevrimiçi hizmet, örneğin Word, Microsoft Windows, WhatsApp veya bir tarayıcı, özel talimatlardan oluşur. Veya makinenin anladığı ve ona ne yapması gerektiğini veya tam tersine yapmaması gerektiğini söyleyen özel program kodu. Veya kullanıcı eylemlerine nasıl doğru şekilde yanıt verileceği. Bu makalede hangi program kodunun tartışılacağı tartışılacaktır.

    Tanım

    Bir programın program kodu, makinenin anlayabileceği özel bir dilde yazılmış metindir. Bir tercüman kullanılarak doğrudan metinden çalıştırılabilir veya bir derleyici kullanılarak özel bir forma çevrilebilir.

    Bir programın kaynak kodu birden fazla dosyadan oluşabilir. Üstelik hepsinin aynı formatta olması gerekiyor. İçlerinde yer alan program metninin aynı dilde yazılması gerekmektedir. Doğru, istisnalar olabilir. Örneğin web geliştirmede bir sayfa dosyası birkaç farklı programlama dili ve standardı içerebilir. Projenin karmaşıklığına bağlı olarak PHP, HTML ve diğerleri gibi diller ve teknolojiler mevcut olabilir.

    Karmaşık yazılım sistemleri birleştirildiğinde, sayıları yüzlerce olabilen çok sayıda dosya gerekebilir. Bu tür büyük projelerde işbirliği yapmak için programcılar sıklıkla sürüm kontrol sistemlerini kullanır. Belirli bir geliştirme aşamasında ortak bir kodda birleştirilebilecek kaynak kodun birkaç kopyasıyla aynı anda çalışmanıza olanak tanır.

    Kod kalitesi

    Bilgisayar, kodun nasıl yazıldığını, kötü ya da iyi anlayamıyor. Çalışıyorsa ve hata içermiyorsa, makine her durumda onu başlatacaktır. Kötü kod, yazılım bakım görevlerini karmaşıklaştırabilir. Bu özellikle büyük projeler için geçerlidir. Tipik olarak, yüksek kaliteli kod çeşitli parametrelerle karakterize edilir:

    • Kod okunabilirliği. Bir kod parçası tarafından neyin uygulandığını genel olarak anlamak için ona bir bakış yeterli olacaktır.
    • Açık ve özlü yorumların varlığı. Bu parametre, program kodunun okunabilirliğini, hata ayıklama kolaylığını, destek testini ve sorun gidermeyi büyük ölçüde etkiler.
    • Düşük zorluk.
    • Kod optimizasyonu. Program, bellek, işlemci zamanı ve sabit disk alanı gibi sistem kaynaklarını mümkün olduğunca az kullanacak şekilde düzenlenmelidir.
    • Çöp yok. Yani, program kontrolünün asla girmediği kullanılmayan değişkenler veya kod blokları.

    Zararlı kod

    Yararlı programların yanı sıra sisteme hatta ekipmana zarar verebilecek programlar da bulunmaktadır. Kural olarak, bu tür kodlar devam eden süreçten bir miktar fayda sağlamakla ilgilenen kişiler tarafından yazılır. Örneğin kullanıcıların bilgisayarlarından kişisel verileri çalabilen programlar. Bunlar ödeme kartı numaraları, pasaport verileri veya diğer gizli bilgiler olabilir. Diğerleri sistemin çalışmasına müdahale ederek arızalara neden olabilir ve tam işlevselliği engelleyebilir.

    Uzun süredir programcı olan Jeff Vogel, gelecek vaat eden geliştiricilere iyi kodun kurallarını öğretmek için bazı ipuçları paylaştı.

    Özellikle program kodunuza her zaman yorum yapmanızı önerir. Yorum nedir? Belirli bir kod satırında veya işlevde olup bitenlerin açık ve kısa bir açıklamasıdır. Gerçek şu ki, belirli bir programın geliştirilmesi bir ay sürebilir, hatta bir süre durabilir. Birkaç ay sonra bir proje üzerinde çalışmaya geri dönen deneyimli bir programcı bile kendi programını anlamakta zorlanacaktır. Ancak ayrıntılı yorumlar, olay zincirini ve kodun davranışını eski haline getirebilecektir.

    Ayrıca programınızda global değişkenleri mümkün olduğunca sık kullanmanızı önerir. Bu, program kodunu değiştirirken değişkenin değerini tek bir yerde ayarlamanız gerekeceği gerçeğiyle açıklanmaktadır. Bu durumda değeri kullanan tüm işlevler veya prosedürler bundan hemen haberdar olacak ve yeni verilerle işlem yapacaktır.

    Değişken adları ve hata tespiti

    Değişkenlerin doğru adı, kod kendiniz tarafından yazılmış olsa bile, programın kaynak kodunu incelemek için harcanan süreyi önemli ölçüde azaltmaya da yardımcı olacaktır. Yani iyi kod, değişkenlerin ve işlevlerin tam olarak ne yaptıklarını veya sakladıklarını açıkça belirten adlara sahip olduğu metin olarak kabul edilir. Bu durumda uzun değişken isimleri kullanmamaya çalışmalısınız.

    Hataların zamanında ortadan kaldırılmasına büyük önem verilmesi çok önemlidir. Mükemmel şekilde çalışan program kodu nedir? Bu hiçbir hatası olmayan koddur. Yani, herhangi bir döngü dallanması veya değişken değişikliği, hatta herhangi bir beklenmedik kullanıcı eylemi her zaman beklenen sonuca yol açacaktır. Bu, bitmiş ürünün birkaç kez test edilmesiyle elde edilir.

    Program kodu hatalarını belirlemek, daha doğrusu tahmin etmek, program tasarım aşamasında mümkündür. Kodda çeşitli durum kontrollerinin ve olası istisnaların bulunması, programın belirli bir rota boyunca kontrol edilmesine yardımcı olacaktır.

    Optimizasyon, bilgisayar kaynaklarını ekonomik olarak kullanacak ve aynı zamanda program kodunun yürütülmesindeki hataları önleyecek, uygulanabilir bir program yazmak için büyük önem taşımaktadır. Optimize edilmiş program nedir? Bu, beyan edilen tüm işlevleri yerine getirebilen, aynı zamanda "sessiz" ve ekonomik davranan bir üründür.

    Neredeyse her zaman, programın kararlı çalışması için optimizasyon yalnızca farklı platformlarda ve farklı koşullar altında çeşitli testler gerçekleştirilerek elde edilebilir. Bir program öngörülemeyen şekilde davranmaya başlarsa, buna neyin sebep olduğunu belirlemeniz ve mümkünse süreci ortadan kaldırmanız veya durdurmalısınız.

    Çözüm

    Program kodu nedir? Basit bir ifadeyle, bir bilgisayar için bir dizi talimat ve kavramdır. Bir derleyicinin veya yorumlayıcının makine tarafından okunabilir dile dönüştürebileceği metni içerir. Yani, özünde program kodu, kişi ile bilgisayar arasında ilişkilerini basitleştiren bir aracıdır.