Yıllarca "düşük seviyeli" dilleri düşündüğüm şeyi kazmayı düşündüm. Benim için bu C ve montaj anlamına gelir. Ancak henüz bunun için zamanım olmadı, hiç de gerekli olmadı.
Artık ortaya çıkan bir gereksizlik göremediğim için, konuyu çalışacağım ya da planı sonsuza dek bırakacağım zamanları bir zamanlama yapmam gerektiğini hissediyorum.
Pozisyonum
Son 4 yıldır değişebilecek "web teknolojileri" konusuna odaklandım ve değişmesi muhtemel olmayan bir uygulama geliştiricisiyim.
Uygulama geliştirmede, kullanılabilirliğin en önemli şey olduğunu düşünüyorum. Kullanıcılar tarafından "tüketilecek" uygulamalar yazıyorsunuz. Bu uygulamalar ne kadar kullanılabilirse, o kadar çok değer üretmiş olursunuz.
İyi kullanılabilirlik elde etmek için aşağıdakilerin uygulanabilir olduğuna inanıyorum
- İyi tasarım : İyi düşünülmüş bir kullanıcı arayüzü aracılığıyla erişilebilen iyi düşünülmüş özellikler.
- Doğruluk : Doğru şekilde uygulanmadıysa, en iyi tasarım hiçbir şeye değmez.
- Esneklik : Bir uygulama sürekli olarak gelişmelidir, böylece kullanıcılarının, A'nın uygulayabileceği yeni özelliklere sahip olan farklı bir B uygulamasına geçmeleri gerekmez. Aynı sorunu ele alan uygulamalar özelliklerde değil, felsefede farklılık göstermelidir.
- Performans : Performans, iyi bir kullanıcı deneyimine katkıda bulunur. Bir uygulama ideal olarak her zaman duyarlıdır ve görevlerini oldukça hızlı bir şekilde yerine getirir (sıklıklarına göre). Performans optimizasyonunun, kullanıcı tarafından farkedilebildiği nokta dışındaki ötesinde sorgulanabilir.
Düşük seviye programlamanın performans dışında bana yardımcı olmayacağını düşünüyorum. Ancak performans uğruna bütün bir uygulamayı düşük seviyeli bir dilde yazmak benim için erken optimizasyon.
Benim sorum
Düşük seviyeli programlama bana ne öğretti, başka hangi diller bana öğretmedi? Bir şeyleri özlüyor muyum, yoksa sadece bir beceri mi, uygulama geliştirme için çok az kullanımı var mı? Lütfen anlayın, C ve montajın değerini sorgulamıyorum. Sadece günlük hayatımda, o dünyadaki bütün karmaşıklıkların benim için soyutlanıp yönetilmesinden (çoğunlukla C / C ++ ve montajın kendileri tarafından yazılan katmanlarla) çok mutluyum. Hiçbir şey göremiyorum, bu benim için yeni olabilecek, sadece kafamı doldurmak zorunda kalacağım detaylar. Peki benim için içinde ne var?
Benim sonucum
Cevapları için herkese teşekkürler. Söylemeliyim ki, kimse beni gerçekten şaşırtmadı, ama en azından şimdi, ihtiyaç duyulana kadar bu ilgi alanını bırakacağımdan eminim.
Anladığım kadarıyla, bugünün işlemcilerinde kullanıldığı gibi işlemciler için derleme yazmak sadece gereksiz yere karmaşık olmakla kalmıyor, aynı zamanda C meslektaşı performansından daha düşük çalışma zamanı performansı ile sonuçlanma riskini de taşıyor. OOE nedeniyle elle optimizasyon yapmak neredeyse imkansız, bir derleyicinin de otomatik olarak yapabileceği her türlü optimizasyonu alamazsınız. Ayrıca, kod ya taşınabilirdir, çünkü kullanılabilir komutların küçük bir alt kümesini kullanır ya da optimize edilmiştir, ancak daha sonra muhtemelen sadece bir mimaride çalışır.
C yazmak, geçmişte olduğu gibi artık gerekli değil. Eğer C'ye bir uygulama yazacak olsaydım, sınava kopyalanan yordamları, sıralama algoritmalarını ve üniversitede egzersiz olarak hizmet veren diğer tür şeyleri yerine getirmemi sağlayacak kadar test edilmiş ve kurulmuş kütüphaneler ve çerçeveler kullanırdım. Kendi kodum, tür güvenliği pahasına daha hızlı çalışacaktır. Ne normal uygulama geliştirme sürecinde tekerleği yeniden icat etmeye ne de ne çekirdekli dökümlere bakarak hata ayıklamaya çalışıyorum: D
Şu anda dilleri ve tercümanları deniyorum , bu nedenle yayınlamak istediğim bir şey varsa, sanırım C ++ 'ı işe yarayacak bir konsepte sahipti, ancak C ++ işe yarayabilirdi.
Cevaplarınız ve görüşleriniz için herkese tekrar teşekkürler.