Sert programcılara yönelik görünen dillerdeki programlamayı seviyorum. (Favorilerim Python ve D.) MATLAB mühendislere yönelik, R ise istatistikçilere yönelik ve bu diller hardcore programcılar olmayan ve hardcore programcılar gibi düşünmeyen insanlar için tasarlandı. Onları her zaman kullanması biraz garip buluyorum ve bir dereceye kadar parmağımı neden kullanamıyorum. Tanımlamayı başardığım bazı sorunlar:
- (Her ikisi de): Vektörler ve matrisler üzerinde, gerçek ilkellerin olmadığı ölçüde aşırı vurgu.
- (Her ikisi de): Temel dize işlemlerinin zorluğu.
- (Her ikisi de): Karma tablolar ve "gerçek" gibi temel veri yapılarını destekleyen (yani parametrik ve değişken tipli diziler) destek eksikliği veya beceriksizliği.
- (Her ikisi de): Kodunuzu vektörleştirmek için geriye doğru eğilmediğiniz sürece, yorumlanmış dil standartlarına göre bile gerçekten yavaştır.
- (Her ikisi de): Dış dünyayla etkileşime girecek şekilde tasarlanmamış gibi görünüyorlar. Örneğin, her ikisi de başlatılması biraz zaman alan ve basit metin filtresi programlarını yazmayı kolaylaştıracak şekilde tasarlanmamış gibi görünen oldukça hacimli programlardır. Dahası, iyi bir dizge işlemenin olmayışı, dosya G / Ç'leri her şeyde dosya haline getirir, ancak standart biçimlerde imkansız.
- (Her ikisi de): Nesne oryantasyonunun cıvatalı bir his var gibi görünüyor. Evet, yapabilirsin, ancak C'deki OO'dan daha aptalca bir his yok.
- (Her ikisi de): Referans türü almanın açık ve basit bir yolu yok. İşaretçiler veya sınıf referansları yok. Örneğin, kendi bağlantılı listenizi bu dillerden birinde nasıl yuvarladığınızı bilmiyorum.
- (MATLAB): Birden fazla üst düzey işlevi tek bir dosyaya koyamazsınız, çok uzun işlevleri ve kes ve yapıştır kodlamasını teşvik edemezsiniz.
- (MATLAB): Tam anlamıyla ilk sınıf tipi olarak görünmüyor.
- (R): Temel yerleşik veri yapıları çok yüksek ve kötü bir şekilde belgelenmiş görünüyor ve benzer ancak daha düşük seviyeli veri yapılarıyla ilgili deneyimlerime dayanarak beklediğim şeyi kesinlikle yapmadım.
- (R): Belgeler her yere yayılmış ve göz atmak veya aramak neredeyse imkansız. Kötü dokümantasyon için sık sık çalınan ve hala oldukça alfa olan D bile, söyleyebileceğim kadarıyla daha iyi.
- (R): En azından bildiğim kadarıyla, bunun için iyi bir IDE yok. Yine, D bile, küçük bir topluluğa sahip oldukça alfa dilli bir dil, daha iyisini yapar.
Genel olarak, yeterince kapsamlı kütüphaneler mevcutsa, MATLAB ve R'nin daha genel amaçlı dillerde düz eski kütüphanelerle kolayca değiştirilebileceğini hissediyorum. Bu, özellikle kütüphane yazarları için birçok özellik içeren yeni genel amaçlı dillerde geçerlidir.
Neden R ve MATLAB bana çok garip geliyor? Bu dilleri zorlu programcılar için garip hale getirebilecek önemli olduğunu düşündüğünüz başka önemli konular var mı? Kullanımı gerektiğinde, iyi hayatta kalma ipuçları nelerdir?
Düzenleme: Aldığım bazı cevaplardan bir sorun görüyorum. Verileri analiz ettiğimde bütün boru hattını içeren tek bir komut dosyası kullanmak için güçlü bir kişisel tercihim var . Bu, genel amaçlı bir dilin kullanılması gerektiği anlamına gelir. Verileri "temizlemek" için bir komut dosyası yazmaktan ve bundan sonra tamamen farklı bir ortamda okumak için başka bir şey yazmaktan nefret ediyorum, vb. Tamamen farklı bir adres alanı ve geri kalanı için çok büyük bir sürtünme kaynağı olması için farklı düşünce biçimleri olan farklı bir dil Dahası, var olan yapıştırıcı tabakaları olduğunu biliyorum, ancak her zaman korkunç derecede karmaşık ve sürtünme kaynağı gibi görünüyorlar.