Bilmek istediğin her şeye ulaş

Yazılıma yeni başlamaya karar verdim, nereden ve nasıl başlamalıyım? Yaklaşık 100 kişilik bir arkadaş grubumuz var ve kendi aramızda haberleşmek için Twitter benzeri bir site kurmak istiyoruz, bunun için neler bilmek gerekir?

Tek önerim;
C/C++ : How to Program, Deitel & Deitel

Türkçe çevirisi de var; On numara kitap, oradakileri sindir yeter başlangıç için. Tabi oturup 10 günde okunacak bir kitap değil.

idefix.com/kitap/c-ve-c-deitel-deitel-k...

Web Yazılımı
  • Paylaş
Şimdi kısaca yanıt vermek gerekirse; öncelikle programlama dili öğrenmeden önce OOP (Object Oriented Programming - Nesne Yönelimli Programlama) konusunu araştırman gerekir.

Nesne yönelimli programlama (object oriented programming) ne demektir?
OOP (Nesne Yönelimli Programlama) üzerine yayın yapan eğitim siteleri hangileridir?
Önerebileceğiniz nesne yönelimli programlama dilleri hangileridir? Neden?
Neden fonksiyonel programlama, nesneye yönelik programlamadan daha üstündür?
Nesne Yönelimli Programlama

Nesne yönelimli programlama mantığını anladıktan sonra bir programlama dili öğrenmen ve bu dil ile birlikte web uygulaması geliştirme konusunda tecrübeler edinmen gerekecektir.

Bu esnada veri tabanı tasarlanması ve veri tabanı yapıları ile ilgili de bilgiler bulman gerekecektir.

Başlangıç olarak nesne yönelimli programlama kısmı bence seni istediğin ipuçlarına yöneltecektir diye düşünüyorum.
  • Paylaş
3

Gökhan Çancılar, Ben yapısal ve fonksiyonel programlamayı öğrenmeden OOP öğrenmenin çok soyut olacağı kanısındayım. Programlama bilen kişiler bile işin özü soyutlama olduğundan zor kavrayabiliyor. Bence ilk olarak OOP'ye bakmak adamı pes ettirir en baştan. Düşünsene daha komut nedir bilmiyorsun, koşullu ifadeleri, döngüleri bilmiyorsun, sana bir sınıf yaratıyor. Soyutlama, saklama, miras alma...

Bence önce yapısal öneririm.

Hakan Köse, Olabilir, ama benim kastettiğim şey temel manada oop'nin ne olduğu ve programlama dillerinin bunu ne amaçla ve nasıl kullandığı konusu. Arkadaş programlamaya yeni başlayacağı için kod yazmaktan çok öncesinde kitaptan hikaye okur gibi bu konuyu okursa belki kafasında netleştirirebilir diye söyledim. Muhtemelen bu konuyu okumaya başladığında merak edip class nedir, kalıtım nedir, property nedir gibi sorularına da yanıt aramaya başlayacak. O esnada ya vaz geçecek ya da devam edecek :) Azimli biri ise devam edecektir :)

Gökhan Çancılar, Abi doğru dediğin ama vazgeçen çok olur bu yöntemde. if/else yapısını bilmiyorsa sınıf şudur, abstraction şudur dedin mi hönk olur adam. C veya Pascal ile başlamak bence en iyisi. Hele Pascal, ya da basic süper başlangıç için. Senin dediğini de kapsar şekilde Java : How to Program, Deitel & Deitel iyi gider ya da onların C/C++ how to program kitabı. Ki C olanının Türkçesi de basılmış. Önce yapısal, genel programlama ilkeleri, inceledin mi o kitabı bilmiyorum da, hakikaten sıfırdan başlayan adam için süper. Sonra C++ ile OO kısma giriyor. Daha dengeli bir seçim.

Fantastik cevaplar gelmiş. Projen masaüstü bir yazılım değil web yazılımı. C-C++ vb yerlerden başlaman vakit kaybı olur.

Eğer eğitim tavsiyesi isterse phpprogramlama.com'u bir incele. Ben tek başıma hallederim dersen HTML, CSS ile görmek istediğin görüntüyü çıkarmaya çalış. Photoshop ve ya Gimp üzerinde de tasarlayabilirsin. Youtube'da Photoshop website design, Gimp website design gibi aramalar yapabilirsin. Bu tasarım HTML ve CSS için sana bir ön görüntü olacak. Bu ön görüntüye bakarak HTML, CSS iskeleti oluşturacak bazen arka plan vb. görselleri buradan kopyalayacaksın.

Tasarımını hazırladıktan sonra beğenmeyeceksin. Fazla kafayı takmayıp niteliğe bak. Yoksa o proje çıkmaz. Benim başıma geldi nitekim... Zamanla değiştirir geliştirirsin.

Bu esnada kullanıcılara yönelik küçük animatif aksiyonlar olmasını ve ya kullanım kolaylığı sağlayacak şeyler yapmak için Javascript - JQuery kodları arasında bulacaksın kendini.

Aylar geçtikten sonra PHP/MySQL ile spagetti kodlama yapmaya çalışacaksın. Çalışmalısın. Paldır küldür OOP içine dalmamalısın. Yapısal programlama temeliyle başlamak daha kolay ve şevk verici olacaktır. Ekrana bazı içerikler yazdıracak bunları güncelleyebileceğin bir alan oluşturacaksın vs. Sonrasında kullanıcı kayıt ve giriş alanlarını kodlamaya çalışacak sessionlarla, cookielerle tanışacaksın. Unutma pratik olarak yapmadan sırf okuyarak vaktini harcamamalısın. Yapmaya çalışmalı ve o an yapmak istediğin şeyi yapabilmek için okumalısın. Arada fazladan bir şeyler okuman ve kendini geliştirmen kaçınılmaz olacaktır.

Site hazır olduğunda yani belki 8 ay belki 1 yıl belki 2 yıl sonra kodlarının çok karışık olduğunu görecek ve sistemli hale getirmek isteyeceksin. Bu etapta kütüphanelerini "class" olarak değiştirip gruplayıp sınıf yapısını öğrenmeye başlayacaksın. Bu sana yetersiz geldiğinde Frameworkleri incelemeye başlayacaksın. Slim, Laravel ve Codeigniterin genel yapılarını anlamaya çalışabilirsin. Tabi o zaman daha iyi bir Framework olabilir. Bunlardan birinde karar kılar ve sistemini baştan kodlarsın.

Teorik olarak amacına uygun olmayan şeylerle başlarsan bunlar senin şevkini kırar. Web yazılım ile masa üstü yazılımcılık bambaşka. Temel mantıkları ise elbette benzer. Fakat diğer şeylerle zaman harcama çünkü bu isteğini yapman çok zaman alabilir tek başına. Eğitim bile alsan en az 4 ay nefessiz çalışman gerek.

İlk inploidim bu olsa gerek umarım faydalı olur. :)
  • Paylaş
Online Yazılım Okulu olan Açık Akademiye bir bakınız : sadikderekoy.com/2013/11/acik-akademi.ht...
  • Paylaş
Yorumlariniz için teşekkürler arkadaşlar, yorumlari okudugumda ifadeler çok karmaşık geliyor hepsinin üzerine teker teker düşecem, zaman olarak sıkıntım yok daha çok hobi amaçlı yöneleceğim eğer başaracağıma inanirsam tam zamanlı yapmayı düşünüyorum
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

281 Görüntülenme5 Takipçi5 Yanıt