Biraz ust duzey bir c++ kaynagi ariyorum.

Başlatan erdemakin09, 05 Ocak 2016 - 13:17:47

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

erdemakin09

Oncelikle telden yazdigim icin yazim hatalari icin kusuruma bakmayin. Arkadaslar malum final donemi geldi catti. Bitince bir aylik bir bos zamanim olacak. Bu bos zamanimda c++ daha derin ogrenmek istiyorum. Kastim bana cout cin c++ sinif yapisi ogreticek bir kitap degil. Istedigim sey karisik programlari ornekleyerek anlatan beni bir ust seviye programci yapabilecek bir kitap ariyotum. Piyasada biraz arastirma yaptim fakat istedigim gibi bir kitap bulamadim. Hep baslangic seviyesi hep yeni ogrenenler icin duzenlenmis kitaplar. Simdiden onerileriniz icin tesekkurler [emoji4] 
Eger konu daha once acilmissa ozur dilerim. Bulamadim. Varsa konu linkini atip konu var diyin silerim bu konuyu arkadaslar.
Her Can Bir Gün Ölümü Tadacaktır!

bugra9

Eğer ingilizce olması farketmiyorsa Absolute C++ kitabını önerebilirim. Tam da istediğiniz gibi konu anlatımını örnekler üzerinden yapıyor. Oldukça güzel bir kitap olmasıyla beraber kitabı bitirdiğinizde sizi üst düzey programcı gibi hissettirir. :)

Teorik bilgileri kaptıktan sonra bir de işin pratik yanı kalıyor. Bunu da başkaların kodlarını inceleyerek halledemezsiniz. Öncelikle kapsamlı bir program düşünün. Daha sonra bunu tek başınıza yapmaya çalışın ve takıldığınız yerleri sorarak öğrenin. Programınız bittiğinde artık kimse sizi tutamaz. Bu aşamadan sonra başkalarının yazdığı kodları incelemek de faydalı olmaya başlayacaktır.

Amenofis

Ne kadar kapsamlı olursa olsun hiçbir kitap insanı uzman yapmaz. Yani tavsiyem temel seviyeyi aştıysan artık kitapları bir kenara bırakman.

Yapman gereken şey seni zorlayacak bir yazılım projesine girişmek. Ancak gerçek hayatta bir problemle karşılaştığın zaman kitapta yazanların aslında ne anlama geldiğini anlayabilirsin, aksi halde öğrendiklerin sadece ezber olur. Projeyi geliştirirken açık kaynaklı diğer projeleri okuyup incelemek maksimum seviyede fayda sağlar. İncelerken bilmediğin şeylerle karşılaşacaksın ve bunların ne anlama geldiğini araştırırken zaten dili de öğrenmiş olacaksın.

Aklına proje fikri gelmiyorsa programlamanın hangi seviyesinden zevk aldığını düşün ve o seviyeye odaklan. 2 önemli ayrım vardır, algoritma ağırlıklı düşük seviye ve dizayn ağırlıklı yüksek seviye. Örneğin bir muhasebe, stok türü bir uygulama 2. kategoridedir. Bu tür bir uygulamayı yaparken sınıf, soyutlama, kalıtım, modülerlik gibi dizayn araçları neredeyse projenin tamamını oluşturur, algoritmik ağırlık sıfıra yakındır. Bu tür projeleri c++, java, python gibi yüksek seviyeli dillerle kodlamak daha verimli ve uygundur.

Bir de sadece sayılara, hatta 0-1 lere indirgenen diğer boyut var. Mesela yıllar önce kodladığım huffman metodu ile dosya sıkıştıran bir uygulama. Benim gibi bir acemi için beyni sulandıracak kadar zordu ama sonuçta çok şey öğrenmiştim. Bu tür uygulamalarda sadece temel seviye dil özellikleri kullanılır, classtır virtualdir bu alanda sözü geçmez. Bu tür projelerde c ve c++ tekel konumundadır, diğer diller gerekli verimi sağlayamaz.

erdemakin09

Alıntı yapılan: Amenofis - 05 Ocak 2016 - 15:07:35
Ne kadar kapsamlı olursa olsun hiçbir kitap insanı uzman yapmaz. Yani tavsiyem temel seviyeyi aştıysan artık kitapları bir kenara bırakman.

Yapman gereken şey seni zorlayacak bir yazılım projesine girişmek. Ancak gerçek hayatta bir problemle karşılaştığın zaman kitapta yazanların aslında ne anlama geldiğini anlayabilirsin, aksi halde öğrendiklerin sadece ezber olur. Projeyi geliştirirken açık kaynaklı diğer projeleri okuyup incelemek maksimum seviyede fayda sağlar. İncelerken bilmediğin şeylerle karşılaşacaksın ve bunların ne anlama geldiğini araştırırken zaten dili de öğrenmiş olacaksın.

Aklına proje fikri gelmiyorsa programlamanın hangi seviyesinden zevk aldığını düşün ve o seviyeye odaklan. 2 önemli ayrım vardır, algoritma ağırlıklı düşük seviye ve dizayn ağırlıklı yüksek seviye. Örneğin bir muhasebe, stok türü bir uygulama 2. kategoridedir. Bu tür bir uygulamayı yaparken sınıf, soyutlama, kalıtım, modülerlik gibi dizayn araçları neredeyse projenin tamamını oluşturur, algoritmik ağırlık sıfıra yakındır. Bu tür projeleri c++, java, python gibi yüksek seviyeli dillerle kodlamak daha verimli ve uygundur.

Bir de sadece sayılara, hatta 0-1 lere indirgenen diğer boyut var. Mesela yıllar önce kodladığım huffman metodu ile dosya sıkıştıran bir uygulama. Benim gibi bir acemi için beyni sulandıracak kadar zordu ama sonuçta çok şey öğrenmiştim. Bu tür uygulamalarda sadece temel seviye dil özellikleri kullanılır, classtır virtualdir bu alanda sözü geçmez. Bu tür projelerde c ve c++ tekel konumundadır, diğer diller gerekli verimi sağlayamaz.
Cok guzel konusmussun. Cevabin icin tesekkur ediyorum. O zaman soruyu degiselim benim gibi bir aceminin yapabilecegi bir proje ornegi verebilir misin ? Tabiki sana zahmet olmazsa
Her Can Bir Gün Ölümü Tadacaktır!

Amenofis

Alıntı yapılan: erdemakin09 - 05 Ocak 2016 - 22:17:04
Cok guzel konusmussun. Cevabin icin tesekkur ediyorum. O zaman soruyu degiselim benim gibi bir aceminin yapabilecegi bir proje ornegi verebilir misin ? * tabi ki sana zahmet olmazsa

Bugünlerde ayağa düştü ama oyun geliştirme birçok programlama konseptini bir araya getiren bir proje olabilir. Tabiki unity gibi hazır motorlar bizim amacımıza uygun değil. Qt ya da sdl kullanarak bir board oyunu geliştirebilirsin, mesela tic-tac-toe.

Bunu yaparsan;
1- Olay güdümlü prog. ya giriş yapmış,
2- Ağaç (tree) veri yapısını öğrenmiş,
3- Yapay zekaya ucundan giriş yapmış olacaksın.
Veri yapılarıyla çalışmak programcıya genel anlamda cidid tecrübe kazandırır, hızlı çalışan temiz kod yazmanı sağlar. Aksi halde binlerce koşulu kontrol etmek, hatalarla boğuşmak zorunda kalırsın.

Tabiki proje konusunda seçim senin. Bir fikir seç ve ona odaklan derim.

erdemakin09

Alıntı yapılan: Amenofis - 06 Ocak 2016 - 16:06:13
Alıntı yapılan: erdemakin09 - 05 Ocak 2016 - 22:17:04
Cok guzel konusmussun. Cevabin icin tesekkur ediyorum. O zaman soruyu degiselim benim gibi bir aceminin yapabilecegi bir proje ornegi verebilir misin ? * tabi ki sana zahmet olmazsa

Bugünlerde ayağa düştü ama oyun geliştirme birçok programlama konseptini bir araya getiren bir proje olabilir. * tabi ki unity gibi hazır motorlar bizim amacımıza uygun değil. Qt ya da sdl kullanarak bir board oyunu geliştirebilirsin, mesela tic-tac-toe.

Bunu yaparsan;
1- Olay güdümlü prog. ya giriş yapmış,
2- Ağaç (tree) veri yapısını öğrenmiş,
3- Yapay zekaya ucundan giriş yapmış olacaksın.
Veri yapılarıyla çalışmak programcıya genel anlamda cidid tecrübe kazandırır, hızlı çalışan temiz kod yazmanı sağlar. Aksi halde binlerce koşulu kontrol etmek, hatalarla boğuşmak zorunda kalırsın.

* tabi ki proje konusunda seçim senin. Bir fikir seç ve ona odaklan derim.
Cok tesekkur ederim bu tic tac toe fikri hosuma gitti. Bunu gelistirebilirim herhalde bir iki ayimi alir ama olsun guzel bir seye benziyor. Tesekkurler baskanim cok yardimci oldun :)
Her Can Bir Gün Ölümü Tadacaktır!

Sh4oTT

Okudugum C programlama kitabının sonunda soyle projeler var kitab biraz eski ama proje projedir :)

Tetris Oyunu
Tavla Oyunu
Personel Veritabanı
Hesap Makinesi ( gelişmiş )
Dalgalanan Bayrak
Yazı Editörü
Solo Test Oyunu
Yılan Oyunu

ahmet_matematikci

@ShaoDownLiNuP hocam projelerin hepsini anladım da bu dalgalanan bayrak projesini anlamadım. ???

Alıntı yapılan: ShaoDownLiNuP - 06 Ocak 2016 - 23:37:11
Okudugum C programlama kitabının sonunda soyle projeler var kitab biraz eski ama proje projedir :)

Tetris Oyunu
Tavla Oyunu
Personel Veritabanı
Hesap Makinesi ( gelişmiş )
Dalgalanan Bayrak
Yazı Editörü
Solo Test Oyunu
Yılan Oyunu
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Sh4oTT

Hocam acıklamada aynen soyle yazıyor:

Bu projede dalgalanıyormus gıbı gorunen bır Turk bayragı cızecegız. Projeyı ıkı asamada yapabılırsınız: İlki bayrağın çizimi, diğeri bayrağa verilecek dalga efekti. Bayrağın dalganırken aldığı şekli düşünerek, dalga efekti için bayrağın solundan sağına dogru gecen bır kabartı efekti kullanılabilir. Bunu yaparken efektin gececegi bolgedeki pikseller bir dongu veya benzer bır yapıyla işlenebilir. :) Farklı bir proje :)

ahmet_matematikci

@ShaoDownLiNuP teşekkürler kafamda canlandı şimdi. Bir ara Turhan Çoban ın java kitabında karşılaşmıştım. Süper Mario bayrağı yapma bile vardı kitapda ;D
@erdemMakina Turhan Çobanın Java için 7 kitabında çok güzel java ile yazılmış örnekler var. Sen bunları c++ ile yapabilrsin.
Netde sitesinde ücretsiz yayınlıyor.
Not: Java 8 için olan kitabı daha çok grafik üzerine algoritma geliştirme konusunda java 7 deki örneklere bakıp yapabilirsin c++ ile.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Sh4oTT

@ahmet_matematikci, hocam erdemMakina kim? :D :D :D

ahmet_matematikci

#11
 :D :D Adanalı tabiri ile kafa bir milyon olmuş.
@erdemakin09 hocam özürdilerim. İnan makina diye okuyorum.

Adana da Dua kitabı sattığını söyleyen gaspçı

https://www.youtube.com/watch?v=YKgYghw_ISE
Bu hale geldik ya. ;D
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)


erdemakin09

Arkadaslar cevaplariniz icin cok tesekkur ederim :)
ErdemMakinayada cok guldum ilk okudugumda konuda tum mesajlari atanlara bi gozgecirdim baska bir erdemde mesaj atmis mi diye .d

Bu projeleri kaydediyorum. Eger bu projeleri sorunsuz bir sekilde yapabilirsem forumda bir konu acip kodlarimi paylasmayida dusunuyorum. Ogrenmek isteyen arkadaslar icin guzel bir kaynak olabilir diye dusunmekteyim :)
Her Can Bir Gün Ölümü Tadacaktır!

ahmet_matematikci

Geri dönüşün için teşekkürler. Şimdi neynefes diyecek etiketle bakalım :)))
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

WhiteScars

İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

Erdem

Üst düzey C++ kitabı arıyorsan

http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

bu listedeki ileri düzey "Advanced" yazan listeden bir kitap seçebilirsin.

Ama ilkönce başlangıç seviyesi 1-2 kitap sonra orta düzey bir kitap okuduktan sonra ileri düzey bir c++ kitabı okumak sanırım daha iyi olur.
Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik