5

My thesis topic is about Domain Specific languages in general, I want to focus on design or implementation for external or internal DSLs but I can't even think or start because I am facing problems with understanding the concept of DSLs ..

I have read and collected so many papers and surveys about this issue but all of them I consider as advanced.. I need a good tutorial ( for beginners ) to understand the whole concept and phases for DSLs from the scratch ..

I have read the first chapter for DSL by Martin Fowler , Fowler started with state machines and hard programming codes from the first page of his book and the problem is that I am not very good in programming in general, I have no experience, my thesis will be a survey about DSLs with no programming work. Until now I don't know what to focus on because the survey should be specific on on area like designing techniques or comparisons in designing or implementing , but because I cant get the big picture I can't even decide. Any suggestions about this issue also I will really appreciate that.

Please help me and thank you very much. I always look at the questions and answers in this great website and I believe that I will find a solution for my nightmare problem here!

Thanks a lot

Nat

user542847
  • 59
  • 1
  • 3
  • I don't want to give you a hard time, but if you "aren't good at programming", this topic (meta-metaprogramming IMHO) might be a bit too much of reach. I'd suggest a good 5 years of coding hell, and then the ideas will be a lot more appreciated. – Ira Baxter Mar 26 '11 at 00:11

3 Answers3

2

This book is Bible for DSL's in my opinion. This book used to be free when it was in draft. You can also find other learning resources there.

Go through this post to find successful DSL's. This post might help you in identifying various flavors and various domains where they are being used.

Community
  • 1
  • 1
Aravind Yarram
  • 78,777
  • 46
  • 231
  • 327
  • Thank you so much , actually I've been searching for a PDF copy of that book but I could not find .. I read the first chapter for it ( free on the net ) but still need more basic explanations because martin Fowler started with state machines and hard programming codes from the first page of his book , and I am not very good in programming languages in general as I stated, and that's why my thesis is just a non programming survey – user542847 Dec 15 '10 at 06:10
  • Here you go: http://wildermuth.com/2008/11/08/Why_Domain_Specific_Languages_are_Important_to_Everyday_Developers – Aravind Yarram Dec 15 '10 at 06:16
1

It will be a lot of work for you if you want to understand it, so if you are not skillful with programming, learn it or choose easier thesis.

I wrote my thesis about model driven software development and domain specific languages withouth even a basic knowledge about modeling etc. It can be done, but I spent much time reading (which I enjoyed).

For the most basic introduction I would recommend se-radio.net podcast episodes 5 and 6 (...and there are many more about more advanced topics on MDSD/DSLs).

Gabriel Ščerbák
  • 18,240
  • 8
  • 37
  • 52
  • Thanks a lot , yes I am not good in programming, my thesis is a about making a survey about DSLs, i.e a survey for techniques for implementing internal DSLs or for designing DSLs. can write my survey with my poor knowledge of programming ? Could you help me to choose something in the DSL to start reading about and write a survey about it ? Something that I can start reading from now and doesn't need a very well knowledge of programming ? I am really tired from reading and reading about introductions and until now I can't just get into a specific thing inside the DSLs to start writing – user542847 Dec 21 '10 at 07:04
  • If you want to look at internal DSLs, you will have to understand different language constructs, some of them are not very easy if you have problems with programming - e.g. metaprogramming. To understanda external DSLs, you will ahve to know something about compilers and modeling, which are conceptual things, e.g. UML, OO design and programming, which is yet another about programming, but on a more conceptual level, which might be interesting for you, nevertheless challenging – Gabriel Ščerbák Dec 22 '10 at 00:44
  • If you are interested in some problems around DSLs, look at some conference proceedings, articles on the Modeling languages portal or look at some papers by people like for example Markus Voelter. – Gabriel Ščerbák Dec 22 '10 at 00:46
1

I'd read James Neighbors thesis, after reading his executive summary. He's the guy that defined the terms "domain analysis" and "domain engineering" in the context of defining "domain specific languages". And he shows a program generation system, Draco, that generates an astonishing variety of complex application codes based on these ideas. (The thesis is a lot more readable than you might expect, but expect to see some real code!).

You can read some history on this topic, too, and once again, how those who don't know their history are doomed to repeat it.

Ira Baxter
  • 93,541
  • 22
  • 172
  • 341