19	18 Ocak 2017 ~ Musa Avcı — Genel
Konumuza dönecek olursak; mesele bir dile, bir araca ya da bir hizmete bağlı kalmak değil, asıl amacımıza hizmet edecek şekilde, günümüze ve ihtiyaçlara göre ayak uydurup kendimizi geliştirmeye devam etmek. Özetle anlatmak istediğim bu olduğu için yazıyı bu cümle ile noktalayabilirim, fakat bayağıdır yazı yazmadığım için müsadenizle bir kaç paragraf daha yazayım diyorum.
Dil; amaç değil araç
Yazılım geliştirici olarak yıllardır PHP ile projeler geliştiriyorum. Tüm bu süreçte PHP benim için amaç değil bir araçtı. Benden bir şey talep ediliyor ve bu talebi PHP ile yerine getiriyordum. Amacım istenilen şeyleri başarmak.
“Kod şiirdir” yazısında programlama dillerinin lisan dillerine benzediğinden bahsetmiştim. Bu konuda için de “İngilizce mi daha iyi? Türkçe mi?” gibi bir soru sorarak benzer bir bakış açısı kazandırmaya çalışabilirim. Türkçe konuşan birisi de hayatını yaşıyor, İngilizce, Arapça, Fransızca konuşan birisi de. Hâl böyleyken neyi tartışmamız gerekiyor?
PHP, Python, ASP.NET, Java gibi dillerin her birisiyle temel programlama işlevlerini yerine getirebiliriz. Örneğin tüm bu dillerde toplama ve çıkartma işlemi yapabiliriz. Tıpkı ilgili ülkenin dilinde selam vermeyi öğrenmek gibi, selam vermek her dilde farklı fakat hepsinde gerçekleşen şey aynı.
Amacımızın basit toplama ve çıkartma işlemleri yapmak ise hangi dili seçmemizin neredeyse hiç bir önemi yok. Önemli olan sizin bu işlemi hangi ortamda yapmak isteyeceğiniz. Peki bir dil ne zaman ayrışır? Yine bu soruya lisan dilleri kıyası ile yanıt arayabiliriz. Türkçe ve Fransızca nerede ayrışır? Eğer ticaret yapmak için hedeflediğim kitle Fransız ise bunu başarmak için Fransızca öğrenmem gerekiyor. Eğer işitme engelli insanlara ulaşmak istiyorsam tüm lisan dilleri bir kenara işaret dilini öğrenmem gerekiyor.
Ama Ruby daha iyi
İyi ama mevzu da zaten aynı şeyleri bir çok dil ile birebir yapabiliyor olmamız. Bu nedenle hangisinin daha iyi olup olmadığını tartışmamız gerekiyor diyebilirsiniz. Ben PHP ile de ASP.NET ile de ve daha saymadığım diğer popüler diller ile de yapılmış çok fazla popüler site olduğunu biliyorum. PHP ile de çok kaliteli ve milyonlarca kişiyi karşılayabilecek siteler yapabiliyorsunuz, ASP.NET ile de. Yani PHP de iyi, ASP.NET’de iyi, Ruby’de. Sizin tarzınıza ve yapacağınız şeye hangisi daha yakınsa onunla ilerleyebilirsiniz.
Bu yazıda maksadım teknik açıklamalar yapmak ya da diller arasında kıyaslama yapmaktan ziyade konuyu soyut olarak ele alıp bu ve benzeri tartışmalara karşı farklı bir yaklaşım kazandırmaktı. Bu nedenle bu tarzda diğer tartışmaları da bu çerçevede değerlendirebilirsiniz. Örneğin iOS mu Android mi? Çay mı kahve mi? Bunları tartışmak yerine çayımızı ya da kahvemizi yudumlayarak daha iyi bir gelecek için neler yapmamız gerektiğini tartışabiliriz.
Maksat üzüm yemek
Bir zamanlar CodeIgniter popülerdi, şimdi Laravel, yarın bir başkası olabilir. Tüm diller ve kütüphaneler hakkında bilgi sahibi olup, bir konuda uzmanlaşmaya çalışın. Yarın kullandığınız dil için bir alternatif bulduğunuzda o dile geçebilir ya da başka dillerden destek alabilirsiniz. Hatta neden bu alternatifleri siz oluşturmayasınız? Ya da en azından olanların gelişmesine yardımcı olabilirsiniz.
Programlamayı öğrenmeye Visual Basic ile başlamıştım. Sonrasında ASP ile bir şeyler yapmaya çalıştım, sonrasında PHP ile tanıştım. Uzun zaman önce PHP framework olarak CodeIgniter kullanıyordum. Sonra Laravel çıktı. Bugün PHP için Laravel’i tercih ediyorum, yarın benim işlerimi kolaylaştıracak başka bir dil ya da framework olursa onunla da bir şeyler geliştirmek için hazırım. Maksadımız üzüm yemek olsun. Yediklerimizin yerine de bir şeyler koyabiliyorsak ne mutlu bize.
Si vous savez quoi dire, la langue est la deuxième chose à considérer. Mais si vous ne savez pas quoi dire, aucune langue ne peut vous aider. Donc, d’abord trouver quelque chose à la peine de dire.
Если вы знаете, что сказать, язык Вторая вещь, чтобы рассмотреть. Но если вы не знаете, что сказать, ни один язык не может помочь вам. Итак, сначала найти что-то стоит говорить.
あなたが何を伝えるべきかを知っているなら、言語は考慮すべき第二のものです。 しかし、何を伝えるべきか分からなければ、言語はあなたを助けません。 だから、最初に価値のあるものを見つけてください。
If you know what to tell, language is second thing to consider. But if you don’t know what to tell, no language can help you. So, first find something to worth telling.
Eğer ne anlatacağınızı biliyorsanız, dil düşüneceğiniz ikinci şeydir. Ama ne anlatacağınızı bilmiyorsanız hiç bir dil size yardımcı olamaz. Öylese önce anlatmaya değer bir şey bulun.
Bir sonraki PHP serüveninde görüşmek üzere esen kalın.
"PHP mi ASP.NET mi?" yazısı için 19 yorum yapılmış.
18 Ocak 2017, 14:08
teşekkürler musa güzel bir bakış açısı
18 Ocak 2017, 16:59
Başarılı bir yazı eline sağlık.
Serkan özdeş dedi ki:
18 Ocak 2017, 18:46
Mükemmel bi anlatım ağzına sağlık
Güzel ve öğretici bir bakış açısı. Musa hocam senden artık Digital Ocean ve Laravel ile ilgili eğer zaman bulabilirsen tabiki eğitici yazılar bekliyoruz. Çalışmalarında başarılar.
Güncel olsa çok iyi olur tabi php üzerne açıkçası bu siteden yola çıkan kişiler pek bir şey yapamıyor
Php tarafı güçlendirilmeli, ayrıntılar yer almalı. Resmi dökümantasyonu geçse süper bir kaynak haline gelir.
İnsanlar uygulama alanında sıkıntı çekiyor. Bir şeyi yaparken resimlerle anlatan envato market gibi siteler var. İlgi çekici gelebilir.
wordpress dedi ki:
26 Ocak 2017, 09:56
Yazı için teşekkürler musa hocam. EN iyisi bir dilde uzmanlaşmak.
26 Ocak 2017, 21:02
Aynen bugün çok kullanılan dil yarın tercih edilmeyebilir, popüler bir site tarafından kullanılmaya başlanan hemen ön plana çıkıyor, örnek Mozilla’nın RUST veya Facebook’un HACK dilleri, en mantıklısı “kod yazabilme” yeteneğini kazanabilmek
Kolay Radyo dedi ki:
Tabiki php elinize sağlık musa hocam bu siteden öğrendiğim kodlar ile http://kolayradyodinle.xyz/ burayı yaptım hocam sagolun varolun nasıl olmuş tavsiyeleriniz?
31 Ocak 2017, 14:57
çok kolay olmuş eline sağlık
Cee dedi ki:
4 Mart 2017, 12:14
Uzun zaman sonra bir yazı görmek 🙂 Teşekkürler
26 Mart 2017, 23:31
Mükəmməl bir yazı, təşəkkürlər usta
22 Ağustos 2017, 08:45
dünyanın en kadim konuların birisi bu 🙂
30 Ağustos 2017, 21:36
Gayet yerinde bir analiz. önemli olan eldeki imkanlarla ne yapabildiğimiz..
24 Eylül 2017, 02:28
Oncelikle yillardir insanlara oldugunuz kaynaktan dolayi kendi adima tesekkur ederim. Bu sitenin yeri gonullerde ayri.
Fakat artik PHP guncelleniyor. Yazim kurallari bile degisiyor. Bir ekip kurup, icerikleri guncelleseniz ya da toplasak bizler olmaz mi? Guncel olmayan bi kaynak faydadan fazla zarar veriyor. Evet, zamaninda muhtesem idi, ben de faydalandim; emeginize saglik fakat gercek bu.
Firat Ozgul, Python’i anlatirken bir yil gecti, kaynaklar oluyor diye kaldirmisti. Siz kaldirmayin, bir sekilde gelistirme yollarina bakalim.
Gonullu insanlar bulabilecegimize eminim. Cok cok eminim hatta. Lutfen, kaynak olmesin. Son kisimlarda zaten koddan fazla felsefeye kacilmis. Buna sozum yok. Kod isleri dusunce ister ama lutfen bi seyler yapalim.
8 Ekim 2017, 06:48
Herşeyi kıyaslayabiliriz doğal olarak PHP ve .NET de kıyaslanabilecek konular güzel ve faydalı bir paylaşım olmuş hocam ellerinize sağlık.
Yıldırım Erdemli dedi ki:
14 Kasım 2017, 08:56
Enfes bir yazı olmuş.
21 Şubat 2018, 19:41
Hiç bu açıdan bakmamıştım. Asp.net veya Php konusunda tabii ki fikrim değişmedi ama bakış açım değişti yazılım dilleriyle ilgili. O halde Java veya Python veya Kotlin değil asıl önemli olan. Önemli olan fikrin orjinalliği ve ortaya çıkan projenin tutması ve geliştirilmeye devam edilmesi.
PHP 5.4 ile gelen yeni özellikler
phpr.org WordPress teması!
PHP serüvenleri Twitter'da!
Ertuğrul on PHP ifadeleri ve operatörleriRaginda 2 sene sonra bu yorumu görecek.
Musa Avcı on PHP ile checkbox kullanımıcheckbox input'u içerisine checked yazarak onu seçili gösterebilirsin. Örnek; https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_input_checked
çiçek sepeti on PHP ile checkbox kullanımısayfa değiştirdiğimde checkbox işaretinin kaybolmaması için ne yapabilirim?
Musa Avcı on PHP Session (Oturum yönetimi)Cookieleri ana domaine tanımlayabilirsin. Bunu yapmak için şuradaki kod örneklerine bakabilirsin; https://stackoverflow.com/a/644934/910548