Benim ortağı olduğum şirket var ve 10'dan fazla şirketle rekabet ediyoruz.

Başından beri bu konuyu takip ediyorum ama burada ben de müdahale etme
gereği gördüm. Evet elektronik temelli bir yazılımcı olarak C kullanırken
kendimi evimde hissediyorum ve belki de biraz taraflı bakıyor olabilirim.
Fakat tecrübelerim bir yazılımcının genel kültür olarak bile olsa
kesinlikle C bilmesi gerektiğini söylüyor.

Olaya ticari olarak bakmak gerekirse, evet, yerine göre bir çok dil
kullanıyoruz. Şu anda şirketimizde aktif olarak kullanılan diller

C/C++/Java/Python/PHP/VB6/VB.NET/C#

Her birinin kullanımının (Projeye, platforma veya ekibe göre) gerekli
olduğu durumlarımız oluyor. Tecrübeli programcılar olarak şu konuda
hemfikir olacağımızı düşünüyorum; Yerine göre projede kullanılması gereken
doğru dil değişebilir. Her dil her proje için uygun değildir.

Ama "Türkiye'de kim C kullanıyor ki?" tarzında bir soru beni şaşırtır. Eğer
bahsettiğiniz GUI programlama ise bunun için C++ tercih ederim. Ama geçen
ay yazdığımız tcp sunucu uygulaması için kesinlikle C dedik. Üstelik bu
proje sunucu tarafında veritabanı bağlantısı da yapıyor. Hatta kullanıcıdan
gelen  custom SQL sorgularını çalıştırıp, sonuçları metadata ile birlikte
bir XML yapıp istemciye gönderiyor. Bunu Java ile yapabilirdik, C# ile
yapabilirdik, Python ile yapabilirdik. Zamanında yaptık da, ama yinede
tercihimiz C oldu.

Şirketimizin politikası kendi yazılımcılarını yetiştirmektir. Bu daha önce
çalıştığım şirkette yazılım ve ar-ge departmanlarını yönetirken de
uyguladığım bir yöntemdi; genellikle meslek yüksek okulu öğrencilerini 1.
sınıfta, mühendislik fakültesindeki öğrencileri 3. sınıfta stajer olarak
alıp, ihtiyaçlarımıza göre yetiştirip mezun olduklarında iş teklif
etmektir. Tabii uygun gördüklerimize. Bu eğitimlerin başında C gelir. C
bilmeyen bir yazılımcı ile çalışmayı hiç düşünmedim. Sebebi ise hep
yardımcı programcı düzeyinde kalmaları. Şimdi bana kızanlar olabilir ama
ben kesinlikle duygusal davranmıyorum. Tamamen ticari kaygıyla hareket
ediyorum. Çünkü her personelim tadelle yesin, sahaya bir kişi beş kişi gibi
çıksın istiyorum.

Evet, piyasada hiç C bilmeyen ve bu işe yıllarını vermiş usta yazılımcılar
var. Hatta çevremde de çok var. Ama, hani hep bir şeyler eksik gibi. Tuzu
mu az, baharatı mı olmamış. Anlatabiliyor muyum? Her zaman bazı şeyleri
ifade etmekte zorlanmışımdır bu ustalara.

Benim asıl takıldığım konu; Serdar Bey üzerine basa basa "Ben sadece C
öğrenin, C ile program yazın, her zaman her yerde C demiyorum" şeklinde
belirtmesine rağmen, sanki öyle diyormuş gibi cevaplanması.


25 Nisan 2012 19:48 tarihinde kypdk <[email protected]> yazdı:

>
>
> On Wed 25 Apr 2012 02:54:11 PM EEST, Serdar KÖYLÜ wrote:
> >> Olaya sadece gui-programcısı olarak bakmayın denmişte Türkiye'de kaç
> özel ar-ge robot teknolojisi üretiyor ya da C'nin gücünü kullanacağınız iş
> yapıyor?
> >
> > Biz varız desem.
> bir tane örnek yeterli değil :)
> Ama kendi adıma robotları python ile kodlamayı daha
> > çok tercih ediyorum. Ha, ufak bir mcu ise, assembler iyidir oluyor
> > elbette.
> Demek ki her zaman her yerde C değilmiş :)
> >
> > Sorun C'nin gücü değil ki. Sorun, Socket programlamayı bilmeme sorunu.
> > Ve bunu "en kolay" C ile öğrenebileceğiniz meselesi .
> >
> > Ha, birde buradaki "en kolay" lafını, "amanda sadece ve sadece" diye
> > anlayanların olması sorunu. Atıyorum,  IPC olayını Java ile de
> > öğrenirsiniz, ama C ile daha kolay, daha çabuk öğrenirsiniz.
> >
> > Elbette birde, bunu "Amanda IPC işini C ile daha iyi yaparsınız da
> > java (veya herneyse) ile kötü yaparsınız" gibi anlayan kıt anlayışlar
> > var olacaktır.  Öyle ki, belki de IPC işini Java ile daha kolay ve iyi
> > de yapabilirsiniz, bu ayrı bir tartışma.
> Spesifik üstünlükler ve ayrıcalıklar illa olacaktır. kolay kavramı
> kişiye görede değişebilir.
> >
> >
> >
> >
> >
> >
> > 2012/4/25 Serdar KÖYLÜ<[email protected]>:
> >>> "C kolay ogrenilir", katilmiyorum
> >>
> >> Ben bunu dediğimi sanmıyorum. Bir gösterseniz hani, buraya bir **
> koyalım.
> >>
> >>
> >>> "Yazilim (genel anlamda) en hizli ya da kolay C ile gelistirilir."
> katilmiyorum
> >>
> >> Bunuda en azındna böyle söylemediğimi sanıyorum, gene "**" koyalım.
> >>
> >>> "%'lerle ifade ettiginiz ifadelerin hepsi varsayim.", bunlara da
> katilmiyorum.
> >>
> >> Hah, şimdi o "**" ı alalım buraya koyalım. Sormuştum, anladınzı mı,
> >> anlamamışsınız. O yüzden tekrar yazalım:
> >>
> >> 1. C öğrenmek, başlangıçta daha zor, ilerleyen dönemde daha kolaydır.
> >> 2. Programlama paradigmasını öğrenmek, C ile daha kolaydır.
> >> 3. Belli bir karmaşıklık, performans vs. vs. seviyesi gereği ortaya
> >> çıkınca, C ile yazmak daha kolaydır.
> >> 4. Belli bir seviyeye ulaşmış bir programcı için, C ile kod yazmak,
> >> üst seviye dillerle kod yazmaktan daha zor değildir.
> >>
> >> Hah, tekrar yazdık bakın işte. Ne diyor muşuz?
> >>
> >> Gelelim şu yüzdeler olayına. 25 seneden fazla kod yazmış, DOOM için
> >> daha dün çıkmış son moda bir oyun olduğunu düşünüp, oyun denince
> >> ZX-81'deki madenciyi veya PC/XT'deki digger'ı hatırlıyor olsaydınız,
> >> sizde bu oranları kendiniz görürdünüz.
> >>
> >> Buyrun, bakılmaya hazır koskoca open source repository'si var. Açın
> >> inceleyin bakalım, farklı bir şey görecek misiniz?
> >>
> >> Evet, moore kanunun da varsayım, ama hala işliyor. Ve bakın işte,
> >> benimkide varsayım ama, hala millet C ile yazıyor, neden acaba?
> >>
> >>
> >> 2012/4/25 Gurbuz Sanatci<[email protected]>:
> >>> Siniflamaya calisayim daginikligi,
> >>> Anlastiklarimiz :
> >>> C guclu ve onemli
> >>> C bircok dilin temeli
> >>> C bilen makinayi ve sistemi tanir, yazilim gelistirirken tikanma
> yasamaz.
> >>> Ne guzel, benzer sureclerden gecmisiz. Ben Clipper ile Summer'87
> >>> versiyonunda tanistim, editorumuz Sidekick idi.  Clipper 5.2e ye kadar
> >>> devam ettim. Agirlikli olarak da Turbo Pascal ve Turbo C kullaniyordum
> o
> >>> tarihlerde.
> >>>
> >>> Anlasamadiklarimiz:
> >>> "C kolay ogrenilir", katilmiyorum
> >>> "Yazilim (genel anlamda) en hizli ya da kolay C ile gelistirilir.",
> >>> katilmiyorum
> >>> "%'lerle ifade ettiginiz ifadelerin hepsi varsayim.", bunlara da
> >>> katilmiyorum.
> >>>
> >>> Ayrica:
> >>> "Demeli miyim" ifadeleri uslubunuza elestiridir, bilginizi,
> deneyiminizi
> >>> sinamak icin degil. Ama siz oyle anlamissiniz.
> >>> "Ama alacağınız cevaplar sizi zora sokabilir."  demissiniz.
> >>> Serdar Bey sizin beyniniz nasil isliyor. Ayni sureclerde benzer islerle
> >>> ilgilenmis olmak iyi birsey, uzlasabilme ihtimalidir. Ben "DOOM" filan
> >>> oynarken ates ettiginiz yaratiklardan degilim!
> >>>
> >>> Gelelim bu ifadeye:
> >>> "Ve sizin anlayamadığınız, öbür dilleri atın, C kullanın demediğimiz,
> >>> programcı iseniz bir sürü şeyi bilmeniz gerektiği, bunları da en kolay
> C
> >>> ile öğreneceğinizdir. Bunları bilin, öğrenin, sonra bakar hangi dil
> >>> işinize gelirse, onunla yazarsınız. "
> >>> Ben bu sureci yasadiktan sonra digerlerine agirlik verdim. Benim
> >>> varligim da iddianizi cokertiyor bu durumda.  Ama ben size "At
> >>> Gozlugu"'nu cikarin demiyorum. Bu sizin bakis aciniz diyorum.
> >>>
> >>> Sizin probleminiz:
> >>> Sizinle ayni fikirde olmayisima itiraz ediyorsunuz. Bilgi ile bakis
> >>> acisini ve tercihleri karistiriyorsunuz. Herkesin sizinle ayni
> sonuclara
> >>> varmasini istiyorsunuz.
> >>> Bu bir matematik formulu degil ki ayni sonucu versin. Milyonlarca
> >>> degisken var bu karari belirleyen. "Beni yargilamak istiyorsan, once
> >>> benim ayakkabilarimi giy..." anlaminda bir Ingiliz Atasozu var
> bilirsiniz.
> >>> Yani daha basiti, sizin IQ tamam da EQ'ya bir baktirin diyorum.
> >>>
> >>> Cozum:
> >>> Sizin yorumlarinizin varligini ve degerini kabul ediyorum, sizden de
> >>> dayattiginiz fikirlerin disindaki yorumlarin da varligini kavrayacak
> >>> "zihin acikligini"  umuyorum.
> >>>
> >>> Simdi, istediginiz kadar anlatmaya devam edebilirsiniz, bundan sonrasi
> >>> beni asar,  YANIT VERMEYECEGIM,  cunku sizinle tartismaktan cok korktum
> >>> :)))
> >>>
> >>> Sevgilerimle...
> >>>
> >>>
> >>>
> >>>
> >>> Serdar KÖYLÜ wrote:
> >>>> Ben de size "iki sene, herhangi bir xBase ile ticari
> >>>> program gelistir, piyasada programciligin ne oldugunu ogrenirsin" mi
> >>>> demeliyim ? Ya da "En azindan 10 senedir kullanilan bir ticari
> uygulama
> >>>> yazip, ona destek verdiniz mi ? Yapin da sonra konusalim" mi
> demeliyim ?
> >>>>
> >>>> Buyur, de, sizi tutan mı var. Ama alacağınız cevaplar sizi zora
> >>>> sokabilir. xBase olayını biz dBase II iken, ashton-tate denen bir
> >>>> müessese varkenden kullandık. Clipper çıktığında, ilk
> >>>> kullanıcılarından biriydik. 10 sene değil ama, 20 senedir kullanılan
> >>>> programlarımız var, köhnemiş kalsada. Btrieve içinde kendi apilerimiz
> >>>> vs. yazdık. Sidekick'ten ilham alıp, çok TSR'de yazdık. Yaptık,
> >>>> buyrun, konuşalım.
> >>>>
> >>>> BASIC (GW, Q, Pro, Turbo vs.) le de, Assembly ilede, hepsiyle de kod
> >>>> yazdık. OS/2'ye de, VM/SP'lere de. Bunlarla gelmeniz, ben gibi bir
> >>>> dinozora zor gelmeyecektir kl?
> >>>>
> >>>> Bu diller niye var. Eğer o at gözlüğünü çıkarı bakarsanız, görürsünüz
> >>>> kolayca. Tipik dillerin öğrnem/kullanışlılık eğrisi ile C dilinin
> >>>> öğrenme/kullanışlılık eğrisi, bir noktada kesişir. Bu noktanın
> >>>> ötesinde, C daha kolaydır, daha verimlidir. Ama bu noktanın berisinde,
> >>>> üst düzey diller her zaman daha avantajlıdır. Bkz: yukarlarda bir
> >>>> yerdeki mesajımdaki grafik.
> >>>>
> >>>> O grafiğin domaini, yani yatay ekseni çok farklılaşabilir, sunucu
> >>>> yazılımı, WEB CGI yazılımı, UI yazılımı, veritabanı yazılımı, DSP
> >>>> kodu, temel I/O işlevleri, race conditioning, multitasking, multitier
> >>>> vs. vs. olabilir. Her domain için aslen farklı bir eğri çıksada,
> >>>> eğrilerin genel görünümü aynı kalacaktır.
> >>>>
> >>>> Bugün mevcut işlerin en az %40'ı o iki eğrinin kesişim noktasının
> >>>> berisinde kalmaktadır zaten. Ve o yazılımlar için yüksek seviyeli bir
> >>>> dil elbette ideal seçim olacaktır.
> >>>>
> >>>> Ama şu unutulur ki asıl mesele budur. Programcı, %100'ü bilmek
> >>>> zorundadır. C isiz kolayca, en az çabayla oraya taşır. Ama diğer
> >>>> diller, %40, hatta bazı hususlarda %20'den sonra ayak bağınız
> >>>> oluverir.
> >>>>
> >>>> Ve sizin anlayamadığınız, öbür dilleri atın, C kullanın demediğimiz,
> >>>> programcı iseniz bir sürü şeyi bilmeniz gerektiği, bunları da en kolay
> >>>> C ile öğreneceğinizdir. Bunları bilin, öğrenin, sonra bakar hangi dil
> >>>> işinize gelirse, onunla yazarsınız.
> >>>>
> >>>> Anlaşabiliyor muyuz? Yoksa bir daha anlatayım aziz kardeşim?
> >>>>
> >>>>
> >>>> 2012/4/25 Gurbuz Sanatci<[email protected]>:
> >>>>> Serdar Bey,
> >>>>> Bilmek baska birseydir, bildiklerini anlatabilmek ya da urune
> >>>>> donusturebilmek baska birseydir.
> >>>>> Gercekten Clipper, Foxbase ya da xHarbour neden gelistirildi ?
> >>>>> Bu sorunun cevabi sizin ifadelerinize yanittir aslinda. Buna piyasa
> >>>>> gercegi denir. Iddiali ve inancli anlatimlariniz da bu gercegi
> >>>>> degistiremez, cunku yasanmistir ve varliklari ispattir. Sizinkiler
> ise
> >>>>> sadece tutkulu iddialardir.
> >>>>> Ben de soyle mi demeliyim, "Adamlar C dururken isi gucu birakmis
> bunlari
> >>>>> gelistirmisler..." vs.
> >>>>> Ayrica, piyasa kosullarinda ERP turu yazilimlari uretenler, stok,
> cari,
> >>>>> fatura gibi konularla ugrasanlar bu tur dillerin neden uretildigini
> >>>>> bilirler.
> >>>>> Ihtiyac duydukca, bu diller icin C fonksiyonlari kullandim,
> >>>>> kullaniyorum. 1988'de interruptlarla ugrasiyordum, TSR (simdiki
> >>>>> multithread'in atasi) kodlarla. Hatta 1990 yilinda Btrieve'den
> Clipper'a
> >>>>> transfer icin Btrieve erisen bir C kodunu buyuk olcude yeniden
> yazmis ve
> >>>>> Clipper koduna uyarlamistim. O gunden beri de donem donem C'den
> >>>>> yararlandim. Bu deneyimlerime  dayanarak,  C icin "ogrenmesi kolay",
> >>>>> "hizli yazilim gelistirilir" turunden iddialari da gercekci
> bulmuyorum.
> >>>>> Acikcasi, fanatik iddialar olarak aliyorum.
> >>>>> Sizin gozlemleriniz farkli olmussa, kendi genellemenizi yaparsiniz
> ama
> >>>>> bu sizi dogrulamaz, beni de dogrulamayacagi gibi.
> >>>>> Acaba "Serdar Bey hakli mi ?" diye 2 sene herseyi birakip C'de
> program
> >>>>> yazamayacagima gore, o iddianizi da anlamsiz bir ifade olarak
> >>>>> degerlendiriyorum. Ben de size "iki sene, herhangi bir xBase ile
> ticari
> >>>>> program gelistir, piyasada programciligin ne oldugunu ogrenirsin" mi
> >>>>> demeliyim ? Ya da "En azindan 10 senedir kullanilan bir ticari
> uygulama
> >>>>> yazip, ona destek verdiniz mi ? Yapin da sonra konusalim" mi
> demeliyim ?
> >>>>> Demiyorum ama elestirimi yapiyorum: Tarziniz, piyasadan haberi
> olmayan,
> >>>>> tipik akademisyen tavri ve ben de hic  sevmem bu tarzi.
> >>>>> Bir sonraki epostanizdaki grafigin dogru oldugunu dusunmuyorum, sacma
> >>>>> bir grafik aslinda. Olculmesi mumkun olmayan seyleri, sanki
> >>>>> olculebilirmis gibi gostermis. "Iddia ispati icin hazirlanan cakma
> belge
> >>>>> gibi gorunuyor."  Oyle degilse, lutfen kaynagini da paylasin,
> >>>>> dogrulugunu tekrar dusuneyim.
> >>>>> Ozetle gozlemime gore; teknik bilgileriniz dogru, iddialariniz kismen
> >>>>> dogru ama vardiginiz sonuclar buyuk olcude yanlis. Bu da sizin
> tarziniz.
> >>>>> Cabaniza ve katkiniza tesekkur ederim.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> Serdar KÖYLÜ wrote:
> >>>>>> Sanırım anlaşılmayan olay şu. C zor bir dil demek, insafsızlıktır.
> >>>>>>
> >>>>>> Herşey için C en iyisidr demekse, aynı şekilde insafsızlıktır.
> >>>>>>
> >>>>>> Bakalım, ne var ortada. Neden, bakıyoruz, olayın bir türlü
> >>>>>> anlaşılmadığını görmek için. Deniyor ki, Clipper kodu ile Clipper'ın
> >>>>>> ürettiği C kodu. Hangisi daha anlaşılır?
> >>>>>>
> >>>>>> hb_vmExecute( pcode, symbols );
> >>>>>>
> >>>>>> bu satıra dikkat ettiniz mi? Orada C kodu yok. Orada bir virtual
> >>>>>> machine için bir şekilde üretilmiş bir bytecode'u C üzerinden
> çağıran
> >>>>>> bir kod var. Peki bunu C'den başka hangi dille bu kadar kolay
> >>>>>> yapabilirsiniz?
> >>>>>>
> >>>>>> Bir başka yerde, Java neden deniyor. Orada yapılan açıkca,
> uygulamayı
> >>>>>> bir vm içine hapsetme, sistemden yalıtma olayı ki, işte C ile
> yapmakta
> >>>>>> zorlanacağınız bir şey. Hele ki, korumalı mod olmayan ARM gibi bir
> >>>>>> işlemcide.
> >>>>>>
> >>>>>> Birde olay hep GUI'den ibaretmiş gibi algılanmış. Buna gülümsüyorum
> >>>>>> ama, ağlanacak halimize diyerek gülümsüyorum. Zira piyasadaki
> >>>>>> uygulamaları biraz tanıyorum ve nasıl içler acısı halde olduklarını
> >>>>>> görmek için çok şey gerekmiyor.
> >>>>>>
> >>>>>> Yüksek seviyeli dillerin iyi olduğu, mantıklı olduğu çok yer var
> >>>>>> elbette. Ama bu C için zor, kötü vs. demeye yetmez.
> >>>>>>
> >>>>>> Ve daha önemlisi, C biliyor olmak, bir güçtür. O bilgi her dilde
> size
> >>>>>> güç verir. Bunu inkara çıkıp, başka dillerin vs. gölgesine
> saklanmaya
> >>>>>> çalışan programcı, emin olun kafasını kuma sokan bir devekuşundan
> >>>>>> fazlası olamaz.
> >>>>>>
> >>>>>> Zor filan diye kendiniz kandırmayın, gidin 2 sene C ile kod yazın,
> >>>>>> öğrenin. İnanın o zaman ne dediğimizi daha iyi anlayacaksınız.
> >>>>>>
> >>>>>> 2012/4/24 Gurbuz Sanatci<[email protected]>:
> >>>>>>> Programlama dilleri konusunda bu boyutta fanatizm ilginc geldi.
> (CBahce
> >>>>>>> mi, DelphiSaray mi ?)
> >>>>>>> C ogrenmesi zor bir programlama dilidir. Neye gore, herhangi bir
> xbase
> >>>>>>> ya da Delphi"ye gore.
> >>>>>>> C ogrenmesi kolay bir programlama dilidir. Neye gore, Assembler'a
> gore.
> >>>>>>> Hersey en iyi C ile yapilir. Kime gore, bazi arkadaslara gore.
> >>>>>>> Hersey en kolay Delphi ile yapilir. Kime gore, bazi arkadaslara
> gore.
> >>>>>>>
> >>>>>>> Genel yaklasim "Siz bir de Leyla'ya benim gozumle bakin, gonul kimi
> >>>>>>> severse guzel odur..." seklinde...
> >>>>>>>
> >>>>>>> Ve bazi arkadaslarin uslubunun abartacak kadar kotu olmasa da, daha
> >>>>>>> duzeyli olmasini beklerdim.
> >>>>>>> Sevgiler...
> >>>>>>>
> >>>>>>> Not: Serdar Bey, stri_replace yerine str_replace kodunu
> gondermeniz de,
> >>>>>>> yazarken kendinizi kaptirip senli benli devam etmeniz de gozumden
> >>>>>>> kacmadi ! (elbette saka)
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> Linux-programlama mailing list
> >>>>>>> [email protected]
> >>>>>>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>>>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
> >>>>>> _______________________________________________
> >>>>>> Linux-programlama mailing list
> >>>>>> [email protected]
> >>>>>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
> >>>>>>
> >>>>> _______________________________________________
> >>>>> Linux-programlama mailing list
> >>>>> [email protected]
> >>>>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
> >>>> _______________________________________________
> >>>> Linux-programlama mailing list
> >>>> [email protected]
> >>>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
> >>>>
> >>>
> >>> _______________________________________________
> >>> Linux-programlama mailing list
> >>> [email protected]
> >>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
> > _______________________________________________
> > Linux-programlama mailing list
> > [email protected]
> > https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> > Liste kurallari: http://liste.linux.org.tr/kurallar.php
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>



-- 
Kursad Karslioglu
System Analyst/Software Developer
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap