Zamanında forum sitelerinin birinde, bir kullanıcı, forum üzerinden şu soruları sormuştu.
  • PHP'nin sizce geleceği var mı?
  • İyi bir PHP programcısı ne kadar para kazanır?
  • Mobilleşme gittikçe artarken PHP değer kaybetmez mi?
  • Sizce hangi programlama dilinin geleceği var?

Ben de bu soruları kendime göre cevaplamıştım. Verdiğim cevabın güzel bir makale içeriği olabilecek nitelikte olduğunu düşündüm. Ufak tefek düzenlemeler yaparak yazıyı Blogkafem'de yayınlamaya karar verdim.

Öncelikle bu tarz sorulara, şu soruyla karşılık vermek gerek :
"Sen ilerde ne yapmak istiyorsun?" 
İlk başta bunu kafada belirlemek gerek. Web programlama üzerine mi kendinizi geliştireceksiniz? Yoksa oyun veya mobil uygulamalar üzerine mi? Eğer amacınız web programlama alanında kendinizi geliştirmekse, çoğunlukla piyasada şu 3 farklı dil ile web programlama yapılmaktadır :

  • JAVA + JSP
  • ASP.NET
  • PHP

Yalnız bu üçünden birini bilmek yeterli olmuyor. Bunlardan herhangi birini öğrendikten sonra mutlaka yanında Javascript (JQuery veya Ajax) öğrenmelisiniz ki yaptığınız yemeğin sosunu verebilesiniz.

Peki bu 3'ünden hangisini tercih etmeliyin diye soracak olursanız, şuanki piyasadan biraz bahsetmem gerekecek.

Günümüzde büyük şirketler genelde JAVA ve ASP'yi tercih ediyorlar. Orta ölçekli firmalar ve yazılım ajansları PHP'yi tercih ediyorlar. Bu açıdan baktığın zaman JAVA ve ASP bilmek, PHP'ye göre çok daha yüksek oradan maaşlar almak anlamına da gelebilir.

PHP ile kolay ve hızlı yazılım geliştirilir fakat; diğer dillere göre daha sonradan yayılmaya başladığı için biraz geriden geliyor. Mesela çok sonradan nesne tabanlı olarak kullanılmaya başlandı. PHP için yavaş yavaş gelişen bir dildir diyebiliriz. Geleceği kesinlikle var olan bir dil. Mesela PHP ile yazılmış bir kaç tanınmış site sayacak olursak : 

  • Gittigidiyor
  • Sporx
  • Facebook
  • Sahibinden.com
  • Wordpress

Bu liste daha da uzayabilir.
Daha önceden bahsettiklerimi de göz önünde bulundurarak bir yorum yapacak olursam, bu siteler, kişisel ve küçük çapta başlayıp da sonradan büyük patlama yapan siteler. Bundan dolayı da PHP ile başlamaları normaldir. Çünkü PHP, maliyeti düşük ve aynı zamanda hızlıca bir ürün ortaya koyabileceğin bir dil.

Oysaki büyük şirketelere ait web sitelerine (bankalar vs.) yada devlet kurumlarının internet sitelerine baktığımız zaman sitelerinin genelde ASP ve JSP ile geliştirildiğini görürsünüz. Örneğin Doğuş Holding'e ait olan N11.com sitesi JSP ile yazılmış. Diğer tüm büyük bankların ve devlet kurumlarının sitelerine bakarsanız %95 oranında JAVA veya ASP ile yazıldıklarını görürsünüz.

Sorulara kısaca cevaplar verecek olursak :

PHP'nin sizce geleceği var mı?
PHP'nin geleceği var. Özellikle son zamanlarda Laravel gibi PHP çatılarıyla beraber artık PHP'ye de nesne yönelimli bir özellik kazandırıldı. Laravel tarzı PHP çatıları sayesinde PHP'nin kullanımına olan ilginin daha da artacağı düşüncesindeyim.

İyi bir PHP programcısı ne kadar para kazanır?
Konu içerisinde bunu açıkladım ve kazanç olarak asp ve jsp'ye göre daha az kazanç sağlar gibime geliyor. Orta ölçekli firmalarda asgari ücret ile başlanır Büyük şirketlerde ise bu ücret asgarinin üzerinde olmak üzere, değişkenlik gösterebilir. Elbette ki, kişi kendini geliştirdikçe elde edeceği kazança da artacaktır.

Mobilleşme gittikçe artarken PHP değer kaybetmez mi?
Mobil ile beraber web programlama popülerliği artan iki alan. Bu durumun PHP'yi olumsuz etkileyeceğini düşünmüyorum şahsen.

Sizce hangi programlama dilinin geleceği var?
Yapacağın işe göre, takım arkadaşlarının veya bulunduğun şirketin kullanacağı programlama diline göre bu değişiklik gösterir. O yüzden herhangi bir programalama dilinin fanatiği olmamak gerek. Programlama dili ismi vermeyi çok doğru bulmasam da, kullanım olarak son zamanlarda Java'nın ciddi bir yükselişte olduğunu söyleyebilirim.

Yazdıklarıma ek olarak, kendi görüş ve düşüncelerinizi paylaşmak isterseniz, aşağıdaki yorum formu aracılığıyla bu yazıya yorum yaparak, kendi görüşlerinizi belirtebilirsiniz.
Yazının devamını oku
Teknoloji sektörü şu sıralar patlama yaşıyor. Eğer son bir kaç yıl içinde bir bilgisayar ya da akıllı telefon kullandıysanız bunu muthemelen farketmişsinizdir.

Sonuç olarak kodlama becerilerine yüksek ihtiyaç duyuluyor. Bu da bir şirkette programlama işleriyle ilgilenen kişilerin ödemelerinin, ortalama işlerden daha yüksek ödeme aldığını gösteriyor. Hatta teknoloji dünyasının ötesinde bir programlama dili en az bir yaşam öyküsü kadar etkileyici bir durum yaratır.

Proglamlama dilleri istihdam sektörüne göre değişiklik gösterirler.

Finansal ve kurumsal sistemler, karmaşık işlemleri gerçekleştiren ve son derece organize olan Java ve C# gibi dillere ihtiyaç duyar. Medya ve tasarım ile ilgilenenler web sayfalarını daha dinamik, çok yönlü, fonksiyonel ve az koda ihtiyaç duymalarından dolayı Ruby, PHP, JavaScript ve Objective-C gibi dillere gereksinim duyarlar.

Bizde size bu yazımızda öğrenmeniz gereken 10 proglama dilini anlatacağız.

1) Java







Java 1990'larda Sun Microsystems tarafından geliştirilen bir sınıf tabanlı nesne yönelimli proglamlama dilidir. En çok talep gören proglama dili olan Java, kurumsal yazılım, web-tabanlı içerik, oyunlar ve mobil uygulamaların yanı sıra Android işletim sistemi için de kullanılır. Java birden çok platform üzerinde çalışır. Örnek vermek gerekirse Mac OS X üzerine yazılmış bir program aynı zamanda Windows üzerindede çalıştırılabilir.


2) C Dili 

1970'lerin başında geliştirilen genel amaçlı, zorunlu programlama dilidir. C en eski ve en yaygın olarak kullanılan bir dildir. C dili C#, Java, JavaScript ve Pyton gibi diğer popüler dillerin yapı taşlarını oluşturmuştur. C dili çoğunlukla işletim sistemleri ve gömülü uygulamaları gerçekleştirmek için kullanılır. Çünkü diğer diller için temel oluşturur. Diğer dilleri öğrenmeden önce ilk olarak C ya da C++ öğrenilmesi tavsiye edilir.


3) C++ 







C++ ilk başlarda C dilini geliştirmek için tasarlanmış, nesne yönelimli ve orta düzey bir programlama dilidir. Firefox, Winamp ve Adobe gibi bir çok büyük yazılım C++  tarafından geliştirilmişt. C++ sistem yazılımlarını, uygulama yazılımlarını, yüksek performans veren sunucuları ve video oyunlarını geliştirmek için de kullanılır.


4) C# 







NET girişiminin bir parçası olarak Microsoft tarafından geliştirilen çoklu paradigma dilidir. "C-Sharp" olarak telafuz edilir. C ve C++ ilkelerini birleştiren C#, Microsoft ve Windows platformları için yazılım geliştirmek için kullanılan genel amaçlı bir dildir.


5) Objective-C 

Objective-C, Apple şirketine ait tüm cihazların işletim sistemlerinde kullanılan nesne yönelimli, genel amaçlı programlama dilidir. API'nın yanı sıra Apple'ın OS X ve iOS işletim sistemlerine güç veren Objective-C dili, iPhone telefonlar için uygulama oluşturmak içinde kullanılır.



6) PHP 







PHP (Hypertext Processor), dinamik web siteleri ve uygulama geliştirmek için tasarlanmış sunucu tarafından komut dosyası alan ücretsiz bir programlama dilidir. Bu doğrudan harici bir dosya olabileceği gibi HTML belgesi içinede gömülmüş olabilmesi, PHP dilini web geliştiricileri için popüler hale gelmesini sağlamıştır. PHP dili Facebok, Digg ve Wordpress başta olmak üzere 200 milyondan fazla siteye hayat verir.


7) Python

Python web siteleri ve mobil uygulamalar için tasarlanmış yüksek seviyeli bir dildir. Okunabilirliği ve kompakt sözdizimi anlaşılabilir olduğundan yeni başlayanlar için oldukça kolay bir dil olarak kabul edilir. Yani geliştiriciler bir kavramı yazarken diğer dillerde olduğundan daha az kod kullanır. NASA, Google ve Yahoo tarafından kullanılır.


8) Ruby







Web siteleri yaratmak ve mobil uygulama geliştirmek için tasarlanmış olan Ruby programlama dili,  dinamik ve nesne yönelimli olmakla birlikte, basit ve yazması kolay olan bir programlama dilidir. Python gibi Ruby de yeni başlayanlar için önerilen kullanıcı dostu bir dildir.


9) JavaScript

JavaScript bir istemcidir. Netscape tarafından geliştirilmiş C'nin söz diziminden türeyen sunucu yönelimli betik bir dildir. Birden çok web tarayıcısı üzerinde kullanılabilir. İnteraktif veya animasyonlu web işlevlerini geliştirmek için gerekli olan dildir. Ayrıca oyun geliştirme ve masaüstü uygulamalarında da kullanılmaktadır. JavaScript sözleri Google'ın Chrome uzantıları, Apple'ın Safari uzantıları, Adobe Acrobat ve Reader içine gömülüdür.


10) SQL








SQL ilişkisel veritabanı yönetim sistemleri ve verileri yönetmek için tasarlanmış özel amaçlı bir dildir. Çoğunlukla "Query"(Sorgu) fonksiyonu veritabanlarındaki bilgileri aramak için kullanılır. SQL Amerikan Ulusal Standartlar Enstitüsü(ANSI) ve Uluslararası Standardizasyon Örgütü(ISO) tarafından 1980'lerde standardize edilmiştir.

Mashable
Yazının çevirisi BLOGKAFEM.NET için, Ahmet Umut Şerefoğlu tarafından yapılmıştır. 


Yazının devamını oku
C yada C++ dillerini yeni öğreniyorsanız yada ilk defa bir programlama dili öğreniyorsanız pointer mantığını anlamakta biraz zorlanabilirsiniz. Yeni başlayanlar için kavraması biraz karmaşık olduğundan bu konuyu ele almak istedim. Bu yazıdan sonra artık pointer kavramının mantığını kolaylıkla kavrayacağınızı düşünüyorum.

Pointer dediğimiz şey bir işaretçidir ve adres tutar. Bu klasik tanımdır. Pointer olarak tanımlayacağımız ifadenin başına yıldız(*) işareti koyarak "bu ifade bir pointer ifadedir" deriz bilgisayara. Mesela;

int p;
olarak tanımladığımız bir ifadede p ifadesi integer yani sayısal değerler tutan bir ifadedir deriz. Sadece sayısal değerleri tutar. Fakat bu ifadeyi şu şekilde tanımladığımız zaman;

int *p;

bu p ifadesi için şunu demiş oluruz :  "p ifadesi bir pointer'dır. p ifadesi bir işaretçidir ve sadece adres tutar!"

Tırnak içinde belirttiğim cümleye dikkat edin. "p ifadesi" dedim. "*p" ifadesi demedim. İşte asıl karmaşıklık burada başlıyor.

*p ifadesi tanımlama ve kullanım aşamalarında farklı görevler üstlenir. Eğer ki siz herhangi bir ifadeye "bu ifade bir pointer'dır!" demek istiyorsanız tanımlama aşamasında o ifadenin başına yıldız (*) ifadesini eklersiniz.

Önce tanımlama aşamasından başlayalım anlatmaya...
Birkaç örnek vermem gerekirse,

int *a;  // "a" ifadesi bir pointer'dır ve adres tutar.
int *ptr;  // "ptr" ifadesi bir pointer'dır ve adres tutar.
int *b;  // "b" ifadesi bir pointer'dır ve adres tutar.

tanımlama aşamasında kullandığımız her yıldızlı(*) ifade bu anlamlara gelir.

Pointer olarak tanımlanmış ifadeyi kullanım aşamasında ise yıldızlı(*) ifade değer tutan bir ifade görevindedir. (Kullanım aşamasında derken, tanımlama sonrası değer atama veya ekrana yazdırma işlemleri vs.)

*a  ifadesi değerin kendisini tutar; a ifadesi ise o değerin adres bilgisini içerir.
*ptr  ifadesi değerin kendisini tutar; ptr ifadesi ise o değerin adres bilgisini içerir.
*b  ifadesi değerin kendisini tutar; b ifadesi ise o değerin adres bilgisini içerir.

Örnek : ptr ifadesinin değeri 5 ise; bu ifadenin adresi : 0x7ffd084 gibisinden, RAM bölgesindeki adresi gösterir.

Kısacası, kullanım aşamasında, pointer bir ifade var ise elimizde, bu ifadenin başında yıldız var ise değerin kendisi gösterilir, başında yıldız yok ise değerin adresini gösterir.

Yani bunun çıktısını cout ile aldığımız zaman;
*ptr ifadesi ekrana = 5 değerini gösterir.
ptr ifadesi ekrana = 0x7ffd084 değerini gösterir.

 Bakınız :


Ekran görüntüsünün açıklaması :
"p" ifadesi adres tutan bir ifade olduğu için, ona yalnızca başka bir ifadenin adresi atanabilir. Mesela üstteki ekran görüntüsüne göre p = a yapamazdık. Yani a ifadesini p ifadesine atarsak hata alırız. Çünük a, 5 e eşittir. Halbuki p ifadesi değer değil adres tutar. O yüzden de a'nın adresini p'ye atamamız gerekiyor. Herhangi bir ifadenin de adres bilgisine anpersan(&) ifadesiyle ulaşılır.

p = &a;

yaparak biz, a'nın adresini p'ye atadık. a'nın adresi derken biz aslında 5 değerinin bilgisayar hafızasındaki adresinin bulunduğu yeri p'ye atadık. p ifadesi de artık aynı adrese sahip olduğu için; *p ifadesi bize 5'i verecektir. Yani p bize 5'in adresini ve *p bize adresin sahip olduğu değeri verir.

Son olarak şu ekran görüntüsü aklınızda bazı şeylerin daha da netleşmesini sağlayacaktır diye düşünüyorum :


Pointer konusunun mantığı budur. Eğer aklınıza takılan yerler var ise, alt kısma yorum olarak yazabilirsiniz. Size elimden geldiğince yardımcı olmaya çalışırım.
Yazının devamını oku

Büyük usta ve son zamanların en büyük dehalarından, aynı zamanda da Apple'ın kurucusu Steve Jobs'un da dediği gibi :

"Bu ülkede herkesin bilgisayar programlamayı öğrenmesi gerek. Çünkü insana düşünmeyi öğretir."

Çok da doğru demiş. Günümüzde aklımızın alamayacağı ve bizi hayretler içesinden bırakan bir çok şey aslında bilgisayar programlama dilleri sayesinde yapılmaktadır. Hatta Valve'nin kurucusu Gabe, programlama bilenleri geleceğin sihirbazları olarak tanımlamaktadır ama; bu yazıdaki amacım bilgisayar programlama ile neler yapılabileceği değil, insana kişisel olarak kazandırdıklarından bahsetmek istiyorum.

Bilgisayar programlama ilerde mesleğiniz olmayacaksa bile boş zamanlarınızda uğraşılması gereken bir hobiniz olabilir. Çünkü bilgisayar programlama, stratejik ve daha geniş düşünmenizi sağlamaktadır. Adeta satranç oynar gibi. Beyninizi yorar, daha çok beyin gücü gerektiriri. Bazen sınırlarınızı aşmanız gerekir.

Günümüzde hemen hemen tüm mühendislik dallarında bilgisayar programlama öğretilmesinin sebebi de budur zaten. Bilgisayar programlamayı bilmek aslında "Bilgisayar Mühendisleri"nin işidir fakat; günümüzde makine, elektrik-elektronik, inşaat, elektronik ve haberleşme mühendislikleri ve aklıma gelmeyen daha bir çok mühendislikte herhangi bir programlama dili yarım veya tam dönem öğretilmektedir.

Programlama dilini bilmeleri iş hayatlarında hiçbir zaman işe yaramayacak olan İnşaat mühendislerinin veya makine mühendislerine veya diğer mühendisliklere öğretilmesindeki asıl amaç da bu zaten : Düşünmeyi öğretmek. Düşünmeyi öreğtmekten kastım, daha geniş, daha stratejik, daha verimli düşünmeyi öğrencilere öğretmektir.

Bunların dışında, öğrencilerin bakış açısını geliştirmek, olaylara daha farklı boyutlardan bakabilmek ve ayrıca karşılaşacağınız problemlere en kestirme ve en akıllıca yolu bulabilmeyi öğretir. Mesela programlama dili öğrenirken öğreneceğiniz algoritma sayesinde çok karmaşık problemleri daha basite indirebilme ve her açıdan olasıkları değerlendirerek en akıllıca çözüme ulaşma gibi insana gerçek hayatta bir çok katkı sağlamaktadır. Bunun için hangi programlama dilinn öğrendiğinizin pek bir önemi yoktur.

Kendi alanınızla ilgili olmasa bile eğer hoşunuza gider ve kendizi iyice geliştirdikten sonra bu işten para kazanmak isterseniz; ister kendi uygulama ve programlarınızı yapıp satabilir, İsterseniz de hem yurt içi hem de yurt dışında rahatlıkla iş imkanı bulabilirsiniz...

Teknolojinin çok hızlı bir şekilde gelişmesiyle birlikte günümüzde Amerika işe almak için, programlama bilen 1 milyon kişi arıyor. Hatta bunun için başta Microsoft'un sahibi Bill Gates, Facebook'un sahibi Mark Zuckerberg ile Facebook'ta çalışan önemli bilgisayar mühendisleri, Twitter'ın sahibi Jack Dorsey, Drobbox'un sahibi Drew Houston ve diğer ün yapmış ve işinde başarılar elde etmiş önemli kişilerin, Amerika'da programlama öğrenme yaşını düşürerek, gençlere daha erken yaşta  programlama öğrenmeye teşvik etmek için ortaklaşa bir proje başlatmışlar.

Bu projenin videosunu alt yazılı olarak alt kısma ekledim. Videoyu baştan sona kadar izlemenizi tavsiye ederim. Bilgisayar programlamanın neden öğrenilmesi gerektiğini kısmen de olsa anlatan fakat daha çok programlama öğrenmeye teşvik eden bir bir video olmuş diyebilirim. Ayrıca çalışma alanlarının ne kadar eğlenceli yerler olduğundan da bahsetmeyi ihmal etmemişler.

Yazının devamını oku

İstatistikler

BLOGKAFEM.NET

© Copyright 2008-2018
Sitedeki yazıların her hakkı BLOGKAFEM.NET sitesine aittir.
Kopyalanması halinde lütfen kaynak gösteriniz.
DMCA.com Protection Status
Anasayfa | Hakkımda | Bizden Haberler | Reklam | İletişim