Feb 032013
 

Birçok yerde programlamaya başlamak isteyenlerin (genellikle lise öğrencileri), hangi programlama dili ile başlamanın daha iyi olacağını sorduklarını görüyorum. Tabi her kafadan bir ses çıkıyor (buraya yazdıklarım da benim kafamdan çıkan sesler) ve soruyu soran da ayrı bir pişman oluyor. Soruyu soranların bir kısmı, sadece merak ettikleri için programlama öğrenmek isterken, bir kısmı da ileride kariyer olarak programcılığı seçmek istiyor. Bazıları da oradan buradan “abi, programcılıkta çok para var, süper bir proğram/site yapsan deli gibi para kazanırsın. Programcılara hem şirketler de manyak gibi para veriyor.”, “olm var ya, Java diye bir şey varmış, öğrenince şirketler havada kapıyormuş” vs. gibi şeyler duyup merak ediyor, “acaba ben de öğrenebilir miyim?” diye heves ediyor. Uzun sayılabilecek bir süredir programcılık yapan birisi olarak o manyak gibi para veren şirketlerle bir türlü karşılaşmış değilim, ama neyse 🙂

Büyük hevesle “ben programlama öğrenmek istiyorum, ne yapmam lazım?” veya “çeşitli programlama dilleri var, hangisini öğrenmeliyim?” diye sorun bir çocuğa, “hoop, biz senelerimizi bu işe verdik, sen bacak kadar boyunla nasıl hemen öyle programlama öğreneceksin? Önce git bakalım üniversiteye, oku adam gibi X’i, Y’yi, zartı zurtu, ondan sonra program yazarsın” diye cevap verip, çocuğun tüm hevesini kıran ruh hastalarını saymazsak, (bana göre) aklı başında cevap veren kişi sayısı çok az oluyor. Çünkü, verilen cevaplar genellikle ya “Java’ da çok para varmış” gibi sadece paraya dayalı ya da herşeyi abartarak “bu işi sonuna kadar öğreneceksen C öğren” tarzı saçmalıklar oluyor. Farklı programlama dillerinin fanatiklerinin de birbirlerine laf atıp, iyice kafa karıştırması da cabası.

Yeni başlayan birisine tavsiyede bulunmadan önce, programlamayı ne olarak gördüğümüze bakmak lazım. Hayatımın son 12 yılında hep yazılım geliştirme ile ilgili işlerde çalıştım. Ya bir yazılım geliştirdim, ya servis için programlama yaptım ya da bir yazılım ekibini yönettim. Her ne kadar programlama bana bir “ekmek kapısı” olsa da, aslında benim için hep eğlence kaynağı olmuştur. Bu, daha bir bilgisayarım dahi yokken bir BASIC kitabı alıp, okuduğum ve öğrendiğim komutlarla kağıt üzerinde kendimce program yazmaya çalıştığım zamandan beri böyle. Bir şey üretmek, bir soruna çözüm bulmak, ürettiğim veya üretilmesinde pay sahibi olduğum şeyin çalıştığını ve kullanıldığını görmek, her zaman daha iyi, daha hızlı yöntemler geliştirebilmek benim için hep eğlence ve haz kaynağı oldu.

Teknik lisede okuduğum için, müfredatta bize gösterilen ilk programlama dili BASIC (GW-BASIC) idi. Her ne kadar öğretmenlerimiz konuları bize ciddiyetle anlatıyor olsalar da, boş kaldığımız ve pratik yaptığımız zamanlarda hemen bize öğretilen konuların dışına çıkar, kendimizce farklı kullanıcı arayüzleri geliştirmeye, hatta basit bir pencereleme sistemi yapmaya, dosya yöneticileri yapmaya falan çalışırdık. Arkadaşım Hakan ile bu konularda çekişmeli bir yarış içerisindeydik. Ben yeni bir şey yaptığımda böbürlenerek gösterirdikten birkaç gün sonra Hakan benim yaptığım şeyi ilerletip, yeni eklerle daha iyisini yaparak çıkagelirdi ya da tam tersine o başka bir şeyler yapar, sonra ben onu daha ileriye götürmeye çalışırdım. Amacımız bir yandan yeni şeyler yapabilmek, yaparken öğrenmekti ama sonuçta bu iş yine bizim için bir çeşit eğlenceydi.

Bence programlamaya yeni başlayacak birisi de işi eğlence olarak görebilmeli ve yaptığı şeylerden zevk alabilmeli. Bunun için de öğrenmeye/kullanmaya çalıştığı programlama dili, sıkıcı, katı kuralları olmayan, basit şeyleri yapmak için hafıza yönetimi gibi konulara girmek zorunda bırakmayan veya onlarca pakete ihtiyaç duymayan bir dil olmalı. Çünkü yeni başlayan birisinin nereye kadar ilerleyeceğini kestirmek oldukça zor. Eğer işe profesyonel olarak devam etmeye karar verirse, başlarda elde ettiği deneyimi, mühendislik veya bilgisayar bilimleri gibi bir disipline devam ederek taşıyabilir. Yok, sadece eğlence olarak kalacaksa, belki basit programlar yazacak birisini, pointerlar vs. ile sıkmanın alemi ne?

Peki hangi programlama dili?

Yeni başlayan birine C’ yi tavsiye etmek bana sanki ilk defa bisiklete binecek bir çocuğa destek tekerlekleri vs olmadan 18 vitesli bir bisiklet verip, al istediğin gibi kafanı gözünü yarabilirsin demeye benziyor. Çünkü, herşeyden önce kişi bir derleyici (compiler) konusuyla karşı karşıya. Bilgisayarlar konusunda çok fazla teknik bir bilgiye sahip olmayan birisinin derleme konusunu anlaması en başta zor. Kişinin amacı bir program yazıp çalıştırmak, ekranda kendi yaptığı şeyleri görmek vs. İşi biraz ilerletmeye çalıştığında, karakter dizileriyle işlem yapması için gerekli basit fonksiyonların standart kütüphanede olmayışı, onun yerine oturup kendisinin yazması gerekliliği, en başta çok moral bozucu olabilir.

Denebilir ki, şu anda Internet var, Google’ da basit bir aramayla her şey bulunabilir. Doğru, bulunabilir ama bu bilgilerin yeni başlayan birisi için ne kadar sıkıcı ve kafa karıştırıcı olabileceğini göz önünde bulundurmak gerek. Eğer birebir ilgilenip, her sorduğu soruya cevap vermeyecek veya doğru cevapları bulması için yön göstermeyecekseniz, C’ yi tavsiye etmek bana göre yanlış olur.

Peki Java veya C#? Her ne kadar C’ ye göre üst seviye olsalar da, nesneye dayalı programlamayı zorlamak, yine basit işler için de bir çok paket kullanmak zorunda kalmak yine yeni başlayan birisini sıkıcı ve birçok teknik terim içeren kitap/makale okumak zorunda bırakmak demek.

Eğer söz konusu kişi bir bilgisayar programcılığı, bilgisayar mühendisliği veya bilgisayar bilimleri öğrencisi olsaydı, belki C, Java veya C# öğrenilmesi gereken ilk dil olabilirdi. Zaten diğer derslerde ihtiyaç duyacağı birçok bilgiyi alan kişiden bu dilleri öğrenirken karşılaşacağı zorlukların üstesinden gelmesi beklenebilir. Ancak bir hevesle birşeyler öğrenmeye çalışan, amacı eğlenceli birkaç program ve belki de basit oyunlar yazmak olan bir kişiyi, ileride programlamaya profesyonel olarak devam edecek olsa da en başlarda teknik konulara boğmanın işin tüm eğlencesini kaçıracağını düşünüyorum.

Bence yeni başlayan birisinin ilk öğrenebileceği ve çeşitli denemeler yapabileceği dil, kolay anlaşılabilir, herhangi bir programlama tekniğini zorlamayan, yazılan bir programı çalıştırmak için onlarca şey indirmeye ihtiyaç duymayan, gerektiğinde küçük bir betik, gerektiğinde web uygulaması, gerektiğinde masa üstü uygulaması geliştirmeyi sağlayan pratik bir dil olmalı. Bu yüzden hiçbir teknik bilgiye sahip olmayan birine tavsiye edilebilecek programlama dili bence Python.

Internet’te her dil ile ilgili olduğu gibi Python ile ilgili birçok kaynak mevcut. Ayrıca Python’ un interaktif konsolu ve IDLE bir deneme yanılma tahtası olarak kullanılabiliyor.

Evet, biliyorum, Python ile GUI’ ye sahip bir program yazmak istendiğinde “hangi toolkit’ i kullanmalı?” sorusu ortaya çıkıyor ama yine de oraya kadar kişi birçok programlama terimine aşinalık kazanacak ve birşeyler üretebiliyor olacaktır.

Konuyu ünlü bilgisayar bilimcisi Donald E. Knuth‘ un şu sözleriyle bitireyim:

Only ugly languages become popular. Python is the one exception.

Yani;

Sadece çirkin diller popüler olur. Python ise tek istisnadır.

Son olarak, programlamaya yeni başlayanlar için hazırladığım ve elimden geldiğince devam etmeye çalıştığım Python ile Programlama video dizisinden bahsetmek istiyorum. Her ne kadar kişisel nedenlerle uzunca bir süre ara vermek zorunda kalsam da, yine başlayıp hızla devam etmeye çalışıyorum. Bu diziyi hazırlamaktaki amacım, basit ve temel programlama bilgisi verebilmek ve Python ile bir başlangıç yapmayı sağlamak. Ne kadar ilerletip ne kadar gelişmiş konulara kadar gidebilirim şu anda bilmiyorum. Ama yeni başlayanlara yardımcı olacağını ümit ediyorum.

Bahsettiğim Python ile Programlmala videolarına buradan ulaşabilirsiniz: https://www.youtube.com/watch?v=Mu0QWEVsRos&list=PLDVmAgsnEpHf8WoGZsYNGO0vPJeb9Aju0&index=1

  76 Responses to “Hangi Programlama Dili ile Başlamalı?”

  1. […] bilgisini vermeye calisir. Burada yazdiklarima paralel olarak gecen gun de soyle seyler yazmistim: http://yasar.senturk.name.tr/gunluk/…ile-baslamali/ Cevapla   […]

  2. Yeni başlayacaklara güzel yönlendirme olmuş.Bilhassa ilk paragraf çok hoşuma gitti 🙂
    Yazıyı okuyunca, yıllar önce bu işe başladığım günler aklıma geldi. 🙂
    Bu işin X’ini Y’sini öğrenmek için sanırım,serper’in elinden geçmek gerekiyor.Sonra gerisi geliyor zaten 🙂
    serper’in selamı var.
    Bir 100. yıllı olarak selam vereyim dedim…

    • Bir 100. Yil’ li olarak selamlar 🙂

      Yorumunuz icin tesekkurler. Umarim yeni baslayanlar icin faydali olur.

      Ozkan Hoca’ ya da buradan ayrica selamlar. Ancak, hatirladigim kadariyla kendisi bizim programlama dilleriyle ilgili herhangi bir dersimize girmemisti. GW-BASIC ve QuickBASIC derslerini Mehmet Hoca’ dan, Turbo Pascal’ i ise Fehmi Hoca’ dan almistik. Ben 12. sinifa devam etmedigim icin Turbo C dersini almadim. Ozkan Hoca’ dan yanlis hatirlamiyorsam Elektroteknik ve benzeri daha cok elektronige yonelik dersler almistik.

      Diger taraftan hem Ozkan Hoca’ nin, hem de diger hocalarimizin yonlendirmelerinin ve bizi farkli denemeler yapmakta tesvik edip, serbest birakmalarinin buyuk etkisi oldugunu soyleyebilirim. Eger oyle olmayip, sadece mufredata bagli devam etseydik, merak ettigimiz konularda bizi yonlendirmeyip, deneme yanilmalarimizda serbest birakmasalardi, insanin ogreniminde en buyuk etken olan “merak” duygusunu yitirip, bugunku bilgi ve deneyim seviyesine ulasamazdim.

      • Merhabalar Hocam ben lise de veri tabanı bölümü okudum yazılımlarla uğraşmak bana zevkli geliyordu ve bu işi yapmaya karar verdim.bu sene yazılım mühendisliği bölümünü kazandım sizden istediğim hangi programlarla başlasam ileride daha çok yararı olur.

        • Gelecekte ne tür bir kariyer hedeflediğinize bağlı olarak bu değişir. Şu programlama dilini öğrenin, her şeyi yaparsınız diyemem. Türkiye’de C#’ ın çok popüler olduğunu biliyorum. Türkiye’de iş imkanı açısından önemli olabilir, ancak şu anda bulunduğum ABD’de durum daha farklı.

      • Merhabalar,

        Verdiğiniz bilgilerden dolayı çok teşekkürler.Yanlız sunu sormak istedim peki bilgisayar
        mühendisi aday adayı hangi dilden başlamalı ?

        • Merhaba,

          Öncelikle bilgisayar mühendisi olmadığımı belirtmek isterim. Bu yüzden bir bilgisayar mühendisi aday adayının (sanırım bu bilgisayar mühendisliği kazanmış bir öğrenci oluyor) öğrenmesi gereken ilk dil yerine kapsamı genişletip yazılım geliştirme ile profesyonel olarak uğraşacak kişiler için konuşayım. Kaldı ki, bilgisayar mühendisliği sadece yazılımı içermez. Bilgisayar mühendisi != yazılım mühendisi.

          Profesyonel olarak yazılım geliştirme ile uğraşacak birinin dilden bağımsız olarak program akışı hazırlayabilmesi gerekir. Programlama dili, hedeflenen platform, programın türü, programın büyüklüğü, programı geliştirecek ekiptekilerin deneyimi, vs gibi bir sürü değişkene bağlıdır. Önemli olan programcının programlama dilinden bağımsız olarak düşünebilmesidir.

          Herhangi bir teknik alanda ilerlemenin bence 2 yöntemi var:
          1- Zor ve detaylı araçları kullanarak başlayıp basit şeyleri dahi yaparken zorlanmak, ama zorlanırken daha fazla öğrenmek.

          2- Basit konular ve araçlardan başlayıp öğrendikçe daha fazla sorular sorarak bu sorulara yanıtlar bulmak, daha fazla deneme yapmak, daha fazla detaya girerek ilerlemek.

          Öğrenci olduğum yıllarda 1. yöntemin en büyük savunucularındandım. Çünkü basit araçları kullandığımda çabucak sıkılırdım. Daha fazla öğrenebilmek için deyim yerindeyse bir çukura düşüp, o çukurun içinden çıkmanın yollarını aramanın daha öğretici olacağını düşünürdüm. Kaldı ki Linux’u en iyi öğrenmeye başladığım zaman, Red Hat (şimdinin Fedora’sı) ya da Mandrake (bir zamanlar şimdiki Ubuntu gibi kolay bir dağıtımdı) gibi dağıtımları kullanmayı bırakıp Slackware Linux kullanmaya başladığım zamandı. Çünkü hemen her şeyi kullanıcının ayarlaması gerekiyordu. Fakat bu yöntemin bir yan etkisi de yanlış çözümler peşinde koşarken zaman kaybetmek. Tabi bazı kişileri de kolayca yıldırabilir.

          2. yöntem ise daha geleneksel bir yöntem. Aslında benim programcılığa girişim de böyle oldu. İlk öğrendiğim programlama dili BASIC idi. İlk programlarımı GW-BASIC ve IBM BASIC ile yazdım. Daha sonra QuickBASIC ve Turbo Pascal diye devam etti. Ancak bu tercihten ziyade meslek lisesi yıllarımda müfredatın gerekliliğiydi. Benim için bu yöntemin dezavantajı ise her yeni ve daha kapsamlı araçlar sunan bir dile geçerken, bir önceki daha basit sayılabilecek dildeki alışılagelmiş kolaylıkları aramak, bir anlamda önceki kolay dilden dolayı tembelleşmek. Bu yöntemin avantajı ise daha kolay öğrenilen dille çabucak bir program yazabilir olmak ve birşeyler üretibiliyor olmanın keyfine daha çabuk ulaşmak.

          1. yöntemi izlemek isterseniz tavsiyem C ile başlamanız. Her ne kadar C için birçok modern geliştirme aracı varsa da Java, C# gibi dillere nazaran düşük seviye (sisteme daha yakın) bir dil olduğu için sizi daha teknik düşünmeye zorlayacak ve hata yapmaya daha açık olduğu için size zor yoldan kaliteli kod yazmanın önemini ve optimizasyonu öğretecektir. Ancak bir şeyler üretmeye başlamanız görece daha uzun zaman alacaktır.

          2. yöntemi izlemek isterseniz tavsiyem Python ile başlamanız. Dilin söz dizimi oldukça kolay anlaşılır olduğu için kolaylıkla ilerlersiniz.

          Karar sizin.

  3. hocam ucretsiz guzel bitane egitim seti varmi?

    • yaşar bey iyi günler
      ben yazılım konusunda uzman olmak istiyorum fakat nereden başlayacağım konusundan kararsızdım. yazınızı okudum ve içimdeki o kararsızlığı yenmeme yardımcı oldunuz. insanların umutlarını yeşerten böyle düşüncülere gerçekten toplum olarak ihtiyacımız var.
      ben programlamada sıfırım. şuan small basic programla diline çalışyorum. ardından python programlama diline geçeceğim. python ile ilgili bana hangi kitabı öneriyorsunuz. yardımlarınız için şimdiden teşekür ediyorum
      iyi günler

  4. Hoam pyhton için önerebileceğiniz ücretsiz veya pahalı olmayan bir eğitim seti var mı acaba pythonun ardından kişi kendini yeterli görüyorsa hangi dillere geçiş yapmalıdır?

    • pythonu sildim javaya atladım mutluyum:)

      Ne tür bir saçmalık ya bu python?Adam sadece tırnak işareti koyarak komut veriyor bense parante açıp tırnak koymadan komutu veremeiyorum.Sildim gitti .

      • Uzgunum ama Java ile Python’u karsilastirmak bir rally araci ile F1 aracini karsilastirmak gibi bir sey. Python’da yasadiginiz parantez ve tirnak sorununun kaynagi, siz Python 3.x kullanirken, izlediginiz videonun Python 2.x serisi icin hazirlanmis olmasi.

  5. Merhaba. Yazınızı zevkle okudum. Ben bir elektrik teknisyeniyim. Windows 3.1 sürümünden bu yana bilgisayar kullanıyorum. (bu arada 26 yaşındayım) Programlamanın ne olduğuna dair liseye kadar hiç bir bilgim yoktu. Meslek lisesi elektrik bölümüne kayıt yaptırdıktan sonra elime bilgisayar bölümü öğrencilerinin kullandığı Visual Basic kitabı geçti. Biraz karıştırdıktan sonra bilgisayar hocasına bu dili öğrenmek istediğimi söyledim. Verdiği cevap şu oldu; ” sen bunları boş ver, git kendi derslerine çalış”. O günden sonra yazılımla pek ilgilenmedim. 2009 yılı başlarında bir formda hangi dil ile başlamam gerekir diye bir soru sordum. Mesleğimin elektrik teknisyeni olduğunu öğrenen arkadaşlar sağ olsunlar “bence herkes kendi mesleğini yapmalı” diye cevap verdiler. Ne zaman Windows 8 işletim sistemi çıktı Açık Akademi sitesi açıldı bunun bir fırsat olduğunu düşünerek siteye kaydoldum ve eğitimleri izlemeye başladım. C# hakkında geniş bir eğitim içeriği vardı. Şimdi sitelerime kendi yazdığım yazılım ile masaüstünden içerik gönderiyorum. Kendi yazdığım adres defteri uygulamasını kullanıyorum, kendi yazdığım ftp uygulamasını kullanıyorum. Elbette kendi yazdığım yazılımlardan daha gelişmiş yazılımlar var fakat kendi yazdığım uygulamaları kullanarak hem programlama merakım artıyor, hem de eksiklerimi görüp tamamlama fırsatım oluyor. Programlamaya yeni başlayacak olan arkadaşlara önerim kimsenin hayallerini kırmasına izin vermesinler.

  6. yazını okuduktan sonra bu iş ile ilgili bir çok deneyiminin olduğunu düşünüyorum bende yeni başlıyorum bu işe… bana ulaşıp bana yardımcı olabilirmisin benim için bu çok önemli

  7. Merhaba Yaşar Bey , size sorularımı sorabileceğim bir e-mail adresiniz var mı acaba ? Benim için çok önemli .

  8. tebrik ederim gercekten cok iyi bir yönlendirme. Aydınlatmaya devam hocam 🙂

  9. tebrik ederim gercekten cok iyi bir yönlendirme. Aydınlatmaya devam hocam 🙂

  10. >>> a=5
    >>> b=4
    >>> c=2
    >>> a+b*2
    13 diyor 😀

    a+b=9
    9*2=18

    • 13 diyor cunku yaptiginiz islemin sonucu 13. Aritmetikte her zaman carpma ve bolme once yapilir. Bu durumda:
      b*2 = 4 * 2 = 8
      a + 8 = 5 + 8 = 13.

      Python’da bir sorun yok, sizin hesabinizda bir sorun var.

  11. >>> print “Turkiye Cumhuriyeti %s yilinda kurulmustur.”%s”1923”
    SyntaxError: invalid syntax
    >>> prinr “Turkiye Cumhuriyeti Devleti %s yilinda kurulmustur.” %s1923
    SyntaxError: invalid syntax
    >>> “Turkiye Cumhuriyeti %s yilinda kurulmustur.”%s1923

    Traceback (most recent call last):
    File “”, line 1, in
    “Turkiye Cumhuriyeti %s yilinda kurulmustur.”%s1923
    NameError: name ‘s1923’ is not defined

  12. Merhaba Yasar Bey

    oncelikle calistigim sektor Personel Devam Kontrok Sistemleri uzerine. Ithalatini yaptigimiz cihazlarin C# diline uyumlu SDK (*.dll) yani haberlesmek icin cihaza baglanma bilgi alma bilgi gonderme vs islemleri icin dosyalari mevcut.. ben bu SDK lari kullanarak program yazmak istiyorum.Ancak sorun surada programlama ile alakali hicbir bilgim yok. En temelten mi baslamaliyim. Yoksa c# kaynaklarina mi bakmaliyim.En temekdeb kastim lisede gosterilen basic. Bana yardimci olup beni aydinlatmanizi rica ediyorum.

    • Merhaba,

      Sizin durumunuz biraz farklı. Belli bir amaç için programlamayı öğrenmek istiyorsunuz. Her ne kadar Python’un programlamaya başlamak için en iyi dil olduğunu düşünüyor olsam da, sizin yerinizde olsaydım, doğrudan C# ile başlardım. Visual Studio’nun ücretsiz bir sürümü mevcut. Piyasada C# için birçok kitap mevcut. Türkiye’de yaşamadığım için Türkçe kitaplar konusunda malesef bir yorum yapamayacağım. Fakat tavsiyem temelden C# dilini öğrenmeye başlayıp, daha sonra yapmak istediğinizlerinize yönelik konulara yönelmeniz.

      • Merhaba

        Öncelikle cevabınız için teşekkür ederim.. Peki aklıma takılan son bir soru var.. C# başlamadan önce C yada C++ bakmama gerek var mı.. dediğim gibi programlama hakkında bilgim yok…

        • Bence C# ile baslamaniz daha dogru olur. Normalde DLL dosyalarini herhangi bir dil ile kullanabiliyor olmaniz gerek. Ancak SDK dokumantasyonu vs. C# ile hazirlanmissa, zaten amaciniz da belli oldugu icin C# ile baslayip devam etmeniz daha dogru olur.

          Acikcasi, ozel bir nedeni yoksa, yazimda da vaktiyle belirttigim gibi C veya C++ ile baslamak kimseye tavisye edecegim bir sey degil. C++’in zaten Abdurrahman Celebi denen bir keci oldugunu dusunen birisiyim.

  13. Merhaba, öncelikle makalenin başında yazdıklarınız bizim ülkemizin bir gerçeği.Hemen herkes kendisine danışılan konu hakkında açıklayıcı/yönlendirici bilgi vermekten ziyade “tez elden bu sevdadan vazgeç” diyor. Bunu güzel belirtmişsiniz.

    Ben üniversitede yabancı dil ile alakalı bir bölüm bitirip, alakasız bir işte yıllardır çalışmaktayım. Ancak teknoloji ile çok iç içeyim. Öte yandan içimde hep programlama ile ilgili büyük bir heves olmuştur. En son şirket için yaptırdığımız iki program için çalışan kişileri yönlendirdikten sonra bu işi öğrenme hevesim arttı. Danıştığım bir kaç arkadaşım herhangi bir dil öğrenmeden doğrudan php ve html ile başlamamı istiyorlar. İnternetten araştırdığımda ise bir çok başka şeyler mevcut.

    Programlama ile yapmak istediğim ise ileride şimdiden plan programını/hayalini kurduğum bir kaç web sitesini (android/ios uygulamalarıyla birlikte) kendim yapmak.

    Bu konuda ne tavsiyeniz olur? Teşekkürler.

    • Merhaba,

      Öncelikle sıkça yapılan bir yanlışı düzeltmek istiyorum: HTML bir programlama dili değil, işaretleme dilidir ve programlama ile doğrudan bir ilgisi yoktur.

      Sanırım arkadaşlarınızın size PHP ile başlamınızı tavsiye etmelerinin nedeni PHP’nin Türkiye’de de son derece popüler bir dil olması. Fakat PHP sadece web için uygun bir dil. Teknik olarak PHP ile masaüstü uygulaması yazmak da mümkün ancak dilin odağı web.

      Öte yandan tavsiye ettiğim Python birçok amaç için kullanılabilen bir dil, ki bunların arasında web de var. Python’un web uygulamaları için PHP kadar popüler olmadığını ve Türkiye’de de çok yaygın olmadığını kabul etmek lazım. Fakat, web dışında bir şey yapmak istediğinizde PHP işinize yaramayacaktır. Kişisel olarak da PHP’den hoşlandığımı söyleyemem: http://yasar.senturk.name.tr/gunluk/2009/10/18/php-cik-hayatimdan/

      Android ve iOS uygulaması geliştirmek istiyorsanız bu durumda Android için Java, iOS için ise Objective-C veya Swift öğrenmelisiniz. Tabi MonoTouch lisansı satın alırsanız C# kullanarak her iki platform için de yazılım geliştirmek mümkün.

      Size tavsiyem önce biraz programlama öğrenip, daha sonra amacınıza göre gerekli programlama dillerini ve araçlarını öğrenip devam etmeniz. Programlamayı öğrenmek için de basit ve anlaşılır bir dille başlamanız gerekiyor. Bu yüzden yine tavsiyem Python ile başlamanız olacaktır.

      • Sıfır bilgi ile ucundan gördüğüm kodlama için heves ederken yönlendirmeleriniz için teşekkür ederim.

        Temel bir programlama dili olmadan php, html vs ile işin içine girmek sanırım ileriki safhada yeniden geriye dönüp bir dili öğrenmemi gerektirecektir. Temelden bir dili öğrenip sonraki dönemde başkalarına yönelmek daha kolay ve ilerleyici olacaktır diye düşünüyorum.
        Ben de Python’a başlıyorum. Umarım hedefimi gerçekleştiririm. Son olarak iki sorum daha var.

        Birincisi bir kaç siteye baktığımda ilk defa kullanacaklar için genelde Python 3’le başlanılması yönünde?

        İkincisi bu dil ile ilgili türkçe çok fazla kaynak yok gibi. Önerebileceğiniz siteler veya yazılı kaynaklar var mı?

        ok teşekkürler

        • Python 2.6 ve üstü olan 2.x serisi her ne kadar en popüler sürüm olsa da Python 3’te birçok yenilik var ve Python 3 uzun bir süredir kullanılıyor. Bu nedenle Python 3 ile başlamakta yarar var.

          Türkiye’de yaşamadığım için Türkçe kitap vs. durumunu bilmiyorum. O nedenle bir öneride bulunamayacağım. Ben şöyle bir şeye başlamıştım, fakat devamını getiremedim. Yakın zamanda devamını getirebilmeyi umuyorum:
          https://www.youtube.com/playlist?list=PLDVmAgsnEpHf8WoGZsYNGO0vPJeb9Aju0

  14. Gömülü sistemlerle çalışmak için phthon yeterli bi dilmidir?

    • Bazı sistemlerde kullanılıyor olsa da gömülü sistemlerde en yaygın dil C. Bunun nedeni gömülü sistemlerde işlemci gücü ve bellek miktarının düşük oluşu, bu nedenle de programların hafif ve mümkün olduğunca hızlı çalışması gerekmesidir.

      Son zamanlarda araç içi bilgi ve eğlence sistemlerinde Android kullanıldığını gördüm. Tabi üzerinde çalışan uygulama da Java ile yazılmış oluyor genellikle. Diğer yandan son zamanların popüler sistemi OpenCar SDK’sı JavaScript ve HTML 5 kullanıyor. Mazda son 2 yıldır otomobillerinde OpenCar kullanıyor. Yeni çıkan Toyota modelleri de eğlence sistemlerinde Mazda ile aynı olan OpenCar kullanıyor: http://www.opencar.com

  15. Merhaba iyi aksamlar Ben Programlamaya sıfırdan baslamak istiyorum.Daha önce hiç programlama dili öğrenmedim.Amacım sektörde geçerli olan dilleri öğrenip çok iyi bir yazılım uzmanı olmaktır.Tabiki güzel paralar kazanmayıda düsünüyorum..Türkiyedeki ilanlara baktıgım zaman gördügüm;Visual Studio Net,C# AdoNet Asp net Mvc4 Mysql Ve T-Sol HtmL,Css,javascript..Tabiki Java Programlama ve Android programlama da var Ama ben suan için onları düsünmüyorum.ilk yazdıgım programlama dillerini ögrenmek için nasıl bir yol haritası çizmeliyim.Öncelikle Hangisinden baslamayalım.Sonrasında hangisiyle devam etmeyelim..

  16. Ayrıca bunlara ek olarak öğrenmem gereken programlar bilgiler nelerdir.Kariyer net gibi iş ilanları yer alan sitelerden inceledigim kadarıyla genel olarak bu programlama dilleri ve bilgileri isteniyor..Özel Kurslara baktıgım zamansa hem çok pahalı hemde Türkiyede bu işi paraya dökmüsler..Öğrenme mantıgı açısından hangi programlmaa dilinden baslayıp hangi programları ögrenip hangi programa diline geçmem daha mantıklı olur..

    • Merhaba,

      Iki yorum atmissiniz, ikisine de birlikte tek bir cevap vereyim.

      Oncelikle umarim dilediginiz gibi “cok iyi bir yazilim uzmani” olur ve “guzel paralar” kazanirsiniz, fakat ilanlara bakarak programlama dili secmek ve ona gore baslamak bu amac icin cizeceginiz yanlis bir yol. Evet, Turkiye’de bahsettiginiz teknolojiler yaygin (bu arada SOL degil, SQL). Fakat bu demek degildir ki bunlari ogrenmek sizi cok iyi bir yazilim uzmani yapar ya da cok guzel paralar kazandirir.

      Piyasanin ihtiyaci degisir, bugun bu bahsettikleriniz aranir, yarin baskasi, bir bakmissiniz ki is bulmakta zorlaniyorsunuz. Belli programlama dillerini ogrenmek degil, programlamayi ogrenmek, daha sonra yapmak istediklerinize uygun programlama dillerini ve teknolojileri ogrenerek kendinizi piyasanin ihtiyacina gore yenilemek daha dogru bir yaklasim olur.

      Diger yandan hic kimse bu yukarida saydiklarinizin hepsinde uzmanlasamaz. Uzmanlasma, bir dili veya teknolojiyi ogrenerek degil, o dil veya teknoloji uzerinde uzun sureler calisarak olur.

      Eger iyi bir yazilim gelistiricisi olmak istiyorsaniz tavsiyem yukarida siraladiginiz diller veya teknolojilerden once iyi derecede Ingilizce ogrenmeniz. Yeni teknolojileri takip etmek, en son bilgilere ulasmak istiyorsaniz birilerinin size ogretmesini bekleyemezsiniz ve ilk elden bilgiye ulasmak icin Ingilizce bilmelisiniz.

      Özel Kurslara baktıgım zamansa hem çok pahalı hemde Türkiyede bu işi paraya dökmüsler..
      E siz “guzel paralar” kazanmak istemiyor muydunuz? Onlar da guzel paralar kazanmak istiyor iste. Nesi garip bunun?

      Öğrenme mantıgı açısından hangi programlmaa dilinden baslayıp hangi programları ögrenip hangi programa diline geçmem daha mantıklı olur..
      Yazimi okudugunuza emin misiniz? Yazimda Python’u onermistim zaten.

      .ilk yazdıgım programlama dillerini ögrenmek için nasıl bir yol haritası çizmeliyim.Öncelikle Hangisinden baslamayalım.Sonrasında hangisiyle devam etmeyelim..
      Oncelikle programalamayi daha kolay bir dille ogrenmeye baslayin (Python gibi). Daha sonra neler yapabildiginize bakip, Python ile yapamayip C# ile yapabildiklerinize bakin. C#’in nerelerde ve ne amaclarla kullanildigina bakin ve oyle devam edin.

      Acikcasi sordugunuz sorular daha henuz emeklemeyi bilmezken nasil maraton kosacaginizi ogrenmeye calismak gibi bir sey. Henuz hangi tur yazilimlar uzerinde calisacaginizi bilmiyorsunuz. Henuz programalayi bilmiyorsunuz. Illa bir yol cizmek icin bir liste siralamami isterseniz, soyle ozetleyebilirim:
      1- Ingilizce
      2- Programlamayi ogrenmek icin (uzman olmak icin degil, ogrenmek icin) kolay bir dil: Onerim Python.
      3- Bol bol deneysel kod yazmak.
      4- Bol bol programlama ile makale okumak
      5- Yukarida yazdiginiz teknolojilerin ve diger bircok yeni teknolojinin ne oldugu, nerelerde kullanildigi, vs. uzerine yazilar okumak.
      6- Ne tur yazilimlar uzerinde calismak istediginize karar vermek ve uzmanlasacaginiz alani secmek.
      7- Sonra hangi teknolojileri ogreneceginize zaten otomatik karar vermis olacaksiniz.

  17. Iyi gunler . Pc dillerine baslamadan once sizin yazdiginiz gibi onlarca makale yazisi okudum. Sizin yaziniz gercekten cok iyi.
    Suan hazirlik ogrencisiyim ve seneye pc muhendisligine basliyacagim. Pc ile ugrasmak hem zevk verici hemde bana gore basari kapisi. Benim sorum ise şu
    Hangi dili ögrenmem gerekir. Okuldan ayri olarak. Yani universitede gorecegim mufredattan ayri olarak. ??
    Cunku onlarin verdigi bilgilerin bana yetecegini sanmiyorum . Lutfen e-mail veya burdan cevaplayiniz. Simdiden tesekkurler…

    • Merhaba,

      Öncelikle naçizane 3 düzeltme yapayım:
      1- PC Dili diye bir şey yok, programlama dili var.
      2- PC mühendisliği diye bir şey yok, biligsayar mühendisliği var.
      3- PC bir bilgisayar türüdür, ama tüm bilgisayarlar PC değildir.

      Sorduğunuz sorunun cevabı zaten yazımın da verdiği cevap ile aynı: İlk olarak Python öğrenin. Sonra da ilerlemek/uzmanlaşmak istediğiniz alana uygun teknolojileri öğrenirsiniz. Heyecanınızı anlıyorum ama önce emekleyin, sonra yürümeyi öğrenin, sonra koşun, daha sonra maraton mu koşacaksınız, sprint mi, engelli mi ona karar verirsiniz.

  18. Sizi geç keşfettim ama sorum olacaktı php başlamaya karar verdim ve bunun için htm css öğrenmem gerektiğini söylediler sizce python ile başlaman daha mı ıyü okur

    • Öncelikle şunu bilmeniz gerekiyor: Web sitesi veya uygulaması geliştirme amacındaysanız sitenizin, uygumalanızın iki ana bileşeni olacaktır:
      1- Önyüz (frontend)
      2- Arkayüz (backend)

      Önyüz, sitenin nasıl görüneceğini, kullanıcının site/uygulama ile nasıl etkileşeceğini yönetir. Web sitesi veya uygulaması geliştirirken önyüzde şu üç dil kullanılır: HTML, CSS ve JavaScript.

      HTML ve CSS web sayfaları hazırlanirken kullanılan dillerdir. HTML bir işaretleme dilidir, programlama dili değil. CSS ise sadece HTML ile oluşturulmuş web sayfalarindaki nesnelerin nasıl görüneceğini belirtmenizi sağlayan bir tasarım dilidir.

      Web siteleri ve uygulamaları geliştirmek istiyorsaniz, sitenin ön yüzü için HTML ve CSS ve hatta JavaScript bilmeniz gerekir.

      Web siteleri ve uygulamalarının arkaplaninda, sitenin/uygulamanin işleyişini yöneten, verilerin kaydedilmesini ve işlenmesini sağlayan “back-end” yani “arkayüz/arkaplan” kısmında PHP oldukça yaygın kullanılan bir dildir. Python da aynı iş icin yine yaygın bir şekilde kullanılmaktadır. PHP asıl odağı web olacak şekilde geliştirilmiş ve sadece web icin önerebileceğim bir dil. Web ve web dışı tüm uygulamalar için Python’u rahatlıkla önerebilirim.

      Sonuç itibariyle, amacınız web sitesi/uygulaması yapmaksa ister Python ister PHP öğrenin, sitenizin/uygulamanızın önyüzü için mutlaka HTML, CSS ve JavaScript kullanmanız gerekecektir.

  19. Bu sene üni ye başlıca yazılım mühendisliği okumak istiyorum ama pek bilgim yok . Python ile başlıcam yazı için teşekkür ederim

  20. Öncelikle Merhaba,ben sizin yazınızı çok geç gördüm ama çok güzel yazmışınız bu yazı bana ayrı heves verdi.Ben kardeş ülkedenim yani Azerbaycan.şuan benim 14 yaşım var (doğru daha çocuğum )
    bizim ülkede yazılımcı çok az insan var Bende inşallah ilerde yazılımcı olmak istiyorum
    Sorum şu : Python dan başlayıp sonra baska dillere yönele bilirmiyim ?
    2 cisi : ben Pythona başlarımsa ne kadar bildikden sonra diğer dillere geçeriz hocam?

    • Oncelikle yorumun icin tesekkur ederim. Bir nebze olsun heveslendirdiysem ne mutlu.

      Her iki sorunun cevabini soyle birlestireyim:
      Programlamada esas onemli olan hangi dili kullandiginiz degil problem cozebilme yetisidir. Algoritma denen cozum yontemlerini ogrenmen gerekir. Bu algoritmalar programlama dillerinden bagimsizdir ve hemen her programlama dilinde uygulanabilir.

      Python kolay ogrenilebilen bir programlama dili oldugu icin, problem cozme yetinin gelismesine, yazilim gelistirmeyi ogrenmene ve algoritmalari ogrenip deneyebilme, yeni algoritmalar uretebilmene yardimci olacaktir.

      Python ile bircok seyi ogrenip ilerletebilirsin. Daha sonra da ‘acaba bu yaptiklarim, su dilde nasil yapiliyor?’ diye acip bakip, kolaylikla diger dillere gecebilirsin. Kaldi ki, Python oldukca populer bir dil oldugu icin, belki de Python ile uzun sure devam edebilirsin. Hatta ileride yazilim gelistirme degil de herhangi bir bilim alaninda egitim gormek istersen de Python cok faydali olacaktir. Cunku, Python bilim dunyasinda oldukca yaygin bir sekilde kullaniliyor. Cesitli bilimsel hesaplamalari yapmak icin cok genis fonksiyon kutuphaneleri var.

      Python ile programlamayi ogrenip, kendi basina problem cozebilmeye basladigin zaman herhangi bir baska dili de rahatlikla ogrenmeye baslayabilirsin. Peki neden baska dil ogrenmek istersin? Programlama dillerini yabanci dil gibi dusunebilirsin. Bir dili ogrenmeye ne zaman ihtiyac duyarsin? O dilin konusuldugu yerlere gitme planin varsa, o dilde yazilmis kitaplari, yazilari okumak istiyorsan veya o dilin konusuldugu yerlerde is yapacaksan. Programlama da buna benzer. Python bircok farkli alanda kullanilyor. Ancak, Android telefonlar icin uygulama yapmak istiyorsan, o zaman Java ogrenmen gerekecektir. Eger iOS icin uygulama yapmak istiyorsan, o zaman Objective-C veya Swift ogrenmen gerek. Yok, web siteleri yapmak istiyorsan, Python kullanabilirsin, fakat bunun yaninda HTML ve JavaScript de ogrenmen gerekecektir.

      Umarim yardimci olmusumdur.

  21. Sana facebooktan veya Skype gibi bir plaftormdan ulaşmam Mümkünmüdür ? Öğrencin olmak isterim. Hani benimle çok ilgilenmene gerek yok kendim zaten Sıkı çalışabilcek kapasiteye sahibim. Yol gösterenim olsan. Usta-Çırak ilişkisi olsa yeter bana.. Amacımı felan biliyorum ben.. Kafama taktım ve kendi çapımda java üzerinde 3.5 Aylık bir öğrenimim var. PHP Üzerindede 3 Günlük. Biliyorum bunlar 8 senelik bir programcının gözünden ufacık miniminnacık kazanımlar. Ama ben bulduğum vakte göre.. Sıkılmadan çalışmaya adadım. Sonuçta ne teknik lisedeyim. Ne Güzel bir lisede.. kendi çapımda zor oluyor haliyle… yani demek istediğim bir temelim var. Programlama dilindeki terimleri..Ve diğer dillerle olan benzerliklerinin farkına vardım. kendi çapımda en azından bazı kazanımlarım var. bir dile başlarsam mantığını hemen kavrayabilceğimi düşünüyorum.. Sonuçta Tıpkı Yabancı dil ile Türkçe farkı gibi. hepsinde bir takım kavramlar sabit ve ortaktır. Class,Derleyici,IDE,Döngüler Gibi şeyler işte.. hepsinde vardır. Sadece yazılışları farklıdır. Herneyse sıktım senide. Lütfen bana ulaşabilceğim bir link ver (Zaman Kaybı Değilim)

    • Merhaba,

      Oncelikle kisisel cabaniz ve ilginiz icin tebrik ederim. Hayir, kazanimlariniz benim gozumde ufacik degil. Aksine ilgi gosterip ogrenmeye calismaniz sevindirici.

      Fakat, programlama ogrenmek istiyorsaniz yapabileceginiz en kotu seylerden birisi, herhangi bir kisinin sizinle aktif olarak iletisimde bulunup, size yol gostermesini beklemektir. Fikir almak, danismak veya daha tartismak vs. gibi seylerden bahsetmiyorum. Uzaktan birisiyle, aktif bir sekilde “simdi sunu ogren, simdi de bunu. sunu ogrendin mi? bunu yaptin mi? cok guzel, simdi soyle devam et” seklinde bir iletisimle cok fazla bir kazaniminizin olacagini sanmiyorum.

      Bu tarz bir iletisimin olacagi 2 yer var:
      1- Egitim kurumlari: Okul ve kurslar
      2- Calisma ortami

      Okulda ve kurslarda onceden hazirlanmis bir mufredata uyarak belli konular anlatilir. Ogrenciler bunlari ogrenir, ama bu onlari programci yapmaz. Kisisel ilgi, eglencesine yaptiklari kisisel projeler, okuduklari kitaplar, yazilim ile ilgili takip ettikleri dergiler, makaleler, vs. sonucunda edindikleri bilgiler ve kazandiklari deneyim onlari programci haline getirir.

      Yazimdaki su kisma tekrar dikkatinizi cekmek istiyorum:

      …boş kaldığımız ve pratik yaptığımız zamanlarda hemen bize öğretilen konuların dışına çıkar, kendimizce farklı kullanıcı arayüzleri geliştirmeye, hatta basit bir pencereleme sistemi yapmaya, dosya yöneticileri yapmaya falan çalışırdık. Arkadaşım Hakan ile bu konularda çekişmeli bir yarış içerisindeydik. Ben yeni bir şey yaptığımda böbürlenerek gösterirdikten birkaç gün sonra Hakan benim yaptığım şeyi ilerletip, yeni eklerle daha iyisini yaparak çıkagelirdi ya da tam tersine o başka bir şeyler yapar, sonra ben onu daha ileriye götürmeye çalışırdım.

      Bize yol gosteren ogretmenlerimiz degildi. Ogretmenlerimiz okulda mufredata gore konulari anlatiyorlardi. Bazen de sorularimizi cevapliyorlardi, o kadar. Geri kalan bizim kisisel cabamizdi. Ben Lise 2. siniftayken harcligimdan ayirdigim para ile Visual Basic kitabi alip, okulda anlatilmamasina ragmen, tamamen meraktan Visual Basic ogrenmis ve onunla programlar yaziyordum. Okulda ise tamamen farkli seyler vardi. Hocalarimiz “Visual Basic kitabi al, ogren” diye yol gostermemisti.. Ben merak etmis ve ogrenmistim.

      Calisma ortaminda ise, genellikle daha deneyimsiz olan programci, deneyimli olan programcilarin yaninda, onlarin yaptiklarini izleyerek, onlarin yazdigi kodu okuyup, onlarin tavsiyelerine uyarak kendi kodunu sekillendirir ve daha fazla deneyim kazanir. Sizin deyiminizle usta-cirak iliskisi, deneyimli bir programcinin, deneyimsiz olana oturup bir seyler anlatmasi seklinde degil, birlikte gelistirilen proje veya projelerde daha kaliteli sonucun ortaya cikmasi icin yapilan bir fikir alis verisi seklinde olur.

      Buna kendi calistigim sirketten ornek vereyim:
      Calistigim sirkette en deneyimli 2. programciyim. Benden deneyimli olan programci zaten su anda programcilik yapmiyor. Ben ise, yazilim gelistirme muduruyum.

      Yapilan her proje once ekip ile tartisiliyor, planlaniyor, belgeleniyor. Daha sonra projenin her asamasi kucuk islere ayrilip, ekibimdeki programcilara dagitiliyor. Her programci kendi parcasini gelistirip, test edip, bitirdikten sonra, bunu kod deposuna gonderiyor. Sonra da biten her biten isi, o programci ile birlikte “kod okuma” asamasinda kontrol edip, birlikte neden o kodu o sekilde yazdigini, eger varsa nasil daha iyi hale getirebilecegini tartisiyoruz. Gerekiyorsa kod tekrar degistiriliyor, boylelikle programci daha kaliteli bir is ortaya cikariyor.

      Sizin bahsettiginiz usta-cirak iliskisi ancak projede birlikte calisarak olur. Ancak burada ciragin mutlaka programlama biliyor olmasi gerekir.

      Siz henuz programlamayi yeni ogrenmeye basladiginiz icin tabi bu mumkun degil.

      Sizin aradiginiz sekilde programlamayi ogrenme asamasinda usta-cirak iliskisi mumkun degil ve aktif yol gosterme birlikte calisilan projeler haricinde verimli veya etkin degil.

      Yapabilecegim tek sey, yukarida yazdigim yazi gibi pasif yol gosterme olacaktir. Yazimda belirttigim gibi, Python ile ogrenmeye baslayin. Deneyin, kucuk eglencelik projejer gelistirmeye calisin. Baskalarinin yazdigi kodlari okuyun, neyi nasil yaptiklarini anlamaya calisin. Programlama ile ilgili makaleler okuyun. Kafaniza takilan sorular oldugunda programlama ile ilgili forum siteleri veya e-posta gruplarinda sorularinizi sorun ve tartisin.

      Belli bir seyler ogrendiginizde ise, acik kaynak kodlu projelere katilmaya calisin. O projelerin hata kayitlarini okuyup, cozebileceginizi dusundugunuz hatalari duzeltmeye calisip, yaptiginiz yamayi proje sahiplerine gonderin. Ancak bu sekilde daha fazla deneyim kazanir ve bir nevi katkida bulundugunuz projelerde calisan diger insanlarla usta-cirak iliskisine girmeye baslarsiniz.

      Python ogrenmek istiyorsaniz, benim bir ara hazirlamaya basladigim, ama sonra birakmak zorunda kaldigim ve simdi tekrar devam etmeye basladigim bir video serisi var. Youtube kanalimda suradan izleyebilirsiniz: https://www.youtube.com/playlist?list=PLDVmAgsnEpHf8WoGZsYNGO0vPJeb9Aju0

      Yaptiginiz kucuk projeleri internette paylasin. Bunun icin Github en iyi ortam: https://github.com

      Yine baskalarinin projelerini Github uzerinde gorebilir, o projelerin kodlarini okuyabilir, indirip kendiniz test edebilirsiniz.

      Herhangi bir takildiginiz sorunu sormak icin en iyi ortam: http://stackoverflow.com

      Umarim yardimci olmusumdur.

      • Beni yanlış anladınız, Ben sizinle özel sorularıma cevap alabilmek için Skype Veya Facebook istemiştim.. Benim amaçlarım çok farklı. ben daha çok Trojen Ve Shell yazabilmek istiyorum fakat Javanın bu niteliğini göremedim. Belkide kullandığım IDE Eclipse yüzündendir. Dediğim gibi Shell yazabilmek için en iyi dil hangisidir ? Ve Web sitelerini exploitleyebilmek için PHP HTML Doğru dillermidir ? Virüs yazabilmek için gerçekten en iyi Dil VB.NET midir ? Ve bunları serbest olarak Kurslar,Okullar vs Dışında öğrenebilceğim 300-500 Videoluk eğitim setleri doğrumudur ve aynı zamanda yanlarındaki PDF’ler ? Perl dili öğrenirsem avantajlarım neler olur ? aklım çok karışık.. istediğim şeyler için hangi sıralı olmak üzere ilk hangi dilden başlamalı hangi dile kadar bilmeliyim. İstediğim özelliklerse şunlar;
        1-Kolayca web site açıklarını farkedebilmek.
        2-Rahat bir şekilde shell kodlayabilmek
        3-Virüs yazabilmek(Keylogger,Backdoor) Belki SpyVirüsler..
        4-Rahat bir şekilde web site açıklarından nasıl yararlanacağımı bilmek.

        Bunları farketmek ve uygulamak için sırasıyla hangi dilleri öğrenmeliyim..Mesala şimdi PHP Dicekseniz ben bu dili öğrenene kadar artık uzmanlaşana kadar 1 senemi geçer 2 senemi bilmem ama çabalarım gerçekten çok çabalıcamı biliyorum eminim. hızlı olcak işler değil sadece bana yardım et.

        • Sordugunuz sorulara bakarsak aslinda yanlis anlamamisim. Bu sorularinizin hepsinin cevabi aslinda Google’da mevcut.

          Oncelikle yapmak istediginiz seyler her ulkenin yasalarinda da oldugu gibi Turkiye yasalarina gore de suc teskil ediyor ve cezaya tabi.

          Bu konuda size yardimci olamam.

          • Googlede Yüz yıl arayıp birde doğru bilgilere ulaşmakla vakit harcamaktansa direk nerden başlıyacağımı bilmeyi tercih etmek istedim. Peki ozaman şöyle diyeyim ben etik bir Hacker olmak istiyorum. Sitelere yardım için açıklarını bulabilmek. rahatça düzenleyebilmek için yararlanmak istiyorum. Virüs yazabilmekteki amacım. Virüslerin işleyişini öğrenmek. Shell yazmaktaki amacım ise Shelleri kavramak. Şöyle diyeyim. Virüsü yazabiliyorsan yokda edebilirsin. değilmi ? Şimdi söylersen bence problem olmaz. sonuçta yararlı bir vatandaş elde etceksiniz 😀 sen tecrübelisin 8 sene gerçekten hiçde az bir kazanım değil. Lütfen vakit kaybetmemi önle ve bana. hangi dilleri öğrenmem gerektiğini yaz. Çünkü internette onlarca sayfa arıyoruz. yarısı palavralarla dolu. herkes ayrı bir usta. doğrusunu bulsak bile tam bir rehber değil. direk hangi dilleri bilmem gerektiğini derseniz en azından rahatlayacağım.

          • Oncelikle programlama ogrenmeyi deneseniz? Emeklemeden kosmak istiyorsunuz ve kosmak icin gerekli olan seyleri zaman kaybi olarak gorup baskasindan sizin icin zaman harcamasini bekliyorsunuz.

            Tavsiyelerim:
            1- Ingilizce ogrenin
            2- Programlama ogrenin
            3- UNIX ogrenin.
            4- Sabirli olun

            Google’da arama yapip dogru sonuclara ulasmak 10 saniye alir:
            http://www.techworm.net/2016/06/programing-languages-used-hacking-process.html

      • Ama tabi yazdıklarınızda baya bi yardımı oldu hani… teşekkürler ginede.

  22. Yazını gerçekten de müthiş.Bu işe başlamak isteyenlerin vaktini çalıp, sonuca ulaştırmak yerine daha fazla kafa karışıklığına sebep olan yazılar dan sonra bunları okumak gerçekten güzeldi. Çok güzel anlatmışsınız. Emeğinize sağlık.

  23. Merhabalar Üniversite öğrencisiyim. Ödevimizin sorusu; “Mobil programlamaya yeni başlayan biri ilk önce hangi programlama dilinden başlamalıdır, veya hangisinden başlamamalıdır, sebepleriyle birlikte açıklayınız.” İnternetten araştırdım fakat bir yanıt bulamadım bana yardımcı olabilir misiniz?

    • Merhaba,

      Internetten tam olarak bu sekilde ararsaniz muhtemelen bir sey bulamayacaksiniz. Aramaniz gereken “mobil programlama dilleri”dir. Her bir programlama dili ile ilgili okuyup analiz etmeniz gerekiyor.

      Mobil programlama icin “once su dil ogrenilmeli” diye bir sey soz konusu oldugunu da sanmiyorum. Bence hocaniz size bu odevi verirken mobil programlama dilleriyle ilgili bir fikir edinmenizi istemis. Zira ortada “su dildir” diyebileceginiz bir dil yok. iOS icin gelistirme yapmak istiyorsaniz Objective-C veya Swift ogrenmeniz gerekirken Android icin Java ogrenmeniz gerekecektir. Java’yi dogrudan iOS icin, Objective-C’yi de dogrudan Android icin kullanamazsiniz. Bu nedenle “su dil ile baslamali” diyebilecek bir durumda degilsiniz.

  24. Merhaba! Öncelikle yazınızı okudum ve emeğinize sağlık diyorum. Ben bir lise öğrencisiyim ve programlama öğrenmek, bu işi profesyonel bir seviyeye taşımak istiyorum fakat hafta içi bilgisayar kullanmam yasak, hafta sonu da zaten ödevler ve dersler yüzünden kafamı kaldıramıyorum çalışma masamdan. Ah ah bilsem hiç tercih eder miydim fen lisesini? :’D Her neyse, okulumuzda bilişim teknolojileri dersi seçmeli olarak alınıyor ve ben de bilgisayara olan ilgim doğrultusunda seçtim. Hocamız bana hem dil eğitimi konusunda, hem pratik konularda yardımcı oluyor fakat evde sadece kitaplar aracılığıyla bilgi alabiliyorum. Daha az pratik ve daha çok teorik bilgi ile de programlamayı tam anlamıyla öğrenebilir miyim? Şimdiden teşekkürler. ^^

    • Merhaba,

      Bir lise öğrencisinin programlamaya ilgi göstermesi ve bunun üzerine araştırma yapmaya çalışması beni mutlu etti. Durumunuz bir nebze kendi durumuma benziyor. Benim lise 1. sınıftayken bilgisayarım yoktu ve elektronik bölümünde okuduğum için henüz programlama ile ilgili bir dersimiz de yoktu. Peki ben ne yaptım? Milli Eğitim Bakanlığı’nın yayınladığı eski bir BASIC programlama kitabı buldum ve harçlığımı ona yatırdım. Kitabı okuyup, anlamaya çalıştım ve kitaptaki örnek kodlardan yola çıkarak bir deftere kafamdaki programları yazmaya başladım. Evet, kağıt üzerinde program yazmaya çalıştım.

      Daha sonra bilgisayara erişimim olduğunda bu deftere yazdığım kodları geçirip çalıştırmak için uğraşmıştım. Önceden kağıt üzerinde deneme yanılma yapamadan yazdığım kodların bazı ufak tefek hatalarını giderdikten sonra çalıştığını gördüğümde oldukça mutlu olmuştum.

      Her ne kadar programlama sürekli deneme ve pratik gerektiren bir uğraş olsa da bazı temelleri kitaplardan veya internetteki videolardan öğrenip, daha sonra bilgisayar kullanma fırsatınız olduğunda deneyebilirsiniz. Bunun yanında algoritmalar üzerinde çalışmak için muhakkak bilgisayar kullanıyor olmanız gerekmiyor.

      Örneğin şuradaki problemleri belli temelleri öğrendikten sonra kağıt üzerinde çözebilir ve kendinizi geliştirebilirsiniz: https://projecteuler.net/archives

      Başarılar dilerim.

  25. Merhabalar, Phyton da cross OP ne derece mümkündür? Cross platform diye okudum ama emin olamadım çünkü Linux’ü kattıklarından emin değilim… Native API kullanarak mesela, birinde yazıp hepsinde (her OS için yeniden compile etsem de) çalışabilecek basit bir program mümkün müdür diye düşünüyorum.. Teşekkürler.

    • Merhaba,

      ‘Cross OP’ tan kastınız nedir tam anlayamadım ancak Python ile yazdığınız kodlar Python yorumlayıcısı tarafından programı çalıştırdığınızda yorumlandığı ve derlenmediği için zaten platformdan bağımsız geliştirme yapabilirsiniz.

      Tabi bazı durumlarda çok nadiren de olsa kullanıcının işletim sistemine göre kod yazmak gerekebilir.

      • Tekrar Merhaba.. Eğitim sahasında kullanılacak programlar tasarlama niyetindeyim. Basit ama aradığımda bulamadığım, ihtiyacını önce kendim hissettiğim araçlar bunlar.. Yeni başlayanlara Phython’u tavsiye etme sebeplerinizi okuyunca, yeniden bir hesaplama yapmam gerekti… Bir süredir araştırırken PureBasic’e baya (baya) bi ısınmıştım… Bilgiye ulaşma sistemi, library, manual her şeyi önce çok hoşuma gitti ama OOP ile arasının hoş olmadığını okuyunca uzaklaştım… Basit başlayıp dallanıp budaklanan programlar yapabilirim.. Object Oriented ilerlemem daha elverişli olur dedim, o yüzden şimdi Phyton’u kurcalamaya başladım. Fakat, diğer işletim sistemlerine de açık, başka oluşumlara da ulaşan bir yapıda başlayıp ilerlemek istiyorum. (PureBasic forumunda bu meseleyi sordum, olur niye olmasın dendi, yol gösterdiler vs.. ama OOP meselesi yüzünden şimdi PB o kadar uygun görünmüyor…) Her yeni proje, her yeni katılımcı alternatifleri gözeterek ilerlese ne bileyim belki şimdi değil ama 50 sene sonra bazı dominant tavırlar körelebilir, işte çorbada tuz… Mesela Linux’te programı yazıp ufak bi modifikasyonla da olsa Windows’ta çalıştırabilir miyim onu araştırıyorum, cross OP derken bunu kastettim… Windows kullanıyorum ama şu araki gelişmeler beni çok yoruyor, yavaşlatıyor, teknik desteğim de şu ara eskiye oranla az, bari kendim söküp takmayı öğreneceğim bi sisteme geçeyim de kendi yağımla kavrulayım diye düşünmeye başladım…. O yüzden çalışma sistemi olarak Linüxe geçme hevesindeyim ama Windows’ta çalışmayan bu programı daha çevremdekiler bile kullanamaz.. Böyleyken böyle.

  26. Abi bu işlere yeni başlıyorum hicbirsey bilmiyorum ama hevesim var neden başlamalıyım python ile

  27. Linux’ta BASIC kodunu C koduna çevirerek derleme yapan GUI programlama da yapılabilen bir programlama aracı (BaCon) bulunuyor. Programlamaya yeni başlamak isteyenler deneyebilir.

  28. Çok teşekkürler.. Bu Linux Basic_ C dönüştürücüsü ne kadar kullanışlı olur pratikte bilmiyorum ama Basic bilip C öğrenmek isteyene bi köprü atabilir

  29. GW-BASIC dilinin bitirdim.hangisine geçeyim

  30. cevaplarsanız sevinirim

  31. Merhaba yazınızı okudum çok beğendiğimi belirtmek istiyorum Teşekkür ederim. Benim şöyle bir sorum olacak programlamayı sevmek için matematiği sevmek şart mıdır Çünkü ben matematiği pek sevmiyorum fakat programlama öğrenmek istiyorum. İhtiyaçlarımı karşılayacak programlar yazmak istiyorum macım Bir uzman olmak değil sadece İhtiyaçlarımı karşılamak bunun için pitondan mı başlamalıyım yoksa grafik arabirimi bir dilden mi

    • Teşekkür ederim. Felsefi bir cevap olacak belki ama herhangi bir şeyi sevmek için başka bir şeyi de sevmek gibi bir zorunluluk olamaz. Fakat, programlama ile matematiğin iç içe olduğu bir gerçek. Belki herhangi bir uygulama veya web sitesi geliştirirken matematiğe ihtiyacınız olmayacaktır (belki basit aritmetik işlemleri hariç), ancak belli bir yerden sonra işin daha bilimsel yönlerine ihtiyaç duyacağınız konulara girmeye başladığınızda matematik mutlaka karşınıza çıkacaktır.

      Ben de lise ve üniversite yıllarımda matematiği sevmezdim. Belki anlamakta zorlanıyordum, belki de ilgimi çekmiyordu, ama sevmezdim. Hem işimde, hem de yaşımda ilerleyip derinlere inmeye başladıkça kendim lise ve üniversite matematik kitapları okuyup tekrar öğrenmeye çalıştım. Belki tuhaf gelecek ama her okuduğum konuda “ne kadar da zevkliymiş” dedim durdum. Komik olan şey, benimle yakın yaşlarda olan iki yakın akrabam matematik alanında akademisyen olurken, benim öğrencilik yıllarımda matematiği sevememiş ama değerini sonradan anlamış oluşum. Sanıyorum biraz da sınav odaklı ezberci eğitim anlayışı nedeniyle dahil çoğu kişi matematiği sevmiyor.

      Matematikten korkmayın. Belki de benim gibi programcılığı sevip, onun üzerinden matematiğe ısınıp matematiği de seveceksiniz.

    • Python birçok konuda oldukça yeterli bir dil. Üstelik belki de JavaScript’ten sonra en popüler dil diyebilirim. Python ile görsel programlama yapmak da mümkün. Python kurduğunuz zaman yanında TK adlı arayüz paketi de geliyor ve kolaylıkla masa üstü uygulaması yapmaya başlayabilirsiniz. Aynı zamanda başkalar tarafından geliştirilmiş Wx Windows ve daha popüler olan QT’nin Python uzantıları mevcut ve oldukça popüler.

      Tavsiyem Python ile programlamayı öğrenmeye başlayıp daha sonra neler yapmak istediğinize bakmanız ve bu istediğinizi nasıl Python ile yapabileceğinize bakmanız. Birçok konuda size yeterli olacaktır. Yetersiz geldiği yerlerde diğer programlama dillerine bakıp o işler için o dilleri kullanabilirsiniz.

  32. merhaba web sitesi geliştirmek isteyen bir kişi öncelikle python mu öğrenmeli yoksa javascript mi öğrenmeli? python dilinin ben uygulama geliştirmeye yönelik olduğunu biliyorum ama javascript dilinin web sitesi geliştirmeye yönelik olduğunu. Bende web sitesi yapmak istiyorum bu durumda hangi dili önceliğe almalıyım. Yukarıda ki yazınızı sonuna kadar okudum. Özellikle belirtmişsiniz python ilk başlayanlar için önerebileceğim programlama dili şeklinde ancak amacım web sitesi geliştirmek olduğu için önceliği hangisine vereceğim konusunda yine de tereddüt ediyorum. Bu konuyu bir platform sitesinde açtığımda programlama dilini öğrenmeye basic ile başlamam gerektiği konusunda tavsiye almıştım peki siz nasıl bir öneride bulunursunuz?

    • Merhaba,

      JavaScript yoğun olarak web sitelerinin önyüz (front-end) geliştirilmesinde kullanılıyor. Web tarayıcısı tabanlı herhangi bir uygulama geliştirecekseniz JavaScript ya da TypeScript gibi dilleri öğrenmeniz gerekiyor. Ancak Python bir web sitesinin arkayüzü (back-end) için kullanılabilir. Yani işin asıl mantık kısmının çalıştığı, verilerin depolandığı taraf. Tabi bu kısım yine NodeJS sayesinde JavaScript ile de geliştirilebiliyor.

      Yapacağınız şey zaten belli ise doğrudan o işe uygun dil ile başlayabilirsiniz. Bunda bir engel yok. Sizin durumunuzda JavaScript ile başlamak uygun olabilir. Fakat programlamaya hiç aşina değilseniz, ilk defa program yazmaya başlayacaksanız, Python temelleri anlayabilmek için çok basit bir yapıya sahip bir dil. Bu nedenle de programlama bence programlama öğrenmek için en uygun dil. Belki biraz Python ile programlama temellerini öğrenmeye başlayıp, daha sonra da JavaScript ile web geliştirmeye bakabilirsiniz. Her halükarda bir şey kaybetmeyeceksiniz. Fazla bilgi göz çıkarmaz 🙂

      BASIC ile başlamayı tavsiye eden nasıl bir mantığa sahip bilemiyorum fakat sanıyorum 1990’ların lise müfredatında takılı kalmış. Günümüzde BASIC modern uygulamalarda popüler bir dil değil. Microsoft Office için makrolar yazacaksanız elbette BASIC bilmeniz gerek ki Visual Basic for Applications kullanabilesiniz. Fakat hali hazırda Visual Basic.NET ile geliştirilmiş herhangi bir uygulama ile çalışmayacaksanız BASIC ile başlamak pek mantıklı değil.

  33. Ben bilgisayar programcılığı öğrencisiyim ama bu konuda bilgim hiç yok diyebilirim. Öğrenmeye çalıştığımda karşıma birsürü teknik bilgiler çıkıyor nesne tabanlı php masaüstü program bilgisayar programları falan bunlar ne yazmaya başlamadan önce bunları öğrenmem gerekiyor daha sonra kod kısmına yoğunlaşmak istiyorum bu bilgileri bulabileceğim bir kaynak ve bunları öğrendikten sonra kod yazmada yardım edebilecek bir kaynak önerir misiniz ? Bana mailden ulaşırsanız sevinirim

  34. python öğrendikten sonra hangi dile yönelmeliyiz

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)