Python'a yeni başlayan biri olarak aklıma takılan başlıca sorular

Herkese merhabalar.
Python öğrenme konusunda yeniyim. C# ile hem masaüstü hem de web uygulamaları geliştirmişliğim var. Öncelikle ilk algılamaya çalıştığım konu şu ki;
Python, alışkın olduğum şekilde görsel programla yerine biraz daha arka planda daha verimli çalışan motor tarzında kullanılıyor. Örneğin bir internet sitesine sunduğu API ile bağlanıp istediğim verileri çektiğimde bunları frontend tarafta kullanıcıma sunma konusunda python ile devam etmek yerine python’ı veriyi çekme ve dataya kaydetme sürecinde kullanıp frontend için web ise php vs yada masaüstü ise c# vs kullanarak devam etmek daha mı mantıklıdır. Çünkü gördüğüm bütün python eğitimlerinde iş sadece py dosyası oluşturup içine kodu yazıp terminalde çalıştırmaktan ibaret. Sonrası yok malesef.

  1. Soru; XYX.py dosyamı oluşturdum içinde birkaç kütüphane kullandığım kodumu yazdım ve terminalde çalıştırdım, kod sorunsuz işlevini yerine getiriyor diyelim. Peki bu aşamadan sonra ben bu yazılımı alıp dağıtımını yapmakistiyorum. Dağıtım konusunda kullnıcıların çok büyük bir yüzdesinin de windows kullandığını baz alırsak bu kodun bu bilgisayarlarda da işlevini yerine getirmesi için sağlıklı bir exe paketleme sistemi var mıdır yoksa genel itibariyle okuduğum yorumlardan anladığım python genelde kendi işinizi çözmeniz için hayatınızı ciddi şekilde kolaylaştıran ancak dağıtıma çokta müsait olmayan derleme halinde sorun yaşanan ve python kurmadan da windows ortamında çalıştıramayacağımız bir yazılım dili midir?

Soru 3: Python için kısa bir araştırma yapan herkes, python’ın özellikle yapay zeka kütüphanesiyle ciddi anlamda ön planda olduğunu, büyük veri ile çalışılacaksa veri modelleme kütüphanelerinin çok güçlü olduğunu ve birçok startup projenin python ile geliştirildiğini okur heryerde. Peki bu python kütüphanelerinin bir listesine, hangi kütüphanenin tam olaran ne işe yaradığına ve bu kütüphaneler kullanılarak yapılmış örnek projelere ulaşabileceğimiz bir kaynak veya kaynaklar topluluğu var mıdır?

Sorularım kesinlikle birşeyleri anlamak ve yeni başlayacağım startup projemde doğru çıkış noktasını seçebilmek için sorduğum sorulardır. Kesinlikle python’ı yargılamak ölçmek biçmek kıyaslamak gibi bir amacım yada niyetim yok. Bu nedenle yapıcı bir dille yardımcı olabilecek arkadaşlar cevap yazarlarsa müteşekkir olurum.

1 Beğeni

Evet python terminalden daha rahat çalışıyor, Ama gui programlama için de kullanılabiliyor. Mesela benim geçmişte yazılım yapmışlığım var python ile. Gerçekten çok iyi çalışıyor zaten piyasada python ile yapılan bir sürü uygulama var. Ama terminalde ve arkaplanda çok daha iyi çalışıyor bence. Ayrıca python web çatısı kullanan bir sürü site de var mesela google bazı sitelerde bunu kullanıyor.

Tabi ki de python en iyi hayatı kolaylaştıran programlar yapmada işe yarar ama aynı zamanda high level bir dil olduğu için bir uygulama bir çok işletim sisteminde çalışabilir. Yukarıda da dediğim gibi piyasada gerek web çatısı olarak gerek gui olarak python çok kullanılıyor. Mesela basit oyun botları yapmak için, macrolar için gerçekten iyi. Yani yapay zeka konusunda çok iyi

ben göremedim bulamadım ama belki vardır

Eğer masaüstü programlar için kullanacaksan bence kullan. Çünkü gerçekten bunu kullanrak yapan çok fazla uygulama var. Bence kullan hem gerçekten kolay neyse görüşmek üzere.

Merhaba.

PHP backend’de kullanılan bir dil, frontend’de değil. Python’u da web sitelerinizin backend’inde kullanabilirsiniz. Aynı şekilde Python ile masaüstü uygulamaları da yazabilirsiniz. Ancak benim ne PHP ne de C# ile ciddi bir deneyimim olmadığı için hangisi daha mantıklıdır bilemiyorum.

Bu sizin takip ettiğiniz eğitimlerden kaynaklı bir durum olsa gerek, Python kullanarak masaüstü uygulama geliştirme veya backend yazmak ile alakalı bir sürü kaynak mevcut.

Python kodlarını exe formatında paketlemek için çeşitli yöntemler var. Ayrıca kodu basit bir derleme işleminden sonra pyc olarak dağıtıp kullanıcıların Python kurmasını da isteyebilirsiniz. Python kurulumunu uygulama ile birlikte dağıtmak da münkün.

Evet, benim bu gibi bilgilere ulaşmak için kullandığım bir kaynak var: Google.

Ama pek güvenli değil ahmet birkan diye biri bir kod paylaşmıştı ertesi gün sanırım technopatta o kodu bir şekilde kodu almışlar paylaşmışlardı. sonra moderatörler sildi.

Hem c# hem python üzerinde belli bir süre çalıştım sanırım biraz daha rahat yorum yapabilirim.

  1. Python bazı framework’ler ile arka planda çok iyi işler yapabiliyor. Örneğin django çok iyi bir çatıdır ve çokça kullanılır. Ben de django’da birkaç proje geliştirdim ve birçok kolaylık sunduğunu söyleyebilirim. Ancak sorunuzda biraz hata var, php bir backend dilidir. Frontend tarafında javascript kullanabilirsiniz. Bazı insanlar neden arka planda ve ön planda farklı dil kullanayım ki diye düşünebiliyor. Haklılık payı da var biraz. Böyle düşünürseniz iki tarafta da javascript kullanabilirsiniz.

  2. Python’da masaüstü yazılım geliştirmenizi kesinlikle tavsiye etmem. Evet kolaylık sağlayan bazı özellikleri var bu konuda. Örneğin pygui veya tkinter gibi kütüphaneler ile arayüz geliştirebilir, pyinstaller gibi kütüphanelerle .exe olarak build alabilirsiniz. Fakat bu c#'a göre çok daha acılı bir süreç ve aldığınız .exe build’in boyutu gereksiz fazla olup, performansı da kötü oluyor. Microsoft bunun için .net’i sunmuşken python kullanmak biraz gereksiz açıkçası.

  3. Bu konu epey derin ve uzunca çalışma gerektiriyor. Tensorflow, keras gibi birçok kütüphane var ve bazıları birçok dilde kullanılabiliyor. Bunun dışında yardımcı olarak numpy, pandas, opencv, tensorflow, keras, scipy, scikit-learn gibi birçok kütüphane var python için. Bu kütüphanelere göz atabilirsiniz daha detaylı bilgi almak için.

2 Beğeni

İlk defa arayüz oluşturuluyorsa hangi dilde olursa olsun, acı çekilir.
Aylar önce PySide2 ile oluşturmuş olduğum örnek arayüzü, ihtiyacım oldukça kopyala/yapıştır yöntemi ile kullanıp, yalnızca bir kaç saat içerisinde ortaya yepyeni bir arayüz çıkarabiliyorum.

Yeterince iyi optimize edilmiş bir Python kodu, C# ile yazılmış bir koddan çok daha hızlı çalışabilir. Buna ek olarak, Python için oluşturulan çoğu kütüphane C/C++ ile kodlandığı için, C#'a göre çok daha hızlı çalışabiliyor. Son paragrafta bahsini ettiğiniz numpy, pandas gibi kütüphaneler de bunun için mükemmel birer örnek.

Dilin seviyesi arttıkça doğal olarak kapladığı alan da artıyor.

2 Beğeni

Detaylıca vermiş olduğunuz cevaplar için herbirinize ayrı ayrı teşekkür ediyorum arkadaşlar. İlk mesajımda da belirttiğim gibi amacım öğrenmek kıyaslamak değil.
PHP konusunda frontend terimi yanlış olmuş evet orada kastettiğim şuydu;
API’dan python ile çektiğim datayı frontend’e yine python ile taşımak yerine bir veritabanına yazdırıp web ortamında bunu kendi kullanıcıma sunmak için php ile datayı okuyan elbetteki frontend tarafında HTML,CSS ve javascript ile oluşturulmuş bir web sitesi üzerinden servis etmek daha kısa vadede yapılabilir geldi bana diye bu şekilde yazdım. Nedeni ise Django yu henüz incememiş olmam olabilir elbette. Ancak python ile yapılmış bir web sitesine host sorunu yaşar mıyım acaba? Hem ücretlerinin daha yüksek olduğu hemde bulunabilirlik bakımından sınırlı firmanın desteklediği gibi sorunlar okudum bu nedenle soruyorum.

Ekrem Bey, kaynak Google demişsiniz haklısınız. Burayı da Google’dan bularak geldim zaten. Hatta bulduğunuz eğitimlerden kaynaklı olsa gerek dediğiniz eğitimleri de Google da aramıştım ve onları da orada buldum. Demek ki ya ben aramayı bilmiyorum ya da Google da doğru bilgiye ulaşmak için birçok yanlış bilgiyi deneyimlemek gerekiyor. Tam da bu nedenle yanlış bilgiden arındırılmış doğru adres bilen bir arkadaş varsa bana yardımcı olabilir mi diye sormuştum sorumu :slightly_smiling_face:

3 Beğeni

Zaten masaüsstü programlarda performans aranmaz pek.

Ben PyQt5 ’ i 1 günde sökmüştüm. Çok zor değil.

Ama python için hem daha çok kaynak var hem daha kolay hemde demin de arkadaşın dediği gibi bir çok kütüphane cpp/c ile yazılıyor.

bu görsel işleme ile ilgili diye biliyorum.

2 Beğeni

Benim gordugum butun programlama dili egitimleri bundan ibaret. Sonrasindan kasit nedir? (Baska ne gormeyi bekliyorsun?)

Gorsel programlamadan kasit GUI’li masaustu programlari ise C#'tan cok daha fazla kullanildigini soyleyebilirim. (Tabi Windows kullanmiyorum.) “Arka planda” (servis seviyesinde) motor/servisler arasi yapiskan olarak kullanildigi dogru fakat verimden kasit islem gucuyse tasarim itibariyle son derece verimsiz.

Web arayuzu icin Django (Python)'dan baskasini dusunmeyen insanlar var.
Sahsen kutuphanesiz Rust ile debelenmeyi PHP kullanmaya tercih edebilirim.

Masaustu icin C# en kotu tercih olabilir. C#'ta GUI kutuphanesi ne var ki?

Bunu exe paketleme derdi olan birileri cevaplasin.

Ama python ile yazilmis programlarin exe’lerinin olup olmadigina (veya daha dogrusu; nasil dagitildiklarina) bakarak kendin de inceleyebilirsin.

Sorudaki “tam olarak” ifadesi butun kalibrasyonumu bozuyor. Kutuphanenin kendi adina yaptigi aciklama tam olarak neye yetmiyor?

Cunku yettigi takdirde soru "AI projeleri ve kullandiklari kutuphaneler listesi"ne donusuyor. Cogu projenin PyPI kutuphaneleri kullandigi ve kullandigi PyPI kutuphanelerinin requirements.txt’te yazdigini goz onunde bulundurursak, soruyu daha da basitlestirip "python AI projeleri"ne cevirmek mumkun.

Startup projende (veya baska herhangi bir yerde) diller arasinda secim yapacaksan dilleri yargilamak, olcmek, bicmek ve kiyaslamak zorundasin. “Duygusal amacli degil, isim icin” diyebilirsin.

Fakat hazir bir fikri hayata gecirecek dili secme sorulari gibi gelmedi bana bunlar. Daha cok “hangi dilin genel kullanimina yakin fikir bulup hayata gecirsem” sorulari gibi geldi. Ikisinde de bir sakinca yok; sadece ikinci durumda biraz daha Microsoft’un bagrindan uzak ekosistemlerde deneyim tavsiye edecegim.

2 Beğeni