C'mi C++mı

3nCrYpTi10

Katılımcı Üye
20 Ağu 2016
487
0
İstanbul
aklıma uzun bir süredir takılan ve tatmin edici cevabı olmayan soru
umarım tatmin edici cevaplar gelir.

şimdi soru şu daha önce hiç bir dil bilmeyen biri (ben) c mi öğrenmeliyim cppmi.

bir kısım diyorki;
c daha özgürdür daha geniştir. diğer dillerin babasıdır. vs

diğer kısım ise;
c++ cnin gelişmiş halidir c artık geride kalmıştır. vs
c ile yapabileceklerini cpp ile yaparsın
ama cpp ile yapabileceğin çoğu şeyi c ile yapamazsın.

şimdi zorluk önemli değil ilk hangisini öğrenmeliyim.
türkiyede c ye ait daha çok türkçe kaynak var.
c++ ileri seviye nerdeyse hiç ders yok.
c de varmı bilmiyorum.

amacın ne derseniz.
benim alanım yazılım değilde siber güvenlik
yani işletim sistemi temellerini vs okuyacağım değişiklik yapacak seviyede olmalıyım.
malum şuanki sistemlerin çoğunun temeli C

not;
c# - java - phyton öğren diyecekler yada algoritma öğren diyecekler
öyle şeyler demeyin :)
 

ByZehirx

Yaşayan Forum Efsanesi
10 Şub 2012
12,392
2,010
Dinlenmede.
bir ev düşün
o evin iki kardeşi
olsun karakter kisilik farkli olsun.
ikiside her aksam
ayni sofraya oturuyorsa.
ikisini de ayirt edebilirmisin guzel kardesim.

c ile java desen anlarimda.
c. ile c farkli degildir karakter ve kisilik haric.
ama ikiside aynidir
 

ArViX

Uzman üye
28 Şub 2013
1,273
0
cos a=cos bc
Exploitlerin çoğu python ve c diliyle yazılır seninde amacın bu alanda olduğuna göre c öğrenmelisin . C dilini öğrendikten sonra diğer dilleri öğrenmen zaten zor olmayacaktır.
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Object oriented istiyorsan c++, istemiyorsan c .

İhtiyacın ne ? Dili ne için öğreneceksin ? Nerede kullanacaksın ?

Turing complete olan her dil, birbirinin yapabildiklerini yapabilir. Yani o yüzden c yapar cpp yapamaz diye bir şey yok. Tam tersi de geçerli.

 

BÖKE

Yaşayan Forum Efsanesi
20 Ağu 2016
8,754
411
programlamada dil milliyetcisi olursan para kazanamassın amacından söz etmissin hobi olarakta yapmıyacaksın bu işi tüm dilleri kavramaya bak c önce başla veya c++ fark etmez öğrenmeye bak amacın 2 dilide öğrenmek olsun öncelik sana kalmış öğrenmekte...
 

Paradox84

Uzman üye
23 Eyl 2016
1,043
1
C candır gerisi heyecandır. Yapısını falan daha çok seviyorum ve şöyle düşün süt mü istersin ayran mı? Ayran istersen ayran içersin. Süt istersen süt içersin, ayran içersin, yoğurt yersin, peynir yersin vs vs.
 

3nCrYpTi10

Katılımcı Üye
20 Ağu 2016
487
0
İstanbul
programlamada dil milliyetcisi olursan para kazanamassın amacından söz etmissin hobi olarakta yapmıyacaksın bu işi tüm dilleri kavramaya bak c önce başla veya c++ fark etmez öğrenmeye bak amacın 2 dilide öğrenmek olsun öncelik sana kalmış öğrenmekte...

Object oriented istiyorsan c++, istemiyorsan c .

İhtiyacın ne ? Dili ne için öğreneceksin ? Nerede kullanacaksın ?

Turing complete olan her dil, birbirinin yapabildiklerini yapabilir. Yani o yüzden c yapar cpp yapamaz diye bir şey yok. Tam tersi de geçerli.


Simdi hocam size amacimi soyle acikliyayim.
Orn: herhangi bir isletim sisteminin temeline indigimde kodlari okuyabileyim.
Yada bir acik vs buldum bunu hemen programa dokebileyim.
Zaten pratiklik acisindan phyton
Android icin java
Windows icin c#
Ileriki zamanlarda tersine muhendislik icin assembly.

Ama baslangic olarak c mi c++ mi tam karar veremedim.
Cunku birine baslayinca birakmayacagim.
Zaten tamamen ogrenmek yillara bedel

Mesela. Bu yazida C Programlama Dili İle Ram Bellekte Kısa Bir Seyahat - Sanalkurs.net

Adam c dilinin ozgirlugunden bahsediyor adeta hackerler icin yapilmis bir dil diyor.
Java c++ sizi kisitlar diyor.

Bide herjeste kendi ogrendigi dili savunma olayi var
Bi yazida adam c yi ovup javayi yeriyor.
Digerinde tam tersi
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Simdi hocam size amacimi soyle acikliyayim.
Orn: herhangi bir isletim sisteminin temeline indigimde kodlari okuyabileyim.
Yada bir acik vs buldum bunu hemen programa dokebileyim.
Zaten pratiklik acisindan phyton
Android icin java
Windows icin c#
Ileriki zamanlarda tersine muhendislik icin assembly.

Ama baslangic olarak c mi c++ mi tam karar veremedim.
Cunku birine baslayinca birakmayacagim.
Zaten tamamen ogrenmek yillara bedel

Mesela. Bu yazida C Programlama Dili İle Ram Bellekte Kısa Bir Seyahat - Sanalkurs.net

Adam c dilinin ozgirlugunden bahsediyor adeta hackerler icin yapilmis bir dil diyor.
Java c++ sizi kisitlar diyor.

Bide herjeste kendi ogrendigi dili savunma olayi var
Bi yazida adam c yi ovup javayi yeriyor.
Digerinde tam tersi

Genelde programlama/yazılım değilde "dil" öğrenenler maalesef seninde dediğin gibi kendi kullandıkları dili savunurlar. Ama yazılım konseptinin kendisini öğrenenler bunu yapmaz, bilir ki her dilin amacı farklıdır.

Örneğin senin alıntı yaptığın şu cümle "java, c++ sizi kısıtlar". Şimdi burada şöyle bir şey var, bu kısıtlamadan kasıt ney ? Bu kısıtlamanın amacı ney ?

Örneğin c de şunu yapabilirsin, 5 elemanlı bir dizi tanımlayıp dizi[6] = abc diyebilirsin. Ama javada bunu yapamazsın, ArrayIndexOutOfBoundsException hatası alırsın. Buradaki kısıtlama şudur, C memory erişiminin kontrolünü yapmaz, java yapar.

Mesela java "always call by value" dir. C ise pointerlar sayesinde "call by referance" destekler.
Örnek olarak javada metod içerisinde parametre olarak verilen nesne ye yeni bir nesne ataması yaptığında asıl nesne değiştirilmez. Ama c de pointerlar ile bunu rahatlıkla yapabilirsin.

İşletim sisteminin temeline inip kodları okumaktan kastın kerneli açıp okumaksa valla ne yalan söyliyim işin çok zor. Hatta hemen şuradan bakabilirsin : https://github.com/torvalds/linux

C gibi bir dil high performance gerektiren işlemlerde kullanılır. İşletim sistemi yazacaksan, driver yazacaksan, sinyal işleme ile uğraşıyorsan veya yüksek matematiksel işlemler yapacaksan...

C++ ise aynı şekilde yüksek performans gerektiren ve object oriented kullanımına ihtiyaç duyulan yerlerde kullanılır.

Bana kalırsa amacını iyi belirlemeden C veya C++ ta karar kılma. Bu iki dil çok fazla güçlüdür ve öğrenmesi hakimiyeti yıllar alır.

Bu arada asm den bahsetmişsin.. Sakın diyorum. ASM ye bir bak istersen. Neyle karşı karşıya olduğunun farkına var.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.