Programlama öğrenimine ufak katkılar

Kodlama vs Programlama

Aşağıdaki yazı orjinalinden tarafımca çevrilmiştir. Bu yazıda “coder” terimi geliştirici, “programmer” ise programcı yerine kullanılmıştır.

Yazılım geliştirme sektöründe bazıları şunu iddia ediyorlar: “Kodlama ile programlama aynı değildir. Çünkü kodlayabildiğiniz şeyi programlayabildiğiniz anlamına gelmez.” Bu ne anlama geliyor? Uzun yıllar bu iki kelime birbirinin yerine kullanıldı. Aynı anlama geliyor gibi düşünülüyor. Ancak, durum farklı (günümüzde hala aynı anlamda kullanılıyor ve bolca karıştırılıyor S.B)

Kodlama, bir programlama dilinin yapısını ve gramerini anlama kabiliyetidir, oysa programlama, bir düşünceyi veya fikri, bir sorunu çözmek için bir dile dönüştürme yeteneğidir.

Yazılım sektöründe kullanılan bu iki ünlü kelimeyi anlamak için biraz derine dalalım.

Kodlama nedir?

Bilgisayarlar, insanlar için anlaması zor olan makine dilinden anlarlar. Bundan dolayı, bilgisayarlarla etkileşime geçmek için daha doğal bir yol olan programlama dilleri icat edildi. Bütün programlama dillerinin ortak özelliği nedir peki?

  • Kod yazarken dikkat edilmesi gereken yazım kurallarının olması.
  • Bilgisayarın anlaması için kodları makine koduna çeviren bir derleyicinin olması.
  • Bilgisayarın kodları çalıştırıp sonuçları dönmesi.

Kodlarınızı yazabilmek için birçok programlama dili mevcuttur. Kodlama geliştiricinin istediği şekilde bilgisayarın davranması için bir programlama dili kullanma sürecidir. Her satır kod bilgisayara birşey söyler ve bu kod gruplarına ise script(betik) denir. Scriptler, size, eğer derlenip çalıştırılırsa sadece istenilen sonuçları verir. Yazdığınız scripti programa çevirmeniz gerekir. Derleme aşamasında bilgisayarın anlaması için programlama dili makine diline dönüştürülür. Oyun, web sitesi ya da herhangi bir uygulama bir programdır.

Kısacası, kodlama program üretme aşamasında kodları yazma işidir.

Programlama nedir?

Kodlama yazılım(program) geliştirme üretme sürecinin büyük bir parçasıyken, en temel parçası değildir. Program oluşturmak için, başka birtakım adımlar da gerekiyor. Bunlar planlama, tasarım, test, dağıtım (yayma) ve bakım/onarım gibi. Programlama daha üst bir kavramdır; kodlamanın yanı sıra, analiz, algoritma geliştirme, veri yapılarını anlama ve problem çözme gibi görevleri de kapsar.

Kodlama yazılım(program) geliştirme üretme sürecinin büyük bir parçasıyken, temel parçası değildir. Uygulama oluşturmak için, başka birtakım adımlar da gerekiyor. Bunlar planlama, tasarım, test, dağıtım(yayma) ve bakım gibi. Programlama daha üst bir kavramdır; kodlamanın yanı sıra, analiz, algoritma geliştirme, veri yapılarını anlama ve problem çözme gibi görevleri de kapsar.

Programlama için kod yazmak şarttır. Programın genel hatlarıyla yapısını açıkça ortaya koymanız gerekir. Örneğin kod yazmadan önce geliştirdiğiniz mantığı kendi dilinizde kabaca açıklayın (pseudocode). Bu algoritmanızı açıklamak için etkili bir metottur.

Programlama hakkında daha fazla bilgi almak için şu linke tıklayınız.

Özellikler

Şimdi, programlama ve kodlamaya ait birtakım özelliklere değinelim.

1. Kapsam (Scope)

Kodlama, programlamanın alt bir alanıdır. Kodlamada, bazı komut gruplarını bilgisayarın anlayacağı şekle çevirirsiniz. Kodlama parçalar halinde yapılabilir. Kod yazmadan önce, yazacağınız kodun ne yapacağınızı genel hatlarıyla oluşturmalısınız. Geliştiriciler(programcılar) bunu yapabilmek genellikle kaba kod kullanırlar.

Oysa programlama, kod yazmanın ötesinde strateji geliştirme, kod yazma, test ve çalışan bir program oluşturma gibi gereksinimleri önceden tanımlanmış daha geniş bir kapsama sahiptir.

2. Beceriler (Skills)

Geliştirciler, kendilerine verilen talimatları yerine getirmek için kod yazarlar. Bir geliştirici programlama dilinin yazım kurallarını (gramer) bilmek zorundadır.

Bir programcı mantık geliştirme, analiz etme, tasarım geliştirme ve kompleks programlar yazmak için gereken bilgi ve becerilere uzun yıllar sonra sahip olabilir. Programcılar belirli problemleri çözmek için hayal kurma ve analitik becerilerini kullanırlar. Bir programcı karmaşık veri yapıları ve algoritmaları anlayabilmelidir.

Programcılar genellikle teknik yazarlardan nihai ürünün hangi özelliklere sahip olması gerektiğini, hangi sorunları çözemesi gerektiğini sorarlar ve ürünün gereksinimlerini öğrenirler. Sonrasında geliştiriciler bu gereksinimleri takip ederek kod yazarlar. Programcılar yazılan kodları derleme, hata ayıklama, test etme ve kodları geliştirme üzerinde dururlar.

3. Araçlar (Tools)

Eğer bir programlama dilinde iyi olduğunuzu düşünüyorsanız basit bir metin düzenleyicisin de bile kod yazabilirsiniz. Yazılım geliştirme sürecinde derleyici (compiler), linker (derleyici tarafından object dosyasına çevrilen bir veya birden çok dosyanın birbirleri ile ilişkilendirmesi ve tek bir çalıştırılabilir dosyaya çevrilmesini sağlayan yazılım), assembler (çevirici), kod editörü, arayüz tasarım araçları, hata ayıklama araçları, performans analiz araçları gibi birçok araç kullanılır.

Geliştiriciler için popüler geliştirme araçları arasında Eclipse, Bootstrap, Delphi, ATOM sayılabilir.

Programlama daha geniş bir kapsama sahip olduğu için bir programcı Git, Github, veritabanı araçları, Apache Spark gibi analiz araçları, Bulut araçları gibi daha birçok gelişmiş konsept ve kavramları bilmek zorundadır.

4. Çıktı (Outcome)

Kodlama sırasında bilgisayara verilen talimatların sonucunu alırsınız. Programlamanın çıktısı ise bir uygulama, web sitesi veya bir yazılım ürünüdür.

Programlama bir kitapsa, kodlama onun ancak bir bölümüdür denilebilir.

5. Yardım (Support)

Hem kodlama hem programlama geniş topluluklar sayesinde sürekli gelişim halindedir. Stackoverflow, Github, Toptal, SAP Community Network, (Quora‘yı da ekleyebiliriz S.B) gibi birçok web sitesi hem programcı hem geliştiriciler tarafından kullanılır.

Kodlamaya Başlamak için Bazı Fırsatlar

Nasıl kod yazıldığın öğrenmek ve gelecekte uzman bir programcı olmak için gençken nereden başlayacağınızı düşünmelisiniz.

Ücretsiz olarak kod yazabilmeyi öğrenebilirsiniz.

Özet olarak

Özetlersek, kodlama günümüzde en çok tercih edilen meslekler arasındadır. Kodlama öğrenmek zor değildir, bunun için zaman ve pratik gereklidir. Kodlama becerilerinizi geliştirmelisiniz.

Programcılar teknik düşünme ve analitik becerilere sahiptirler. Bütün programcılar geliştiricidir ancak bütün geliştiriciler programcı değildir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir