Gönderen Konu: boost  (Okunma sayısı 6229 defa)

boost

« : 23.05.2006 09:59:52 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
selam herkese

beki de pek cogunuzun hali hazirda bildigi birsey ama bilmeyenler olabilir diye ben yine de bi topic acayim paylasayim istedim.

arkadaslar c++ icin biliyorsunuz STL adinda super guzide super faydali ve hayati kolaylastirici bir kutuphane var. genelde bir isi yapmak icin kendi yazacaginiz koddan neredeyse her zaman daha hizli calisan bir STL yolu mevcut. Icinde
- containerlar (sequence(vector, list, deque) ve associative(map, set))
- iteratorler
- string
- iostreams
- algorithms

olup neredeyse kod icinde hic loop yazmadan herseyi en optimum ve hizli cozme yollari STL'den geciyor.

simdi asil bu topic'in konusuna gelelim. STL zaten yillardir vardi ve guzeldi. ama artik boost var.

boost.org a bakmadan gecmeyin. boost c++ standardization comiteede yer alan adamlarla baslayip sonra dunyanin heryerinden insanlarin katilimiyla olusmus bir grup ve bu grubun gelistirdigi kutuphaneler. bunlar super templateli, STL uyumlu ve STL'in uzerine daha da bi ton sey ekleyen kutuphaneler. hepsi hayvan gibi insanlarca test edilmis review edilmis yemis kutuphaneler. aralarindan bazilari c++ standardizasyonuna da zaten eklenmis durumda. (Technical Report 1) hepsi de zaman icinde eklenecek.

Iclerinde super efektif boost::shared_ptr'dan komple BNF parserlarini sip diye tanimlamaniza izin veren boost::spirit'e, ultra flexible boost::bind dan, objeleri catirt diye networke veya storage'a basmanizi saglayan boost::serialization'a kadar bi suru hayatinizi acayip kolaylastiracak template silsilesi var.

eger bu konulari zaten biliyorduk ulan nightlord diyorsaniz eyvallah. ama ilk defa duyuyor veya tam hakim degilseniz. once STL ardindan da boost ogrenmeye baslamak c++ programciligi bakimindan veriminizi 8 kat falan artiracaktir.

Bakalim bu posta gelen tepkilere gore STL ve boost sohbetlerimize devam edebiliriz. Bakarsinizi birileri c++ ile ilgili soru sormaya/cevaplamaya bile baslar :)

boost

« Yanıtla #1 : 23.05.2006 10:10:51 »
Hızlı düğmeleri aç

Ragnor

İleti: 901

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://ozanemirhan.blogspot.com
Sıkı bir C'ci olduğum için pek bigim yok STL vs. üzerine, ama yavaş yavaş C++'a geçiş yapıyorum ve işin ençok ilgimi çeken yanıda bu STL. Boost'uda duymuştum ama bulaşmamıştım o sıralarda. Açıkcası devam etsin isterim ben. Dur hatta birde soru sorayım, hmm hmmm, iyi birşey bulamadım klasik bir giriş olsun :).

Diyelim ki elinizde kalın kafalı bir C'ci var ve nasıl olduysa C++'a geçiş yapmaya karar vermiş ve şimdide STL'i öğrenmek istiyor. Tavsiye edeceğin başlangıç noktaları?

boost

« Yanıtla #2 : 23.05.2006 10:27:05 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
Butun SIKI C'cilerin (eger embedded sistemler icin gelistirme yapmiyorlarsa) hic performans kaygisi gutmeden C++'a gecme zamanlari coktandir gelmis durumda. genelde C'den gecen insanlarda acaba C++ yavaslatirmi kodu falan gibi bi kaygi oldugu icin soyluyorum bunu. STL kullanarak yazilan C++ kodu compilerlar tarafindan inanilmaz optimize ediliyor.

hmm simdi soyle bir mufredat onerebilirim:
C++
- classlar
  - public protected private (encapsulation)
  - function and operator overloading
  - inheritance
  - virtual functions and dynamic binding(polymorphism)
  - templatelar
  - function pointers, member pointers

STL
- string
- iostream
- containerlar ve iteratorler
  - vector, list, deque, set, map
- functorlar
  - functor turleri: unary/binary, predicatelar
  - functor generator ve adaptorler
- algoritmalar
  - for_each, remove_if, erase etc...

boost
- boost::shared_ptr
- boost::bind
- bunlar hemen STL kullaniminizi guclendireceek. ardindan yaptiginiz islere gore baska bi tomar boost kutuphaneseini okuyup ogrenip kullanabilirsiniz.

OO
- c++ basliginda gecen encapsulation, polymorphism ve templatelari anladiktan sonra
- design patterns
  - singleton
  - factory
  - bridge
  - ... diye gider

bunun yaninda effective C++ (Scott Mayer) kitabi 50 tane trick icerir ki bunlarin ilk 5 6 tanesi C'den yeni gecenler icindir.

ayrica Bruce Eckel Thinking in C++ serisi de yeni ogrenenlerin kullanabilecegi ve sonrada her zaman referans olarak ise yarayacak bir kitap kanimca.

boost

« Yanıtla #3 : 23.05.2006 10:40:01 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
STL'i zaten kullanıyordum ancak Boost'u bir iki ay önce codeproject.com'da görmüştüm. Sayfaya girip hızlıca göz atıp çıkmıştım. Nightlord'un bu tavsiyesi üzerine bir daha değerlendireceğim Boost'u. Ancak gündemi her zaman birkaç sene geriden takip etme özelliğimden dolayı tahminen 2-3 sene içersinde kullanmaya başlarım en erken :)