Konu: Coder Nedir?
Tekil Mesaj gösterimi
Alt 14 Aralık 2015, 00:18   #15
Çevrimdışı
Sky-Dancer
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Coder Nedir?




Eskiden kalma yaklaşım;
- Programcı, program yazan kişi anlamına gelir. Evet, bir programı yazar, gelişimini sadece belirli kriterler oluştuğunda yapar (para, hatalar, istekler vb. gibi).
- Coder ise, bir programı yazar ve gelişimine sürekli devam eder. Veya kafasında "iyi" olana kadar kodları değiştirerek optimize ve hız sağlamaya, hatasızlık oranını yükseltmeye çalışır.
Tabi burada kodları değiştirmekten kastım, bir programın veya kod öbeğinin sürekli yeni versiyonunu çıkartıp sadece yenilik eklemek değildir.

Aslında olan (yine sonucu olarak eskiden kalma yaklaşım ile nerdeyse aynıdır);
Programlama merakınız/azminiz ne kadar var ise, ve bu merak/azim ile doğru orantılı olarak kendinizi geliştirebilmişseniz, siz bir codersınızdır. Çünkü gerçekten geliştirebildiyseniz, daha önce görmediğiniz bir algoritmayı bile kafanızda EN AZINDAN kaba kod olarak hayal edebilmeniz gerekir. Herhangi x bir dil veya herhangi y bir scripting dili farketmez.

Misalen (deneyimimin olduğu diller ile ilgili konuşmam gerekirse);
* Mirc scripting, bir dil değildir, bir betik dilidir. Yorumlayıcısı ise, mirc.exe programıdır. Hatta arkaplanı c/c++ ile yazılmıştır. Görsellik genellikle, hazır kütüphaneler ile verilir. scripting kısmının yetmediği durumlarda ise, modüler sistemi mevcuttur.
* PHP bir dil değildir, bir betik dilidir. Yorumlayıcısı ise, php/php.exe programıdır. Hatta arkaplanı yine c ile yazılmıştır (c++ modül desteği de vardır). İçerisinde bir çok hazır kütüphane kullanılmıştır.
* ASP bir dil değil, betik dilidir. VBScript yapısı ile kodlama yapılır.
* ASP .Net (aslında .net ailesi) bir dildir. C# gibi, webin çalışmasını sağlayan binary dosyaları derlersiniz.
* Javascript bir betik dilidir. Javascript Ara motorları ile çalıştırılan kod öbekleridir.
* JQuery, javascript üzerine yazılı bir framework'tür. Fakat kodlama stili olarak bakıldığında, yeni bir betik dili diyebiliriz.
* Java bir programlama dilidir. Derlenerek, yeni dosya oluşturmak suretiyle çalıştırılır. Arkaplanda, üretilen bytecode'ları yorumlayan JVM(Java Virtual Machine sayesinde çalışır) Piyasada haddinden fazla hazır kütüphanesi vardır. Bunun da en büyük sebebi; diğer programlama dillerinde sıkça karşılaşmadığım bir özellik olan; derlenmiş dosyayı, kütüphaneymiş gibi kullanabilmenizdir. Ve tabiki, içerisindeki programlama yapısı da baya gelişmiştir. OOP destekler.
*ActionScript/SWF/Flash bir programlama dilidir. Swf içerisinde kendi assembly düzeni vardır.
* Objective-C bir programlama dilidir. C'yi baz alarak, yeni bir programlama dili oluşturulmuştur.
* C# bir programlama dilidir. Derlenerek, yeni dosya oluşturmak suretiyle çalıştırılır. Arkaplanda ".Net Framework" kullanır (derleme/çalıştırma esnasında). OOP destekler.
* Visual Basic bir programlama dilidir. Derlenerek, yeni dosya oluşturmak suretiyle çalıştırılır. Yine VBScript benzeri bir yapıya sahiptir.
* Delphi bir programlama dilidir. Derlenerek, yeni dosya oluşturmak suretiyle çalıştırılır. Kendine has bir kodlama şekli vardır. (Son 4 5 senedir, Delphi'nin .Net'e yönelmesi ile, Delphiyi bıraktım)
* C bir programlama dilidir. Derlenerek, yeni dosya oluşturmak suretiyle çalıştırılır. OOP desteği yoktur. Yapısal bir dildir.
* C++ bir programlama dilidir. Derlenerek, yeni dosya oluşturmak suretiyle çalıştırılır. OOP desteği vardır.
* Assembly bir programlama dilidir. Derlenerek, yeni dosya oluşturmak suretiyle çalıştırılır.

Buradaki amacım programlama dillerinin betik dillerinden üstünlüğü değildir, ha keza betik dillerinin de programlama dillerinden üstünlüğü değildir.
Yeri geliyor, mirc.exe yi veya php.exe yi program olarak çalıştırıp, kodları yorumlatmak sureti ile programmış gibi çalıştırabiliyorsunuz.
Yukarıdaki dil listesini yazmamdaki amacımı şu cümle özetleyecektir;
Sizi Coder yapan/yapacak şey, aslında dilin kendisi değildir, kod yazmanız da değildir, algoritmanızın ne kadar iyi olduğu ve algoritmayı ne kadar iyi kullandığınızdır. Tabi pratik çözümler ve yaratıcılık da bu durumda önemlidir.

Tabi birde kod kısaltma durumu var...
Her kod kısaltımı, illa "daha hızlı"/"daha iyi" çalışacak anlamına gelmiyor. İşleri daha kötü de yapabilirsiniz. Ama genellikle daha iyidir. Algoritmanın anlanması, hafızadaki erişim yerleri ve zamanları vs. gibi.

Kısaca özetle, algoritma bilginiz ne kadar iyiyse, azminiz ve merakınız ne kadar fazla ise, hiç yazmadığınız bir algoritmada bir aklınızda bir ampül parlayabiliyorsa, kodlara geri dönüp bakmayı biliyorsanız, sabit fikirli değil iseniz, siz bir codersınızdır.
NOT:
Konuyu açma gereksinimim, kilitli durumda olan, [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bu konuda dolayıdır. Konuda/Yorumlarda Doğru şeyler var, yanlış olan cümleler de olduğu için açtım.
Konuda geçen (gördüğüm) eksik ve/veya yanlışlar ve/veya yorumlarım;
Goemon, çoğu şeyi doğru yazmış, yazılanların da çoğu doğru, ama eksik/hatalı gördüğüm veya yorum yapmak istediğim yerleri dile getirmek istiyorum;
* "Coder En Kısa ve Aynı Zamanda En Hızlı Code'yi Yazana Denilir"
Coder, zamansal olarak evet hızlı olması gerekir. Ama hatasızlık daha ön plandadır. Hatasızlık için ise, bazan kodu kısaltmamak daha iyidir. Öyle bir an gelir ki, bulunduğunuz platform, sırf sizin kısalttığınız kodlar yüzünden, sağlıklı çalışmayabilir ( swf üzerinden javascript yönlendirmesi yapmayı deneyin, Bu yönlendirmedeki javascript fonksiyonuna ise, bir for döngüsü koyun, ne demek istediğimi anlarsınız
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
)
Veya kodu kısalttınız, erişim daha geç oluyorsa, o kodu uzun yazmanız daha kafidir. Daha geç olması da sizin arkaplanı ne kadar bildiğiniz yani coder olmanızla alakalıdır...
Ve yine, siz, sizden istenen nerdeyse her kodu yazabiliyorsanız siz bir codersınız. Dil ayrımı yapmak aslında biraz mantıksız oluyor.
* "Coder Zorlanmaz" ifadesi
Zorlanılan yerler elbette olur, mesela 3 katlı bir integral denklemini, integral görmemiş bir coder'a sorarsanız, neyi nerde yapacağı konusunda zorlanacaktır. Fakat işte burada şu vardır, bu soruyu sorduğunuzda, coder dediğiniz şahıs, matematik bilen birine bu integralin çözümü konusunda istişare edebiliyor mu? araştırıyor mu bu konuyu (alanı olmasa bile)
* Şimdi Tutturduk iRC Coder ile mIRC Coder Aynı Değiller Diye Aslında Doğru İki Alanda Farklı Biri Kodlayıcı Diğeri Programcı
Burda deniliyor ki, c/c++ ile adam kod yazıyor, alanında ne kadar önemli olduğu beni bağlamaz, ama mirc scripting yapımcısı daha bir coderdır?
Ha keza mirc scripting de adam uzmandır (algoritmaya ve neyi nerde yapacağına hakimdir), c/c++ bilen adam ise, basit kodlar yazabiliyordur, bu durumda, mirc scripting uzmanı arkadaş, coder'lığa daha yakındır veya coderdır.
* PHP, ASP bunlarda programlama dilidir ama bu yazılımlarda alanında iyi olanlara webmaster diyoruz tıpkı bizlere coder denmesi gibi.
Yukarıda da belirttiğim gibi, web dillerinin çoğu programlama dili değildir.
* "Soruyorum foruma o kadar webmaster arkadaşımız var sadece asp ve php yazılımı ile hayatını kazanabiliyorlar mı?"
Sorun olan da bu, Coder dediğiniz adam, farklı dillere atlama eğilimindedir. Ve gerçekten coder ise, bunu da başarır (tabi zamansal ve heves ile alakalıdır). Genellikle bir webmaster'a sorduğumda, web harici kodlama yapıyor musun diye, "hayır" cevabını alıyorum. Bu 2 senelik webmaster da olabilir, 20 senelik webmaster da olabilir. PHP ASP veya benzeri betik dillerini veya mirc scripting TCL gibi betik dillerini düşündüğüm zaman, genellikle değişken tipi yoktur (arkaplanda vardır). fakat klasik bir programlama diline baktığınızda ise, değişken tipi çok önem arzetmektedir. Birbirine çevirimler, hafızada ne kadar yer kapladığı, birbirine dönüştürmek zorunda oluşunuz... Hatta işin üzücü tarafı, bir çok webmaster veya programcı bırakın OOP ile kodlama yapmayı; OOP nin ne olduğunu dahi bilmiyor. Nesneleştirmek, cidden günümüz şartlarında bir çok klasik problemi daha kısa ve daha kontrollü biçimde yapmanızı sağlıyor.
* L4roXyL "Diyorduki En İyi Coder Meydan Okuma da Belli Olur, Sorulan Sorulara En Kısa Kodu Yazıp, ve Yazdığı Koda En Hızlı İşlevi Yani Sonucu Verdirte Bilene Coder Derim Diyordu."
Yorum kısmen doğru, hatalı olan kısmı şu, eğer bu coder, hız için, hatasızlıktan ödün veriyorsa, bunları göz ardı ediyorsa, coder olamaz zaten... Kontrollü kod yazımı her zaman daha iyidir. Misalen, ben size x bir algoritmada, y bir veri geldiğinde, bilinen en hızlı algoritmayı yazsam, fakat veri değiştiği anda hata verirse, bu beni coder yapar mı? Bence yapmaz
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Son Olarak;
- Tek dile bağlı kalmamaya çalışın (Coderlar veya programcılar için konuşuyorum). Sırf zevk için, yeni programlama dilleri öğrenin. Bu sizi bulunduğunuz noktadan daha fazla geliştirecektir.
Buna da şöyle bir örnek vermem gerekirse; günümüz platformlarında artık tek dil yetmiyor çoğu kez. Web bağlantısından bahsediyorsanız PHP bileceksiniz (ha derseniz ki, ben tarayıcıdan gelen verileri ayrıştırırım, kendime http server tarzı bir server yazarım, seçim sizindir); bir çok şeyin artık mobil uygulaması da yapılıyor, Java, Swift/objective-c, C# bileceksiniz (yazdığınız her uygulamayı web componentleri desteklemeyebilir), backend kısmı gerekirsa, java/c++ gibi bir dille yazmak daha makuldür. Ama derseniz ki ben PHP biliyorum ve PHP ile server yazacağım, o da tamam. Ama farklı dillerle yazarsanız, emin olun aklınızdaki fikirler değişecektir. Önemli olanda budur.

Kolay gelsin.

__________________
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
 

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet