Arkadaşlar pythonda yeniyim. Pythonda bir kodu android uygulamasına çevirmek

şimdi denedim çalıştı

çalışsa bile işkence zaten. her seferinde açmak

@BandoLero Hayret şimdiye 4 kez kiyv nin reklamını yapmıştınız.

1 Beğeni

valla yazcaktım da üşendim. açken ben ben değilim kdkfk

Zaten pydroid3 ile yazıyorum. Sqlite ile veritabanı kullanıyorum. Bütün hepsi çalışıyor. Bazen bazı modüller inmiyor. Yüz tanıma programını çalıştıramadım. Benim istediğim .py uzantılı dosyamı apk gibi kullanmak. Apk ye dönüşür mü ? Yoksa tkinder py dosyası android de çalışıyor ama androidde exe ye dönüşmüyor.

Bu ifade biraz yanlış. py uzantılı dosya apk gibi bi cümle yok. kullandığın kütüphane yani tkinteri android için build edemezsin. yapan varsa ben bilmiyorum.

Sen py dosyanı androidde çalıştırmıyosun :smiley: androidde derleyici üzerinde çalıştırıyosun. yani şunun gibi. windows veya linux ta python kuruyoruz ya. eğer python kurulu olmasa py dosyasını çalıştıramazsın. aynı şekilde de android e python kurduğunu düşün yani pydroid3 ü. ikisi farklı şeyler.

exe ve apk nın ne olduğunu kısa bi araştırma yapsaydın anlardın.

laf kalabalığını bi kenara bırakıp çözüme odaklanırsak. python kullanarak android üzerinde apk çalıştırmak istiyorsan kivy kullanmak zorundasın. başka kütüphaneler varsa bilmiyorum.

Burada kivy ve sqlite3 kullanımı ile ilgili 5 sayfa kod paylaşmıştım onun üstünden gidebilirsin.
Kivy kodunu apk olarak build etmek istersende buildozer kullanacaksın. onun içinde linux gerekli. yada google colab üzerinden apk yapacaksın. herşeyi yazdım bu linkte. Karar senin ya günlerce tkinter le uğraş yada kivy e geç android uygulama geliştir.

13 yaşında çocuğu pythonla zehirleme.

Scratch - Google Play’de Uygulamalar

Gitsin sürükle bırak program oyun yazmayı öğrensin.

Python her türlü andoride dönüştürülür mesele değil. Çok reklamı yapılıyor diye düzgün bir dil diyemeyiz.

En azından önce programlama mantığı öğrensin girinti çıkıntı kod hizasıyla kafa yormasın çocukcağız.

En azından eğlenerek öğrenir.

Görsel kodlanabilir diller daha iyi.

Geleceğin dillleri.

Hakir görme.

Labview ile turboshaft motor test tezgahı bile programladık zamanında.

Yani bu tür diller profesyonel olarak da kullanılıyor hem de havacılık sektöründe bile.

Buradakiler magazinsel.

Programcı olcam, hacker olcam, python bilmek lazım mış diye ortalıkta duyan adamlar.

Zamanında endüstri mühendisliğinde para varmış diye dedikodu yapıp şimdi bankalarda iş kovalayan çocuklara dönmesinler.

Mantğı öğrensin, kolay kodlasın zaten bir dilden bir başkasına geçmesi bir kaç gününü alır.

1 Beğeni

örnek olması maksadıyla, ismi çok manidar olan bi platform.

13 yaşında kızım çizimler yapıyor. Animasyon merakıda var. Kodlama, algoritma ilgili okulda python göstermişler. Sizlerin tavsiyesinide almak isterim. Ben 1982 de text ortam badic,gebasic, busines basic, cobol ,pascal, qbasic, rpg gibi dillerde bordro, muhasebe paketleri yazdım. Sonrasında C, ike devam ettim. Şu an 62 yaşındayım ve kızımın merakı için okuldan gelen bir kod çalışmayınca bulaştım. Pythonda yazbelin tüm dökümanlarını, python course eric mathhes kitabı, ferhat mousavinin videoları hepsini bitirdim. Tabiki okumakla olan bir şey değil. Tecrübe. Ben elimdeki fırsat oldukça bir laptop ama çoğunlukla bir android üzerinden kodlara bakıyorum. Kısaca sizler kadar bu dilde tecrübem yok. Ama python çok geniş. Modüller ve kapsama geniş. Sizlerin verdiği öneriler için teşekkürler. Banglore nin kivy ile uygulamaların apk dönüşümü daha kolay olduğunu söyledi. Deneyerek yapacağım. Ayrıca bende laptopta windows10 var. Linux işketim sistemim yok. Avantaj ve dezavantajlarını bilmiyorum.
Saygılar teşekkürler.

Tabi geniş ama dilin amacına göre hizmet etmesi gerekiyor. Traktör kullanmak varken, otomobil ile tarla sürmek gibi. ikisinin de kullanım amacı farklı. yani her dilin kendine has kullanım alanları var. örneğin kotlin sadece android uygulama geliştirmek amacıyla yapıldı gibi. python kütüphaneleri ile kıyasladığımızda kotlinde olan bazı özellikler python tarafında olmaya biliyor. veya flutter, bir kod yazdınız diyelim bu kodu derlerken. hem windows için exe, hem android için apk, hem web site için html,css ve javascript e kodlarımızı derleyebiliyor. yani bir kere kod yazıp bütün platformlarda kullanabilme imkanı sağlıyor. aslında bu yazdığım araçlar sana bir öneri, kullanabilirsin.

Eğer python ile devam edicem dersen. kivy android de iş görüyor. kivy kütüphanesinin daha gelişmişi kivymd var ama apk yapması sorunlu istersen direkt olarak kivymd öğrenebilirsin.

Sanal makine üzerine debian tabanlı dağıtımları kurarak, windows üzerinde buildozer kullanarak kivy apk yapılabilir ama gerek yok google colab ile tek komutla apk yapılıyo. sen kivy e başla abi

Nacizane kişisel tavsiyem.

Basic ve türevlerini kullanmışsınız.

Basic neden kolay öğrenilebilen bir dildir?

Çünkü değişkenler kolay tanımların, satır işlenir.

Karmaşık alt yordamlar tip hataları gibi sorunlarla uğraştırmaz.

Bence doğru sıralama, basic ile temel algoritma mantığını öğrendikten sonra C gibi bir dile geçmek. Başta c ile başlayıp hem C dilini öğrenmek hemde programlama mantığını öğrenmek ile ilgili zorluklarla boğuşmaktan iyidir.

Sonuçta C dik öğrenme eğrisi olan bir dildir.

Python konusunda neden tavsiye etmedim.

Çünkü sayısız dil kullanmış biri olarak söyleyeyim bir çok davranışı kendine özgü. Bu dili öğrenip bir çok farklı dile geçişte başa dönersiniz. Çünkü ortak noktasından çok farklılıkları fazla.

C ye geçerken zorlar, çünkü, girinti çıkıntı garip şeylerle uğraşırır python. For döngüsüne nesnel bakar.

C# a geçişte zorlar yine scope/kapsam için girinti çıkıntı kullandırmaz, for döngüleri yine problem.

Java ya gecerken kolaylık sağlamaz.

Hele Object Pascal gibi bir dile geçişte hiç bir faydası olmaz.

Yok bunlara rağmen ben ısrarlıyım python kullanacağız derseniz siz bilirsiniz.

Windows yada Linux kullanmanız farketmez, android de sorun yaratmaz.

Hatta size bir ipucu,

Madem android için program yazacaksınız.

Programları denemek için windows’ta android studio kurabilirsiniz. Emülatörü size android telefon testlerinde yardımcı olur.

Bİr tane daha örnek gerekirse.

BlueStacks X gibi bir emülatör ile kodunuzu apk haline getirip deneyebilirsiniz.

Şimdi anlatılacak bir çok konu var her şeyi bir seferde yazabilir miyim bilmiyorum.

Ama python üzerinden devam edelim.

Python gui (grafik arayüz ) için bir çok seçenek sunuyor. Bu hem iyi hem kötü.

İyi çünkü alternatif çok, kötü çünkü alternatif çok.

Tkinter python için varsayılan arayüz, saf python kodu olduğu için dile ve kurallarına bağlı bir arayüz sunar.

QT linux destekli bir arayüz sunar ama doğrudan python dilinin bir parçası değildir, gelişmiş özellikler sunar ve fakat çok da dile özgü değildir.

Anroid için bir kaç alternatif de olsa çoğu kivy der.

Sonuç olarak windows, yada linux ve hatta anroid için python sorun çıkarmaz. Kodlarınızı yazarken işletim sistemine özgü kütüphane/modülleri kullanmaz ortak modüleri kullanırsanız her platformda çalıştırabilirsiniz.

Ama odak noktamız apk ise, yolunuz java ile bile kesişir yine python tavsiye etmeye dilim varmıyor.

Özetlersemi python android için native/doğal bir dil değil. Android java sever. Ama bu demek değildir ki python kullanılamaz.

Ben olsam ilk etapta yeni öğrenen birine python önermezdim.

Madem bu yolu seçtiniz, başta söylediğim gibi windows üzerine bir android emulatörü kurun windows üzerine apk larınızı onun üzerinde deneyin sonra telefon, tablet gibi cihazlarda denersiniz.

Bu konuda zorluk çekerseniz, adım adım bir emülatör kurulumu ve çalıştırma örneği de verebilirim.

Kolay gelsin.

Ortak kütüphane kullanılırsa tabiki de kaynak kodu çalıştırabiliriz ama konuyu açan kişi tkinter kullanarak bir uygulama yapmış ve bu kodu android için derleyip çalıştırmak istiyor.

Buradaki sıkıntı her platformda kaynak kodun çalışması değil. kaynak kodu işletim sistemlerine göre paketlemek. Yani bilmediğim den sorıyorum. Tkinter ile yazılmış bir kodu android için nasıl paketleniyor ? madem her platformda çalışıyor ? ki android in de çok kaba tabir ile bir linux dağıtımı olduğunun dikkatini çekerim.

Python ve derlemek aynı cümle içinde uygun olmamış ama ben anladım. Android üzerinde bir python emulatörü çalıştırırsan kodunu çalıştırmana engel olan bir durum olmaz.

APK paketi olarak konuşuyorsak, evet TKinter i paketleyemezsin. Çok karışık mı yazmışım, ortak kütüphaneler konusunu?

Bir kodu çalıştırmak için paketlemek gerekitiğini düşündüren nedir? Python doğrudan yorumlanan bir dil. Ve hangi platforma bir emülatörünü kurarsanız bir şekilde kodlarını çalıştırabilirsiniz.

Arayüz konusuna çok takılmışsanız, ayrı. Tabi ki, kullandığınız platformların kendi arayüz davranışları vardır ve tabi ki bunun için en uygunu, o işletim sisteminin doğal dilini kullanmaktır.

Bu nedenle yazının bir kaç yerine madem pyhthon da ısrarcısınız şeklinde vurgular vardı.

Sorunun bel kemiğine tekrar dönelim.

Neden yorumlanan bir dili işletim sistemine göre paketlemek isteyesiniz ki?

Hele ki kodlama öğrenmek için.

Ticarı uygulamalarınızın kodunu gizlemek istemenizi anlarım ama zaten yorumlanan bir dili öğrenirken apk ya çevirmek?

Amaç?

TKinter konusuna da çok takıldı iseniz;

Using tkinter Programs on Android: Provisional Guide (learning-python.com)

TKinter uygulamalarını, androide taşımak için izlenecek yollarla ilgil bir kılavuz.

Ama ben bir apk yapacaksam, android studio da çalışır java gibi bir dil kullanırdım.

Kotlin kullanırdım ama pythondan apk yapmaya zorlamazdım.

Yani normal şartlarda, python yorumlanan bir dildir, ne linuxta, ne windowsta ne de android de paketlemezsin.

Bazan exe yapmaya uğraşanlar bana garip geliyor.

Dil bunun için tasarlanmamış, yanlış yol tercih edip sonuç almaya çalışmak garip geliyor.

Aynı durum apk için de geçerli.

Android üzerinde bir python yorumlayıcısı kurup doğrudan çalıştırmak varken apk yapmak garip.

Hatta sizin de ilginizi çektiyse, TKinter arayüzü olan bir programı android emülatöründe çalıştıralım.

Ama apk yapmak bana soruyu soranın sadece nasıl androide yükleyeceği ile ilgili alternatifleri bilmemesinden kaynaklı.

İllede apk diyeceğini düşünmüyorum.

Yok ısrarcı ise neden olamayacağını yada ne kadarının olabileceğini de ayrıca anlatmak gerekir.

Ama sanırım windows 10 kullanıp telefona yüklemekten ibaret bir düşüncesi var ve bunun apk yada başka bir yöntem olması çok da kısıtlayıcı bir durum gibi görünmedi gözüme.

Sizce kısıtlayıcı ise o konuda da çalışabiliriz.

Pydroid 3 - IDE for Python 3 - Google Play’de Uygulamalar

Üzerinde tkinter ile kullanmak bana hiç de tuhaf gelmedi bu yüzden.

1 Beğeni

üstat ben istemiyorum valla umrumda da değil :smiley: konuyu açan kişi istemiş. ben de ona istinaden söyledim. zaten pythona yeni başladım diyor ve tkinteri apk yapıp kızının telefonunda çalıştırmak istiyor. sen de kalkıp python her platformda çalışır dersen. bunu anlamayıp belki günlerce tkinter i apk yapmaya çalışacak araştıracak. vakit kaybı olmaması için dedim.

kesinlikle haklısın tabi. her dilin kendine has kullanım alanları var derken bunu kast etmiştim.

fikrine saygı duyarım ama ne den yaptıklarını bilmediğim için farazi konuştuğumuz için kesin bişey diyemem ama belki de kodu exe yapıp birine gönderecektir ve o kişi de pythonun r sinden haberi yoktur.

çok fazla reddiye yapmış gibi oluyorum ama :smiley: bu konulardan haberi olmayan kimseler sizin yazdıklarınızı okuduğu zaman gaflet ve delalet içinde kalabilirler :smiley: apk yapmanın amacı belki de uygulamayı google playe yüklemektir bilemem neden yaptıklarını. uzun uzun cevap verdiğin için teşekkürler iyi forumlar.

Detaylı okumadım (sizin son mesajınızı) özür dilerim.

Niyet okudum.

Dayanağım şuydu.

Yani bunu soran biri, windows, linux ve android de kodlarını çalıştırmak istiyordur ama apk nın zorunlu olmadığını bilmiyor olabilir varsayımımdı.

Varsayım olabilir.

Ama buna da;

Söylemine dayandırdım. Yazımın içeriği çok da uygun değil şeklinde gelişti.

Yani apk ya çevirmek, exe ye çevirmek, linux bin dosyasına çevirmek uygun değil (bana göre)
ama ısrarcıysa, kimseye de imkasız demem.

Çünkü programcılıkta imkasız diye bir şey yoktur, her şeyin bir yolu bulunur.

İlginize teşekkürler… yardımlarınız, forum tartışması aydınlatıcı oldu.

Forumdaki tüm arkadaşlar sorunum konusunda ki güzel bilgileri için teşekkürler. Sonuçta elime kızımdan gelen kod python olduğu için ve geniş olanakları nedeniyle başkadım. Geçmiştede yazılımın yapıldığı yıllara dayalı yazılım dilleri basic,gwbasic,qbasic,business basic, cobol, pascal ve C ile 25 yılı doldurdum. Grafik arayüzleri visual basic ile kullandım. Textbox ,combobox, nesne tabanlı yazılımları da orada öğrendim. Sonrasında doğaya döndün. Ama bir kod önünüze düşünce ver bakayım diyorsunuz. Sonunda yaklaşık yazbel de 1200 sayfa, eric mathess in kitabi, 200 e yakın video eğitimi. Tabiki her mdül ve platform farklılıklar sunuyor. Python ile başlayınca girdik bir şekilde. Ben windows üzerinde python yüklü , evde olunca windows üzerinden, dışarıda, yada evin dışında isem mobil üzerinden pydroid3 ile hem kodlar ve denemeleri yapıyorum. Arkadaşımın oğlu sesli arama istemişti o ayrı bir serüvendi, bir başkası yüz tanıma istedi böyle böyle hep araştırdım. Sonuçta sizlerin hakim olduğu kadar hakim değilim. Sadece bu dünyanın derinliğinin farkındayım. İlte kızım da çizimleri nasıl hareket ettirim deyince uzay istilası kodlarına baktım. Tabiki pythonda tek çıkışı orafan buldum. Sonrasında görsel yazılımlar için genelde öneri tkinter olunca tkinter de kızımın takip programı için kullandın. Bir giriş ekranı yaptım. Kullanıcı kodu ve şifre ike girip sqlite3 veri tabanına giriş yaptık. Göbderdiğim ekran çıktılarıda sonuçları görüyor. Bilgim çok derin olmadığı için bu kodları android üzerinden çalışıyor ama mutlaka pydroid ile çalışıyor. Amacım play store uygulaması gibi çalıştırmak için ne yapabilirimi bulmaktı.
Sonuçta çok güzel bilgiler aktardınız. Bilginin kaynağında olmak güzel. Elimdeki dökümanlar sadece kodlar ve aradığım bir işlemin örnek kodlarını bulup nasıl yaparıma bakıyorum. Sizlerden gelen öneri kivy özellikle kivymd kullanırsam apk çevriminin daha kolay olduğunu öğrendim…

Çok teşekkürler :pray::pray::pray::pray:

Yeni bir dil ogrenirken Python, veya herhangi bir dil kullanmis olmanin saglayacagi avantaj for dongusunun syntax’inin ayni olmasi degil. Direkt olarak for dongusu.

Ornegin for dongusu kullanarak imperatif yolla Python’da problem cozen birisi aynisini Java’da yaparken zorlanmaz. C#'ta yaparken zorlanmaz. Cunku zaten for dongusunun ne oldugunu biliyordur ve cozmesi gereken bir problem oldugunda Python’da yuruttugu mantigin aynisini yurutur. Python’da imperatif problem cozmus birisi cogu yuksek seviyeli imperatif dilde aynisini yapabilir.

Ancak C’de yaparken zorlanabilir mesela, o da memory management kurallarini ve C’de bu isin nasil oldugunu ogrenmesi gerekir ekstra olarak. Ki ustune Python ve Java’da bulunan string-manipulation isleri icin binbir turlu ufak tool da yok C’de, her seyi bastan yazmak ya da ek bir kutuphane kullanmak gerekir.

Benim 13 yasindaki bir kiz cocugu hangi dille programlamaya baslamali sorusuna bir cevabim yok, farketmez. Yuksek seviye, populer, herkesin ogrenebilecegi bir dil olabilir. Hic farketmez. Mesele, programlama konseptlerini hangisinde daha iyi kavrayabilecek.

Tabii cocugun hevesi, ilgisi var mi o da ayri konu. Biraz biraz her hobiden gosterip hangisi ilgisini cekiyor gormek daha iyi.

1 Beğeni

Verdiğiniz bilgiler için teşekürler. Sorularıma verdiğiniz yanıt nezaketi içğnde teşekkür ederim. Aklın yolu farklı farklı ama ortak akla gelmek için bilginin kaynağına ulaşmak istedim. Benim bilgim ve tecrübem geçmişin, ama bugün teknoloji ve dillerin modüler yapısı ile çok güzel. Ve o modüllerinde öğrenilmesi gerekiyor onu anladım.
Saygılarımla…:pray:

Merhaba

Tabi ki sadece for döngüsü meselesi değil. Ama kapsam belirlemek için girinti çıkıntı yapmak gibi diğer dillerde pek rastlanmayan özellikleri de gözardı etmemek gerekir. Bunun yanı sıra, nesneye yönelik programlama odaklı bir dil olduğu için nesneler üzerinde çalışmaya başlamadan önce temel programlama tekniklerini de göz önünde tutmak gerekir.

Şimdi bir kaç dilin syntax ini alt alta koyun şunu göreceksiniz, neredeyse hepsi C formatında yazılıyor.

Yani bu daha önce saydığım birkaç dil içerisinde hemen hemen hepsi syntax olarak bir birine yakın. Vurguladığım bu.

İstisnası, pascal ve object pascal grubu olabilir.

Tabi ki C yi yeni başlayan birine önermem. Bu nedenle yazımda öğrenme eğrisi dik bir dildir diye belirttim.

Benim şöyle bir cevabım var.

Programlama öğrenirken, tip kontrollü, derlenen bir dil öğrenmek.

Nedeni neden integer, neden char, neden string veri kullandığını görebilmek.

Tabi bu tip kontrollerini yaparken tip dönüşümlerini de kolayca yapabileceği diller.

Aynı zamanda yapılsal programlama ile başlanmalı.

Böylece, işlem basamaklarını, akış şemalarını net bir şekilde kafasında canlandırabilmeli.

Ardından nesneye yönelik programlama ile devam edebilir.

Doğrudan nesneye yönelik programlama ile başlamak sınıf yapısının zihinde canlanmasında zorluklara neden olabilir.

Kaldı ki yazılan/öğrenilen bir çok kod nesne gerektirmeyecek kadar basit kodlar olacaktır. Nesneleri neden kullanması gerektiğini kavraması açısından da önce yapısal programlamanın öğrenilmesinde fayda vardır.

Bu nedenle görsel kodlayıcısı olan dilleri önerdim. Labview, strach gibi dillere bakarsanız anlarsınız diye düşünüyorum.

Sebebi de şu, öğrenilecek ilk şey bir problemin çözümünün bilgisayara nasıl aktarılacağı, bilgisayarın neyi yapıp neyi yapabildiğinin anlaşılımasıdır.

Yani yeni öğrenen birinin, syntax hataları, kütüphane/modül yükleme sorunları gibi doğrudan problemin çözümüne katkı sağlamayacak kısımlarıyla uğraşmasını istemem.

Ardından tabi ki her dil ile haşır neşir olup, bunlarla da uğraşmak isteyebilir.

Burada aslolan, hiç bu kelimeyi kullanmayı sevmem ama algoritmayı oluşturabilmektir. Yani sorunun çözümü için bir yol oluşturduktan sonrası sadece o dilde kodu yazma kısmıdır.

Yani, mp3 codec ini düşünelim. Burada hangi dilde yazıldığına gelmeden önce, Huffmen sıkıştırma algoritmasının tasarlanması anlamlıdır.

Yada, yapay zeka, görüntü işleme konularında görülen, kenar belirleme algoritmaları gibi algoritmaların tasarlanması bu işin asıl çekirdeğidir.

Sonrası zaten bir dilde bunu kodlamaktan ibarettir.

Bize, ülkeye gerekli olan bu algoritmayaları tasarlayacak insanlara yol göstermektir. Yoksa kod işçisi olursunuz. Bana pythonda, şunu yapan, c de bunu yapan bir program yaz, demek zaten varolanın tekrarıdır. Ancak öğrenme aşamasında faydalı olabilir ama bu bir nevi tüketiciliktir. Dili tasarlayan, algoritmayı tasarlayan insanlar bu işin başındayken, bunları öğrenmeye çabalayarak ömrünü dolduranlar sadece kod işçisi olabilirler, kodun patronu olamazlar.

Kişiler özelinde konuşmuyorum.

Kodlamayı sevdirmek için tabi ki önemli. Dikkat çekmek, ilgisini artırmak, vs. Bunlar pedagojik konular. Ben yetişkin eğitimine odaklıyım. Diğer taraftan yetişkin eğitimi ile çocuk eğitiminin de neredeyse tam tersi işlediğini de rahatlıkla söyleyebilirim.

Özetleyecek olursak;

Yeni başlayan biri, daha az yazım hatası gibi konularla uğraşabileceği, daha az nesnelerle uğraştığı prosedürel/ yordamsal/ yapısal programlama ile başlamalı ki, adım adım ne yapabildiğini farkedebilmeli.

Maalesef bir çok dilin temel eğitimi, konsol/terminal üzerinde başladığından evet çocukların eğitminde ilgisini çekmeyebiliyor.

Ama görsel arayüz içeren bir programı, konvansiyonel dillerle, python dahil , öğrenme aşamasında kullanırsanız, aynı zamanda arayüz programlama bilgisini de ayrıca öğretmeniz gerekiyor ki bu da asıl odağı, algoritma/problem çözüm yöntemleri yerine arayüze harcatıyor.

Burada çok gördüm.

TKinter da bir kod yazıyor. Daha iki sayıyı toplayacak bir kod. Sonra butona tıklıyor hop arayüz dondu.

Bu sefer dönüp, uzun süren hesaplamalar esnasında nasıl arayüzü serbest bırakabielceğini, windows veya linux işletim sisteminin temel dinamiklerini açıklamak, multithreat gibi konuları anlatmak zorunda bırakıyor.

Bir anda iki sayıyı toplayacak yada bir while döngüsü içinde karşılaştırma sürelerini beklerken donan ekrandan. Paralelizm çoklu işlem konuları anlamaya geçip, aşırı bilgi yüklemesine neden olunuyor.

Bu sorunu ilk ben farketmedim. Çocuk eğitimi, pedagojik eğitimde bu işi nasıl çözeriz diye, MIT kafa yormuş ve sonuç, Sctrach.

Yani temel programlama eğitiminde arayüz ile uğraşmak sizi yanlış yöne götürür. Arayüz geliştirmekle ilgili bilgileri öğrenmeye harcadığınız vakit asıl algoritma bilgisinden sizi uzun süre alıkoyar.

Şurada windows’un mesaj kuyruğunu, olaylarını , mesaj işlemeyi anlatsam sayfalarca yazı ve öğrenilmesi gereken sayısız bilgi gerektirir. Hepi topu bir butona tıklanacak ama arkasında devasa bir mekanizma dönüyor. Tabi ki bu da öğenilmeli ama ilk buradan başlanmaz.

Ben olsam yeni başlayan birine visual basic önerirdim. Arayüz oluşturmak gayet kolay. Tip kontrolü ve tip dönüşümü kolay.

Yani sürükle bırak kodlamadan bir önceki seviye olarak, VB, sürükle arayüz tasarla sayesinde makul bir nokta olabilir. Bunun yanı sırsa Visual C# da ikinci sırada olabilirdi.

Yalnız bunlar microsoft shit’i olduğundan sevmeyen de olabilir. Bu durumda Eski borland, yeni Codegear ın, Delphi’sini önerebildirdim.

Tabi dil önermek çok karmaşık bir konu. Adam, web programcısı, backendçi, frontendçi falan o konular ayrı. Ama yeni öğrenen ve programlamaya başlayan biri için önerilerim bunlar olurdu.

Yine hedefi android olan birine (temel programlamayı öğrendikten sonra olma koşuluyla) kotlin ve java önerirdim. Java her ne kadar sevmediğim dil olsa da, anroid için gayet native bir dil. Hatta yeri gelmişken, apk dosyasını winrar gibi bir zip açabilen programla açarsanız içinde xml dosyası, dex dosyası olan bir zip dosyası olduğunu anlayabilirsiniz.

Burada dex dosyasının, derlenmiş java byte dosyası olduğunu, aslında androidin bu dosyayı yürüttüğünü kolayca görebilirsiniz.

Çok uzadı. Sonuçta görsel arayüz programlama bilgisi gerektirmeyen yeni nesil, sürükle bırak mantığı ile kod yazabileceğiniz alternatiflere mutlaka bakmalısın.

Visual programming language - Wikipedia

Rethinking Visual Programming with Go · divan’s blog

Gibi örnekler verebilirim.

Yeni başlayanlar, tip kontrolü, sınıf yapılarıyla boğuşma, arayüz detayları ile boğuşmama, sadece işlem adımlarına odaklanma için rahatlıkla buralardan başlayabilir.

Ve tabi ki kod tabanlı programlama önemli ama yeni başlayan ve hevesi kırılmasın diyorsanız bunları da göz önünde tutmalısınız.

1 Beğeni