İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Programcılara birkaç sorum var.

Şıh

0
İyinet Üyesi
Katılım
11 Ocak 2008
Mesajlar
132
Reaction score
0
Arkadaşlar ben web programlama konusunda bir hayli iyi sayılırım ama masaüstü programcılığında sıfırım. Gerçi web için kullandığım Perl dili sizlerin masaüstü programcılığında kullandığınız dillere çok benziyor ama ben daha başlangıcını beceremediğim için şu anda sıfırım diyorum.
Merak ettiğim şeyler şunlar.

1- Java diliyle yazılmış programlar platform bağımsız olarak, programda bir değişiklik yapmaya gerek kalmadan her bilgisayarda çalışabiliyor. Bunun dışında yazılmış C, C#, c++, Delphi, Phyton vs gibi diğer dillerde bu sorunu nasıl hallediyorsunuz? Yazdığınız programın her işletim sistemi için ayrı ayrı düzenlemesini mi yapıyorsunuz? Eğer öyle yapıyorsanız bu zor olmuyor mu? Yada yazdığınız her programı ayrı ayrı işletim sistemlerinde nasıl deniyorsunuz? Linux/Unix in çeşit çeşit versiyonları var, Windows'un ve Mac'in çeşit çeşit versiyonları var. Bu işletim sistemlerinin hepsini tek tek bilgisayarınıza yükleyip, çalışıp çalışmadığını mı deniyorsunuz? Bu çok büyük bir iş değil mi?

2- Birde sanırım sadece işletim sistemi değil, bilgisayarın donanımının da ne olduğu masaüstü programcılığında önemli. (Emin değilim) Eğer öyleyse yazdığınız programları onlarca ayrı çeşit ayrı donanımlı bilgisayarda nasıl deniyorsunuz?

3- Birde masaüstü programcılığında bellek yönetimi adında birşey duyuyorum. Sanırım bunun anlamı bilgisayarda yazdığınız programa ayrılan bellek miktarı oluyor. Bu miktar neden sınırlı? Bu miktarı siz kodları yazarken mi belirliyorsunuz? Yoksa yazdığınız koda göre o program hangi bilgisayarda çalışıyorsa onun işletim sistemi mi belirliyor? Eğer bunu kullanıcının bilgisayarı belirliyorsa; kullanıcının bilgisayarı sizin programınıza yetecek kadar bellek ayırmazsa ne olacak? Birde bir programın o anda yaptığı işe göre ihtiyaç duyduğu bellek miktarı da çok çok artabilir. Bu bellek miktarının sabit olması buna engel değil mi?


4- Platformdan bağımsız olduğu halde neden bazılarınız Java yerine başka dilleri tercih ediyor? Sadece hız meselesi yüzünden mi? Yoksa başka nedenler de mi var?

Cevaplarınız için şimdiden teşekkür ederim.
Saygılar, sevgiler.
 

Ensar

0
İyinet Üyesi
Katılım
18 Nisan 2008
Mesajlar
6
Reaction score
0
1.Javada olabilir sölediğin diğer dillerde her dilin kendine özgü güzellikleri kolaylıkları vardır ve herkesin bir dile yatkınlıgı vardır misal genelinde visual basic bilen adama delphi iyi desen beyenmez ama delphi bilen birinede visual basic dersen oda onu beyenmez.Kullanım alışkanlığı ve her dilin verdiği nimetler yazılım seçiminde etkilidir.Ayrıca her işletim sistemi için program yazılmaz yazılır ama şöle olur genelde tek işletim sistemi için yazılır yani yaygın olan windows için ama adamın canı ister ben linux versiyonuda cıkarcam derse o zaman oturcak bastan yazcak misal delphi dediğin yazılım dili ile yazdıgın programlar xp de çalışır bide delphinin kylix surumu vardır onda yazarsanda linuxta çalışır gibi...

2.Bu yazdıgın ozelliği ben kendimden ornek verim daha cok hız faktoru ıcın kullanırım yanı yapcagım program en kalite pc dede calıscak sorunsuz en dandık bılgısayardada verımlı calısacak bunada dikkat etmek için yazdıgın kodlama onemlıdır ayrıca kullandıgın nesnelerde onemlıdır yazılımı kastırmıcak sade gorunumden guzel goruntu cıkarmasını bılceksın.Yoksa nerde gorsel bısı programa koyım dersen her bılgısayarda yazılımdan tam verım alınamaz.

3.Bellekle ben ilgilenmiyorum o bilgisayarın işi ama sen yazılımlada sana hard discede her ayırtırsın istersen ramdede yer ayırtırsın istedigini yaparsın sana kalmıs.örnek mssql serverı bılgısayara kurdun mu kendıne ozel hard dısc alanı olusturması gıbı.

4.java cok cok kuvvetlı bır dıl hem web hem masaustunun gorevını gorebılır ama her dılın bı yere kadar esneklıgı vardır esneklıgın bıttıgı yerde kendını parcalayıp kasmak yerıne yapcagın yada yaptıgın ıslerın alanı ne ıse o dılle yogunlasmak ve hızlı sorunsuz ıslemını yapmak daha kolaydır.
 

baldor

0
İyinet Üyesi
Katılım
24 Şubat 2003
Mesajlar
660
Reaction score
0
Konum
Bi Bilsem :)
delphi, php, c# ile program geliştirdim ve javayı az çok tanıyorum. ayrıca platform bağımsız uygulamalara ilgim oldukça fazla. edindiğim tecrübeler ile sorularınızı yanıtlamak isterim;

1- genel olarak, programcılar sadece windows sürümlerini çıkarıyor. diğerleri ile ilgilenmiyor. o yüzden diğer işletim sistemleri için sürüm çıkarma problemleri yok. ama eğer olursa, dediğiniz gibi her biri için ayrı ayrı yazacaklar veya java kullanacaklar.

2- masaüstü programcılığında donanım sadece, cpu hızı ve ram miktarı ile önemlidir. onun dışında, bizim programlarımız windows un çekirdeği (kernel) üzerinde çalışır ve windows çekirdeği ile haberleşir, çekirdek ise bilgisayar donanımı ile program arasındaki köprüdür. örneğin programınız ses çıkartacak ve yüzlerce çeşit ses kartı var. sizin programınız çekirdeğe şu sesi çal der gerisine karışmaz, o sesi ses kartına çaldırmak çekirdeğin işidir. o yüzden bu konuda endişelenmenize gerek yok.

3- bellek yönetimi diye bahsettiğiniz konu çöpçü (garbage collector) sanırım. olay şu, bir işleme başladığınızda kullanacağınız değişkenleri belirlersiniz ve işletim sistemi sizin için gerekli ram alanını ayırır. bu ram alanını programınız kullanır ve işi bitince işletim sistemine "benim bu kaynaklar ile işim bitti" der, işletim sistemide ayırdığı ram alanını boşaltır. bu şekilde ram i verimli kullanmış olursunuz. c# ta bu işlem; degisken.dispose komutu ile kontrol edilebilir. ancak işletim sistemi siz bu komutu çağırmasanız da gerekli kontrolleri yapar. haliyle bu konuda da endişeye gerek yok. ama tavsiyem, grafiklerle uğraşıyorsanız bu konuya dikkat edin.

4- javanın güncel sürümlerinde hız problemi yok. hatta kimi araştırmalara göre microsoft un .net framework ün daha hızlı çalışıyor. başka programala dillerinin tercih edilmesini sebebi ise sadece javayı bilmemeleri :) örneğin, tüm bankaların internet şubeleri jsp ile yazılmıştır, sanal pos sistemleri jsp ile çalışır, bilenler bildikleri yoldan şaşmaz :)



son olarak; bence java en avantajlı dildir. şu an kullanmakta olduğum mozilla firefox, dosya paylaşım programı limewire, torent yazılımları, eclipes java derleme ortamı vs. gibi programlar java ile yazılmıştır ve başarı ile tüm dünyada tüm işletim sistemlerinde kullanılmaktadır.

önümüzdeki yıllarda pardus işletim sisteminin Türkiye'de bilinirliliğinin artması sayesinde hem linux, hem windows ile çalışan programlara ihtiyaç olacağını düşünüyorum. bu yüzden eğer masaüstü programcılığına başlayacaksanız, eclipes java geliştirme ortamında javayı kullanarak başlayın, zordur ama sonucu iyi olur.

en azından canınız sıkıldığında programı cep telefonunuza yükleyip denersiniz :)
 

sekizbit

0
İyinet Üyesi
Katılım
1 Kasım 2007
Mesajlar
52
Reaction score
0
Merhabalar, yukarıda adı geçen bütün dilleri iyi derecede biliyorum ve sipariş üzerine kücük-büyük yazılımlar yapıyorum.

Bence hiç bir dil, bir diğerine göre güzel-kötü veya kolay-zor değildir. Her dilde yapması zor olan şeyler ve yine her dilde güzel olan şeyler vardır.

Açıkcası bugüne kadar kimse benden hem windowsta hem linuxta çalışacak bir program istemedi. O yüzden programı 2 defa konfigüre etmek zorunda kalmadım.

Eğer, benden istenilen işte dil belirtilmemişse, kullanacağım dili yapacağim işe göre secerim. Mesela, C ile multi-thread network programı yazmaya hiç kasmam, C#'ı veya Java'yı tercih ederim, ki eğer çalışması gereken işletim sistemi windows ise C#,linux ise Java olur tercihim. Ancak istenilen program bazı veriler sonucu hesaplamalar yapacak,raporlar üretecek vs.. ise bu durumda da C++ ön plana gelir.

Sizin genel sorunuz aslında, java varken neden başka bir dil tercih edeyimki olmuş, ve javanın platform bağımsız olması sizi bu konuda baya bi etkilemiş gibi görünüyor ama unutmayınki javanın çalışması içinde bilgisayarda JRE kurulu olması gerekiyor :).
 

ryden

0
İyinet Üyesi
Katılım
16 Kasım 2004
Mesajlar
111
Reaction score
1
java yapı itibariyle diğer dillere göre çok ağır işleyen bir dil en uygulaması kolay ve yapı itibariyle sistem ve kullanıcı dotu olan diller c# c++ dır c# ve c++ zaten aynı platformda çalışıyor aynı hizmet için ama c++ c# göre daha esnek
 

Şıh

0
İyinet Üyesi
Katılım
11 Ocak 2008
Mesajlar
132
Reaction score
0
Arkadaşlar bu topic'de yazan tüm kardeşlerime hem teşekkür ederim hem de özür dilerim. Bu topic'i uzun süre önce açmıştım. Ve üzerinden uzun bir süre geçtiği halde kimseden en ufak bir ses çıkmayınca ben de ümidi kesmiştim. Açıkçası nedense bu forumda çoğu zaman anlayana basit gelebilecek sorularıma dahi hiç cevap alMaMaya alışkın olduğum için, bu topicten de çoktan ümidi kesmiştim. Az evvel de tesadüfen gezinirken buraya girdim ve siz değerli kardeşlerimin yazılarını görünce mahcup oldum. Hepinize tekrar teşekkür eder ve en güzel sevgilerimi sunarım.
Canlarım benim ya!! Hepinizi çok seviyorum. Üstelik emek vererek en güzel ve en doyurucu cevaplar vermişsiniz. Bunu hiç unutmayacağım. Bin kere, yüzbin kere teşekkürler.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst