Tarihsel olarak bir HLL, C, Fortran veya Pascal gibi bir şeydir ve bir VHLL, Ruby veya Python gibi bir şeydir. 4GL, 5GL, DSL ve LOP terimlerine aşinayım ve olmayanlar tanımları için Wikipedia'yı okumalıdır. UHLL'leri arıyorum.
Benim sorum şu: Orada başka bir büyüklük sırası daha verimli olan herhangi bir bilgisayar dili var mı ve bunlar üzerinde çalışan var mı?
Daha verimli, sonuç elde etmek için daha az yazarlık kodu ve daha az programcı süresi, daha az hata ve daha az hata ayıklama, kod ve gereksinimler arasında daha yakın kavramsal bağlantı, değiştirme ve bakım için daha az çaba anlamına gelir.
Beni ilgilendiren ana etki alanı, GUI veya tarayıcı ön ucu, veri kalıcılığı ve yazdırma ve e-posta gibi diğer sistemlerle bağlantıları olan genel amaçlı iş ve tüketici uygulamalarıdır. Diğer insanlar başka bir yere odaklanabilirler.
Bu dillerden bazılarının alana özgü olabileceğini ve büyük ve yetenekli bir uygulamanın yapılandırma yeteneğinden biraz daha fazla olabileceğini kabul ediyorum. Excel elektronik tabloları bu kategoriye girer.
Bu dillerden bazılarının genel görünebileceğini, ancak yine de kapsamı dar ve birçok probleme uygun olmadığını kabul ediyorum. Örneğin Matlab, esas olarak kullanıcı etkileşimi ve metin verileriyle ilgilenen bir program için iyi bir seçim olmayabilir.
Bir UHLL'de olabilecek bazı özellikleri VHLL ile kıyaslayarak biliyorum. Aşağıdakilerden birini veya birkaçını bulmayı beklerim (ve listeye eklemekten çekinmeyin):
- Bir GUI formunun çizimi bir GUI formunun programıdır
- Satırları, sütunları ve başlıkları içeren bir tablo, veritabanındaki bir tabloya yönelik programdır
- Deklaratif mantık, hiçbir IF ifadesi olmadan ne zaman ve ne yapılması gerektiğini söyler
- FOR döngüleri olmadan veri kümeleri üzerindeki işlemler
- Ardışık olmayan yürütme, örn. Veri güdümlü, kalıp eşleme, ağaç yürüme
Soru için motivasyon, nispeten basit iş gereksinimlerini bilgisayarın istediği veya gereksinimine hitap etmek için büyük miktarlarda koda çevirmenin çok sıkı çalışmasından bıktım. Asıl soru, orada ağrımı paylaşan ve dillerin seviyesini yükseltmek ve bilgisayarı zor işlerden daha fazlasını yapmaya çalışan başkalarını bulmakla ilgili. Bu, 1970'lerde ve 80'lerde büyük bir odak noktasıydı, ama hala oluyor mu?
Bunlar, bildiğim ve özetlediğim dilleri özetlemek veya numaralandırmak için burada sunulan soruma önerilen bazı cevaplar.
HLL veya VHLL olan ve daha yüksek bir seviyeye ait bireysel özellikler içeren birçok dil vardır. Çoğunu kullandım (genellikle kötü). İçerirler
- Lisp, makroları ve kendini değiştirme yeteneği ile
- Haskell, veri bağımlılığı ve kalıp eşleşmesi ile
- Satır ve tablolarla ilgilenen SQL
- Rebol, akıllı görünüyor ama gerçekten anlamıyorum
- APL (ve J), çok boyutlu dizileri ve ultra kompakt operatörleri ile
- LINQ ile C #
- AWK / Perl / Python / Ruby, harika koleksiyonlar ve yerleşik regex'ler ile
Bu diller UHLL olmak için çok fazla düşük seviye özelliğe sahiptir. Programcı, herhangi bir yararlı program için hala birçok düşük seviyeli yapı yazmalıdır.
RAD / 4GL paketleri vardır. Biraz kullandım:
- dBase / Foxpro
- Dataflex / Powerflex (ürünüm)
- Erişim
- PowerBuilder
Ve daha pek çok kullanmadım. Çoğunlukla dil en iyi HLL'dir ancak paket, uygulamaların hızlı bir şekilde oluşturulabilmesi için dil ve paket arasında bir çerçeve ve ayrıcalıklı bağlantılar içerir. Bu yaklaşımın neden buhar bittiğinden emin değilim, ancak her durumda UHLL bu değil.
Ham çerçeveler / kütüphaneler var. Birkaç tane kullandım:
- Raylar
- Java awt ve salıncak
- .NET Windows Formları, WPF ve ASP.NET.
Bunlar şu anda en son teknolojidir. Programcıyı, her turda karmaşıklık ile başa çıkarak uygulama dilinin özleminde sıkıca hapsolmuş olarak bırakırlar. Bu UHLL değildir, ancak bunlardan birinin üzerine bir UHLL düşünülebilir.
UML ve Rational'ın araç seti gibi iyi bilmediğim tasarım araçları var. Görebildiğim kadarıyla iş gereksinimlerini ifade etmeye yardımcı oluyorlar ama asla programlama adımının yerini alamıyorlar. Programcıları yok etmek istemiyorum, sadece birim zaman ve çaba başına daha fazlasını yapın.
Düşünebildiğim tüm yarışmacıları elimine ettikten sonra, umarım bir başkası daha iyi bir aday sağlayabilir.
Geç Düzenleme: Sanırım bir cevabım var: Wolfram Dili. http://www.wolfram.com/wolfram-language/