Python maceralarım 1 – Başlangıç
10 yıldır PHP geliştirmiş ve artık PHP’ye doymuş biri olarak PHP’den daha iyi olan bir dil arayışına girdim. Derlenmeyen bir dil olması gerekiyor çünkü derleme zamanı çok uzun sürüyor. Doğrudan yorumlansın beni derlemeyle filan uğraştırmasın istiyorum ve en önemlisi multithreading desteklesin. PHP default olarak multithread desteklemiyor. Pthreads kurulması filan gerekiyor ama bu çok uğraştırıcı birşey. Doğal olarak pthread kurulu gelse daha iyi olur ama yıllardır PHP geliştiricileri bu işe el atmadılar. Multithread olması şart çünkü sene olmuş 2018, adamlar Mars’ta nasıl koloni kurarızın peşindeyken kendi kendimi PHP’nin saçmasapan duvarlarıyla sınırlamak istemiyorum. Multithread olacak, hızlı geliştirme sağlayacak, derlemeyle filan vakit kaybettirmeyecek ve gerektiği zaman derlenebilecek, stringlerle ve dizilerle arası çok iyi olacak, sağlam bir geçmişe ve topluluğa sahip olacak, TDD ve Design Patterns mevzularına son derece uygun, Object Oriented bir yapı ve heryerde çalışabilir olacak. Ayrıca sağlam bir kütüphane, paket yönetimi ve yapay zeka mevzularının kolay yapıldığı bir dil olmalı. Yorumlanan ve bu saydığım özellikleri barındıran en önemli dil Python. Javascript de olabilir ama onun yapay zekayla iyi geçindiğini pek söyleyemeyeceğim. Ayrıca Javascripte geçmişten gelen bir antipatim var sebebini bilmediğim. Gerçi bugünlerde Javascript’in son derece revaçta bir dil olmasından ötürü öğrenmiş ve bazı önemli projelerde kullanmışlığım var. Hem frontend hem backend olarak birkaç proje geliştirdim Javascriptle ama dediğim gibi bu dili sadece ihtiyacım olacak kadar öğrendim. Daha ileri konularda ihtiyacım olursa onu da öğrenirim ama hobi olarak, farklı bir bakış açısı kazanmak amacıyla öğrenmek isteyeceğim bir dil değil Javascript. Perl de güzel diyorlar ama yıllardır o dille ilgili o kadar az şey duydum ki. Birçok Javacı, Csharpçı, PHPci, Pythoncu hatta Lispçiyle tanıştım ama 1 kişi hariç hiç Perlciyle tanışmadım. O kişi de uzun süreden sonra öğrendi Perl’i zaten. Neyse lafı daha fazla uzatmadan Pythonda neler yaptım, neler yapacağım, neler yapmak istiyorum sorularına kısa cevaplar verelim.
Pythonda neler yaptım?
Python’a çok daha önceden başlama teşebbüslerim olmuştu fakat biz Türkler zaman fukarası olduğumuz için kaydadeğer bir performans sergileyemedim fakat son birkaç gündür hergün 1-2 saatimi ayırıyorum. Çünkü bu dil öğrenilmeyi ve büyük projeler yapılmayı hakeden bir dil. Üniversitelerde mutlaka öğretilmesi gerektiğini düşünüyorum. Hatta ilk kez yazılım öğretilirken bu dilin kullanılması gerekiyor bence. Şimdiye kadar değişkenlerin kullanılması, matematiksel operatörlerin kullanılması ve stringlerle ilgili temel işlemleri öğrendim. Tabiki bu daha başlangıç. İlk gözlemlerim şöyle. Python kendine özgü bir konsolu var ve bu dili öğrenmeye buradan başladım. PHP gibi dosyaya yazıp kaydedip çalıştırılmak gibi bir işleme gerek yok. Dili öğrenmek amacıyla python konsol gayet iyi iş görüyor. Sadece birkaç satır içeren ve bir süre sonra silinmeye mahkum olan ufak dosyalar oluşturma zahmetiyle uğraştırmıyor. O yüzden de ufak bir artı puan aldı python benden.
Neler yapacağım?
Şuan pythonla neler yapacağımı kestiremiyorum. Birçok şey yapabilirim. Hiçbirşey yapmayacağım diyemem çünkü böyle bir dili öğrendikten sonra mevcut projelerimi bile pythonla tekrar yazma girişiminde bulunabilirim. Bu dilden çok umutluyum çünkü. Neler yapacağımı ben de merak ediyorum. Bunu zaman gösterecek.
Neler yapmak istiyorum?
PHP’yle multithread yazmak zorunda kaldığım birkaç proje var. SMPP ve SS7 üzerinden multithread kullanarak sms gönderen bir servis yazmıştık. PHP saolsun çok uğraştırmıştı bu servisi yazarken. Defalarca PHP’yi Pthreads destekli şekilde derledik, hatalar aldık, hataları çözüp tekrar derledik, pthreadsin buglarıyla uğraştık, bu bugları sağdan soldan bulduğumuz patchlerle patchleyip tekrar derledik vs vs vs. Çok sıkıntılı bir süreçti. Bu servisi Pythonla tekrar yazmak isterim doğrusu. Bir de bitcoin botum var bunu da PHP’nin pthreads’iyle yazmıştım. Pthreadsin birçok problemini çözüp bazı sınırlamaları gözönünde tutarak geliştirme yapabiliyorum ama olmaması gereken problemlerle uğraşmak çok sıkıntılı. O yüzden bu botu da pythonla tekrar yazmak isterim. Tabiki bunlar sadece benim isteklerim. Hayat bazen isteklerinize göre yaşanmıyor. Zamanla pythonu ilerlettikçe göreceğiz ne yapıp ne yapmadığımızı.
Herkese bol kodlamalı günler dilerim.
0 yorum