bugün

Diğer dillere göre daha derli toplu bir dil. Yani java falan daha zor.
bilgisayar teknolojisinden anlamayan bünyeler için kolay dendiği halde anlaşılamayan programlama dili.

geçen sene programlama dersi için en basit dil denilerek gördük bunu. dersi yaklaşık 70 kişi alıyorduk, finalde 1 kişi geçti, bütte benim sınıfımdan 2 alttan alanlardan 4 olmak üzere 7 kişi dersi verdi. en kolay olarak bilinen programlama dili dersinde. bu sene kaba hesap 140 kişi göreceğiz dersi. ee dili nasıl öğreneceğim o kadar kişi arasında?

hocamız, kabulüm, bilgili bir insan. ama aktaramıyor. anlatıyor anlatıyor anlatıyor. yapın diyor. bilgisayar bize biz bilgisayara bakıyoruz. sonra sinirleniyor kendisi yapmak için oturuyor bilgisayar başına, yapamıyor.

ilgi alaka mı kalır öyle derse?

çok istekli başlamıştım ama hayal kırıklığı yaşadım. sonra video falan da izleyesim gelmedi, dersten kaldım. internete konu ile ilgili video çekip atan abiler ablalar da Allah affetsin hayatlarından nefret ediyor gibiler, anlaşılmıyor. olmuyor arkadaş. bilen arkadaşlarım "ben sana bunu öğretemem, kendin çözmelisin" diyor. e haklılar da, yani...

bilgisayar çok değişik bir makine. çok geriyor beni. zaten dünya'yı da ele geçirecekler.
"Else if" i "elif" olarak kısaltan programlama dili.
nesneye yönelik(object oriented) tarzında, "gelişmiş diller" sınıfına giren bir yazılım dilidir. seri ve esnek programlama konusunda java, c++ ve c gibi dillere göre çok daha avantajlıdır. çok geniş bir kütüphanesi olduğundan, karışık fonksiyonları yazmayı çok kolaya indirger. ancak programlama diline yeni başlayanlar için tavsiye edilmez. çünkü yeni başlayan bir kişinin bu kadar pratik bir programlama diline girişmeden evvel, c, c++ veya java gibi çok fazla "yazım" hatası yapılabilecek dillerde kendini geliştirmesi önemlidir.

her ne kadar pratikte olsa, günümüzde pek çok büyük firma(başta apple ve microsoft), işletim sistemlerini ve uygulamalarını yazarken c ve türevlerini(c++, objective-c) tercih etmektedir. hatta ios uygulamalarının çoğu objective-c ile yazılır. bunun sebebi, c dilinin hafıza yönetimi assembly ile yazıldığı için daha hızlı çalışmasıdır. yani teknik konuşmayı bir kenara bırakırsak, bir işletim sistemi ram üzerinde çok fazla yer işgal ederse program daha yavaş çalışacaktır. nasıl bir şey olduğunu merak eden varsa windows vista'yı hatırlayabilirler. yani işin özü, c ile işe girip, objective-c öğrendikten sonra, kendi ios cihazınıza basit uygulamalar yazıp eğlenebilirsiniz. en basitinden, 4 işlem yapan bir hesap makinesi yapıp bunun telefona atabilirsiniz.

c statik bir dil olduğu için, yazılan programların, amaçları dışına taşıp kafalarına göre davranma ihtimalleri daha düşüktür ama bu avantaj, her fonksiyon için ayrı ayrı kod yazmayı gerektirir(düşününce bile başıma ağrı girdi). burada da python'un "object oriented" olma avantajı devreye girer.

öğrenmeye başlamak isterseniz eğer, hangisi ile başladığınızın bir önemi yoktur. ancak iş bulma konusunda sanırsam ki c ve türevleri daha çok tercih ediliyor. ama yazılım mühendisiyseniz, her iki programı da ana diliniz gibi bilmeniz gerektiği su götürmez. bir tanesinin mantığını kavradıktan sonra diğerine geçiş zor olmayacaktır. aradaki yazım(syntax) farklarını bildikten sonra uçar gidersiniz.

elektronik mühendisleri, c dilini tabiri caizse "sike sike" öğrenmek zorundadırlar. çünkü elektronik parçaların(işlemci, ekran kartı, ses kartı, vb...) sürücü(driver) programları c dilinde yazılmaktadır. işlemci mimarisi ise, assembly ve c'nin birleşip voltran'ı oluşturdukları alandır.

ama merakınız varsa öğrenin tabii. 1 dil 1 insan, 2 dil 2 insan nihayetinde...
Özellikle Java ve C# ile dans etmiş geliştiriciler için sıcak kumlardan serin sulara geçiş hissi verir. Arkasındaki topluluk sayesinde yemediği halt yoktur ancak her dilde olduğu gibi efektif olduğu alanlar belirlidir. Web frameworkleri (Flask kalp ben), Big data analizi ve bilimsel çalışmalar (pandas/numpy kalp ben), hack araçları (GNU/Linux'un bel kemiğidir, varsayılan olarak gelir), website crawl işlemleri(scrapy kalp ben) söz konusu olduğunda fıstıklı baklavadır, bol soslu iskenderdir, elmalı nargiledir.

Öte yandan hayvannnnn gibi topluluk sayesinde aklınıza gelebilecek her işlem için module sahiptir. Daha da güzeli, syntaxının temizliği sayesinde kod okunaklılığı herhangi bir programlama dili bilen hemen herkesin koddan birşeyler anlayabilmesine imkan tanır.

Peki hiç mi dezavantajı yoktur? Tabii ki her gülün dikeni gibi kendisininde vardır. Laravel, Symphony gibi freymwörklere alışmış jenerasyona saç baş yoldurtur. Alışılmış düzenden bağımsız afacan bir çocuk gibidir, sabit kalıpları yoktur. Bu nedenle developerın yoğurt yiğişine göre şekillenir. Backward compability sahibi kısmen değildir, 2.7 ile yazılmış bir projeyi 3.x'e taşımak istediğinizde proje sonuna bir de saç ekimi randevusu almanız gerekebilir.

Programlamaya yeni başlayanlara ilk zamanlar tavsiye ederdim ancak artık etmiyorum. Çünkü fazla hoyrat bir dil, birçok şeyi kendisi arkada kontrol ettiğinden, ince ayrıntıları öğrenmenize imkan tanımaz. standart kalıplar dışına( mesela *args, **kwargs) çıkmak istediğinizde dilin sağladığı kolaylık sayesinde görmediğiniz şeyleri kullanmanız gerektiğinde daha fazla zorlayacaktır. C ile temel sahibi olmak her daim avantaj sağlar.

IDE olarak ise C# için Visual Studio ne ise Python için de Pycharm odur. Hatta belki daha fazlasıdır.
Python diğer dillere nazaran Syntax(en basit tabiri ile yazım şekli) yapısı olarak oldukça basit bir programlama dilidir. Python dili bu özelliği sayesinde oldukça kolay öğrenilen ve frameworkleri ve kütüphaneleri sayesinde oyun, web uygulamaları, veri analizi, mobil uygulama, bilimsel veri analizleri, web otomasyon sistemleri, gündelik kullanıma uygun araçlar, siber güvenlik yazılımları, yapay zeka vs gibi programları kolayca yazma ve kullanma imkanı sunar.
Şimdi dilerseniz Python dilini diğer popüler programlama dilleri ile bir karşılaştıralım…
Değişken Tanımlama:
Değişken nedir öncelikle bunu konuşalım. Değişken; hiç programlama bilgisi olmayanların anlayabileceği şekilde anlatmak gerekir ise program içerisinde kullanacağımız her bir veriyi içerisinde barındıran ve ram bellek üzerinde onları saklayan kodlardır.

Örnek:
isim = “Niczsche”
yer = “Uludağ Sözlük”
yas = “24”
gibi tanımlanabilir.
Şimdi Python ve diğer dillerdeki değişken tanımlamalarını karşılaştıralım.
Java,C,C++,C#:
int a = 24;
Python:
a = 24
Python’da değişken tanımlarken başına herhangi bir veri tipi belirteçi yazmamıza gerek kalmaz. Çünkü Python bunu anlar ve o kodu ona göre yorumlar. Devam edelim.
Ekrana Yazdırma:
Java:
public class EkranaYazdir {
public static void main(String[] args) {
System.out.println(“Hello World”);
}
}
C#:
public class Program
{
public static void Main()
{
Console.WriteLine(“Hello World”);
}
}
C++:
#include <iostream>
#include <string>
int main()
{

std::cout << “Hello World “;
}
C:
#include <stdio.h>
int main()
{
printf(“Hello World”);
return 0;
}
Python:
print(“Hello World”)

Görüldüğü üzere Python dili Syntax yapısı olarak diğer dillerden çok çok farklı. Hele bir de bu yazdırma fonksiyonu içine bir değişken atamak ister isek işte o zaman işler daha çok karışıyor. ilk öğrendiğim dil olan C ile örnek vermek gerekir ise ufak bir basılan harfi söyleyen program yazalım…

C BASILAN HARFi SÖYLEYEN PROGRAM:
#include <stdio.h>
int main()
{

char harf;
printf(“Lütfen bir tuşa basınız… \n”);
scanf(“%c”,&harf);
printf(“Bastığınız harf: %c”,harf);
return 0;
}

PYTHON BASILAN HARFi SÖYLEYEN PROGRAM:
harf = input(“Lütfen bir tuşa basınız… “)
print(“Bastığınız tuş: “+harf)

Aradaki fark bariz değil mi? Ben yazılıma ilk başladığım zamanlarda akıl aldığım bir abim “C dili ile başla çözersen her şeyi çözersin” demişti. Dediğini yaptım, C ile başladım fakat C dili o kadar çok yoran bir dildi ki nerede ise yazılımdan soğuyacaktım. Ardından C++ ve en nihayetinde Java ile noktaladım. Ve hepsinden sonra Python ile tanıştım. Kullanımı oldukça rahat, içerisinde kullanıcıyı yormayan kolaylıklar barındıran bir dildi. Diğer diller gibi parantezler kullanmak yerine blok denilen tab sistemi ile içeri girme koşullarını kullanıyordu. Ona da bir örnek verelim sözü geçmişken…

C#:
using System;

public class Program
{
public static void Main()
{
int a = 10;
if (a<20){
Console.WriteLine(“A 20 sayısından küçüktür…”);
}
}
}
DiĞER DiLLERDE DE C# iLE AYNI ŞEKiLDE TANIMLANIR.

Bir de Python’a bakalım…

PYTHON:
a = 10
if a<20:
print(“A 20 sayısından küçüktür”) #print bir tab içeride ama sözlük buna izin vermiyor siz onu o şekilde düşünün

Gördüğünüz gibi iki nokta sonrasında alta inerek bir tab boşluk bıraktık. IDE yani programları yazmamızı kolaylaştıran yazılım programları diyelim buna (bilmeyenler için daha açıklayıcı olacaktır) kendisi zaten alt tarafa atacaktır.
Netice itibari ile Python öğrenmesi kolay, çok güçlü, geniş kütüphanelere sahip bir yazılım dilidir.
bu aralar üzerinde çalışmaya başladığım dil. windows ortamında kullanımı zulüm. sanırım visual studio'ya fazla alismisim.
bakkal 2 oldu.
yarın bütüne girecek olduğum programlama dili.

hoca bütü daha zor yapıyor ve ben hâlâ çalışmadım. salağım sanırım.
neyse seneye.

edit: kaldım hahahahahah.
ekrana iki hello world yazdırılıp "oha lan bu çok kolaymış." denilen programlama dili. kendinizi kandırmayın.
öğrenimi kolay dillerdendir, hello world yazmak için satır satır kod girmemize gerek kalmaz sadece;

--spoiler--
-print "hello world!"
--spoiler--

yazarak işlemi halledebiliriz.
gelistirici takimina girmek icin yaptigim basvuru sonucunda bana koca bir kitap dolusu dokuman yolladilar. bunu oku seni test edecegiz dediler. o dokumanlari okusam akrep adinda bir dil yazarim ama gel gor ki python bir baska.
şuan elimdeki 8500 tane youtube şarkısını indirmeye çalıştırdığım yazılım dili. Tabi bu linkleride bu program ile topladım o ayrı mesele.

Pafy adlı bir modüle sahip ve bu modül ile youtubeden video indirebilirsiniz. Çok kullanışlı bir modül. içeriği çok hızlı anlaşılıyor.
adını bir yılandan değil , geliştiricinin bayıldığı monty python dan almıştır.
(bkz: gereksiz bilgiler ansiklopedisi)
Türkçe döküman arayanlar için : http://istihza.com/py3/pdf/Python3x.pdf
güncel Önemli Başlıklar