aynı isimdeki diğer başlıklar:
  • efsane olmuş programlama dilidir.

    dünyamız unıx ile sadece iphone ve ipad gibi çığır açan birçok elektronik aletin yapımını mümkün kılan bir işletim sistemi kazanmakla kalmadı, aynı zamanda yine tıpkı unıx gibi vazgeçilmez bir programlama dili olan c’ye de kavuştu. bu müthiş programlama dili c’nin tıpkı benjamin button gibi gittikçe gençleşen bir kahramana benzediğini söylersek hiç de abartmış olmayız. peki, sadece unıx’in değil windows ve linux gibi başka işletim sistemlerinin hangi programlama dilinde programlandığını hiç merak ettiniz mi? buyurun, cevabı beraber bulalım.

    1970’li yılların başında kenneth thompson ve dennis ritchie, bell laboratuvarları’ndaki bir dec pdp-7 üzerinde efsanevi işletim sistemi unıx’i yaratmıştı. unıx’in başarısı üzerine at&t hemen o dönemin en modern donanımlarından olan bir dec pdp-11 temin etmiş ve thompson ile ritchie bu makine üzerinde unıx’in daha gelişmiş bir sürümünü gerçekleştirmek için tüm güçleriyle çalışmaya başlamıştı.

    unıx, pdp-7’de b adlı bir programlama dilinin yardımıyla geliştirilmişti. b ise, mıt’de (massachusetts ınstitute of technology) görevli ingiliz bilim insanı martin richards tarafından geliştirilen bcpl (basic combined programming language) adlı programlama dilinin örnek alınmasıyla thompson tarafından 1970 yılında geliştirilmiş bir programlama diliydi. fakat b, aynı bcpl gibi donanıma hayli yakın çalışan, düşük düzeyli bir sistem programlama dili olmasına karşın pdp-11 üzerindeki yeni çalışmalar sırasında giderek yetersiz kalmaya başladı. kısa bir süre sonra bunun başlıca sebeplerinden birinin b‘nin yalnızca tek bir veri tipine sahip olması ve bu nedenle pdp-7‘ye göre hayli modern bir donanım olan pdp-11‘e tam olarak uyum sağlayamaması olduğu anlaşıldı. bunun üzerine b, unıx‘i geliştirme çalışmalarına paralel olarak, ritchie‘nin öncülüğünde yeniden gözden geçirilip geliştirilmeye başlandı. bu çalışmalar sırasında (1971-1973) b, sözdizim yapısı korunarak, ancak farklı veri tiplerine ve birçok başka yapısal değişikliğe izin verecek şekilde yeniden tasarlandı. rithcie tarafından ortaya çıkarılan bu yeni programlama dilinin ilk sürümü ilk önce “new b” daha sonra “c” olarak adlandırıldı ve 1973‘de tamamlanarak o zamanki unıx çekirdeğinin yeniden programlanmasında kullanılmaya başlandı.

    c’nin kökleri: bcpl ve b

    yukarıda da belirtildiği gibi c’nin kökleri b’ye, b’nin kökleri ise bcpl adlı bir programlama diline dayanır. bu nedenle günümüz c’sinde bile bcpl’in etkileri yer yer görülür. bcpl, 1966 yılında ingiliz bilim insanı martin richards (mıt) tarafından geliştirilmiş ve daha sonra o dönemlerdeki çeşitli projelerde başarıyla kullanılmıştı. büyük ölçüde ken thompson’ın, kısmen de dennies ritchie’nin katkılarıyla geliştirilen b ise sadece unıx işletim sisteminin ilk sürümünün geliştirilmesinde kullanılmış ve 1973’te unıx çekirdeğinin c ile yeniden yazılmasından sonra tahtını kesin olarak c’ye bırakmıştır.

    c denilince akla gelen kitap: the c programming language

    c’yi tahtına doğru götüren yoldaki en büyük destekçisinin incecik bir kitap olabileceği hiç aklınıza gelir miydi? bu gerçekten de böyle olmuştur: 1978 yılında brian kernighan ve dennis ritchie tarafından yazılmış the c programming language adlı kitap, c’yi ele alan belki de en ince ama aynı zamanda en kapsamlı ve etkili kitaptır. 1988 yılında ikinci baskısı yapılan kitap bugün bile c’yi en baştan öğrenmek isteyenlerin ve profesyonel c programcılarının bir numaralı başvuru kaynağı olarak güncelliğini koruyor.

    ansı-c’ye giden yol

    günümüz bilişim dünyasına hâkim olan programlama dillerinin aksine c, herhangi bir komite tarafından tasarlanıp düzenlenmemiş, aksine yetenekleri c’yi kullanan programcılar tarafından yapılan eklentilerle zamanla adım adım geliştirilmiştir. c, her ne kadar bu sayede kendi kendine yürüyen bir dev haline gelmiş ise de bu sürecin yan etkisi c’nin dünyanın her yerinde farklı sürümlerinin doğması olmuştur. durumun gittikçe karmaşık bir hal aldığını gören amerikan ulusal standartlar enstitüsü (american national standards ınstitute-ansı) 1983 yılında c’nin standartlaşması için bir çalışma grubu (x3j11) oluşturarak 1989’a kadar süren çalışmalar sonucunda c’yi dünya çapında standartlaştırır (ansı x3.159-1989) ve hatta bu arada dilin yapısına birkaç yenilik getirerek çeşitli iyileştirmeler de yapar: dünyaca ünlü c-standartı, ansı-c artık doğmuştur. ansı-c yapılan bir kaç değişiklikten sonra 1990 yılında ıso (ınternational organization for standardization) tarafından da kabul edilir ve “c90” başlığı altında yayımlanır. daha sonraki yıllarda (1995, 1999 ve 2011) yine ıso tarafından “c90” standartına birtakım eklemeler yapılması sonucu ortaya çıkan yeni standartlar da sırasıyla “c95”, “c99” ve “c11” başlıkları altında yayımlanır. “c11” olarak bilinen ıso standartı aynı zamanda ansı tarafından da kabul edilen en güncel c standartıdır.

    nesne yönelimli programlama ve c++’ın doğuşu

    her ne kadar nesne yönelimli programlama (object oriented programming - oop) bilişim dünyasında ilk olarak 1990’lı yıllarda ticari uygulamaların geliştirilmesinde boy göstermeye başlamış olsa da, temeli ilk olarak 1970’lerde atılmaya başlanmıştı (1967 yılında oslo üniversitesi’nden ole-johan dahl ve kristen nygaard tarafından geliştirilen simula-67 ilk nesne yönelimli programlama dilidir). 1972 yılında xerox parc laboratuvarları’nda alan kay, dan ıngalls ve adele goldberg yönetiminde geliştirilen smalltalk-80 adlı programlama dili, simula-67’den sonra ikinci nesne yönelimli programlama diliydi. 1980’li yıllarda apple tarafından başarılı bir şekilde ticarileştirilmesiyle birlikte bilişim dünyasında artık geri dönüşü olmayan bir süreç başlamıştı.

    yazılım dünyasındaki tüm bu gelişmeleri yakından takip eden bell laboratuvarları, c’nin uygulama geliştirmelerinde büyük ağırlığa sahip nesne yönelimli programlamada yetersiz kalacağını öngörerek daha 1979 yılında bjarne stroustrup adlı danimarkalı bir bilim adamının yönetiminde c++ adlı yeni nesil bir programlama dili için ilk çalışmaları başlatmıştı bile. c’nin nesne yönelimli programlamanın bel kemiğini oluşturan sınıfların ve olağandışı durumların işlenmesine olanak tanımaması, c++ projesinin başlatılmasında rol oynayan en önemli faktördü. c++ prensip olarak, yalnızca c’nin biraz daha gelişmiş ve nesne yönelimli programlama için uyarlanmış bir şekli olarak görülebilir. d adını almamasının nedeni de budur (c++, c jargonunda c’nin değerinin bir artırılması anlamına gelir). günümüzde c++, microsoft windows gibi işletim sistemlerinin geliştirilmesinden, yüksek performans gerektiren uygulamaların geliştirilmesine kadar birçok alanda kullanılıyor. aynı c’nin c++’ya ilham vermesi gibi, c++ da java, php ve c# gibi başka programla dillerinin mimarilerini hayli etkilemiştir.

    c# (c sharp)

    microsoft tarafından 2001 yılında geliştirilen c#’ın temeli c, c++ ve java’ya dayanıyor. özellikle sözdizim yapısının c’den büyük ölçüde etkilendiği söylenebilir. c# kullanımı basit, genel amaçlı fakat hayli başarılı bir nesne yönelimli programlama dili ve günümüzde microsoft.net teknolojilerinin ana programlama dilini temsil ediyor. her ne kadar c# ile geliştirilmiş uygulamalar bellek ve işlemci gereksinimleri açısından hayli tutumlu olmalarıyla bilinseler de, performans açısından c programlama dili ile programlanmış uygulamalarlala rekabet edecek düzeye erişememişlerdir.

    günümüzde c

    java, c#, c++ gibi 3. nesil bir programlama dili olan c de genel amaçlı programlama için geliştirilmiştir. c, düşük düzeyli bir dil olduğu için bir uygulama geliştirme dilinden çok ideal bir sistem programlama dilidir ve günümüzde birçok derleyici ve işletim sisteminin geliştirilmesinde kilit rol oynamaktadır. java sanal makinesi (java virtual machine), unıx ve linux’un hemen hemen tamamı, microsoft windows’un özellikle ilk sürümlerinin büyük bölümü yine c ile geliştirilmiştir. ayrıca c’nin başarıları sadece bunlarla kalmamış ve c++ üzerinden günümüzün diğer ana programlama dilleri java, php ve c#’ın mimarilerine ilham vererek, bu programlama dillerinin yapılarını da büyük ölçüde etkilemiştir. c, hayli yüksek bir performansla ve büyük bir güvenilirlikle her donanım üzerinde çalışabilmektedir ki bu son özellik bilgisayar dünyasında büyük bir devrimi de beraberinde getirmiştir (1970’li yıllarda programcıların işi hayli zordu; bir programı ya belirli bir donanım için geliştirmek zorundaydılar ya da büyük çabalar ve zaman harcayarak söz konusu yazılımı her bir donanım tipine ayrı ayrı uyarlamak zorundaydılar.)

    gelecekte c

    yukarıda da belirtildiği gibi, her ne kadar c’den daha sonra ve nesne yönelimli programlama ve olağandışı durumların tanımlanabilmesi vb. gibi hususlar da dikkate alınarak geliştirilmiş olsa da, c++ kesinlikle c’nin halefi olarak görülemez. çünkü c++ özellikle nesne yönelimli felsefeyle programlanacak olan uygulamaların geliştirilmesi için tasarlanmış bir programlama dilini temsil ederken, c donanıma çok yakın düzeyde, olağanüstü bir performansla çalışan bir sistem programlama dilidir. c’nin belki de en zayıf yönlerinden biri derleyicisinin hata ayıklama süreçlerinde programcıya yeterince “ipucu” verememesi ve dolayısı ile programcıyı bazı durumlarda hataları ile neredeyse “baş başa” bırakmasıdır. bunun sebeplerinden biri de c derleyicisinin doğrudan bellek operasyonlarına izin vermesidir. her ne kadar güvenilir programlama dilleri kategorisinde bulunsa da, c’nin bu tip özelliklerinden dolayı gerçek zamanlı sistemlerde ve güvenliğin ön planda olduğu diğer alanlarda (tıpta, havacılık ve uzay sanayilerinde vb.) uygulama geliştirilmesinde kullanılması pek tavsiye edilmez. diğer taraftan c’nin gömülü sistemlerdeki başarısını burada bir daha hatırlatmakta yarar var: mikrodenetleyici programlanması alanında c, hâlâ en çok tercih programlama dili. işletim sistemleri cephesinde ise, her ne kadar microsoft windows’un geliştirilmesinde c yerine artık c++ kullanmaya başlamış olsa da, bilişim dünyasının iki kilit işletim sistemi olan unıx’in ve linux’un geliştirilmesine -tıpkı geçmişte olduğu gibi- yine c ile devam edileceği kesindir (c doğal olarak, bu son iki işletim sisteminin sistem programlama dili olarak kalmaya da devam edecektir). bütün bu nedenlerle, c’nin gelecek dönemlerde de önemini kaybetmeyeceği, aksine unıx, linux gibi işletim sistemlerinin kullanımının yaygınlaşmasıyla daha da önem kazanacağı açıktır.

    kaynaklar
    brian w. kernighan and dennis ritchie, “the c programming
    language-ansı c”, prentice hall, 2nd edition, s. ix-xii, s.1-4, 1988.
    dennis m. ritchie, “the development of the c language”,
    association for computing machinery ınc., 1993.
    bjarne stroustrup, “die c++ programmiersprache”,
    addison-wesley, 4. aktualisierte und erweiterte auflage, s. 3-22.
    danny kalev, “the future according to dennis ritchie (a 2000 interview)”,
    linuxworld.com, 20. december 2000.
    wilfried elmenreich, “systemnahes programmieren,
    c programmierung unter unix und linux”, ınstitut für technische ınformatik,
    technische universität wien, s. 109, 2005.
    wikipedia, “c-programmiersprache”,
    http://de.wikipedia.org/wiki/programmiersprache_c/
    donna cunningham and patrick regan, “ritchie and thompson receive
    national medal of technology from president clinton”, alcatel-lucent / bell labs, 2002.
    rupert goodwins, “dennis ritchie, father of unix and c, dies”, 13. october 2011.
    http://en.wikipedia.org/…arp_(programming_language)

    -börteçin ege
  • bu programlama dili için ilk olarak bilinmesi gereken şey i++ ile ++i nın farkıdır.

    şöyle bir örnekle farkı anlamamız mümkün:

    x = 4 olsun.
    x-- = ekrana 4 yazdırır. (yine de, sondaki -- dolayısıyla, x=3 olarak kaydedilir.)
    --x = ekrana 2 yazdırır. (bir öncekinde x=3 idi, o 3'ü --ile 1 eksiltip x kısmı ile ekrana yazdırıyoruz: x=2)
    x++ = ekrana yine 2 yazdırır. (yine de, sondaki ++ dolayısıyla, x=3 olarak kaydedilir.)
    ++x = ekrana 4 yazdırır. (bir öncekinde x=3 idi, o 3'ü de ++ ile 1 artırıp, x kısmı ile ekrana yazdırıyoruz: x=4)

    bu basit olayı anlayana kadar canım çıkmıştı, şimdi de aklımdan çıkmıyor. nasıl illet bir dil belli değil.
  • assembly tabanlı bir programlama dili.

    c++, java, javascript, c#, objective-c, perl, php, python gibi dünyanın en popüler programlama dilleri c'den türemiştir.

    şimdi gelelim benim için önemine. bir insanın hayatında c ile bu kadar erken ve saçma anıları olamaz diye düşünüyorum.

    yıl 1994.

    annem sayısal loto'da beş bilmiş, o zamanın parasıyla beş yüz milyon lira ikramiye kazanmıştı. çok istiyordum, bayağı ilgiliydim; bir kıyak yapıp o parayla bana bir bilgisayar aldı. adını hatırlayamadığım kel bir adam bilgisayarı getirdi kurdu falan, oyun yükledi bir sürü. o gittikten sonra o oyunların hepsini teker teker sildim. zira saçma geliyordu oyun oynamak ve en önemlisi bütün harddisk'im, bugün gmail üzerinden gönderilen bir e-postaya eklenebilecek maksimum posta eki boyutundaydı.

    yıl 1995.

    anneme dedim ki: 'anne bu programları nasıl yapıyorlar'. o da sormuş soruşturmuş; programlama dilleri falan var diye öğrenmiş, aldı götürdü beni bir kitabevine. şu an adını hatırlamıyorum ama; 1995'te 'bilgisayar programlama dili' ile ilgili herhangi bir şey bulunabilecek tek bir yer vardı memlekette.

    neyse, annem beni götürdü buraya. 'bilgisayar programalama dili' kitabı var mı dedi. aralarında konuştular falan bayağı, sonra çocuğun biri '1 tane var' dedi.

    biz gittik onu aldık. üstünde kocaman 'c' yazıyor. o kadar. mavi veya yeşil tonlarında bir kitap olabilir. arkasında yapıştırılmış bir cd de var. program yazma programı da var yani. inanılmaz.

    annem aldı bana onu. epey paraydı o zaman.

    eve geldim, büyük bir iştahla. cd'yi çıkardım, soktum bilgisayara. çift tıkladım setup.exe'ye. keyfime diyecek yoktu.

    program kurulurken ekranda hayvan gibi "c 1.0" yazıyordu. (yalan olmasın, böyle hatırlıyorum. doğrusunu bilen, o yılda o kitaba sahip olan varsa yeşillendirsin.)

    lan inanılmaz bir durum düşünsene. o zaman farkedemesem de, program bayağı early stage'deyken onu keşfetme imkanı bulmuşum.

    sonra çalıştırdım programı, açtım kitabı "tutorial" adında, yıllarca yanlış telafuz ettiğim kısımlar olduğunu farkederek; onları bilgisayardaki editöre geçirerek test etmeye başladım.

    /* hello world program */
    #include<stdio.h>
    main()
    {
    printf("hello world");
    }

    başında /*xxxxxx*/ olan comment içindeki kısımları dahi yazdım. her örnekte. üşenmedim.

    sleep'i keşfettim gün geldi. o zaman şova hazırdım. çünkü anneme gösterebileceğim bir şey vardı.

    bir program yazdım kabaca:
    "annecim"
    *1 saniye uyu*
    "bir saat daha bilgisayar başımda"
    *1 saniye uyu*
    "dursam olur mu?"

    sürekli bu yanıyordu ekranda.

    "hello world daha güzeldi" dedi.

    daha sonralarda annemle, yazılımla ilgili herhangi bir şeyi paylaşmayı bıraktım.

    allahım çok heyacanlıydım ama ya. kendime göre inanılmaz şeyler yapıyordum. zamanının efsanesi superscan'i hex editor'de editliyordum, üreteni kendi adımla değiştiriyordum falan. tam birer saçmalık.

    kısacası 'c' senin için neyse, benim için o değil dostum.

    aile yönlendirmesi gerçekten çok önemli. daha sonradan "yeter bilgisayar başında oturduğun, biraz ders çalış, çekeceğim şimdi fişi" moduna doğru kayacağını bilmeden bir hata yaptı annem. en büyük ve güzel hatasıdır.

    senin annen hiç 'c'yi duymuş muydu?
    bokunu yerim anne.
  • c bir programlama dilidir. bilgisayar dunyasinda cigir acan, bir devri kapatip yenisini acan ve donemi icerisinde yazilmis en gelismis dildir. yapisal programlama kavramini cok iyi uygulatan ve donanimsal hakimiyet konusunda konusunda en iyi olan dildir. birebir assembler a cevrilebilecek sekilde tasarlanmistir. temel amaci sistem programlamaya yonelik olsa da oldukca genis bir kullanim alanina sahiptir. su ana kadar en uzun sure kullanimda kalan ve guncelligini hic yitirmeyen bir dildir. hatta onumuzdeki 10 yil icerisinde de os yazimi, low level uygulamalar, embedded sistemlerde kullanilmaya devam edecektir. programlamayi c ve c++ siralamasi ile tam anlamiyla ogrenen bir programci baska bir dilde calismaya cok kisa surede alisacaktir. gozlemlerim soyleki ust seviye dillerle ugrasanlar aman kod yazmayayim da ne olursa olsun cabasi icindeyken c/c++ kokenliler ise biktim bu 40 cesit arayuzun kendine ait araclarini kullanmaktan verin standardini adam gibi kod yazayim tavrini gosterirler. oysa dogru olan gerektiginde kod yazmak gerektiginde de yeni araclari ve uygulamalari kullanamayi bilmektir. c/c++ in temellerini ogrenmek oldukca faydali olacaktir. ilk etapta zahmetli de gelse isin mantigini ogrenmenin en kisa yoludur. aksi durumda programcilarin daha cok zorlandiklarini farkettim. programlamaya java ya da vb ile baslayan kimseler uzun vadede bazi kavramlarin mantigini kavramakta daha cok zorlaniyor.

    c nesne yonelimli programlama yapmaya elverisli olmadigindan siradan bir pc uygulamasi icin kullanimi elbetteki zor olacaktir. programlama dilleri programcinin aracidir ve belirli bir is icin en uygun arac secilmelidir. c ile kullanici arayuzu olan ve orta seviye bir veritabani olan program yapmaya kalkmak motorsikletle hindistan seyahatine benzer. oysa hindistana gitmenin en uygun yolu ucak kullanmaktir. o halde java, bilemedin c# tercih etmelisiniz. ucaktan korkarim diyip otomobil ile gidecekseniz c++ olabilir. ancak kadikoyden mecidiyekoye yogun trafikte gitmeniz gerekiyorsa en uygun tercih motosikletle gitmek olacaktir. ucakla gitmek cok sacma olabilir, once atakoyden havaalanina, ordan ucakla sabiha gokcene, ordan da kadikoye. ama bu yolu trafige ragmen otomobille de gecebilirsiniz ve c++ burda otomobil oluyor.

    sonuc olarak programala dili programcinin aracidir ve ona dusen kendi isi icin en uygun dili secmek ve o dile en iyi sekilde kodlamaktir.
  • bilgisayarları avrupa vatandaşları olarak düşünürsek, c bilgisayarların latincesidir diyebiliriz.

    latince bilen biri italyanca'yı ispanyolca'yı fransızca'yı ve daha pek çok dili rahatlıkla öğrenir. hatta bu dillerdeki çoğu kelimenin/yapının kaynağına, neden öyle değil de böyle olduğuna dair fikri olur. latinceyi hakkıyla konuşabilen kişiye de saygı duymamak olmaz.
  • embedded sistemlerde, işletim sistemlerinde kullanıldığı için okullarda öğretilir. compiled bir dildir, python gibi interpreted değildir. isteyen python veya c sharp gibi dillerle bir kernel yazsın bakalım. ya da uçağın oto pilotunu python ile kodlamaya kalksın. o sistemlerde sizin için bir baytın veya bir nanosaniyenin ne kadar önemli olduğunu anlarsınız.

    ayrıca python veya c sharp ile üniversite hayatınızdaki temel derslerde yapabildiğiniz şeylerin çoğunu c ile de yapabilirsiniz. illa bellek yönetimi yapmanız gerekmez. fakat üniversite piyasaya kodlamacı yetiştirme değil, temel öğretme amaçlıdır. cyi hakkı ile öğrenen insanlar, diğer dilleri kolaylıkla öğrenebilir çünkü öğrenimi daha kolaydır.

    ayrıca kusura bakmayın ama mal mısımız amk? bilgisayar bellekleri terabayt olmuş. hangi bilgisayarda terabayt ram var? kaynak yönetimi yapmazsanız nolur biliyor musunuz sayın bilmiş arkadaşlar. 3 5 uygulama açarsınız ramin anasını sikersiniz. sonra benim 256 gb ramim var ama chrome açınca kasıyo ühühü dersiniz, çünkü o sistemde bellek optimizasyonu düzgün yapılmamıştır. işletim sistemi kaynak yönetimini düzgün yapamayınca da bombok şeyler olur. 2 uygulamasa bilgisayar kasar.

    inanmayan windows 10 %100 disk usage problem diye bir aratsın da bu bellek yönetimlerinin önemini bir görsün

    edit: bu arada c'yi sevmem. hatta c ailesini sevmem.
  • ilkokuldaydik.

    koca yaz tatili geride kalmis, 3. sinifin ilk gunu gelip catmisti.

    ilk gun olmasi vesilesiyle sinifta isteyen istedigi siraya istedigi arkadasiyla oturmustu. muhtemelen bir kac gun icinde ogretmenimiz -her yilin basinda oldugu gibi- boy, usluluk/haylazlik, caliskanlik/tembellik kistaslarinin bir harmanlamasi ile olusturdugu cok bilinmeyenli bir denklemle, sinif oturma duzenini belirleyecekti.

    ama dedim ya, daha ilk gundu. ben de arkadasim serdar ile birlikte, orta blogun en arka sirasina oturmustum. ogretmenimizin cok bilinmeyenli deklemi hicbir yil serdar ile benim hakkinda bir esitlik vermemisti ve vermeyecekti.

    yine muhtemelen, okulun ilk gunu bos durmayalim diye bizden birseyleri yazmamiz istenmisti. uclari sipsivri kursun kalemlerle, kenarlari henuz kirismamis ve dolayisiyla atac gerektirmeyen defterlere birseyler yazmaya koyulmustuk.

    cok gecmeden, serdar:

    - 'c harfi'ni nasil yaziyorduk?

    seklinde bir soru ile cikageldi. haylaz serdar yaz boyu o mahalle macindan bu mahalle macina kosmus, bu sirada golleri sayarken matematik bilgilerini tazelemis ama aksam ezani ile eve dondukten sonra tek kelime okumamisti.

    o gun serdar'in defterinin ilgili kismina -yarida kalan kelimenin sonuna- bir 'c harfi' yazarak olayi gecistirmistim. bugun dusunuyorum da garip bir durumdu serdarinki. yani serdar, c'nin varliginin farkindaydi. o kelimenin tam da orasinda bir c'ye ihtiyac duyuldugunu biliyor ama c'yi yaziya nasil dokecegini bilemiyordu. bir cesit "alfabeye inanmiyorum ama bir c var" durumu. bir c vardi ve sardar'in bu varligin farkinda olabilmesi icin bir simgeye ihtiyaci yoktu.

    misal ben bugun c'yi bir simgeden (c) ayri olarak dusunemiyorum. ama dusunuyorum da serdar haylaz oldugu kadar iyi bir arkadasti. hayatin, cizgilerini bir zaman diliminde yanyana getirdigi sonraki dilimde dunyanin farkli uclarina yonlendirdigi insanlar, bazen cihangir'de bulusurlar bazen de boyle 'c harfi'nde.
  • array'ler üzerindeki subscript olayını arr[10] şeklinde kullanabileceğiniz gibi 10[arr] şeklinde de kullanabileceğiniz dil.*

    zamanın ötesinden edit: piçler bunu niye zamanın ötesinde gönderdiniz a.k
  • dennis ritchie'nin yazdigi ilk c compiler'inin kaynak kodlari: https://www.bell-labs.com/…r/dmr/www/primevalc.html
    (bkz: respect)
  • programlama dillerine takım tutmak gözüyle bakan fanatik programmerların yücelttiği, developperların anlam veremeyip yerdiği programlama dili.
    unutulmamalıdır ki c nin çıkış noktası assembly e en yakın, ancak aynı platformlar için taşınabilir kod yazabilme ihtiyacıdır. hızlı çalışması gereken kritik bir kod yazmanız, yetersiz bellekle çalışmanız, işletim sisteminin yapacağınız işe özel apilerini kullanmanız gerektiğinde, alternatifi olmayan bir dildir.

    nesne yönelimli programlama mantığı makina dilinde karşılığı olmayan, proje geliştirmede soyutlama sağlayarak işlemleri kolaylaştıran ancak performanstan çok az da olsa alan bir sistemdir. bunu göz önüne alırsanız, işletim sistemleri için hızlı çalışması gereken toollar yazılmasında, oyun programlama gibi hızın ön planda olduğu win32 uygulamalarında assembly ile birlikte c olmazsa olmaz, vazgeçilmezdir. 2 mb lık belleği olan bir microcontroller ile, bir pic mikroişlemci, bir set top box uygulaması ile c dışında hiç bir programlama dili uğraşamaz(assembly hariç).

    öte yandan, alelade bir desktop uygulaması için c kullanmak, tabiri caizse iğneyle kuyu kazmak, deveye hendek atlatmaktır.
hesabın var mı? giriş yap