Hangi programlama dili daha iyi? Hangisini öğrenmeliyim?

by Uğur Çelenk 5. Nisan 2009 01:00

Geçenlerde Önder Eren ile sohbet arasında programlama dillerinin avantajları/dezavantajlarından bahsediyorduk ve bu konuda kesinlikle bir yazı yazmamı tavsiye etti ve tavsiyesi üzerine yazıyorum.

Öncelikle ne tür uygulamalar yazmak istediğinize karar verin. masaüstü uygulaması mı?, yoksa web uygulaması mı? 
Eğer sadece masaüstü uygulamaları geliştirmek istiyorsanız benim önereceğim programlama dili JAVA olacaktır. Neden java? En önemli kriteri platform bağımsız(çoğu işletim sisteminde çalışıyor) olmasıdır. İkinci önemli kriter ise .NET'e göre daha çok kaynak bulunabilmesidir.

Hem windows, hem de web uygulaması geliştirmek istiyorsanız, benim önerim kesinlikle .NET platformunda uygulama geliştirmeniz olacaktır.
Peki neden? Bir müşteriniz için windows uygulaması geliştirdiniz diyelim, ardından müşteriniz sizden bir de web sitesi yapmanızı isterse ne olacak? 3 katmanlı mimari ile hazırladığınız windows uygulamasındaki kodların birçoğunu web uygulamasına entegre edebiliyorsunuz ve bu da size en az %50 zaman kazandırmış oluyor(zaman=para). Başka bir örnek daha verecek olursak, windows mobile işletim sistemi yüklü PDA'inize bir uygulama da yazabilirsiniz. Windows uygulaması geliştirirken C#.NET veya VB.NET kullanıyorsunuz, web uygulaması geliştireceksiniz ise Asp.NET kullanıyorsanız, ASP.NETin içinde de C# veya VB kullanarak kodluyorsunuz. Dezavantajı ise geliştirdiğiniz masaüstü uygulamasının, sadece windows işletim sistemi yüklü bilgisayarlarda çalışmasıdır. Ek olarak, C#.NET veya Vb.NET öğrendikten sonra JAVA öğrenmekte sanıldığı kadar zor değildir.) 

.NET platformu çok yavaştır, kullanmayın,kaçın" gibi ağızdan ağıza yayılan yanlış bir anlaşılma vardır. Bunu diyen arkadaşların birçoğu da maalesef hayatında .NET ile bir tane bile uygulama geliştirmemiş insanlar oluyor. Kodu eğer optimize bir şekilde yazmamışsanız, hangi platform olursa olsun zaten yavaş çalışacaktır.  

"Facebook bile php ile yapılmış, binlerce insan giriyor, site çökmüyor, demekki php iyi" gibi yanlış bir kanıya varanlar da mevcut. Facebook'un kullandığı server sayısı, kullandığı dil herkesin kullandığı türden bir yapıda değildir, kendi geliştirdikleri onlarca classları, kendilerine özel script dilleri(FBML) vardır. Yani böyle bir sonuç çıkarmak amatörlükten başka birşey değildir. Bu dediklerimden php kötü sonucu çıkmasın, php iyidir ama asp veya asp.net'te iyidir. Eğer günde 1 milyon ziyaretçi alan bir site yapmıyorsanız(Türkiye de böyle bir site yok zaten) ve kodunuzu optimize çalışacak bir şekilde yazmışsanız hangi programlama dilini kullanacağız çok bir önemi yoktur. Hayatında 1-2 site yapıpta programlama dillerinin performansını karşılaştırıp kesin yargılara varanlara hep şaşırmışımdır..

PHP=Open Source, Asp.NET != open source" gibi yanlış bir anlaşılma daha var. Bkz. www.codeplex.com 

.NET ve MsSQL ikilisini tavsiye etmem(.NET ve MySQL ile henüz tam olarak istenenler yapılamıyor). Php ve MySQL ikilisini tavsiye ederim. Php ve MySQL ile yaptığınız projelerinizi Linux server üzerinde barındırdığınızdan lisans ücretlerinden kurtulmuş oluyorsunuz.

SQL konusuna gelirsek, eğer .NET ile uygulama geliştiriyorsanız MsSQL öğrenirseniz çok kolay ve kısa sürede veritabanı kullanan ufak projeler geliştirebilirsiniz. Yapılan testlere göre performans anlamında MySQL ile aralarında pek bir fark yoktur(saliseleri saymazsak).  (Bir de Oracle var ama hiç kullanmadığımdan yorumlayamayacağım.)

Sonuç olarak, hem web,hem masaüstü uygulamaları geliştiren biri olaraktan .NET platformunu seçmenizi öneririm. Microsoft'un son yaptığı ataklarla (Asp.NET MVC, Silverlight vb.) herşey daha kolaylaşıyor. (Not: Eğer bu alanda iş bulmak istiyorsanız, .NET bilen yazılımcı arayan şirket sayısı çok fazla.)

Siz hangi programlama dilini kullanıyorsunuz/tercih ediyorsunuz? Yorumlarınızı bekliyorum.. 

Yorumlar

05.04.2009 21:01:42 #

Ali ABAKAN

Java sülalesini kullanacaksanız ya da Java ile ilgili iş yapıyorsanız, Groovy tavsiye ederim.(Yanlış anlama olmasın Java Sülalesini kullanmanızı tavsiye etmem genel olarak ama kullanacaksan Groovy kullan)

Hızlı iş yapmak istiyorum diyorsanız vazgeçilmeziniz Python olacaktır.

Web üzerine çalışmak istiyorsanız PHP ve Perl tabiki vazgeçilmezleriniz. Perl yerine C'yi düşünebilir, abartıp C++ application serverlar ile oynaşabilirsiniz ama bunu alttaki madde de değerlendiriyoruz.

Platform bağımsız çalışmak istiyorum, hem masa ustu hemde server uygulamalarıda yazayım diyorsanız C ve C++ oldukça portable diller.

E artık size kolay gelsin Smile

Ali ABAKAN | Yanıtla

06.04.2009 08:25:10 #

"Bu soru aslında hangi dili öğrenmeliyim?" sorusu ile aynı kapıya çıkıyor.
Türkiye'de yaşacaksanız Türkçe öğrenmelisiniz; ABD'ye göçecekseniz İngilizce öğrenmelisiniz.
Firmanız Almanya merkezli ya da Almanya ile iş yapıyorsa Almanca öğrenmelisiniz.

Microsoft ürünlerini kullanıyor, bu ürünler üzerinde geliştirme yapıyor ya da bu ürünlere eklenti
hazırlamayı planlıyorsanız .Net güzel bir seçenektir.

Java'yı daha çok seviyorsanız ya da Java kullanmanız daha mantıklıysa Java daha güzel bir seçenektir.

Dil seçiminde hız, kolaylık vs. ön plana çıkmıyor çoğu zaman. Ne yapmak istiyorsunuz? Nerede yapacaksınız? Ne ile yapabilirsiniz?

Web uygulaması yapmak istiyorum, Windows sunucumuz var. O zaman ASP.Net öğrenin.
Mobil uygulama yapacağım, IPhone'da çalışacak. O zaman XCode öğreneceksiniz.

Can HANHAN | Yanıtla

07.04.2009 22:53:00 #

1- Php mi Öğrenmek daha kolay yoksa .net mi?
2- Hangisi ile daha pratik kodlama yapılıyor?
3- .net ile mi iş bulmak kolay php ile mi?

Alihan | Yanıtla

08.04.2009 04:09:35 #

Alihan,
1. ikisinde de mantık benzerdir ama php ile ilgili daha çok döküman bulacağından, daha kısa sürede öğrenebilirsin.
2. .NET ile daha pratik kodlama yapılabilinir ama çokta fark yoktur.
3. Bu sorunun cevabını ufak bir araştırma yaparak bulabilirsin. www.kariyer.net  www.yenibiris.com www.secretcv.com bu 3 sitedeki ilanlara bakabilirsin. (.NET bilen kişi sayısı çok fazla olmadığı için her zaman ".NET bilen yazılımcı aranıyor" ilanı görebilirsin. )

Uğur ÇELENK | Yanıtla

10.05.2009 08:01:55 #

Adem

Kesinikle .NET C# ASPX MSSQL !!

Adem | Yanıtla

15.08.2009 22:56:07 #

Ben php web programlama diliyle birlikte mysql veritabanı sistemini kullanıyorum. Aslında .net ile uygulama geliştirmeyi isterim. Büyük şirketler daha çok .net altyapısını kullanıyor.

Burak S. Vanlı | Yanıtla

26.08.2009 19:24:50 #

huseyin

.net diger isletim sistemlerindede calisabilmektedir framework mevcuttur bu nedenle kesinlikle .net cok hizli windows uygulamasi gelistirilebilir java yavas calisan bir dildir kodlamasida bana gore yavastir hız konusunda iddali degil zaten ben javayi sadece cep telefonu icin kullanirim masaustu icin .net c# webde php mobilde .net c# database mssql yada mysql mobil icin sqlite kullanmayi tercih ediyorum

huseyin | Yanıtla

Yorum ekle




biuquote
  • Yorum
  • Canlı önizleme
Loading



Etiket Bulutu