C bilen için C++ öğrenme

Başlatan esrama, 23 Haziran 2009 - 21:19:07

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

esrama

C yi biliyorum (en azında bildiğimi varsayıyorum :) ) ... C++ ı da öğrenemk istiyorum fakat internetten indirdiğim C++ eğitim setlerinin C den hiçbir farkını göremiyorum. Birkaç tane set indirdim ama hepsi C yi anatıyor. Bunlar arasındaki farkı öğrenerek yola çıkmak daha mantıklı geliyor bana. Cyi bildiğim seviyede C++ ı öğrenebilmek için ne yapamalıyım ?

command

Pascal bilen birisinin Delphi öğrenmesi gibi bir şey söz konusu iki dilde bir birine yakın ve benzer ama illaki aralarında fark vardır karşılaştırmalı örnekler bu işi anlamak için en iyi yoldur bence bir programın c ve c++ ile yazılmış hallerine bakıp aralarındaki farkı anlayabiliyorsan gerisi gelir

ceddiguzel

En büyük problem ide'yi tanımak ve alışmak
Pascal bilen biri bu nedenle lazarus'da zorlanmaz
Gerçi Lazarus'da bitişe doğru kürek sallıyor ya

mce

Nesneye yönelik programlama nedir, öğrenerek başlayabilirsiniz. Sınıf, nesne, metod, kalıtım, çok biçimlilik gibi temel kavramları öğrenin kod yazarak bilginizi uygulamaya dökün.


http://tr.wikipedia.org/wiki/Nesne_Y%C3%B6nelimli_Programlama


İngilizce kaynaklar:
http://www.oop.esmartkid.com/
http://www.cplusplus.com/doc/tutorial/


heartsmagic

@mce gerekli yönlendirmeyi yapmış. İki dil arasındaki en büyük fark birisinin nesneye yönelik olmasıdır zaten.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Erdem

C bilmek, C++ öğrenmede ciddi bir katkı sağlamaz. Tam tersine C++ öğrenirken C dilinden bildiğiniz prinf, scanf vs.. daha bir sürü şeyi unutmanız gerekiyor.

Bir programlama dili internet üzerinden derslerle öğrenilmez. Onlar olsa olsa ancak ek kaynak olabilir. C++ için konunun uzmanları tarafından tavsiye edilen kitapların bir listesini burada bulabilirsin.  Bunlardan Accelerated C++'yi başlangıç kitabı olarak tavsiye ederim. Bu kitapları pandoradan  sipariş edebilirsin. Ellerinde yoksa bile ufak bir kapora alıp yurtdışından getirtiyorlar.
Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik

msg_einstein

Evet aslında C bilmek C++ için pek bir artı sağlamıyor. Alıştığın printf scanf leri kullanmamak zor geliyor. Ama programlamaya sıfırdan başlayan birinin yordamsal programlamayı bilmek adına c den başlaması daha doğru bence. Çünkü C dilini öğrenebilen her dili öğrenebilir emin olabilirsin.

m00dy

Alıntı yapılan: msg_einstein - 22 Temmuz 2009 - 16:19:47
Evet aslında C bilmek C++ için pek bir artı sağlamıyor. Alıştığın printf scanf leri kullanmamak zor geliyor. Ama programlamaya sıfırdan başlayan birinin yordamsal programlamayı bilmek adına c den başlaması daha doğru bence. Çünkü C dilini öğrenebilen her dili öğrenebilir emin olabilirsin.

C ve C++ dil yapan pointer gibi guclu bir variablei barindirmasidir.C++ in oop olup olmadigi hala tartisiliyor.. kodu ister spagetti yazarsin ister oop
http://www.erenyagdiran.com for further information

emin_as

Dil dediginiz zaten belli başlı ögelere sahiptir.
* Degiskenler, degisken atamalari. (int, char, string vs)
* Döngüler (for , while, repeat until, foreach vs )
* Karşılaştırmalar ( if , switch, case vs)

Oop (nesneye yönelik programlama) bunlara ek olarak, sınıf tanımlar (class ) ve bu sınıfın degişkenlerine, fonksiyonlarına erişim için sınırlamaları (public, private, friend ) kontrol eder.

Teknik olarak c, basic, pascal vs farketmez, bunların birini ögrenirseniz temeli ögrenmiş olursunuz. C den C++ geçmek zor degildir, zor olan aslında alışkanlıkları bırakabilmektir. Bir dili kullanırken belli alışkanlıklarınız olur, farklı bir dilde eski dilinizde kazandıgınız alışkanlıkları bırakamadıgınız için zorlanırsınız. C de printf fonksiyonu veya pascalda küçük büyük harf ayrımı yapmandan yazma gibi alışkanlıklar diger dillerde sorun yaratır.
C++ 80 lerin başında yazılmıştır, c ise 70 lerde yazılmıştır. C++ cye nesnelerin daha önemlisi tip kontrolunun eklenmiş halidir. C de tip kontrolu çok sıkı (weak typing) degildir, C++ sıkı tip kontrolu (strong typing) yapar, değişkenlerin uygun türde olmasına dikkat eder.

Dile alışmak zaman alır, ama gerekli özen gösterilirse, ögrendiginiz dilin özelliklerini kullanarak program yazabilirsiniz. C nin C++ göre en büyük avantajı (belki de tek) sistem dili olmasıdır. İşletim sistemi yazarken C ile en alt düzeye yakın programlama yapabilirsiniz ve neredeyse tüm donanım mimarilerinin C derleyicisi vardır. O nedenle işletim sistemi yazarken C yoğun olarak tercih edilir. C++ oop özelliklerinde dolayı daha çok gui gibi arabirimler yazılırken kullanılır.

Aslında program yazarken  en çok ugraştıran dilin özellikleri degil,  kütüphanelerdir. Socket programlarken, veritabani fonksiyonlarını çagırırken veya gui için program yazarken kullandıgınız kütüphanelere hakim olmak, dilin özelliklerine hakim olmaktan kat kat çok zaman alır ve zorlar. Genel olarak program yazma da bu kütüphaneleri etkin olarak kullanmadır.

Özetle C veya C++ farketmez önemli olan programcılıgın, algoritmanın nasıl oluşturulacagını anlamadır. Herhangi bir dilin tüm özelliklerini ögrenmek orta zekalı biri için 1 haftadan fazla  zaman almaz. Ama o dille program yazarken gerekli kütüphaneleri kavramak ayları alır.

KülTigin

C'yi printf ve scanf den ibaret sanmanız ne kötü bir durum.  Birgün sistem programlama işine girerseniz ve tamamen işletim sistemine bağımlı olan printf, scanf gibi fonksiyonları sıfırdan yazmak durumunda kalırsanız C nin printf scanf gibi basit şeylerin ve işletim sistemlerinin çok daha ötesinde bir dil olduğunu kavrarsınız.

C++'a geçmek istiyorsan C öğrenmek için harcadığın zamanın %1'i yetecektir. Zaten C++, C den daha yüksek seviyeli olduğu için (aslında çok seviye farkı yok ancak esnekliği biraz kısıtlanmış, C de uyarı olan bir çok şey C++ da hata olduğu için illegal programları derleyemiyorsunuz) zorlanmana ihtimal vermiyorum.
Bende ahmet yesevi üniversitesi bilgisayar mühendisliği ders notları vardı sanırım internetten bulabilirsin. Gayet basit bir şekilde ancak yeterince  ayrıntılı anlatıyor tavsiye ederim. Bulamazsan upload edebilirim.




ferret

Şu linkte güzel bilgiler, tavsiyeler, konu anlatımları ve sınavlar bulunabilir: CProgramming.com.

Dili İngilizce'dir.