Re: [Linux-programlama] Bir programlama dilini bilme ölçüsü nedir.

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Adem Alp YILDIZ (ademalp@linux-sevenler.org)
Date: Thu 17 Feb 2005 - 09:51:42 EET


Selamlar,

Serdar yazdıklarına eklenti. İyi bir programcı algoritma dediğimiz
işleyiş mantığını eksiksiz oturtmalıdır. Bu algortimayı coder("yazıcı")
kendi yorumuyla istediği programlama diliyle yazar.

Ben iyi bir programcı sayılırım fakat iyi bir coder değilim. :-)

İyi Çalışmalar
Adem Alp YILDIZ

Serdar KÖYLÜ yazmış:

>Selamlar...
>
>
>
>>bir programlama dilini "tam olarak biliyorum" demek için, o
>>programlama dili üzerinde hiçbir kaynaktan (uç kaynaklar dışında)
>>yararlanmadan program geliştirebiliyor olmanız gerekir.
>>
>>
>
>!?...
>
>Bu ezbercilik olup, cogu zaman berbat program yazmanın en iyi yolu olur.
>20 Yıl önce bizde böyle yapardık. Ama son 15 yıldır kullandığım C için
>örneğin, hala "fd = open(...)" yazarken (mesela) mutlaka man dosyasını
>açıp bakmayı ihmal etmem.. Herhalde ortalama günde 25-30 defaya filan
>tekabül eder bu..
>
>Kısacası, hıfzı beşer nisyanla maluldur. Önemli olan herşeyi bilmeye,
>ezberlemeye çalışmak değil, anlamaya odaklanmak, ezber olacak bilgiyi
>ise nerde bulacağını bilmektir.
>
>Programlama dilini iyi biliyorum diyebilmek için bilinmesi gerekenler
>bence şunlardır (en azından ilgilenilen mimariler üzerinde):
>
>1. Bellek yönetimini bilmek. Sayılar, arraylar, nesneler vs. nasıl,
>nerde saklanıyor?
>2. Fonksiyon çağrıları nasıl yapılıyor? Stack üzerinden mi? Byval'mı,
>Reference'mı kullanıyor vs.?
>3. Temel komut setini iyi kavramak. Bu komut seti örneğin C için:
>
>if/else/elseif, switch, while, for, break/continue, return olacaktır.
>Elbette 1. Maddeye istinaden int, float, struct gibi veritiplerini de
>bilmek gerekir. "int x" ile "static int x" arasındaki farkı, bu "x" in
>stack/data/bss vs. nerede tutulduğunu bilmek elzemdir. C özelinde,
>#define gibi preprocessor komutlarını da bilmek gerekir elbet.
>
>Peki ya printf() yada mmap()? Bunlar dışarıdan referanslardır. Bunların
>iyi bilinmesi değil, iyi anlaşılması, kodlama boyunca da manuallerinin
>el altında tutulması gerekir. Kendi adıma hala printf için \? ve %?
>olaylarını bilmem, ki 15 yıla yakın süredir bunları kullanırım. Bunları
>ezberlemeye çalışmak hamallıktır, gereksiz kafa şişirmektir.
>
>Aslen, bu fonksiyonlar dilin değil, işletim sisteminin bir parçasıdır.
>Diller bunları tarif eder, işletim sistemi yerine getirir.
>
>Bir diğer husus ise, "Programlama" kavramının "Programlama Dili"
>kavramından ayrı olduğudur. Diller bilinen direktifleri, işletim
>sistemine ne istediğinizi söylemeyi sağlayan fonksiyon setlerini ve
>işletim sistemine erişim hizmetini sağlarlar. Bunları ne yapacağınız
>sizin sorununuzdur. Elinizde olanda aslen bu kadarıdır. Grid, textbox,
>veritabanı vs. olayı nedir, nasıl kullanılır kavramları aslolarak
>Programlama konusunun bir parçasıdır. Eğer programlama bilginiz varsa bu
>olayları herhangi bir dille kolayca aşabilirsiniz.
>
>Programlama, olayın özüdür. Herhangi bir dilde yapılabilir. Eğer
>programlama kavramını özümsemişseniz, herhangi bir dil kullanarak bunu
>yerine getirebilirsiniz. Hatta, bu bunlarla olmaz diyerek kendi dilinizi
>yazıverirsiniz. Bu şunu demeye çalışıyor: "Dil öğrenmek değil,
>programlama öğrenmek aslolandır.."
>
>Saygı ve sevgiler...
>
>
>
>_______________________________________________
>Linux-programlama mailing list
>Linux-programlama@liste.linux.org.tr
>http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.