SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Lasse Koskela wrote:The most common way of using DSLs in software projects according to my experience is to write most of the code in a general-purpose language like Java and implement one or more little corners using one or more DSLs. In short, it's not an either-or. You typically use both and often more than just one DSL.
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
===Vyas Sanzgiri===
My Blog
Burk Hufnagel wrote:My concern is that while a DSL should make it easier to write the code for that project, it means that in addition to learning their way around the project, new team members will also have to learn the DSL - which increases the time before they'll be affective. And if there's more than one DSL they don't already know then that time increases again. So it's a trade-off and I'm trying to get a feel for how to decide when it makes sense to build and use a DSL and when it doesn't.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Vyas Sanzgiri wrote:I have seen languages customized so much that they developers are so specialized they cannot get jobs further!
![]()
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Lasse Koskela wrote:Hi Burk,
Note that it's only the syntax that makes a difference - those new team members will need to learn the same logic by reading Java code any way - and the DSL (assuming it's a good fit/made well) should make grasping the logic easier. So yeah, it's a trade-off between learning the syntax/vocabulary of a DSL and the productivity boost provided by that DSL.
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Lasse Koskela wrote:Note that DSLs aren't even supposed to be reusable or standardized. At least not as a primary concern. DSLs are supposed to improve productivity.
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Lasse Koskela wrote:
Note that DSLs aren't even supposed to be reusable or standardized. At least not as a primary concern. DSLs are supposed to improve productivity.
By the way, if a developer sticks to working with one language for so long and in such a way that he can't get a job elsewhere, is that the language's fault or the developer's?
===Vyas Sanzgiri===
My Blog
Vyas Sanzgiri wrote:I agree to everything you are saying. But that is a big concern. Why would I invent something that will make me redundant?
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
a.k.a stalker.
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Burk Hufnagel wrote:Dhavai,
That's a trap we as developers can fall in to, but it's not fair to blame the DSL. I've worked for several companies that had their own proprietary language, and the trick I've found is to either be on projects that don't use it or to keep involved in a community (user group) that's focused on a general purpose language like C or Java.
Burk
a.k.a stalker.
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Burk Hufnagel wrote:Dhaval,
Sorry about misspelling your name (I went back and edited the post to correct it) I guess I wasn't quite awake when I first replied.
I think DSLs and proprietary languages can be a good thing for a company, but at the same time they definitely have a cost. Other than previous employees, you won;t find people who already know the language you're using so you have to spend the time and money to train each new developer. In addition, some excellent developers won't be interested in the job because the knowledge and skill they gain with the proprietary language is mostly useless to other potential employers. Another concern is that after training your new hire, it may be that they aren't very good with the new language because the programming model just doesn't fit with how they think - though you can probably screen those folks out during the hiring process.
All in all I see it as another trade-off.
Burk
a.k.a stalker.
dhaval yoganandi wrote:Then the question is why they prefer DSL ?
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Burk Hufnagel wrote:
dhaval yoganandi wrote:Then the question is why they prefer DSL ?
Does that make sense?
Burk
a.k.a stalker.
dhaval yoganandi wrote:But, what about the new features and flexibilities we can get in GPLs? And I think it is very difficult to add new feature,flexibility and performance tuning in DSL architecture, unless and until it is well defined.
GPL = General Purpose Language
- Dhaval.
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Aaaaaand ... we're on the march. Stylin. Get with it tiny ad.
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
|