www.fatihkabakci.com

Personal Website and Computer Science TUR EN

UZMAN BIR PROGRAMCI OLMAK

Last update: 2/25/2012 2:27:00 AM

Yazan ve Cevaplayan:Fatih KABAKCI

Bu soru Chip Online sayfasında 25.12.2010 tarihinde dkmami123 adlı kullanıcı tarafından sorulmuştur.

Gelen Soru: Öncelikle deneyimli programcıların bu konuyu okumalarını rica ediyorum.
Öncelikle size bir sorum var.
Sorum şu:
Programlama dillerinde nasıl uzman olunur ?
Ben bir çok programlama dilini inceledim gördüm hepsinde çoğu konular aynı bir çok kitap okudum hepsi aynı şeyleri anlatıo while for döngüler filan gerisi yok benimde sorum burda başlıo gerisini nasıl nerden öğrenebilirim.
Bu konu hem benim için hemde programlama diline yeni başlayan kişiler için önemli bir konu 2 haftadır aklımda bu konu var danışcak kimse yok düşünüyorum en iyisi forumlara başvurmak dedim buraya geldim.Uzman nasıl olunur ? Bu konuda bilgilere ihtiyacım var yardımlarınızı bekliyorum.

Verilen Cevap:

Programlama dilleri yazılarak ogrenilir diye bir tanım yapmak cok yerinde olacaktır.Benzer şekilde bir programlama dili uzerinde 'uzman' olmak,o dilin tüm ozelliklerini bilmekten ve belli bir programlama tecrubesinden gecmektedir.Gunluk hayatta sektorun her noktasında da bu kural degismez.Bir konuda tecrube sahibi olmak zamanın getirisi icerisinde yaptıgınız calısmaların bir urunu olarak size doner.

Ornegin araba kullanmasını bilmeyen bir kişi,surekli araba kullanma eyleminde bulundugu takdirde araba kullanmayı ogrenecektir.Ilk baslarda vites degistirme eylemini,vites nesnesine bakarak uygulamaya calısır.Bir sure sonra ise insan,artık vitesi kontrol etmek icin vitese bakma geregi duymaz.Aynı şekilde bir yabancı dili yeni ogrenmeye calısan bir insan,o dil uzerinde surekli konusarak bellegine ogrenmek istedigi dili yerleştirmiş olur.Programlama tecrubesi de bol kod yazmaktan gecmektedir.Bahsettiginiz for,while donguleri pek tabi ki her programlama dilinde olan yapılardır.Cunku programlama mantıgı ne olursa olsun değişmez !

Dolasıyla da her dilde döngülere(loops) ihtiyac duyulur.Programlama gelişimi icerisinde surekli problemleri analiz etmeli ve bu problemleri algoritmik olarak kurgulayarak yazmalısınız.Proje gruplarına katılarak cesitli projeler icerisinde yer alıp,yeni turetilen problemlere karsı cozum yollarına gidebilirsiniz.Ama unutmayın ki bu iş surekli kod yazmaktan gecmektedir.Şayet kendinizi herhangi bir programlama dili konusunda yeterli goruyorsanız,algoritma analizi kitaplara yonelmenizi tavsiye ederim.Bilgisayar bilimi ve diger bilimler icerisinde,programlanabilecek binlerce,belkide milyonlarca konu bulunmaktadır.Zaten her yeni problemden sonra kendinizi yenileyerek,temel programlama mantıgınız ve tecrubeniz artacaktır.Bilgisayar alfabesi 1 ve 0 lardan olustugundan,temel mantık heryerde aynıdır.Bir problemin alt işlevi,ya true olacaktır veya false.

Ornegin bir araba park bolgesine girdiginde,park lambası yanacaktır,girmediginde yanmayacaktır.Bu otopark işleyişi,hangi programlama dili uzerinde yazılırsa yazılsın aynı mantıkla calısacaktır.Sadece if-else.Buyuk projeleri ve programları düşünürseniz,aslında hepsi bahsettiginiz for,while,if,else,degisken,fonksiyon ve vb kavramlar ile yazılmaktadır.Yazılan kod binlerce satırdan olusabilir,ancak kullanılan yapı asla degismemektedir.Bir hastane otomasyonundan veya bir veritabanı icerisinden kayıt okunması sırasında döngüden baska bir sey gerekli degildir.

Sözün özünde sürekli program yazarak ve olabildigince yeni problemler ile karsılasmak,'uzmanlık' yolunda atılması gereken en temel adımlardan bir tanesidir.Bir sure sonra ise kendinizi bulundugunuz noktada gordugunuz zaman programcılık dünyasında nerede oldugunuzu anlayacaksınızdır.Belki bir kitap yazmışsınızdır,belkide buyuk bir sirkette deneyimli coder olarak kimbilir..

Başarılar
There has been no comment yet

Name:


Question/Comment
   Please verify the image




The Topics in Computer Science

Search this site for





 

Software & Algorithms

icon

In mathematics and computer science, an algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.

Programming Languages

icon

A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. It can be used to create programs to control the behavior of a machine. Java,C, C++,C#

Database

icon

A database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information.

Hardware

icon

Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, memory, cpu.

Web Technologies

icon

Web development is a broad term for the work involved in developing a web site for the Internet or an intranet. Html,Css,JavaScript,ASP.Net,PHP are one of the most popular technologies. J2EE,Servlet, JSP,JSF, ASP

Mobile Technologies

icon

Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. J2ME

Network

icon

A computer network or data network is a telecommunications network that allows computers to exchange data. In computer networks, networked computing devices pass data to each other along data connections.

Operating Systems

icon

An operating system is software that manages computer hardware and software resources and provides common services for computer programs. The OS is an essential component of the system software in a computer system. Linux,Windows

Computer Science

icon

Computer science is the scientific and practical approach to computation and its applications.A computer scientist specializes in the theory of computation and the design of computational systems.