toplam 1 kişi bulundu. 1 adedi gösteriliyor.
~5 ahkam var.
@elif gibi
Kavram kargasasina dusen ben degilim:
" java, C# gibi ara kod üreten dillerle uygulama geliştirmek c++ ile uygulama geliştirmekten çok daha kolaydır "
Elif bu tamamen programciya kalmis bir sey. Programci mevcut API ve kod tabanlarini birbirine baglamayi basaramadigi takdirde, algoritmasini olusturamamasi durumunda, hangi dilde yazarsa yazsin okunmasi cok zor olan, hatalarin zor tespit edildigi bir program yazacaktir.
" java ve c#da al kütüphaneyi kullan geç ama c++'da genel olarak kütüphaneni de kendin yazman gerekir. "
Elif, C ve C++ da kullanabilecegin kutuphanelerin coklugunda is bitiyor zaten. Ornegin C'de string islemleri yapmak zaman kaybina ve hataya sebebiyete neden olabilir. Hemen "bstr lib"ini programa dahil ederiz.
Aklina gelebilecek her alanda C/C++ kutuphanesi bulabilirsin. Google'da ara mesela aklina gelen bir konu uzerinde. Bulamazsan bana sorabilirsin.
C'de class lara gelelim, 10 senedir 4 kitada 72.5 millet icinde edindigim temelim zayif evet:
C'de class "yapilari" ni pointer ve struct mekanizmalarini kullanarak olusturursun. Ayni sekilde cirkin denebilecek pointer "hack" leriyle "Inheritance" uygulayabilirsin. Ancak OO prensiplerinin hepsini uygulayamayabilirsin ki inan bunu bile tartisabilecek cok kuvvetli C programcilari karsimiza cikabilir. (Uygulayabilsen bile program okunmasi guc olacaktir pointer mekanigi yuzunden)
Referans: http://ldeniau.web.cern.ch/ldeniau/html/oopc/oopc.html
Bunun C++'da gordugun OO yapisinin aynisi oldugunu ya da ondan ustun oldugunu kesinlikle soylemiyorum.
Source kodlarina goz gezdirmeni istedigim bazi C kutuphaneleri var. OO ve Class mekanizmalarinin nasil hayat buldugunu gorebilirsin.
GLib gtk.sourceforge.net
Ming C Dynamic SWF Output Library
ming.sourceforge.net
Enlightenment Foundation Libraries EFL
enlightenment.org
Parrot - Virtual Machine for Dynamic Languages
(Perl6 VM)
parrotcode.org
C/C++ da uzmanliga ilk adim olarak gordugum konu:
Function pointers:
http://www.newty.de/fpt/
Iste Function Pointers konusu aslinda karmasa/daginiklik (sophistication/untidiness) icin bir ornek ama o gozle bakmayalim ve
"c++'nın karmaşık olması öğrenilmesi gereken çok karmaşık kuralları barındırması ile ilgilidir. dağınıklık kavramıyla alakası yoktur o karmaşanın"
yargisina hak verelim.
Sevgili elif. Biliyorum eglenmek istiyorsun, ancak bunu yaparken beni bir ogretmen olarak gormeni rica ediyorum. Bu baglamda referans gosterdigim source kodlarini lutfen incele.
Ancak , bol bol source code okuyarak, merak ederek, analiz ederek, program yazarak "Textbook" yargilarindan kurtulabilirsin.
Bundan sonra sadece source code calismalarini ve teknik sorularini iceren mesajlarin uzerinden yorum yapabilirim. Bu etiket benim icin kapandi.
@ proclus
c'de class oluşturulabilir demişsin, bu yanlış. class tanımı c++'da vardır. c yapısal bir programlama dilidir. zaten c++'nın tasarlanma nedenlerinden en önemlisi de budur.
c++'nın karmaşık olması öğrenilmesi gereken çok karmaşık kuralları barındırması ile ilgilidir. dağıtıklık kavramıyla alakası yoktur o karmaşanın. java, C# gibi ara kod üreten dillerle uyuglama geliştirmek c++ ile uygulama geliştirmekten çok daha kolaydır, zaten onların tasarlanma amaçlarındna biri de budur. bahsedilen karmaşa o ama sen kavram kargaşasına düşmüşsün belli ki. java ve c#da al kütüphaneyi kullan geç ama c++'da genel olarak kütüphaneni de kendin yazman gerekir. en uç nokta konrtollerini kendin yazman gerekir C++da.
ama c'de class tanımlanabilir diyen temeli zayıf birine bu konular ne oranda algılatılabilir orasını bilemem:)))
C/C++ ile sanal makina uzerinde hayat bulan dilleri lutfen birbirleriyle karsilastirmayalim. JVM ve CLR gibi sanal makinalar dahil gunumuze kadar Bati'nin uretmis bizim kullanmakta oldugumuz butun teknolojilerin temelinde, islevinde, kurgusunda C ve C++ vardir.
Yanilgilari duzeltelim.
C "su koyvermis". Yanlis. C# onun icin var. Bu daha da yanlis.
C ile nesnel programlama yapilabilir, Kapsamli bir Class agi kurulabilir, C'de inheritance vardir. Nasil olmaz ki? Bazilari C'i Semi-OO olarak belirtir. Mantiklidir. (Bkz Rasterman)
Java ve C# bizi alt düzey bilgilerden uzak TUTMAZ. TUTAMAZ. Ikisininde low level ogelere erisebilen APIleri mevcuttur. Istediginiz API yi de C/C++ APIlerine wrapper yazarak Java ve C# icinden kullanabilirsiniz.
C ve C++ kodu icine sanal makinalari gomerek (embed) programlari "esnek" hale getirebilirsiniz. Tabi performans kaybederek. (Bkz Firefox/Gecko-Javascript, Flash Player/AVM - Actionscript)
C ve C++ da karmasa(daginiklik) yoktur. Platform (isletim sistemi/CPU) bagimliligi vardir ki olmak zorundadir. Java ve C# ile bu asilmaya calisilmis; hafiza kontrol mekanizmalarinin otomatiklestirilmesi C ve C++ tan daha az karmasik programlama yapilacak anlamina gelmez.
"C++ ın ayrıntılarında gizlidir karmaşası." Tek anlamli buldugum yargi.
Efendim, eğlenceyi seviyorum diyorsanız da size python veriyoruz 2 porsiyon.
bi de şey var scanner ıyla dolaşanlar..bir elde scanner öbüründe belgeler..epey karışık bi durum.. şimdi scanner ı yanın da taşınabilir bişi sananlar bunları okuyunca seni FBI ajanı sanabilir elifcim dikkat..: )
c yapısal bir programlama dilidir. nesne yönelimli programlama diline ihtiyaç duyulunca c++ tasarlanmıştır. c nin de etkin kullanıldığı alanlar mevcuttur.
C++ ın ayrıntılarında gizlidir karmaşası. O ayrıntılarındaki karmaşası esnek ve kendimize has yazılımlar üretebilmemize olanak tanır. java ve C# o karmaşayla başedemeyenler yazılmış kütüphaneleri kullanarak uygulama geliştirebilsinler diye vardır. java ve c# bizi alt düzey bilgilerden uzak tutar, yazılım tekelleşmesini gizliden destekler. java ve c# de gerekli ama c++ daha çok gereklidir.
c++ da pek karmaşa yok be :/
c su koyvermiş ki c# ve c++ onun için var zaten :D
hatta bi de visual j ++ var ki ağızlara layık : )