Fly Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 selam, buldugum cevaplar kapasitesi olumune kisitli cihazlarda obje kullanmak ile kullanmamanin farkindan oteye gidemedi, bir da buraya danisayim yarim yillik stajim boyunca ugrasacak oldugum projenin implementasyonunda soyle bisey izlemisler, gozetmenime teklif edecegim sunu c++' ye cevireyim diye yeterince mantikli bir sebep olusturabilirsem : void hede_process(int fd) { .. } struct hede { .. void (*process)(int); }; struct hede hede_instance; hede_instance->process=&hede_metod; .. hede_instance->metod(hede_instance,fd); niye c++ kullanmadiniz diyince performans sorunlari cart curt yaptilar algilayamadigim sey : ayni geyigi c++ ile normal bir sekilde yazdik diyelim, lakin stl kullanmadik exception hele hic dynamic allocationdir pointer casttir bunlari c stili hallediyoruz mumkun oldukca, runtime' da su instance hangi tipte yea gibi sorular sormuyoruz virtual metodlar saniyede 10 milyon kez cagirlmiyor veya hadi onu bile kullanmadik diyelim bu durumda su kodla ugrasip kanser olmama degecek ne gibi bir avantaji var manuel yolla olustudugumuz obje yoneliminin ? su anda bildiginiz 4 gb cift cekirdekli islemcili sistemde calisiyor da, bir ihtimal embedded sistemlere aktaracagiz gibisinden bisey demislerdi, gomulu sistemlere yazilim yapanlardan donus alabilirsem ozellikle muhtesem olur Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Seele Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 kac bin satir kod var? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Nisan 5, 2012 Konuyu açan Paylaş Mesaj tarihi: Nisan 5, 2012 bes haneli bir sayiya yakin sanirim zaten c++ nin fonksiyonalitesini taklit ediyor, proje cok buyuk degilse c++'a girmeye gerek yok muhabbetnin kapsaminda degil bence mevzu Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 C++ compile edilince, virtual metodları geçersek, yukardaki kodun üreteceği koda benzer bir kod üretecek. C ile nesne yönelimli programlamaya çalışmak, çok çok özel bir sebebi olmadıkça, pek de mantıklı gelmiyor bana. Ama düzgün çalışan on bin satır kodu da daha rahat anlaşılsın diye C++ a çevirmez kimse. Zorluğundan değil, dünyanın parası. Düzgün otomatize edilmiş test yoksa portun doğru yapıldığını test etmek kolay değil. Uzun vadede getirisi değer mi, onu sadece proje içindekiler bilebilir. Yine de projeye stajyer olarak katılacaksan sana yaptırmayı göze alabilirler belki. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Nisan 5, 2012 Konuyu açan Paylaş Mesaj tarihi: Nisan 5, 2012 yok, yeni bir arastirma konusuyla ilgili, stabil bir uygulamayi gectim ilk gunden cok basit bir sekilde cokertmeyi basardim ortalik thread ve soket festivali, ustune ornegin programa gelen bir mesaj 7 farkli dosyada implemente edilmis objelere gelip arada bir onceden ziyaret edilenlere girip cikiyor sunu production ortamina koyduklarinda 1000 baglantidan mesaj alacaksa onlarla ugrasan 1k thread olacak mesela gozlemledigim kadariyla, bunu poll vb bir seye cevirmek istedigim zaman file descriptor kimden geldi, su objeye hangi asamada metodu bagladik vb sorularin cevabini almak icin dort bes dosya geri gidiyorum, derdim bu hani yoksa metodlara bir iki cagridan ibaret olsa neyse stajyer olarak zaten kodu anlayip yeni modul yazmak olacak gorevim, kodu anlarken cevirmeyi teklif edecegim, %5-10 undan fazlasini degistirecegimi zannetmiyorum da iste ikna edebilmek icin farkli fikirlere ihtiyacim var yukarida saydigim tarzda kodlamaya ek olarak Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Seele Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 10k olurda 50k kod cevrilmez. ha biri öderse olur takilirsin. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
fizban Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 Mirage said: Ama düzgün çalışan on bin satır kodu da daha rahat anlaşılsın diye C++ a çevirmez kimse. Zorluğundan değil, dünyanın parası. sirf bu sebepten hala cobol bilen bilgisayar muhendisleri aliniyor islere :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 Onlar kodu çevirsinler diye alınmıyor yalnız. Var olan milyon satır kodları yeniden yazamayacakları için üzerine layer geçiriyorlar. Bi süre sonra o layer da anlaşılamaz hale gelince bi layer daha geçiriyorlar. Hatta sonra bi de 127 layer architecture yaptık diye keklemeye çalışıyorlar. Ama zaman geliyor illa o Cobol kodunda değişiklik yapmak ya da en azından kodu anlayıp debug etmek gerekiyor. O elemanlar da bu iş için alınıyor genelde. Genelde bankalarda. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
fizban Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 iste onu diyorum ben de. o yuzden ise aliniyorlar diye :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
odullusoru Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 50 bin satırlık kodu çevirmek yerine. sıfırdan yazmak daha mantıklı bana kalırsa. hele bir de kod karman çorman ve zaman içinde farklı farklı kişilerin eklemeleri çıkarmaları varsa. Sadece bir ekip ya da bir kişi yazmış olsa yine bir nebze mantığını idrak etmek, çevirmek kolaylaşabilir, ama alakasız kişilerin uzun bir zaman diliminde müdahale ettiği kodlarla uğraşmak pek mantıklı gelmiyor. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
senko Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 daha mantıklı ama $$$ Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Nisan 5, 2012 Konuyu açan Paylaş Mesaj tarihi: Nisan 5, 2012 max 1 gunde dondururum su andaki halini ve cok daha stabil calisacagindan eminim, sorun o degil sonrasi icin nasil daha iyi olabilecegi c++ kullanmamanin/kullanmanin Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Anason Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 Embedded ortamlarda C hala domine ediyor, ben mesela 5.5 senedir c harici baska bisey kullanmadim, kullandirmadilarda. Bu arada asagida bahsedicegim sebebler linux ortami icin gecerli cogunlukla. En temel sebebi kaynak. Bunun aslini ogrenmek icin linus torvalds'in bilmem kac yilinda neden kerneli c++ ile yazmadiniz diye darlayanlara attigi bir mail var internette. Adamlar denemisler vakti zamaninda. Bunun disinda gcc c compiler'i cok olgun ve buna bagli olarak debug etmek rahat ve c compiler'i tanimasi daha rahat. Zamanla nasil bir kod urettiginden haberdar sekilde is yapiyorsun.Tecrubeli bi kac tane yazilim mimarlari tanimistim calistigim yerde, herifler kodu yazarken kafada disassemble yapiyordu. Birde c++ degisik bi dil, mesela derleyiciler ne kadar farkli olabilir bi fikir edinmek istiyorsan sura bi goz atmani tavsiye ederim; http://www.codeproject.com/Articles/7150/Member-Function-Pointers-and-the-Fastest-Possible C yi c++ gibi kullaniyor demissin ama function pointer 'hello world' haricindeki C projelerin olmazsa olmazlarindandir. Bunun disinda C++ cokda gerekli degil, object oriented mantigini dilin kendisi zorluyor belki ama gtk'ya x-window'a, opengl e, goz atarsan c kullanilarakda cok guzel object oriented yazilabildigini gorebilirsin, onemli olan tasarim neticesinde. Tabi uygulamak biraz daha zor haklisin. Birde nedense embedded ortamlarda yazilim gelistirenler C'de ne yaptigini iyi biliyor sanki. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deacon Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 http://www.quora.com/What-are-the-advantages-of-using-C-over-C-1 Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Nisan 5, 2012 Konuyu açan Paylaş Mesaj tarihi: Nisan 5, 2012 derken koca hashtable'lar ve java içeren bir branch girdi işin işine ahah, vazgectim function pointerları severim de daha temiz yazmak mumkun olsa gerek biraz da degisken isimleri falan hicbiseyde aciklama yok ondan tiksindim belki de, neyse fakat 2012 senesinde yeni standardı da geliyor vs derken compilerlar yeterince olgun zannediyordum, hiç aklıma gelmemişti o konuya bakmak, teşekkür ettim Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Rahan Mesaj tarihi: Nisan 5, 2012 Paylaş Mesaj tarihi: Nisan 5, 2012 class hede { void metod(); void metod2(); ... void metodN(); } ///////////////////////////// struct hede { void(*metod)(); void(*metod2)(); ... void(*metodN)(); }; void metod(struct hede*); void metod2(struct hede*); ... void metodN(struct hede*); komik bir şey söyleyeyim, teorik açıdan bakıldığında alttakinin performansı daha düşük olur ve daha önemlisi instance başına N*Pointer size memory overhead yaratırsın. Bu yaptıkları C++ da virtual function kullansan instance başına alacağın 1xPtrSize overheadden bile N kat daha fazla. performansı da şöyle kötü, eğer bir class'ın metodu virtual değilse işlemcinin o metod çağırıldığında atlayacağı bellek alanı compile time da belli. senin yönteminde atlanacak yeri bulmak için önce bellekteki pointerı okuyup sonra atlayacak, dynamic dispatch gibi. çok bir şey mi? hayır değil, milisaniye mertebesinde bile bir fark yaratmaz ama bu saçmalığı savunmak için "performans hede hödö" diyemezler. adamın ağlnını karışlarım. değiştirmek için asıl önemli argüman, metodX çağırıldığında o metodX'in instance bazında önceden kestirilemeyecek şekilde değiştirilebileceği ve bunu debug etmenin anlamsızca zorlaşacak olması. misal kodu modifiye eden yeni yetme bütün değerleri kısa yoldan memset le 0 a eşitlemeye kalkarsa, hatayı bulmak için kafayı sıyırmanız işten değil. ki embedded sistemlerdeki debuggerla bu değişkenin üzerine yazıldığı yeri bulmak için watchpoint falan eklemeye çalışmak, kan getirtir kaaan. benim tavsiyem kötü bi c programcısının yazdığı koda elleme. usul usul uzaklaş. yok gibi davran. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Nisan 6, 2012 Konuyu açan Paylaş Mesaj tarihi: Nisan 6, 2012 tatava esnaf yazilim sirketi olsa bastan teklif edecektim de, tam tersi durum benim bilmedigim bir sey kesinlikle vardir diye cevap arandim, supervizor geri donebilirse bizzat soracagim embeddedda calisacagindan emin misiniz diye Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Gladmir Mesaj tarihi: Nisan 6, 2012 Paylaş Mesaj tarihi: Nisan 6, 2012 hashtable/java basina gelen en guzel sey, dinazor C kodunu refactor e sakin girisme. Turkiyede staj yaptigini on gorup sunu soyliyebilirim, embedded equipment da C yazilir herkes soyler, c++ daha yavas kalir diyen adamin lafina guvenmen icin bir elin parmaklarini gecmeyen software arch. lardan birinden duymus olman gerekli. Bu adamlar da telco sektorunde sadece, fyi. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Nisan 6, 2012 Konuyu açan Paylaş Mesaj tarihi: Nisan 6, 2012 eö yok yurtdışı ve telekom operatoru :d routerlara eklenecek uygulamalarda c++ pek yaygın kullanılan bir dil değilse sorumun cevabını almış sayılırım öte yandan, yetkili amcanın şehirdışına çıkması gerekmeseydi ikinci gün vereceği detay buymuş :/ Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
nameless Mesaj tarihi: Nisan 7, 2012 Paylaş Mesaj tarihi: Nisan 7, 2012 konuyla ilgili bir şey demeyeceğim, sadece yüksek lisans için c kullandığım için kıskanıyorum asjkl rahan'ın bir şey yazdığını görünce sevindim, adam yıllardır yazmıyordu. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar