Jetbrains'in bir başka projesi olan yeni konu takipçisi Charisma, tamamen MPS yazılmıştır. Konsept faydalı/pratik mi, yoksa çok mu yakında?MPS (bir meta-programlama dili) incelemekte midir?
cevap
Java için bir DSL gibi görünüyor. Neden kendin araştırmıyorsun? Eğer sadece Java kaynak dosyaları üretiyorsa, bunun bir çatlak vermemesi için bir neden görmüyorum, eğer ilgilendiğiniz bir şey varsa ve proje üzerinde acele etmiyorsa.
MPS yalnızca Java için DSL'leri değil. Aslında dil anormal. Dilinizi MPS tarafından desteklenen başka bir dile dönüştürebilirsiniz. Java, XML ve düz metni (son çare olarak) MPS 1.1'deki kutudan destekliyoruz. Muhtemelen, gelecek sürümde, javascript, css, vb. Gibi diğer dilleri sağlayacağız.
Diğer araçlarda bulunmayan MPS'nin temel özelliklerinden biri de dilleri oluşturma becerisidir. Birkaç dil uzantısı oluşturabilir ve bunları istediğiniz şekilde oluşturabilirsiniz. Örneğin, bir satıcı kendi veritabanı için bir dil ve diğeri finansal hesaplamalar için bir dil uygulayabilir. İyi bir şekilde birlikte çalışacaklar ve belirsizlikler gibi bir problem yaşamayacaksınız.
Bu 'çok erken' durum değil, bu gelişme metodolojisinin kendi başına oldukça zor olduğu gerçeğidir. MPS'nin maliyet/fayda oranı (ve dağıtım süresinin kestirimiyle), büyük ölçüde uyguladığınız projenin türüne bağlıdır. DSL'lerden büyük ölçüde faydalanabilecek bir alan adınız varsa (örneğin, benimle, proje yönetimi), sonra bunun için gidin!
Man. Benim bakış açımdan, harika. Steroidler üzerinde Java ve DSL-ler gibi. Bunu sadece DSL açısından düşünmeyin. Java nesli de dahil olmak üzere tamamen Turing-complete düşünün. Metinsel-sözdizimi sorunları olmadan, steroidler üzerinde Java 8 + "Common Lisp" gibi. Bana göre gelecek gibi görünüyor. Ona yatırım yapıyorum kalbim, aklım ve ruhum :).
"Zamanının ötesindeki" bir şey arıyorsanız, ancak halihazırdaki teknolojilerle halihazırda ve çok fazla temas halinde olmak için hala pratik olan, bu MPS!
MPS'nin bakmaya değer olduğuna inanıyorum. Araç açık kaynaklıdır ve çok sağlamdır. MPS'de uygulanan fikirler çok güçlüdür ve programlama dillerinin başlangıcından beri (bizim en önemlisi, dil kompozisyonu) bizlerle olan bir takım zorlukları çözebiliriz. Belgelerin kalitesi yeni başlayanlar için bir zorluk oluşturdu, ancak şimdi bu yeni kitabı okuyabilirsiniz: http://books.campagnelab.org/ (yasal uyarı: Kitabın yazarıyım, fakat MPS'nin yazarı değilim).
- 1. Pratik C++ Metaprogramlama
- 2. Tercüman, bir tercümanın uygulama dili için iyi bir dil midir?
- 3. Constexpr veya struct ile metaprogramlama
- 4. MPS uygulamaları için Otomasyon Testi
- 5. MPS (MetalPerformanceShaders) kullanarak Düzleştirme filtresi nasıl yapılır?
- 6. JSON bir dil midir, yoksa nasıl sınıflandırılır?
- 7. Belirli bir dili Swift
- 8. PHP script dili veya programlama dili?
- 9. Bir programlama dili mi var?
- 10. Bir dili başka bir dile çevirin?
- 11. Fragman bir etkinlik midir? (Android)
- 12. Bir kilit (diş) atomik midir?
- 13. işlevsel derleme dili
- 14. TDateTimePicker dili nasıl ayarlanır?
- 15. Şema ana dili belirtimi
- 16. C# Komut dosyası dili
- 17. Script Dili /. NET Uygulama
- 18. Bilgisayar programlama dili
- 19. PHP'de programlama dili algılama
- 20. MessageBox düğmeleri - ayar dili?
- 21. Neden ATS dili Bilgisayar Dili Kıyaslama Oyunundan düştü?
- 22. TextView'de dili nasıl alabilirim?
- 23. MarkLogic üçlü nesne dili
- 24. Notepad ++ Klavye Dili sadece
- 25. c dili sizeof deyimi
- 26. Python bir web komut dosyası dili mi?
- 27. Bir 'sistem dili' ile ne anlama geliyor?
- 28. GitLab'da proje dili nasıl belirlenir?
- 29. yaptığım buydu yani, orijinal dili
- 30. Dize/kullanıcı giriş dili algıla
... ve başka bir kutunun dışında, C dilini modelleyen mbeddr geliyor. – xtofl