Arama butonu
Bu konudaki kullanıcılar: 1 misafir
15
Cevap
2495
Tıklama
0
Öne Çıkarma
c++ mı java mı
B
14 yıl (1666 mesaj)
Binbaşı
Konu Sahibi

aslında başlıktan da anlaşılacağı gibi ikisi arasında seçim yapmak istiyorum.

c++ dair bilgim var, ufakta olsa program yazabiliyorum fakat java dilini hiç bilmiyorum c++ bildikten sonra java da çok zorlanılmayacağını söylüyorlar fakat merak ettiğim:

java da yapılan herşey c++ da da yapılabilir mi?(zaman kaybını yok sayarsak)
iki dil yapılabilirlik sınırı olarak birbirine eşit midir?

şimdiden vereceğiniz cevaplara teşekkür ederim.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



U
14 yıl (4994 mesaj)
Binbaşı

Yapmak istediğin program ne?


Bu mesaja 1 cevap geldi.
B
14 yıl (1666 mesaj)
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: un.real

Yapmak istediğin program ne?

işte bunun sınırı ne bilmiyorum. açıkçası çok ilerleyebildiğimi düşünmüyorum, sürekli aynı şeyler matematiksel algoritmalar yazmaktan ileri gidemiyorum.

bu bilgilerle nasıl ilerleyeceğimi neler yapabileceğimi bilmiyorum farklı şeylere yönelip basitte olsa faydalı ve doğru programlar üretmek istiyorum, yani bir sonra ki basamağa sıçramak istiyorum ama yapamıyorum sanki aynı çemberin içinde dönüp duruyorum.


Bu mesaja 1 cevap geldi.
K
14 yıl (92 mesaj)
Çavuş

Bakınız öncelikle şunda yapılan bunda yapılır mı konusunu tartışmak gereksiz.
C++ ve Java Nesne yönelimli dillerdir. Öncelikle nesne yönelim nedir? bunda yer alan sınıf,metod,vs nedir? gibi sorular yanıtlandıktan sonra hangi dilde daha rahat edilebiliyorsa o tercih edilmelidir. Bir Windows arayüzüne sahip kütüphane otomasyonunda C++ genelde tercih edilmemesinin sebebi Javada görsel ve veritabanı işlerini daha kolay yapmayı sağlayacak araçların olmasıdır. C++ ile yapılamaması söz konusu değildir.
Ayrıca şu ayrımı kavramak gerek java jvm ye bağlı çalışır. Bu da şu demektir java kodları derlenir ve ara bir koda dönüşür.Çalıştırılacağı zaman bu koddan çalıştırılır. C++ da derlendiği ortam ve derleyiciye bağlı olarak ara bir koddan yeniden çalıştırılmaz doğrudan makine dili haldedir.


bir sürü farklar olduğunu göreceksin bu iki dil arasında. Araştırmalarını yapmalısın.


Bu mesaja 1 cevap geldi.
U
14 yıl (4994 mesaj)
Binbaşı

quote:

Orijinalden alıntı: kod yazarı

Ayrıca şu ayrımı kavramak gerek java jvm ye bağlı çalışır. Bu da şu demektir java kodları derlenir ve ara bir koda dönüşür.Çalıştırılacağı zaman bu koddan çalıştırılır. C++ da derlendiği ortam ve derleyiciye bağlı olarak ara bir koddan yeniden çalıştırılmaz doğrudan makine dili haldedir.


Tabi bu "C++'ta bağımlılık yoktur" anlamına gelmez


Bu mesaja 1 cevap geldi.
H
14 yıl (4 mesaj)
Er

javanın güzellikleri:
-öncelikle java virtual machine sayesinde yapılan bi program her ortamda çalışabilir(android,linux,windows,internet...)
-kütüphaneleri oldukça geniş adamlar sana gerekebilecek her seyi bi package koymuşlar.
-javada her sey referans yani c++ daki gibi memory ile cok ugraşmıyosun bitlere bytlara erişmen oralarda degisiklik yapman zor
sorulara gelince:
1-javada yapılan her şey c++ dada yapılabilir ama bi pencere oluşturmak javada 10-20 satırken c++ 100-200 satır sürebilir ve cok iyi bilen lazım c++ oluştura bilmek için)
2-bence iki dil yapılabilirlik olarak eşit değil c++ daha üstün gibi geliyo bana büyük oyunlar c++ la yapılıyo javada yapmak zor diyolar ama bi hastane otamasyon programıda javada daha kolay yapılıyo ..


Bu mesaja 1 cevap geldi.
R
14 yıl (596 mesaj)
Yüzbaşı

43rry7ktdv ll,t. tud dedk dtk





< Bu mesaj bu kişi tarafından değiştirildi rob dö şambır -- 30 Nisan 2013; 19:38:04 >
Bu mesaja 2 cevap geldi.
B
14 yıl (1666 mesaj)
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: rob dö şambır

böyle bir konu açıyorsan sen C++ bilmiyorsun demektir. küçük bir altkümesini kullanıyorsundur. object oriented, class hierarchies, parametric types/template bilmiyorsundur ama farkında değilsin. C++ biliyorum diye cümle kuruyorsun. bir şeyi biliyorum demek, onun bilmediğim hiçbir kısmı yok demektir.

Farkindaysaniz bilgim var dedim, "biliyorum" demedim. Beyin ukalaligi yapmadan once okudugunuzu anladiginizdan emin olun once.

Ayrica aramizda hicbir tanismislik yada samimiyet olmadigina gore sen ben demekten vazgecin. Herseyden once buna dikkat ediniz.

Ben hep ayni cercevenin etrafinda donup duruyorum nasil bunun icinden cikarim gittigim yol dogru mu diye soru sorarken yazdiginiz sacma egolu cevap beni kucuk dusurmeye yada sizi benden ustun, mantikli kilmiyor. Boyle bir havaya burunmenizin anlami yok.

Zira ben c++ biliyorum gibi bir idda icinde de degilim sadece bilgim var diyorum.



< Bu ileti mobil sürüm kullanılarak atıldı >

4
14 yıl (77 mesaj)
Çavuş

quote:

Orijinalden alıntı: rob dö şambır

böyle bir konu açıyorsan sen C++ bilmiyorsun demektir. küçük bir altkümesini kullanıyorsundur. object oriented, class hierarchies, parametric types/template bilmiyorsundur ama farkında değilsin. C++ biliyorum diye cümle kuruyorsun. bir şeyi biliyorum demek, onun bilmediğim hiçbir kısmı yok demektir.

Bu tür cevaplar verip insanların istek ve heveslerini zedeleyici cümlelerden lütfen uzak durun,kişinin sorusuna sırf cevap yazmak için cevap yazmayın,ayrıca "böyle bir konu açıyorsan sen C++ bilmiyorsun demektir." demişsiniz zaten hiç kimse c++ 'ı veya herhangi bir dili tam olarak bilmez ozaman kimse konu açmasın.


Bu mesaja 1 cevap geldi.
_
14 yıl (3190 mesaj)
Yarbay

dostum ben her ne kadar c# ogrensem de java nin cok daha iyi oldugunu soyleyebilirim.Bir yazarin benzetmesini soyleyeyim java c# i dover ama c# in babasi java yi dover.C# zaten java nin c++ tan daha basarili oldugu icin Microsoft un yaptigi bir dildir.Bu da demek oluyor ki Microsoft bile java nin c++ tan daha iyi oldugunu kabul etmis.Fakat bir suru oyun da c++ ile kodlanmistir bu da ayri bir gercek.Ben de her ne kadar java ogrenmek istemesem de bir gun ogrenmek zorunda kalabilirim.Formul:

gelecek=java ise java=gelecek


Bu mesaja 1 cevap geldi.
B
14 yıl (1666 mesaj)
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: emg125

dostum ben her ne kadar c# ogrensem de java nin cok daha iyi oldugunu soyleyebilirim.Bir yazarin benzetmesini soyleyeyim java c# i dover ama c# in babasi java yi dover.C# zaten java nin c++ tan daha basarili oldugu icin Microsoft un yaptigi bir dildir.Bu da demek oluyor ki Microsoft bile java nin c++ tan daha iyi oldugunu kabul etmis.Fakat bir suru oyun da c++ ile kodlanmistir bu da ayri bir gercek.Ben de her ne kadar java ogrenmek istemesem de bir gun ogrenmek zorunda kalabilirim.Formul:

gelecek=java ise java=gelecek

Cok tesekkur ederim yaziniz icin :)



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
Z
14 yıl (935 mesaj)
Yüzbaşı

Merhaba, oncelikle yazilim dunyasina holgeldiniz. Cok uzun ve keyifli bir yol sizi bekliyor.

Konuya gelirsek c++ ve java kesinlikle karsilastirilmamasi gereken diller. Cunku iki dilin kullanim amaci birbirlerinden cok farkli. Java-C# karsilastirmasi yapmak daha uygun olur. Ek olarak su dil iyidir, su dilde gelecek vardir gibi cikarimlar ayni cati altinda yer alan diller icin yapilabilir.

Ikin dilinde kullanim amaci farkli demistik, ornegin sizin bir uygulamaniz oldugunu varsayalim ve gelistirilecek arayuzler dekstop, web ve android uzerinde olsun. Amac arayuzden yapilan islemlerin veritabaninda sorgulanarak, arzu edilen isleme gore arayuzun guncellenmesi. Bu uygulama gereksinimlerine bakarsak, kullanilacak isletim sistemine gore dil secimini gerektirir ve seciminiz java veya c# olacaktir.

Bu uygulama icin neden c++ degil?

Kullaniciya sununlacak arayuzun farkli platformlarda calismasi gerekiyor ki buyuk ihtimalle ayni arayuze sahip olmalari gerekir. Arayuzun web/desktop/anroid uygulamalarinda calisacak sekilde en hizli dil kullanilarak kodlanmasi gerekir. Burda c++ kullandigimiz dusunelim, platformlar degisecegi icin her platforma a ozel projeler olusturmak ve farkli kutuphaneler kullanmak gerekir. Ozellikle web tarafinda mutlaka farkli bir dil ile etkilesim gerekir ki bu size cok takla attirir :D. Java kullanirsak dilin sundugu standart kutuphaneleri kullanarak farkli projeler bile olusturmadan ayni ortam da tum arayuzlerinizi gelistirebilirsiniz ve her ortamda kullanacaginiz kod cogunlukla ayni olacaktir ve bu kisimlar cekirdek bir kutuphane olarak yazlirsa gelistirme ve kontrol sureci cok hizlanacaktir. Sonuc olarak yazilim gelistirme sureciniz c++ gore %75-80 daha hizlanacaktir.

Bir baska uygulamaniz var diyelim mesela gercek zamanli bir sistem uzerinde kosacak bir yazilim gelistirmeniz gerekiyor. Bir makinamiz var, yazilima giris olarak alinan veriler islenerek makina ya komut verilmesi gerekiyor ve islem sonrasinda makina dan yine yazilama giris aliniyor varsayalim. Bu islemler gercek zamanda ornegin veri alimi ve gonderim sureleri 2ms ve isleme suresi 4 ms olacak sekilde 8ms toplam sure oldugunu varsayalim. Yani saniyede 125 defa bu islem tekrarlansin. Alinan verilerin boyutununda buyuk oldugunu ve islemler sirasinda yuklu miktarda bellek kullanimi oldugunu varsayalim. Iste burda kullanacaginiz dilin giris-cikis islemlerini cok hizli yapabilmesi ve bellek yonetiminin hizli ve kesin olmasi gerekiyor. Burda java ve c# kullanirsak bellek yonetimi bizde olmayacagi icin ciddi sorunlarla karsilasiriz. Buyuk ihtimal bir sure sonra bellek alanlari hizli temizlenemeyecegi icin yazilim bellek kullanimi cok yukselecektir cunku bu islemler saniyede 125 defa tekrarlanacak ve bellek yonetim kontrolu ne yazik ki bizde degil :D. Giris ve cikis taraflarinda donanim arayuzlerine erismek gerekiyor ve bunlar yine gosterici (pointer) kulanimi gerektirir ve alt seviye islemlerdir. Bunlari goz onunde bulundurunca c++ kullanmak hem performans hemde yazilimin saglikli calismasi icin oncelikli olur.

Karsilastirmali yazilim orneklerini cogaltmak mumkun. Sonuc olarak yazilim gereksinimlerine gore dilleri kullanmak gerekir ve dillerin kendi aileleri icerinde karsilastirilmasi mantikli olur. Sizede tavsiyem ilerde hangi alanda calismak istiyrsaniz ona gore dil secmeniz ve bu yolda gerek duyacaginiz diger yeteneklerinizi (ingilizce, matematik, algoritma gelistirme, nesne yonelimli ve jenerik yazilim gelistirme surecleri ...vb ) gelistirmenizi oneririm.


Bu mesaja 1 cevap geldi.
B
14 yıl (1666 mesaj)
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: zek

Merhaba, oncelikle yazilim dunyasina holgeldiniz. Cok uzun ve keyifli bir yol sizi bekliyor.

Konuya gelirsek c++ ve java kesinlikle karsilastirilmamasi gereken diller. Cunku iki dilin kullanim amaci birbirlerinden cok farkli. Java-C# karsilastirmasi yapmak daha uygun olur. Ek olarak su dil iyidir, su dilde gelecek vardir gibi cikarimlar ayni cati altinda yer alan diller icin yapilabilir.

Ikin dilinde kullanim amaci farkli demistik, ornegin sizin bir uygulamaniz oldugunu varsayalim ve gelistirilecek arayuzler dekstop, web ve android uzerinde olsun. Amac arayuzden yapilan islemlerin veritabaninda sorgulanarak, arzu edilen isleme gore arayuzun guncellenmesi. Bu uygulama gereksinimlerine bakarsak, kullanilacak isletim sistemine gore dil secimini gerektirir ve seciminiz java veya c# olacaktir.

Bu uygulama icin neden c++ degil?

Kullaniciya sununlacak arayuzun farkli platformlarda calismasi gerekiyor ki buyuk ihtimalle ayni arayuze sahip olmalari gerekir. Arayuzun web/desktop/anroid uygulamalarinda calisacak sekilde en hizli dil kullanilarak kodlanmasi gerekir. Burda c++ kullandigimiz dusunelim, platformlar degisecegi icin her platforma a ozel projeler olusturmak ve farkli kutuphaneler kullanmak gerekir. Ozellikle web tarafinda mutlaka farkli bir dil ile etkilesim gerekir ki bu size cok takla attirir :D. Java kullanirsak dilin sundugu standart kutuphaneleri kullanarak farkli projeler bile olusturmadan ayni ortam da tum arayuzlerinizi gelistirebilirsiniz ve her ortamda kullanacaginiz kod cogunlukla ayni olacaktir ve bu kisimlar cekirdek bir kutuphane olarak yazlirsa gelistirme ve kontrol sureci cok hizlanacaktir. Sonuc olarak yazilim gelistirme sureciniz c++ gore %75-80 daha hizlanacaktir.

Bir baska uygulamaniz var diyelim mesela gercek zamanli bir sistem uzerinde kosacak bir yazilim gelistirmeniz gerekiyor. Bir makinamiz var, yazilima giris olarak alinan veriler islenerek makina ya komut verilmesi gerekiyor ve islem sonrasinda makina dan yine yazilama giris aliniyor varsayalim. Bu islemler gercek zamanda ornegin veri alimi ve gonderim sureleri 2ms ve isleme suresi 4 ms olacak sekilde 8ms toplam sure oldugunu varsayalim. Yani saniyede 125 defa bu islem tekrarlansin. Alinan verilerin boyutununda buyuk oldugunu ve islemler sirasinda yuklu miktarda bellek kullanimi oldugunu varsayalim. Iste burda kullanacaginiz dilin giris-cikis islemlerini cok hizli yapabilmesi ve bellek yonetiminin hizli ve kesin olmasi gerekiyor. Burda java ve c# kullanirsak bellek yonetimi bizde olmayacagi icin ciddi sorunlarla karsilasiriz. Buyuk ihtimal bir sure sonra bellek alanlari hizli temizlenemeyecegi icin yazilim bellek kullanimi cok yukselecektir cunku bu islemler saniyede 125 defa tekrarlanacak ve bellek yonetim kontrolu ne yazik ki bizde degil :D. Giris ve cikis taraflarinda donanim arayuzlerine erismek gerekiyor ve bunlar yine gosterici (pointer) kulanimi gerektirir ve alt seviye islemlerdir. Bunlari goz onunde bulundurunca c++ kullanmak hem performans hemde yazilimin saglikli calismasi icin oncelikli olur.

Karsilastirmali yazilim orneklerini cogaltmak mumkun. Sonuc olarak yazilim gereksinimlerine gore dilleri kullanmak gerekir ve dillerin kendi aileleri icerinde karsilastirilmasi mantikli olur. Sizede tavsiyem ilerde hangi alanda calismak istiyrsaniz ona gore dil secmeniz ve bu yolda gerek duyacaginiz diger yeteneklerinizi (ingilizce, matematik, algoritma gelistirme, nesne yonelimli ve jenerik yazilim gelistirme surecleri ...vb ) gelistirmenizi oneririm.



Galiba benim zorlandigim nokta ise hangi dildem neler yaparim ve nerelere kaxarilerleyip nerelerde takilabilirim durumu. En sagliklisi birinde baslayip onu ilerletip ihtiyacima gore yardimci olacak dili veya dilleri ogrenmek,

Sizce bu mantikli bir yol mu?



< Bu ileti mobil sürüm kullanılarak atıldı >

Y
13 yıl (76 mesaj)
Çavuş

quote:

Orijinalden alıntı: Hastecik

javanın güzellikleri:
-öncelikle java virtual machine sayesinde yapılan bi program her ortamda çalışabilir(android,linux,windows,internet...)
-kütüphaneleri oldukça geniş adamlar sana gerekebilecek her seyi bi package koymuşlar.
-javada her sey referans yani c++ daki gibi memory ile cok ugraşmıyosun bitlere bytlara erişmen oralarda degisiklik yapman zor
sorulara gelince:
1-javada yapılan her şey c++ dada yapılabilir ama bi pencere oluşturmak javada 10-20 satırken c++ 100-200 satır sürebilir ve cok iyi bilen lazım c++ oluştura bilmek için)
2-bence iki dil yapılabilirlik olarak eşit değil c++ daha üstün gibi geliyo bana büyük oyunlar c++ la yapılıyo javada yapmak zor diyolar ama bi hastane otamasyon programıda javada daha kolay yapılıyo ..


Benim de c++ ile nesneye yönelik bir otomasyon yazmam lazım.Bi kaynak önerir misiniz?


Bu mesaja 1 cevap geldi.
M
13 yıl (5771 mesaj)
Yarbay

Teorik olarak herhangi bir dil ile harhangi bir seyi yapabilirsiniz.
Mesele, hangi dilin daha fazla kutuphanesi ve dokumentasyonu oldugu, hangi asamalarda nasil kullanilacagi vs vs gibi faktorlerdir.
Kurumsal Web projeleri icin Java cok kullanilir.
Ama tutup da anti-virus programi yazacaksaniz C++ kullanirsiniz buyuk ihtimal ile.
Eger Yuksek yuk altinda calisan bir server 'da optimizasyon yapacaksaniz Perl kullanirsiniz.
AI tasarlamak istiyorsaniz Lisp ya da Prologue kullanirsiniz.
Dosyalarin kisa surede yerini degistirecek kucuk bir yama yazmak istiyorsaniz Python kullanirsiniz.
Liste bu sekilde gider.
Programlama dilleri, objelerin referanslama teknikleri, obje tiplerinin birbirlerine ne kadar kolay cevrilecegi, Inheritance, Polymorphism ya da Encapsulation gibi faktorleri ne olcude destekledikleri, ne kadar Obje tabanli olduklari vs vs gibi faktorlere gore degiskenlik gosterirler.
Eger nihai amacini Turkiye'de para kazanmak ise benim gozlemlerime gore java , C++'dan daha cok kullaniliyor. Ancak bu demek degildir ki PHP bilen birisi herkesten cok kazanmasin. ( bkz Facebook )
Iki programlama dilini genelde ya cok acemiler ya da cok profesyoneller karsilastirir.
- Acemiler karsilastirir cunku her dili biraz biraz ogrenmektense butun zaman ve eforlarini tek bir dile harcayip karsilarina cikan butun problemleri bu dili kullanarak cozebilme hayali kurarlar. Bu malesef dogru bir yaklasim degildir.
- Profesyoneller karsilastirir cunku karsilarina cikan bir problemi en efektif, kisa yoldan ve maintain edilebilir bir bicimde nasil cozebileceklerini dusunurler. Bu yaklasim da cogu kisi tarafindan yadirganir. ( Neden bunu sununla yapmadik ki, diye sorarlar kendilerine ).

Eger ilk ogrenilecek programlama dili ise bence C++ biraz daha avantajli zira Pointer, memory leak vs vs gibi kavramlari algilamak ve bunlarin etkisini hissetmek C++ 'da daha kolay. Java cok ust seviye bir dil oldugu icin programciyi bu tarz etkenlerden uzak tutuyor, bu da ilk baslayanlarin ogrenme surecini ( Javayi degil, genel programlama dogrularini ) biraz uzatiyor.
Fakat Java yapisi itibari ile cok Object Oriented bir dil. Cogu kimse ilk programlama ogrendiginde "Hello World" yazar. C++'da "cout << "Hello World";" ile yapilan seyin Object oriented olmadiginin farkina varmaz. BU sebeple System.out.println("Hello World"); yazmak abes gelir. Ama aslinda isin asli oyle degildir.



U
12 yıl (41 mesaj)
Onbaşı

Java daha çok grafik gerektiren işlerde kullanılır. Bana sorarsan C++ rahat bir dil. C++ iyidir.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.