|
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. |
Bulunduğum bölgede fiber altyapı mevcut değil. Üç platformu kıyasladığımız zaman (TTNet + Tivibu, Dsmart + İnternet, Digiturk + Superonline) internet hızını göz önünde bulundurmadan (zaten adil kullanım kotası 1 2 günde doluyor) en avatantajlı (fiyat/performans anlamında) paket sizce hangisi? Şu an için aklımda Dsmart Süper Paket + İnternet almak var 79 tl'ye(67 + 10 + 2) ancak önerebileceğiniz daha iyi bir TTNet veya Superonline paketi var mı? Yorumlarınızı bekliyorum.
İyi günler.