Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > Java mı C# mı
Yazar
bilgin


avatar
Istanbul
Kayıt: 16.10.2007
28.01.2008-01:24 #36240
C# ilk ortaya çıktığından beri bu soru sorulur. Kimse de "Kesinlikle Java ya da C# öğrensem diğerine hiç gerek yok" diye düşünebileceğim bir cevap vermedi bir kişi dışında. O bir kişi de bu konularda en çok dediğine güveneceğim insan. Ama ben yine de araştırmaya devam ettim.

Bu iki dili karşılaştırırken aslında çok önemli bir nokta; iki dilin doğuş aşamaları unutulur.

Java; uzun süren çalışmalar sonunda ortaya çıkarılan bir dildir. Aslında daha 1970'li yıllarda C++ temelli bir dil oluşturma fikri ortaya atılmıştı. Aslında bu dili oluştururken en büyük amaç platform bağımsız bir dil oluşturmaktı. Daha sonra Sun, Java'nın özelliklerini basit, nesneye yönelik, dağıtılmış, yorumlanan, sağlam, güvenli, ortam bağımsız, taşınabilir, yüksek performanslı, çok görevli ve dinamik olarak sıralamıştır. Yıllar geçtikçe Java oldukça popüler bir dil olmuştur.

Daha sonra sektörün büyük büyük şirketleri Java hakkında bir toplantı yaparlar. Bill Gates de bu toplantıya girer ve Java'yı standart olarak Windows içerisinde sunmak ister. Toplantıdaki şirket yöneticileri Bill Gates'i tekelcilikle suçlayıp kovarlar. Bill Gates de istediğini yapamayacağını anlayınca Delphi'yi yazan Anders Hejlsberg'i çağırır ve yanına da Scott Wiltamuth'u verir; oturun Java gibi güzel bir dil yazın der. Onlar da C#'ı yazarlar. Projenin yönetimi Anders Hejlsberg'de olduğundan Delphi bilenlerin de fark edebileceği gibi C#'ın fonksiyon isimleri Delphi'ninkilere benzer.

Ama C# ortam bağımsızlığı konusunda Java kadar esnek olma başarısı göstermez. Bu bakımdan genel olarak bakıldığında Java daha avantajlı gözükür. Tabii daha başka avantajları da olabilir.

Java programlama alanında çığır açan bir dildir ve yeri de oldukça sağlamdır. İsim olarak bakacak olursak Java daha asildir. Ama biz işin işlev kısmıyla ilgilenmeliyiz tabii ki.

Ben şahsen Java'yı iyi öğrenmeyi çok istiyorum. Sonrasında C#'ı da iki haftada öğrenebileceğimi düşünüyorum. Burda önemli olan hangisini öğrensem diye düşünmek değildir. İlk önce hangisini öğreneceğimize karar vermektir mesele. Bence C bilen C++'ı; C++, Java ya da C#'tan birini bilen birisi de kalan ikisini çok kolay öğrenir. Her şeyi bilen biri olmaz elbet ama Visual Basic, Delphi, C, C++, C#, HTML, PHP'yi aynı anda bilen ve bunların hepsini en fazla iki haftada çözen kişi tanıyorum. Bu alanda insanda mantık olduktan sonra hepsini birden öğrenmek sadece zaman ayırabilme meselesidir.

Ayrıca bence bir alanda iyi olmak yerine çok alanda orta derecede olmak daha iyidir. Çünkü artık kaynaklara ulaşmak çok kolay. Bir şeyi öğrenmeye uğraşmamak yerinde saymaktır.





http://www.bilisimdergi.com









Yazar
wardom


avatar
Kirklareli
admin
Kayıt: 12.11.2006
28.01.2008-01:25 #36241
Oyun programlama için genellikle C++wink





www.sonergonul.net





Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
28.01.2008-01:39 #36248
Ben öyle 2 haftada dil öğrenme hikayelerine katılmıyorum. Bir dili öğrenmek sadece "dil öğrenmek" ile sınırlı değildir, proje içerisinde o dilin özelliklerini etkin ve en güzel bir şekilde kullanabilmektir. Bir dilde uzmanlaşmanın gerçekten zaman gerektiren bir iş olduğuna inanıyorum. Bir sürü dil bilip de hiç birinde uzman olmamak bence çok önemli bir dezavantaj. Dil ne olursa olsun uzmana her zaman ekmek var ama 8-10 dil bilip de hiç birine tam yoğunlaşmamış birinin kendisine sağlam bir ekmek kapısı bulması kolay olmaz. Bir de bizim meslek sadece programlama dillerinden ibaret değil. Ömür boyu kod yazmayı düşünen yoktur herhalde :))





Let`s make this world a better place to live !

Yazar
bilgin


avatar
Istanbul
Kayıt: 16.10.2007
28.01.2008-01:49 #36252
clairvoyant yazdi
 
Ben öyle 2 haftada dil öğrenme hikayelerine katılmıyorum. Bir dili öğrenmek sadece "dil öğrenmek" ile sınırlı değildir, proje içerisinde o dilin özelliklerini etkin ve en güzel bir şekilde kullanabilmektir. Bir dilde uzmanlaşmanın gerçekten zaman gerektiren bir iş olduğuna inanıyorum. Bir sürü dil bilip de hiç birinde uzman olmamak bence çok önemli bir dezavantaj. Dil ne olursa olsun uzmana her zaman ekmek var ama 8-10 dil bilip de hiç birine tam yoğunlaşmamış birinin kendisine sağlam bir ekmek kapısı bulması kolay olmaz. Bir de bizim meslek sadece programlama dillerinden ibaret değil. Ömür boyu kod yazmayı düşünen yoktur herhalde :))


clairvoyant senin dediğin "proje içerisinde dili etkin ve en güzel bir şekilde kullanabilmek" işini de yapıyor o iki haftada öğrendiğini bildiğim adam. Bence bu süre kişye göre değişir. Yani iki haftada öğrenilemez deme. Ayrıca süre iki ay olsun ne fark eder; önemli olan öğrenmek. Bir sürü dil bilip de hiçbirinde uzman olmamak ya da birinde uzman olmak tercih meselesi ama birden fazla dil öğrenen adam gitgide diğerlerini de rahatlıkla öğreniyor kendimden biliyorum bu durumu. Ayrıca iki haftada da öğrense o kişi hepsinde uzmandı. Ben tecürbelerime dayanarak önce programlama mantığı diyorum. Sonra istediğin dili oku, öğren.





http://www.bilisimdergi.com









Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
28.01.2008-02:21 #36264
Benim kastettiğim şey programlama mantığını öğrenmek değil ki; dilin zenginliklerini keşfedebilmek, kütüphanelerinden en etkin bir şekilde faydalanabilmek; daha doğrusu o dilde kendini geliştirmek... Hiç bir proje geliştirmeden, bu ne kadar mümkün olabilir ki? 2 haftada kaç tane proje geliştirilebilir? Eğer bir kişi bütün bunları 2 haftaya sığdırabiliyorsa helal olsun demekten başka birşey düşmez bize.

Fakat bir kişiye bir dilde uzman diyebiliyorsanız (eğer adamın sertifikası yoksa) o kişinin uzmanlığını nasıl ölçebiliyorsunuz? Önceki senelerde ekrana bir baklava çizdirince ayakta alkışlandığımızı biliyorum; ya da matrisin özdeğerlerini hesaplayan kodu 5 farklı dilde yazmak, ya da adres defteri tutan bir winapi'yi 5 farklı dil ile yazmak.. vs. Ben 2.5 yılı aşkın php ile uğraşıyorum. Beni tanıyan arkadaşlarım benim php'de uzman olduğumu söylerler. Ama ben hala gün geçtikçe yeni yeni şeyler keşfediyorum. Belki bir uygulamayı (procedural veya object oriented) normal bir php coder'a göre bellek, performans, kod düzeni, taşınabilirlik vs. bakımından 10 kat daha güzel yazıyor olabilirim. Ama bu benim uzman olduğumu göstermez (bence).

Gerçi "uzman" sözcüğü tam olarak ne demek onu araştırmak lazım. Eğer "profesyonel" yani "yaptığı işten para kazanan" anlamına geliyor ise yazdıklarımın boşverin, takılın kafanıza göre.. :D





Let`s make this world a better place to live !

Yazar
bilgin


avatar
Istanbul
Kayıt: 16.10.2007
28.01.2008-02:34 #36273
clairvoyant yazdi
 
Benim kastettiğim şey programlama mantığını öğrenmek değil ki; dilin zenginliklerini keşfedebilmek, kütüphanelerinden en etkin bir şekilde faydalanabilmek; daha doğrusu o dilde kendini geliştirmek... Hiç bir proje geliştirmeden, bu ne kadar mümkün olabilir ki? 2 haftada kaç tane proje geliştirilebilir? Eğer bir kişi bütün bunları 2 haftaya sığdırabiliyorsa helal olsun demekten başka birşey düşmez bize.

Fakat bir kişiye bir dilde uzman diyebiliyorsanız (eğer adamın sertifikası yoksa) o kişinin uzmanlığını nasıl ölçebiliyorsunuz? Önceki senelerde ekrana bir baklava çizdirince ayakta alkışlandığımızı biliyorum; ya da matrisin özdeğerlerini hesaplayan kodu 5 farklı dilde yazmak, ya da adres defteri tutan bir winapi'yi 5 farklı dil ile yazmak.. vs. Ben 2.5 yılı aşkın php ile uğraşıyorum. Beni tanıyan arkadaşlarım benim php'de uzman olduğumu söylerler. Ama ben hala gün geçtikçe yeni yeni şeyler keşfediyorum. Belki bir uygulamayı (procedural veya object oriented) normal bir php coder'a göre bellek, performans, kod düzeni, taşınabilirlik vs. bakımından 10 kat daha güzel yazıyor olabilirim. Ama bu benim uzman olduğumu göstermez (bence).

Gerçi "uzman" sözcüğü tam olarak ne demek onu araştırmak lazım. Eğer "profesyonel" yani "yaptığı işten para kazanan" anlamına geliyor ise yazdıklarımın boşverin, takılın kafanıza göre.. :D


Tabii ki senin kastettiğin şey programlama mantığını öğrenmek değil; biliyorum. Ama benim demek istediğim şey onun dilleri öğrenmekteki temel şart olduğu. Proje geliştirmek de çok önemlidir haklısın ama bir dilde birkaç proje geliştirdikten sonra diğer dillerin ne olup olmadığını öğrenmen iki haftaya sığabilir. Ama bi de belirttiğin gibi iki haftaya sığdıran da helal olsun denilecek birisidir tabii ki. Süre kişye göre değişebilir.

Bence uzman kişi probleme hem en çabuk hem de en fazla cevabı verebilendir. Yani tanıdığım bir kişi, sorulan bir programlama sorusuna çok soğukkanlı ve basitçe yaklaşıp 5 farklı cevap verebiliyor ve bunu beş farklı dilde de yapabiliyor. Bir işe yoğunlaşabilmek ve aynı anda çok farklı şeyleri düşünüp tartabilmek önemli. Helal olsun denilecek insan olmak kolay değil tabii ki.





http://www.bilisimdergi.com









Yazar
omergok


avatar
kenderuntanbul
Kayıt: 21.02.2007
28.01.2008-16:39 #36313
Java'nın artıları
*Her zaman her yerde çalışır
*Hızlıdır
*Güvenlidir
*İş bulmanda büyük bir artıdır

Java'nın eksileri
*Bana göre eksiği yok ama etraftan duyduklarıma göre sıralamaya devam edeyim.
*Zor
*IDE yetersiz (koskoca eclipse için yetersiz tabiri bence komik biraz)
*Sürükle bırak yok (Netbeans var, myeclipse var)
*Netbeans güzel değil vs daha janjanlı (adamlar kod yazasın diye geliştirmiş ideyi gözüne hitap etmek isteseler heralde manken fotolarıyla falan hazırlarlardı butonları)
*Öğrenmesi uğraştırıyor (C#'tan (C#'tan kastım kendi kodlarını yazdığın gerçek C#) syntax olarak pek bir farkı yok mantık da aynı, ikisinde de aynı süre uğraşırsın)
*Kaynak yok, vs için msdn var (google>msdn)

bu şekildeki bahaneler sıralandırılabilir. aslında bunlar kolaya kaçmak için uydurulmuş bahanelerdir. sürükle bırak herkese kolay gelir ama kod yazmak zordur. ben tembelim sürükle bırak işime geliyor dersen C# seç derim, yok yine sürükle bırak kullanırım ama kendi kodumu yazma yetim de var ama sadece windows ile sınırlı kalmak istiyorum dersen C# tam senlik derim, her ortamda çalışmak istiyorum kardeşim beni sınırlandırmayın dersen de sana javayı öneririm.

Hangisini bilirsen bil şu sözü de unutma bence:

"Hangi dili biliyor olursanız olun gerçekten C++ bilen adama saygı duyacaksınız" (:







Yazar
iemre


avatar
Anadolu
Kayıt: 26.05.2007
28.01.2008-20:25 #36330
 
*İş bulmanda büyük bir artıdır


Arkadaşlar ben cevabımı aldım java öğrenecem.
chickencowcowboysillysillyalien 1alien 2angelangryapplausebiggrinbiggrin





More than one
Yazar
omergok


avatar
kenderuntanbul
Kayıt: 21.02.2007
28.01.2008-21:17 #36331
iemre yazdi
 
 
*İş bulmanda büyük bir artıdır


Arkadaşlar ben cevabımı aldım java öğrenecem.
chickencowcowboysillysillyalien 1alien 2angelangryapplausebiggrinbiggrin


doğru yolu buldun (:







Yazar
aliolci


avatar
en dipten taa derind
Kayıt: 19.01.2006
28.01.2008-21:36 #36332
omergok yazdi
 

*IDE yetersiz (koskoca eclipse için yetersiz tabiri bence komik biraz)
*Sürükle bırak yok (Netbeans var, myeclipse var)
*Netbeans güzel değil vs daha janjanlı (adamlar kod yazasın diye geliştirmiş ideyi gözüne hitap etmek isteseler heralde manken fotolarıyla falan hazırlarlardı butonları)


vs kullanmayan adam vs nin ne buyuk nimet oldugunu bilmez omerdancing ben netbeans kullandımm gecen sene oop projesi yaparken attan inip essee binöis gibin oldum vs ye laf yokdancing gunumuzde kolay ve cabuk gelistirilen uygulamalar populer olmayaa basladı eğer gerçekten yazılım gelistirici software üzerine uzman sirketlerde calısmıyorsanız ki bunlar da turkiyede pek bir az, bu nedenle tr de kolay ve cabuk daha avantajlıdır bana gore bu acıdan .net forever hardcore yazılım gelistrceksen performansa ihtiyacn olacaktır ozman c++ tır cozum kıyas kabul etmez biliorz netbeansin kac saatte acıldıını vs c++ la gelistirilmis bir idedir ms bu tarz urunlernde .net kullanmz





Cant you see the writing on the wall?
"die young gonna die young"
So! Live for today
Tomorrow never comes..

Yazar
ali


avatar
istanbul
admin
Kayıt: 04.01.2006
29.01.2008-09:25 #36374
iemre yazdi
 
 
*İş bulmanda büyük bir artıdır


Arkadaşlar ben cevabımı aldım java öğrenecem.
chickencowcowboysillysillyalien 1alien 2angelangryapplausebiggrinbiggrin


surukle birak sevmeyenlerin diyarina hosgeldin :)





free software is a matter of liberty, not price. to understand the concept, you should think of free speech, not free beer.
Yazar
kerem


avatar
Tekirdağ Çorlu
Kayıt: 01.01.2006
29.01.2008-11:12 #36380
bilgin yazdi
 

Ayrıca bence bir alanda iyi olmak yerine çok alanda orta derecede olmak daha iyidir.


Bu cümleye kesinlikle katılmıyorum. Herşeyi bilmek yerine bir konunun uzmanı olmak çok daha profesyonel bir yaklaşım...

mmt yazdi
 

Onur, "ben her şeyi biliyorum".

Yukarıda adı geçen ve dahi adı geçmeyen bütün programlara dillerinde ve makina dillerinde dik üçgenin alanını hesaplayan program yazabiliyorum ben.


herşeyi bilerek sadece dik üçgenin alanı hesaplanabilir zaten... biggrin

öncelikle söylemeliyim ki bu java/c# veya ms/linux tartışmalarının sonu olmaz....

Arkadaşlar, başımdan geçen bir iş görüşmesini paylaşmak istiyorum. ismi baya duyulmuş piyasada önemli müşterileri bulunan bir yazılım şirketine java developer olarak başvuruda bulundum. Sınava soktular. Çok da zor olmayan bu sınav da; ilk bakılanlar kod yazım şekli, değişken isimleri, anlaşılabilir bakımı kolay kod yazıp yazmadığımdı. Sınav gayet olumlu geçti. Hatta ilk görüşmeyide yaptık ve para dahil herşeyi konuştuk. 2. görüşmeye çağrıldım. Project manager görüşmenin en başında "asp.net projemiz var. yazdığın kodları beğendik. bu projede çalışmanı isteriz " dedi.
Şaşırdım kaldım. Halbuki ben java sınavına girmiştim.

Ben java developer olarak çalışmak istiyorum dedim ve ayrıldım.

Merak etmeyin, Project manager lar hepimizden daha iyi biliyorlar bu işi...
Java cıdan çok rahat .net çi olabileceğinin farkındalar, ama bu işin tersi biraz zor olur düşüncesindeyim...

Çünkü .net te 2 harekette hazırladığınız web service i, java da 20 harekette hazırlarsınız.
Çünkü net te surukle bırak ile bağlandığınız database e javada bağlanmak çok daha zahmetlidir....
......
......
.net te 2 hafta da yaptığınız projeyi java da 2 ayda yaparsınız...


Herkesi dinleyin, her yazılanı okuyun. ama sadece işinize yarayanları ve geleceğinizi yönlendirecekleri kafanıza koyun....

Ben herşeyi biliyorum diyenlerden korkun...











Yazar
akgulozkan


avatar
istanbul
Kayıt: 12.12.2006
29.01.2008-11:45 #36386
Kendi adıma söyleyim.. Ben javayı seçtim ve gerçekten şafağın dediği gibi bu alanda "uzmanlaşmak" istiyorum.. Hocalarımızdan ve tecrübeli arkadaşlardan yönlendirme alsak hiç de fena olmaz.peace.

Ayrıca değişik alanlarda orta düzey olmak yerine yine değişik alanlarda orta düzey olup tek alanda uzman olmak daha mantıklı geliyor.. Sonuçta programlama dillerinin temel yapıları ve mantık zinciri benzer. bu sebeple tek uzmanlık bunun yanında diğer dillere de yabancı olmamak en güzeli..

Bunun için önce javada kendimi geliştirip sonra C# öğrenmeyi düşünüyorum.. Sanırım mobile yazılımlar için en uygunu java..thinking (Embeded Software- Gömülü yazılımlar) Bunlar için java uygun diye duydum.. ve bu alanda kendimi geliştirmek istiyorum.. Zaten asıl bölümüm elektronik.. Bilgisi olan varsa açıklayabilir mi??thinking








Yazar
omergok


avatar
kenderuntanbul
Kayıt: 21.02.2007
29.01.2008-13:08 #36419
aliolci yazdi
 
omergok yazdi
 

*IDE yetersiz (koskoca eclipse için yetersiz tabiri bence komik biraz)
*Sürükle bırak yok (Netbeans var, myeclipse var)
*Netbeans güzel değil vs daha janjanlı (adamlar kod yazasın diye geliştirmiş ideyi gözüne hitap etmek isteseler heralde manken fotolarıyla falan hazırlarlardı butonları)


vs kullanmayan adam vs nin ne buyuk nimet oldugunu bilmez omerdancing ben netbeans kullandımm gecen sene oop projesi yaparken attan inip essee binöis gibin oldum vs ye laf yokdancing gunumuzde kolay ve cabuk gelistirilen uygulamalar populer olmayaa basladı eğer gerçekten yazılım gelistirici software üzerine uzman sirketlerde calısmıyorsanız ki bunlar da turkiyede pek bir az, bu nedenle tr de kolay ve cabuk daha avantajlıdır bana gore bu acıdan .net forever hardcore yazılım gelistrceksen performansa ihtiyacn olacaktır ozman c++ tır cozum kıyas kabul etmez biliorz netbeansin kac saatte acıldıını vs c++ la gelistirilmis bir idedir ms bu tarz urunlernde .net kullanmz


bunların ikisi de (java & c#) sonuçta c++'ın evlatları. biri (java) erkek evladı (süslenmeyle pek uğraşmayan evdeki büyük sorumlulukları alan) diğeri (c#) ise kız evladı (işi gücü süslenme olan, zengin koca arayan :P)

süsü değil işlevi önemli olci :P







1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb