Python öğrendim, 2. dil olarak hangi yazılım dilini öğrenmeliyim?

PS1K0

Uzman üye
6 Ağu 2015
1,143
14
root@kali
Merhabalar arkadaşlar,
Şuan Python dilini temel düzeyde iyi bir şekilde öğrendim fakat Python dili sürekli kestirmeden gitmek ve daha az kod ile bir çok iş yapma mantığında olan bir dil olduğu için hem bazen yaptırmak istediğimiz şeyi tam olarak anlatamıyorken bazen de kod düzensizliği ve de programda hatalar çıkabiliyor, aynı zamanda masaüstü uygulaması geliştirme kısmında oldukça zayıf genelde web siteleri, yapay zeka veya makine öğrenmesi alanlarda daha güçlü olduğunu fark ettim ve bir çok modül kullanmadan doğru düzgün bir program yazılamıyor ve her modülünde ayrı ayrı özellikleri ve çeşit çeşit komutları var.
Ben ise Mobil olsun PC olsun uygulamalar geliştirmek istiyorum bunlar için aklımda C++ veya C# dilleri var hangisini nedeniyle birlikte veya başka öneriniz varsa yorum atarsanız çok sevinirim...
 

Helmsys

Yazılım Ekibi Kıdemli
16 Mar 2022
1,492
1,650
sürekli kestirmeden gitmek ve daha az kod ile bir çok iş yapma mantığında olan bir dil olduğu için hem bazen yaptırmak istediğimiz şeyi tam olarak anlatamıyorken bazen de kod düzensizliği ve de programda hatalar çıkabiliyor,
Aslında böyle bir mantık yok. Bu dile yönelik çok fazla kütüphane olduğundan az satır kodla çok iş yapılıyormuş gibi gözüküyor. Program düzeni her dil için geçerli. Ayrıyeten pythonda girintiler önemli başka bir yanı yok.

aynı zamanda masaüstü uygulaması geliştirme kısmında oldukça zayıf
Bu alana yeterince önem verirsen önce tkinter kütüphanesi ile giriş yapar PyQt5 gibi bir koca kütüphaneye kendini attığında birçok şeyi yapabilirsin.

genelde web siteleri, yapay zeka veya makine öğrenmesi alanlarda
Tamamen kişinin ilgilendiği alan ile doğru orantılı.
kullanmadan doğru düzgün bir program yazılamıyor
Sence o modüller hangi dille yazılıyor. (arkasında c olanlardan bahsetmiyorum)

her modülünde ayrı ayrı özellikleri ve çeşit çeşit komutları var.
Başta dediğim gibi Python kullanıcılarının yaptığı modüllerden dolayı. O modülleri kullanmak zorunda değilsin. Fakat işine yarıyor ve zaman kazandırıyorsa (kod yazma, vs...) neden kullanmayasın ?
Ben ise Mobil olsun PC olsun uygulamalar geliştirmek istiyorum
Mobil tarafında çok iyi olmasa da mobile de hitap etmesi için Google'a Python Kivy yazarak bakabilirsin.
Pc içinse PyQt5.

Mobil istiyorsan Dart dilinde Flutter frameworkü kullanarak yapabilirsin.
c++ ta da yine Qt5 kullanarak Pc için uygulama oluşturabilirsin.
 

PS1K0

Uzman üye
6 Ağu 2015
1,143
14
root@kali
Aslında böyle bir mantık yok. Bu dile yönelik çok fazla kütüphane olduğundan az satır kodla çok iş yapılıyormuş gibi gözüküyor. Program düzeni her dil için geçerli. Ayrıyeten pythonda girintiler önemli başka bir yanı yok.


Bu alana yeterince önem verirsen önce tkinter kütüphanesi ile giriş yapar PyQt5 gibi bir koca kütüphaneye kendini attığında birçok şeyi yapabilirsin.


Tamamen kişinin ilgilendiği alan ile doğru orantılı.

Sence o modüller hangi dille yazılıyor. (arkasında c olanlardan bahsetmiyorum)


Başta dediğim gibi Python kullanıcılarının yaptığı modüllerden dolayı. O modülleri kullanmak zorunda değilsin. Fakat işine yarıyor ve zaman kazandırıyorsa (kod yazma, vs...) neden kullanmayasın ?

Mobil tarafında çok iyi olmasa da mobile de hitap etmesi için Google'a Python Kivy yazarak bakabilirsin.
Pc içinse PyQt5.

Mobil istiyorsan Dart dilinde Flutter frameworkü kullanarak yapabilirsin.
c++ ta da yine Qt5 kullanarak Pc için uygulama oluşturabilirsin.
Uzun ve detaylı yorumun için zaman ayırdığın için çok teşekkür ederim hocam fakat zaten yazdığınız bir çok kütüphaneyi biliyordum ve bazılarını da kullanmıştım ama yinede istediğimi tam alamadım tabi ki istediğimi alacak düzeyde olmayabilirim ama sanki istediğimi python ile alamayacakmışım gibi his ettim yada diğer dillere göre daha zor alacakmış gibi vb.
Ben programa kısa kısa yazmak istemiyor daha uzun daha ayrıntılı ve açıklayıcı yazmak istiyorum bu şekil de mantığı daha iyi anlayacağım düşüncesindeyim. bunun için önerinizi bekliyorum.
 

Helmsys

Yazılım Ekibi Kıdemli
16 Mar 2022
1,492
1,650
python ile alamayacakmışım gibi his ettim yada diğer dillere göre daha zor alacakmış gibi vb.
zamanla oturacak bir düşünce gibi geliyor bana. Programlama mantığını kavradığın vakit bir dilden diğer bir dile geçmendeki tek zorluk o dilin syntax yapısını öğrenmek oluyor. elbette dilde gömülü sınıfları fonksiyon-methodları kullanabilmek için syntaxtan ziyade dil ile vakit geçirmek gerekiyor.

kısa kısa yazmak istemiyor daha uzun daha ayrıntılı ve açıklayıcı yazmak istiyorum
Bu dediğini pythonda zaten yapabiliyorsun. Ama genelde python kullanıcıları(bence) ne kadar kısa satır ama bir o kadarda işlevli kod yazabilirim onun orgazmını kovalıyorlar diyebilirim. 5-10 satırla yazabiliğini 1 satır ile yapabilen insan hakkınd düşüncelerin değişiyor. "Vay canına diyorsun"...
Uzun uzun kod yazabilirsin. Kullandığın kütüphanelerin sınıflarının nasıl yazıldığını incelersen hiçde kısa olmadığını görebilirsin. Zaten amaç kısa veya uzun kodlar yazmak değil. Amaç, yazılan kodun dinamikliği, kullanılabilirliği, kurulan algoritması ve okunabilirliği.



mantığı daha iyi anlayacağım düşüncesindeyim
Asıl mesele mantığı hangi yönde anlayacağın . Dilin syntax yapısı mı ? Dilde gömülü ifadelerin(fonksiyon/method/koleksiyonlar) kullanılması mı ? Yoksa algoritma kurulup yazılması mı ? Önemli bir mantık, temelde birçok şeyin True False oluşu. Her şey temelde doğru/yanlış olarak adlandırılıyor. Bunu anlatmaya gerek yok elbette. Fakat bundan daha da önemlisi bir algoritma kurabilmek. Matematik alanında ilerliyorsan bu alanda algoritma kurarak işlevsel bir yazılım ya da kütüphane yazmak, Matematik alanı dışında da aynı şey geçerli...

Naçizane önerim; Bir dil tam anlamıyla öğrenilemez. İlgilenilen alan doğrultusunda dile hakimiyet olur. Birinin yaptığı bir algoritmayı anlayamamanız sizin o alanda ilgilenmediğiniz/merak etmediğiniz/değinmediğiniz alandır bundan dolayı anlamazsınız.

Bir dili öğrendim diyip diğer bir dile geçmek yerine o dil ile ilgili birşeyler yapıp
 

Napcaz

Katılımcı Üye
28 Nis 2019
767
764
Cudi
Python u temel seviye ingilizce olarak görebilirsin. Zaten temel kutuphanelerinin dışına çıkmak istememişsij iyide yapmışsın Python la uygulama kodlamaya gerek yok her dilin içinde barındırdıkları kütüphanelerin kolaylıkları dan yararlan. C# direk Microsoft'un ürettiği bir dil olduğu için form elementleriyle içli dışlı olmanı sağlar. Ama aynı form elementini c/c++ ilerde yazabilirsin. Birinde form tuşuna basman yeticek diğerinde ise bir sayfa dolusu kod yazicaksin ki bir boş pencere üretebilesin. İstediğin şey ne ona karar ver. Gömülü sistemleri vesaire biraz daha bilgisiyarin çalışma prensiplerine dair şeyler öğrenmek istiyorsan c/c++ şart nedeni ise bilgisiyarin gerçekte olduğu şeye en yakın dillerden biri olması ve tarihine baktığın zaman hem ilk dillerden biri hemde ondan sonra yapılan Python olsun PHP olsun çoğu dilin kaynağı gene c/c++, bu yüzden bu dili ogrenirsen Python daki kafana yatmayan çoğu olayı daha iyi anlarsın çünkü Python c kadar detaylı bir kod yazımı ilk hetapta sana sunmaz amacı budur çünkü, yani işini kolaylastirmak. Ben zamanında Python a, PHP ye ve c/c++ ye de degdirmis biri olarak söylüyorum şuan ki amacım C# öğrenmek çünkü çoğu masaüstü uygulamasi bu dil ile kodlaniyor ve bu dili bilmeye ihtiyacim olduğunu düşünüyorum. Tabiki bu saatten sonra sıfırdan c# dersi falan izlemicem. Basitce dilin kullanımını öğrendikten sonra kendi uygulamalarimi kolaylıkla yazabilirim çünkü kodlama ne demek biliyorum. Java ya ise hiç bulasmadim, kendi içerisinde bir pastadir oda öyle bir dildir ki, bir tarafı web e bir tarafı masaüstüne bir tarafıda mobil e dokunur yapısı gereği çok globaldir. Ama c ve türevleri dillere bu şekilde batmisken dönüp Java öğrenmek istiyecegimi pek sanmıyorum. Çünkü ihtiyacım yok. Pythondan sonra yapicagin tercih c/c++ veya Java olmalı eğer c yolunu seçersen ilgine ve merakına bağlı olarak c yi biraz daha karıştırabilir yada temel mantığı anladıktan sonra ben yerinde duramam hemen uygulama geliştirmem lazım diyip c# a gecebilirsin. Tercihin javadan yana olursa üzgünüm çünkü o kısıma dair bir bilgim yok. Kendi zihnimden geçen düşünceleri senle paylaşmak istedim belki ne hissettiğini anlarsan ne yapman gerektiğini daha iyi anlarsın diye düşündüm umarım konuşmam seni bogmamistir, kolay gelsin. Selametle kal.
 
Son düzenleme:

PS1K0

Uzman üye
6 Ağu 2015
1,143
14
root@kali
Python u temel seviye ingilizce olarak görebilirsin. Zaten temel kutuphanelerinin dışına çıkmak istememişsij iyide yapmışsın Python la uygulama kodlamaya gerek yok her dilin içinde barındırdıkları kütüphanelerin kolaylıkları dan yararlan. C# direk Microsoft'un ürettiği bir dil olduğu için form elementleriyle içli dışlı olmanı sağlar. Ama aynı form elementini c/c++ ilerde yazabilirsin. Birinde form tuşuna basman yeticek diğerinde ise bir sayfa dolusu kod yazicaksin ki bir boş pencere üretebilesin. İstediğin şey ne ona karar ver. Gömülü sistemleri vesaire biraz daha bilgisiyarin çalışma prensiplerine dair şeyler öğrenmek istiyorsan c/c++ şart nedeni ise bilgisiyarin gerçekte olduğu şeye en yakın dillerden biri olması ve tarihine baktığın zaman hem ilk dillerden biri hemde ondan sonra yapılan Python olsun PHP olsun çoğu dilin kaynağı gene c/c++, bu yüzden bu dili ogrenirsen Python daki kafana yatmayan çoğu olayı daha iyi anlarsın çünkü Python c kadar detaylı bir kod yazımı ilk hetapta sana sunmaz amacı budur çünkü, yani işini kolaylastirmak. Ben zamanında Python a, PHP ye ve c/c++ ye de degdirmis biri olarak söylüyorum şuan ki amacım C# öğrenmek çünkü çoğu masaüstü uygulamasi bu dil ile kodlaniyor ve bu dili bilmeye ihtiyacim olduğunu düşünüyorum. Tabiki bu saatten sonra sıfırdan c# dersi falan izlemicem. Basitce dilin kullanımını öğrendikten sonra kendi uygulamalarimi kolaylıkla yazabilirim çünkü kodlama ne demek biliyorum. Java ya ise hiç bulasmadim, kendi içerisinde bir pastadir oda öyle bir dildir ki, bir tarafı web e bir tarafı masaüstüne bir tarafıda mobil e dokunur yapısı gereği çok globaldir. Ama c ve türevleri dillere bu şekilde batmisken dönüp Java öğrenmek istiyecegimi pek sanmıyorum. Çünkü ihtiyacım yok. Pythondan sonra yapicagin tercih c/c++ veya Java olmalı eğer c yolunu seçersen ilgine ve merakına bağlı olarak c yi biraz daha karıştırabilir yada temel mantığı anladıktan sonra ben yerinde duramam hemen uygulama geliştirmem lazım diyip c# a gecebilirsin. Tercihin javadan yana olursa üzgünüm çünkü o kısıma dair bir bilgim yok. Kendi zihnimden geçen düşünceleri senle paylaşmak istedim belki ne hissettiğini anlarsan ne yapman gerektiğini daha iyi anlarsın diye düşündüm umarım konuşmam seni bogmamistir, kolay gelsin. Selametle kal.
%100 olarak c++ a odaklan ardından c#

yapabilirsen en kötü assemblye de bak bu diller hayatını kurtarır

Konuyu yaklaşık 3 ay önce açmıştım siz yeni yorum atınca bildirim geldi bende olanları anlatmak istedim :)
Pythondan sonra yazılım mantığını öğrenmek amacı ile 10 günlük c/c++ eğitimi aldım çok yararı dokundu daha sonrasında 2.5 aydır c# a geçtim günde yaklaşık 8-12 saat çalıştım. ve şuan c# ta temelin üzerinde bilgiye sahibim kendimi baya bir geliştirdim kodları olabildiğince kısaltıp classlar ve fonksiyonlara bölmeme rağmen 2000-3000 satıra varan stabil programlar yazabiliyorum. Devam eden bazı yazılımlarım bittikten sonra ise C++ a tamamen geçmeyi düşünüyorum çünkü C++ ta bir çok dilin yapamayacağı şeylerin yapılabildiğini biliyorum ve tabiki C++ kodlarını decompile edemiyorsunuz ama c# için 3. parti bi protector kullanmak gerekiyor. C++ dan daha sonra assembly de olabilir.
Çıkardığım dersler bunlar oldu: Kendisini yazılım konusunda sürekli gelitşirmek isteyen biri python ile yazılıma başlayabilir fakat kessinlikle python temellerini öğrendikten sonra C/C++ dillerine bi göz atmalı aksi halde yazılım mantığını anlaması çok zor olacaktır. C# yine C/C++ kadar olmasada pythondan çok daha yazılım mantığını öğretiyor. fakat python inanılmaz kolay diğer dillere göre.
Değerli yorumlarınız için çok teşekkür ederim :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.