ESKi DosTLaR


 
AnasayfaAnasayfa  PortalliPortalli  GaleriGaleri  SSSSSS  AramaArama  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

Paylaş | 
 

 programlamaya başlamak isteyenler

Aşağa gitmek 
YazarMesaj
Misafir
Misafir
avatar


MesajKonu: programlamaya başlamak isteyenler   Ptsi Ağus. 04, 2008 7:57 pm

programlamaya başlamak isteyenler


Programlama'ya Başlamak İsteyenler
sizlere temel konulardan bahsetmek ve programlamaya yeni adım atacak arkadaşlar için yol gösterici olacak bir kaç fikirden söz etmek istiyorum. Amacım yeni başlayan pek çok kişinin sordugu sorulara cevap vermek ve cesaretlendirerek yollarina devam etmelerini saglamaktır.

Programlama Dili Seçimi
--------------------------------------------------------------------------------

Nasıl tek bir dil bilmek yetmiyorda insanlar ingilizce, almanca ögreniyorsa bilgisayar dünyasında da tek bir dil bilmek yetmiyor. Günümüz programlama ortamlarında farklı dillerle yazılmış parçaları beraber calıştırabilmek mümkün oldugu için, en az iki programlama dili bilmeniz iyi olur. Dilinizi seçerken soracagınız sorular:
1- Ürününüz birden fazla işletim sistemini destekleyecek mi?
2- Ürününüz web, istemci/sunucu, tek başına calişabilecek biçimde dizayn edilecek mi?
3- Ürününüz en son yazılım tekniklerini ve teknolojilerini uygulayabilir mi?
4- Kullanmayı düşündügünüz veritabanlarını destekliyor mu?
5- Yazılım aracı/dili için egitim verecek kuruluş var mı?
6- Diploma, sertifika veriliyor mu?
7- Dünyada başka kimler kullanıyor?
8- Örütbagında arama yaptıgınızda kaç tane sonuç dönüyor?
9- İş bulma sitelerinde, sizin düşündügünüz yazılım aracı/dili ile ilgili ne kadar iş ilanı var.
10- Ürününüzü dünya genelinde satmayı düşünüyor musunuz?
11- Araç/dil bu dizayna izin veriyor mu?
12- Yazılım aracı/dili üreten firma ile birlikte başka hangi firmalar bu araca/dile destek veriyor.
13- Ne kadar para harcamayı düşünüyorsunuz.?

Buradaki araştırmaların hepsini Türkiye çapında degil dünya çapında yapın. En son versiyonları ve teknolojileri satın almaya bakın.

İkinci dil ile ilgili olarak tamamen karşıt bir firma/teknoloji seçin. Mesela VB ve Delphi, Java ve C++, C# ve Perl, PHP ve XML vs. İşletim sisteminide degiştirebilirsiniz. Mesela Linux/Kylix ve Windows/C++, Unix/Python ve Windows/XML, Linux/PHP ve Windows/HTML vs. Listeleri uzatmak mümkün.

Nasıl Başlanır
--------------------------------------------------------------------------------

Dilinizi seçtikten sonra ilk yapacagınız iş, ortama olan göz alişkanlıgınızı kazanmak için menülerde ve ekranlarda gezinmeniz olacaktır. Burada ortam dedigimiz programlama yaptıgınız dilin arayüzü olan IDE (Integrated Development Environment, Tümleşik Geliştirme Ortamı) hakkında bilgi sahibi olmak ve menülerde ne nerede bilgisini oluşturmak içindir. Eger ingilizce biliyorsanız menüler üzerindeyken F1 tuşu ile yardim alabilir ve ne işe yaradıgını ögrenebilirsiniz. Bundan sonra başlangıç seviyesi kitapları ile yola çıkarak adım adım dili ögrenmeye başlarsınız. Kitap dışında deneme-yanılma yolu ile küçük projeler yapıp, dilinizin nelere imkan verdigini ögrenebilirsiniz. İlk başlarda cok fazla zaman harcayarak mümkün olan her şeyi deneyin. Belli bir seviyeye geldikten sonra, belli konuları daha derin ögrenmeye başlarsınız. Dili biraz ögrendikten sonra bıranşlaşma için, veritabanı, donanım, sistem, ticari programlama gibi konulara egilebilirsiniz.

Kitaplar
--------------------------------------------------------------------------------

Her yeni başlayana tavsiye ettigim yazarlar, İhsan Karagülle, Memik Yanık, Zeydin Pala dışında kullandıgınız dilin üreticisinin kitapları yada 3. parti firmaların kitaplari çok yararlı olabilir. İlgilendiginiz konularda referans kitaplarınızın bulunması ve ihtiyacınız oldugunda konu başlıklarını kullanarak yardım almanız çok iyi olur. Eger merkezlere uzak yerlerde oturuyorsanız örütbag üzerinde sipariş verebileceginiz yerler oldukça fazla. Aldıgınızın kitapların yayınevlerinin sitelerinden kitapla ilgili düzeltme var mı kontrol edin.

Örütbag Üzerinde
--------------------------------------------------------------------------------

E-posta listeleri çok yararlıdır ve teknolojileri günlük takip etmenizi saglar. Özellikle Microsoft, Rational, IBM, CA, Inprise gibi büyük firmaların gazete e-postalarına üye olmanızı tavsiye ederim. Bu sayede yeni ürünler çıktıgında veya seminerler oldugunda hemen haberiniz olur, ayrıca gidip bu firmaların sitelerinde debelenmekten kurtulursunuz. Haber sunucuları, programlamaya özel siteler'de işinizi görür. Önemli olan bir şekilde teknolojileri takip etmek ve güncel konulardan haberdar olmak. Yahoo gibi sitelerin gruplarına da bakabilirsiniz. Hangisinde daha fazla üye ve mesaj varsa ona üye olun.

Teknolojiler
--------------------------------------------------------------------------------

Seçtiginiz programlama dili ile son teknolojileri uygulamak mümkün mü? Fazla kod degişikligi yapmadan hem internet ortamını hem istemci/sunucu yapılarını destekleyebiliyor musunuz? Yada daha da önemlisi seçtiginiz dil ile, bitmek tükenmek bilmeyen müşteri isteklerine cevap verebilecek misiniz. Platformlar arası veri alisverişi konularına destek veriyor mu? Hangi veritabanlarını destekliyor? Yada sizin istediginiz veya kullanmayı düşündügünüz veritabanını tam olarak destekliyor mu? Teknoloji demekle neyi kastediyoruz. ActiveX, SOAP, COM, DCOM, COM+, .NET, Web Services, RMI, IIOP, TCP/IP vs. gibi pek çok metod bahsettigimiz teknoloji alanina girer. Seçtiginiz dil ile bu teknolojilerden bazılarını desteklemek istiyor musunuz?

Analiz
--------------------------------------------------------------------------------

Program yazarken kullanacaginiz analiz metodolojileri en az kodlama yapmak kadar önemlidir. İster yolun başında bir programcı adayı olun ister programlama konusunda uzman olun metodoloji ve o metodolojiyi dogru uygulamak çok önemlidir. İyi yazılım, iyi bir analiz ile başlar. Analiz sizin programınızla neler yapacagınızın ve müşterinin problemlerine nasıl çözüm getireceginizin bir taslagıdır. Analiz iş senaryolarınızı ortaya çıkarmanıza ve müşteri isteklerine daha iyi cevap vermenizi saglar. Analiz Metodolojileri nelerdir? Ornegin Modül Tabanlı Analiz (CBD, Component Based Development), Nesne Tabanli Analiz (OOA, Object Oriented Analyse), Unified Modelling Analiz (bunun Türkçe'sine UM Analiz diyelim, pek iyi olmadi ama!), eXtreme Programming (Yazılım dünyasında XP olarak biliniyor fakat Windows XP ile çakışıyor). Bu metodolojileri dogru biçimde projelerinizde uygularsanız verimlilik ve zamanında yetiştirmek açısından pek sorununuz olacagını zannetmiyorum. Yukarıda bahsettigim konuları tek tek açiklayan makalelerde yazacagım.

Düzenli Çalışma
--------------------------------------------------------------------------------

Kendinize bir hedef vermeden bilgisayarın başına oturmayın. Hedefinizi belirleyip ona göre yol alın. Projelerinize hep bir isim verin ve anlamlı bir isim verilmiş bir dizine kaydedin. Form'larınızın isimlerini ve başlıklarını muhakkak degiştirin. Bu sayede farklı formları farklı projelerde kullanmak istediginizde isim çakışmaları olmaz. İsimlerden formlarınızın ne işe yaradıgını kolayca anlayabilirsiniz. Her yigidin bir yogurt yiyişi oldugu gibi ordularında uyulması gereken kuralları vardır. Bir yazılım firmasında çalışmaya başladıgınızda, ilk yapacagınız şey firma standartlarını ögrenmektir. Bu sayede ekip içi bilgi alış verişi hızlı ve kesin olur.

Dökümantasyon
--------------------------------------------------------------------------------

Yaptıgınız çalışmaları, ufak projeleri kısacası ileride kullanabileceginiz her kod parçasını yazıya dökün ve ne işe yaradıgını, nasıl calıştıgını, amacının ne oldugunu ister kodun içine yorum satırı olarak, ister bir word dosyasına yazarak saklayın. Hangisi pratik geliyorsa. Bu tür bir çalışma ileride bir kod parçasına ihtiyacınız oldugunda kolayca bulmanızı saglar.

İngilizce Kaynaklar
--------------------------------------------------------------------------------

Yabancı dil bilmek pek çok konuda işimize yaradigi gibi, programlama konusunda da işimize yarayacaktır. Fakat öyle sular seller gibi bilmeye veya konuşurken aksanlı konuşucam diye agzımızı burnumuzu bükmenin anlamı yok. Sonuçta bizler Türk'üz ve konuşurken yabancı oldugumuzun anlaşılmasıda gayet dogal ve gereklidir. Yabancı dil bilgimiz, konumuzdaki yabancı yayınları takip edecek ve derdimizi anlatabilecek kadar olsa yeter. Bu nasihatlerden sonra gelelim yabanci yayınlara, örütbag üzerinde bir arama ile pek çok yayına ulaşabilirsiniz. Bunların dışında Microsoft yayınları ve kitapları, Wrox yayinevinin kitapları, Visual Studio ile gelen MSDN (Microsoft Developer Network, Microsoft Gelişitirici Agi) tıkızları çok işinize yarayabilir. Inprise ürünleri ile birlikte gelen yardım dosyalarıda çok yararlı olabilir. Ek olarak firmaların sitelerinde her zaman deneme sürümlerinin tıkızlarının adresinize postalanması için gerekli formları bulup doldurabilirsiniz. Ayrıca pek çok teknik dokumanı, gerçek projeleri, egitimle ilgili yazıları bilgisayariniza indirebilirsiniz. Firmaların Türkiye temsilciliklerinden birer baglantıya sahip olmanızda iyi olur.

Kurslar
--------------------------------------------------------------------------------

Kursların piyasa tarafından tanınmış ve verdikleri sertifikaların dünya çapında geçerli olmasına dikkat edin. Çalışmalarınızın kurs ile sınırlı kalmaması için, evinizde de bazı projeler geliştiriyor olmanız gerekir. Türkiye'de çogu büyük şehirlerde pek çok kurs mevcut. Kurs ile birlikte çevrenizde oluşacak arkadaş grubu iyi bir yönlendirme ile birlikte iyi projelere imza atabilir. Unutmayın çevrenizdeki grup ileride iş arkadaşlıgına dönüşebilir.

Amatör Ruhu
--------------------------------------------------------------------------------

Hangi işle ugraşıyor olursanız olun, dünyanın en kötü şeyi, ugraştıgınız alanda her şeyi bildiginizi iddia etmek olacaktır. İşte bu tür adamlardan uzak duracaksınız. Hayat zaten kendi içinde bir okul bizlerde bu okulun ögrencileriyiz. Her zaman ögrenecek yeni şeyler olacak. Bazen hiç ummadıgınız bir çıraktan birşeyler kapabilirsiniz. Yada artık kendinizi programlama hakkında ermiş olarak gördügünüz anda bir çırak çıkıp algoritmalarınızın şöyle şöyle yaparsanız daha hızlı çalışacagını söylemesi sizi yerin dibine sokabilir. Ne yapmak gerekir, çıragı karşınıza alıp teoremleri hakkında konuşursunuz ve sonuçta gerçekten haklıysa dediklerini uygulayıp dersinizi alırsınız. Daha sonra bu dersi başka çıraklara aktarmak üzere tabii. Ögrenmekten ve dogru bildiginiz şeylerin aslında yanlış oldugunu anladıgınızda degiştirmekten çekinmeyin. Yanlışları bulan kişileri tebrik edin ve daha fazla yanlış bulmaları için yönlendirin. Ancak bu şekilde ilerleme kaydedebiliriz.

Ben Neler Yapiyorum
--------------------------------------------------------------------------------

Gelelim bu kadar bilgiden sonra ben bunları ne kadar uyguluyorum. Dil olarak seçimlerim VB.NET ve C#. Bunlarla birlikte XML ve SOAP, Web Services gibi teknolojileri ögrenmeye çalışıyorum. İşletim sistemi olarak, Windows ve Red Hat Linux ortamlarını seçtim. Web Sunucu için Linux üzerinde Apache Web Server, Windows üzerinde IIS kullanıyorum, bir yandan ASP ile takılırken diger yandan Linux üzerinde Java Bean ve EJB nasıl yayınlanır araştırıyorum. İlerde Java dilini de ogrenme planım var. Veritabani olarak Linux/IBM DB2 ve Windows/SQL Server kullanmaya calşıyorum. UML, OO, CBD metodolojilerinde de calışmalarım var. Araç olarak, Rational, CA, Microsoft, IBM, BEA ürünlerini kullanıyorum. Tabii ki tek bilgisayar yetmiyor. En az 3 adet lazım, bir tanesi çift işletim sistemli ve hepsi ag ile birbirine baglı. Bilgisayarlardan birini çöpten buldum.

Sizde böyle bir sistemi bir kaç arkadaş birleşip kurabilirsiniz. Birde rahatça girip çıkabileceginiz bir oda buldunuzmu, iş proje bulmaya kalıyor. Mahallenizdeki esnaf ile hiç bu konuları konuştunuz mu? Toplumumuzun gelişmesi ve yeni şeyleri ögrenmesi birazda size baglı. Mahalle esnafına bilgisayardan ve özel yapılmış programların yararlarından bahsettiniz mi? E-posta, internet, işletim sistemi gibi konularda onları bilgilendirmeyi hiç düşündünüz mü? Birazda misyonerlik gibi bir göreviniz var aslında. Etrafınızdaki insanlara bildiklerinizi aktarmayı hiç düşündünüz mü?

Sonuç
--------------------------------------------------------------------------------

Yukarıda anlattıgım yöntemler her yazılımcının alet çantasını geliştirmesi için çok güzel yöntemler. Fakat nasıl evinizde bir tamirata giriştiginizde alet çantasındaki her aracı kullanmıyorsanız, yazılımcı olarak alet çantanızı da o şekilde kullanacaksınız. Ögreneceginiz her bilgi alet çantanızda yerini alacak ve yeri geldiginde çıkarıp kullanmaktan çekinmeyeceksiniz. Bu arada aletlerinizde gelişmelerde olabilir, zaman içersinde bazılarıda yok olabilir. Önemli olan sürekli devinim içinde ögrenmeye ve gelişmeye açık olmaktır.

Hepinize kolay gelsin
Sayfa başına dön Aşağa gitmek
Asi_MeLeK
TıP-KoLiK GeNç
TıP-KoLiK GeNç
avatar

Kadın
Mesaj Sayısı : 1313
Yaş : 26
Nerden : Yüreğimin götürdüğü Yerden...
Meslek : Öğrenci
Lakap : BiRaz çaTLaK ve DeLi DoLu CiMCiMe
Kayıt tarihi : 03/08/07

MesajKonu: Geri: programlamaya başlamak isteyenler   Ptsi Ağus. 04, 2008 8:01 pm

Ooo bakıyorumda döktürmüşsün...
Emeğine sağlık dostum Very Happy
Devamını bekliyoruzz .... Very Happy

_________________
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://eskidostlar.forumr.net
Misafir
Misafir
avatar


MesajKonu: Geri: programlamaya başlamak isteyenler   Ptsi Ağus. 04, 2008 8:05 pm

saol saol Smile
Sayfa başına dön Aşağa gitmek
 
programlamaya başlamak isteyenler
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» BADANA, BAĞIRMAK, BAĞLAMAK, BAĞ, BAHARAT, BAHAR, BAHÇIVAN, BAHŞİŞ VERMEK, BAKLA, BAL
» ovulasyon testi ile hamis kalmak isteyenler ve ovulasyon resimleri

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
ESKi DosTLaR :: [-|-Programlama Dilleri-|-] :: visualbasic.net-
Buraya geçin: