3 ms·
I agree with the Objective-S goals [1], and it is cool to see research in this direction. Are the mechanisms for defining architectural styles and some predefi
by nextos 4y ago
I agree with the Objective-S goals [1], and it is cool to see research in this direction.
Are the mechanisms for defining architectural styles and some predefined styles (OO call/return, pipes & filters, REST and event broadcast) all that is new from Objective-S? Any other future goals? These seem relatively easy to implement as e.g. Lisp macros? Clojure supports many of these.
Personally, I would like to see more research in program semantics. I think languages should try to reduce expressiveness whenever possible by offering mechanisms to do so, i.e. DSLs and DSL tools. Along with the total lack of popularity of design-by-contract / Hoare logic / refinement types, I think this is the biggest mistake in modern language design.
In other fields, engineers strive to use components and to combine them in ways that yield artifacts with provable properties. An elementary example of this are truss structures in mechanical engineering.
There is not that much research direction in this area. Personally, I like Dafny [2]. There is quite a lot of research on advanced type systems and theorem proving, but I think there is still a big gap in usability and automation. I think DSLs to restrict semantics + automated program analyses could be an excellent alternative. Infer [3] is pretty nice. Similar approaches that targeted a language with better semantics would be able to offer a lot more guarantees.
[1] http://objective.st/About http://objective.st/About
[2] https://github.com/dafny-lang/dafny https://github.com/dafny-lang/dafny
[3] https://fbinfer.com https://fbinfer.com
- eevilspock 4y agoMarcel, it might help non-language design experts like me to wrap their head around Objective-S and the notion that "OO call/return, pipes & filters, REST and event broadcast" are just (higher-order?) styles that can be implemented in a truly general purpose language (i.e. Objective-S) by providing concrete examples of how Objective-S does this and other presumably-general-purpose-but-not-actually-according-to-you do not? Is functional programming yet another style, or is it a subset of call/return, or a subset of pipes & filters? If it is its own style, how might Objective-S implement this style? What would map-reduce look like? What about higher order functions and currying? Or is Objective-S itself at root a functional language? You've said very categorically in another comment that Objective-S is NOT just reinventing Lisp. Can you explain? Perhaps my questions don't make any sense. As I said, I'm no meta-language expert.