Şimdi Ara

'Programlama öğrenmek istiyorum' tarzı başlıklara bir nokta koyalım?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
7
Cevap
0
Favori
711
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar herkese selam,

    Forumda yeniyim ancak farkettiğim kadarıyla gün geçmiyor ki "Programlama öğrenmek istiyorum", "Program nasıl yazılır" tarzında başlıklar açılmasın. Hepsine ayrı ayrı cevap yazmak çok saçma oluyor. Bence konuyla ilgili deneyimi olan arkadaşlar bu başlıkta kendi deneyimlerini anlatarak yol göstericilik yapabilirler. Ben kendi tecrübelerimi anlatarak başlayayım en iyisi:

    İlk öncehttp://web.itu.edu.tr/uyar/programlama/c.pdf burdaki kitaptan çalışarak algoritmanın ne olduğunu anlamaya çalıştım. Birkaç hafta hiç kod yazmadım, yalnızca algoritmalar oluşturdum, çalışıp çalışmadığını denedim ve algoritmalarıma ait akış diyagramları oluşturdum. Daha sonra DevC++ kurdum, kitaptaki programları sırasıyla denemeye başladım. Kitaptaki her chapter için ortalama bir hafta ayırdım ([1,6] ve 8. bölümler için) ve bu süre içerisinde öğrendiklerimle kitap dışında hayal ettiğim ufak tefek uygulamaları geliştirmeye çalıştım. Daha sonra Harvard Üniversitesi'nin açık ders olarak internette yayınladığı CS50 dersini dinledim. Buradan da pointer mantığını oturttum, structları öğrendim. Bu şekilde C'yi bir derece halletmiş oldum. (Tüm bu paragrafta anlattıkların 10 ay civarında bir süre aldı.)

    C++'ın C'den farkı nesne yönelimli olması. Bunun için öncelikle Nesne Yönelimli Programlama (Object Oriented Programming)'nın felsefesi nedir, ne değildir onu öğrenmeye çalıştım. Polimorfizm, kalıtım gibi nesne mantığının temellerini öğrendim. Bu mantıkları öğrenmek çok uzun sürmedi, bir hafta 10 gün gibi bir süre aldı. Tabi program yazmadan bu mantıkları biliyorum, nesne yönelimli süper programlar yazarım diyemezsiniz. Bu sebeple veriyapılarını öğrenmeye başladım. Önce list, sonra kuyruk ve yığın, biraz da ağaçlara değindim. Bunları kodlamaya çalıştım. Bu veri yapıları üzerinde sıralama ve arama algoritmalarını kodlamaya çalıştım. (Bu anlattıklarım 5 ay civarında bir süre aldı.)

    Dikkat ederseniz bu noktaya kadar hep programlama ve algoritma mantığımı geliştirmeye çalıştım, hiç kullanıcı arayüzü ya da veritabanı gibi işlemlerle uğraşmadım. (Yaklaşık 15 ay)

    Daha sonra yavaş yavaş C#'da form uygulamaları geliştirmeye ve ASP.NET öğrenmeye başladım. İnternette yaygın olarak paylaşılan Türkçe bir kurs kaydını izledim. ASP.NET ile birlikte ister istemez HTML, CSS, Javascript öğrendim. SQL cümlecikleri yazmayı ve MSSQL veritabanı bağlantısını, tablo ve tablolar arası ilişkiler oluşturmayı öğrendim. (Yaklaşık 5 ay)

    Bundan sonra biraz Java ile uğraşmaya karar verdim. Java'da Swing ile uygulamalar geliştirdim. Herhangi bir kaynak kullanmadım. Zaten sürükle bırak tarzında basit arayüzler oluşturmaya C# öğrenirken Visual Studio'dan aşinaydım. Java ile yaptığım uygulamalarda MySQL kullandım. (Yaklaşık 3 ay) Daha sonra Java ile web uygulamaları geliştirmeye karar verdim. JSP ve Servlet öğrendim. (Yaklaşık 2 ay)

    Birkaç ay kısa kısa Assembly, Python, PHP, Perl ve CCS C ile ilgilendim, ancak pek hoşuma gitmediği için bıraktım. Bir süre programlama dillerinden uzaklaşıp işletim sistemleri, bilgisayar ağları, unix sistem programlama ve bilgisayar mimarisi konseptlerine merak sardım. Bilgisayar mimarisi zaten başlı başına harika ufuk açan bir alan. Bu konuyla ilgili kitaplar okumak deneyimli bir programcının ileride yazacağı programlara güç katacaktır diye düşünüyorum. (Yaklaşık 7 8 ay)

    Son zamanlarda ise birkaç aydır WPF'te bazı uygulamalar geliştiriyorum, yavaş yavaş android öğreniyorum. Bir yandan da görüntü işleme, paralel programlama gibi ileri düzey konularda kendimi geliştirmeye çalışıyorum.







  • .



    < Bu mesaj bu kişi tarafından değiştirildi Maroon On -- 27 Haziran 2014; 10:50:01 >
  • Bence bu soruya tek ve ortak bir cevap vermek imkansiz. Zira soru eksik. " X platformunda Y gelistirmek icin programlama ogrenmek istiyorum " ya da " P kariyerinde kendimi gelistirmek istiyorum, su sebeple Q konusunda programlama yapacagim " gibi bir format gerekiyor.

    Benim gozlemim genelde bilgisayar oyunlarina merak sarip kendi oyununu gelistirmek isteyen hevesli gencler ile kisa yoldan bir mobil app yazip zengin olmaya cabalayan insanlar genelde bunu soruyor. Heves kirmak istemem ama , istatistiki olarak bu makul bir hayal gibi gorunse de yanlis bir icgudu ile programlama ogrenerek basarili olmak zor.

    Buna ek olarak, yazilim ya da bilgisayar uzerine ogrencilik yaparken, "hangi dili ogrensem " tarzi sorular soranlar oluyor. Bu da elbette eksik bir soru. Bunu da genelde tek bir dili ogrenip hayatini kurmak isteyenler soruyor. Yani eger o dil, karsiliginda para kazandirmayacaksa ogrenmeyecek.

    Her ne kadar bu durum beni rahatsiz etse de, yine de zaman zaman cevaplamaya calisiyorum. Gercekten programalama nedir, nasil yapilir, kimler yapar, tarihi nedir gibi konularda merakli insanlarla konusmak zevkli oluyor. Bunun disinda kalan kimseler ise genelde ilk olumsuzluk karsisinda baska bir mecraya atlayan insanlar oluyor.




  • Adam King. Yazalımda Üstte Kalsın.

    Ayrıca Özetle Demiş ki "Gençler Oturayım Bi Program Yazayım Diyemezsiniz Adam Gibi Birkaç Yılınızı Verirseniz Anca Öğrenirsiniz"
  • quote:

    Orijinalden alıntı: Mephalay

    Bence bu soruya tek ve ortak bir cevap vermek imkansiz. Zira soru eksik. " X platformunda Y gelistirmek icin programlama ogrenmek istiyorum " ya da " P kariyerinde kendimi gelistirmek istiyorum, su sebeple Q konusunda programlama yapacagim " gibi bir format gerekiyor.

    Benim gozlemim genelde bilgisayar oyunlarina merak sarip kendi oyununu gelistirmek isteyen hevesli gencler ile kisa yoldan bir mobil app yazip zengin olmaya cabalayan insanlar genelde bunu soruyor. Heves kirmak istemem ama , istatistiki olarak bu makul bir hayal gibi gorunse de yanlis bir icgudu ile programlama ogrenerek basarili olmak zor.

    Buna ek olarak, yazilim ya da bilgisayar uzerine ogrencilik yaparken, "hangi dili ogrensem " tarzi sorular soranlar oluyor. Bu da elbette eksik bir soru. Bunu da genelde tek bir dili ogrenip hayatini kurmak isteyenler soruyor. Yani eger o dil, karsiliginda para kazandirmayacaksa ogrenmeyecek.

    Her ne kadar bu durum beni rahatsiz etse de, yine de zaman zaman cevaplamaya calisiyorum. Gercekten programalama nedir, nasil yapilir, kimler yapar, tarihi nedir gibi konularda merakli insanlarla konusmak zevkli oluyor. Bunun disinda kalan kimseler ise genelde ilk olumsuzluk karsisinda baska bir mecraya atlayan insanlar oluyor.

    Tabi ki tek bir cevap vermek mümkün değil ancak, sıfırdan başlamak isteyenlere ışık tutması açısından güzel olur diye düşündüm.

    Ayrıca hiç programlama bilgisi olmadan oyun geliştirmek isteyenlerin de ne kadar mümkün olduğu konusunda bilgi sahibi olmaları için yazmıştım. Yani kısaca programlama ve yazılım geliştirmek anlık gazlarla yapılabilecek bir iş değil, ciddi uğraş gerektiriyor.

    Bir dili öğrenmek de asla hayat kurtarmıyor. Önemli olan yaptığınız işi iyi yapmak, o yüzden neden zevk alıyorsanız o işi yapın derim ben. Tabi yaptığımız işi iyi yapmak konusunda çok geride bi milletiz. Bu yüzden de C# kodlayan bir programcı Amerika'da ortalama 60 bin dolar maaş ile çalışırken ülkemizde asgari ücretle çalışmak durumunda kalıyor.




  • ktACM kullanıcısına yanıt
    Ben aslinda bu mesaji size cevap olarak gondermedim. Oyle bir uslup ya da ifade vardiysa da kusura bakmayin. Ben genel duruma yonelik bir elestiri yapmak istedim yalnizca. Zaten soylediklerinizde katilmadigim bir nokta yok programalama ile ilgili.
  • quote:

    Orijinalden alıntı: Mephalay

    Ben aslinda bu mesaji size cevap olarak gondermedim. Oyle bir uslup ya da ifade vardiysa da kusura bakmayin. Ben genel duruma yonelik bir elestiri yapmak istedim yalnizca. Zaten soylediklerinizde katilmadigim bir nokta yok programalama ile ilgili.

    Aynen öyle. Ben de destekleyici olarak yazmıştım zaten. @Mephalay
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.