Çözüldü Programlama nedir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

bigpoppa

Hectopat
Katılım
22 Ocak 2020
Mesajlar
353
Çözümler
1
Ben bu yazılım programlama ile ilgili uğraşmaya başladım fakat hiçbir şey biliyorum. Programlama dilleri nelerdir, nasıl öğrenilir? Nerelerden araştırılır? Önerebileceğiniz kitaplar Online kurslar var mı?
 
Son düzenleyen: Moderatör:
Çözüm
Diller genel olarak 2 ye ayrılır. Betik diller ve programlama dilleri olarak.

Betik dilleri için bilgisayarın bir derleyici(her bilgisayarın anlayabileceği bir formata çevirme aracı) ihtiyacı yoktur. Terminale ,bir text dosyasına veya işletim sisteminin komut girilebilen bir yerine kodu yazarsın ve çalışır. Programlama dillerinde ise "idle" dedikleri bir derleyiciye ihtiyaç duyulur. Yani o dili bilgisayarın anlayabilmesi için bilgisayara o dili yüklemek, öğretmek gibi düşünebilirsin. Code.org, github ve birçok yerden kaynak bulabilirsin. Ama bu işlerde kaynağın öğreneceğin dile göre değişir ve türkçe kaynak bulmak zordur. Bulsan da genelde "balık tutmayı" öğretmezler.
Programlamada işin kilit noktası dil değildir. Veya dili öğrenmek de değildir. Programlama dili düşüncelerinizi bilgisayara aktarma aracıdır sadece. Doğru düşünmek işin kilit noktasıdır. Bundan sonra aktarma aracı (programlama dili) ve aktarma yöntemi (matematiksel, dil özellikleri kullanılarak, hibrit). Bu yöntemlerden matematiksel işlem yapmayı seçerseniz baya uğraşırsınız. Bu yöntem gömülü sistemlerde vs.kullanılır çünkü kaynak kısıtlıdır. İşlemler mümkün olduğunca hızlı ve az kaynak harcayarak yapılmalıdır. Bu yüzden de C, assembly gibi çok düşük seviye diller kullanılır. Dediğim gibi uğraştırır sizi.

Eğer dilin size sunduğu özellikleri kullanırsanız işiniz kolaylaşır. Python buna bir örnektir. Öğrenmesi ve kullanması gayet kolaydır ancak çok uyuzdur. Gömülü sistemlerde kullanılması ham hali ile mümkün değildir bile (Micropython gibi şeyler var ama yaygın değil). Mesela C dilinde dahili karekök alma veya ekrana bir şey yazdırma komutu bile yoktur. Ekstra bir kütüphane dahil etmeniz gerekir.

Hibrit özelliğe gelirsek o da önce anlattığım bu iki özelliğin karışımıdır.

Sizin yapmanız gereken şey ne alanda ilerlemek istediğinize karar vermek. Önceliğiniz bu olmalı. Ben gömülü sistemciyim. Mesela ben bunu söyleyebilecek hale gelmek için masaüstü programcılığı ve web programcılığı denedim bana uygun olmadığına karar verdim. Sonrasında size bir şeyler öğretebilecek projeler yapmaya başlayın. Bunlar size küçük ve kısa vadeli amaçlar kazandırır. İlk aşamalar yavaş olabilir sabredin. Sabır programcılıkta çok çok önemlidir. Başarılar ;)
 
Ne gibi farklar var betik dillerle programlama dilleri arasinda?
En büyük fark betik dillerinde bir aracıya, yorumlayıcıya(idle) gerek duymazsın ve kodun dinamik bir şekilde her an bilgisayar tarafından okunarak çalışır. Hatalar, çıktılar, analizler o anki kodlamaya bağlı olarak işlem süreci dahilinde yapılandırılır.

Programlama dillerinde, tüm kod yorumlayıcı(idle) tarafından bir seferde okunur. Hatalar, analizler tek seferde alınır ve ileridek işlemlere dair kullanılacak değişkenlerde karşılaşılan bir duruma müdehale etmek için işlemi durdurman, değişikleri yorumlayıcıya tekrar vermen ve işlemi baştan başlatman gerekir.

Bu farklılığa bağlı olarak arada yorumlayıcı gibi bir katman kullanıldığı için betik dilleri programlama dillerine göre daha hızlıdır.Her ne kadar günümüz donanımlarıyla bu hız farkı küçük işlemler ve kısa kodlarda fark edilemese de büyük çaplı işlerde kritik öneme sahiptir.

Buna karşılık programlama dilleri yorumlayıcılar sayesinde çok kısa kodlarla çok daha fazla işlem gerçekleştirebilir. Bu yüzden kullanımı daha basittir.
 
En büyük fark betik dillerinde bir aracıya, yorumlayıcıya(idle) gerek duymazsın ve kodun dinamik bir şekilde her an bilgisayar tarafından okunarak çalışır. Hatalar, çıktılar, analizler o anki kodlamaya bağlı olarak işlem süreci dahilinde yapılandırılır.

Programlama dillerinde, tüm kod yorumlayıcı(idle) tarafından bir seferde okunur. Hatalar, analizler tek seferde alınır ve ileridek işlemlere dair kullanılacak değişkenlerde karşılaşılan bir duruma müdehale etmek için işlemi durdurman, değişikleri yorumlayıcıya tekrar vermen ve işlemi baştan başlatman gerekir.

Bu farklılığa bağlı olarak arada yorumlayıcı gibi bir katman kullanıldığı için betik dilleri programlama dillerine göre daha hızlıdır.Her ne kadar günümüz donanımlarıyla bu hız farkı küçük işlemler ve kısa kodlarda fark edilemese de büyük çaplı işlerde kritik öneme sahiptir.

Buna karşılık programlama dilleri yorumlayıcılar sayesinde çok kısa kodlarla çok daha fazla işlem gerçekleştirebilir. Bu yüzden kullanımı daha basittir.

Cok tesekkurler.

Peki betik dillerde yorumlayiciya(idle) gerek duymuyorsak ve programlama dillerinden daha hizliysa neden programlama dilleri kullaniliyor? Betik diller cok daha iyi gibi gorunuyor.
 
Cok tesekkurler.

Peki betik dillerde yorumlayiciya(idle) gerek duymuyorsak ve programlama dillerinden daha hizliysa neden programlama dilleri kullaniliyor? Betik diller cok daha iyi gibi gorunuyor.
Programlama dillerinde yazacağın 20-30 karakterlik bir kod, betik dillerinde 2000 karaktere denk gelebiliyor.

Betik dillerini kendi ana dilin türkçe gibi düşün ( latin alfabesi kökenli) çok hızlı bir şekilde birbirimizi anlıyoruz bu dilde ve dili bliyoruz, programlama dili ise çince. Tek bir sembol ile latin alfabesinde bir cümleye denk gelen bir anlam yaratabilirsin ama bunu anlamlandırmak biraz zaman alır ve herşeyden önce çince öğrenmemiz de lazım.

Bir tercih sebebi daha, nesne temelli kodlamaya programlama dilleri daha yatkındır.Bu farkın ne kadar büyük ve kritik olduğu, programlama da belirli bir noktaya ulaşılınca çok daha net kavranıyor.
 

Geri
Yukarı