4 ms·
I want to, but I have never done so. Maybe later in my life. I have 2 ideas. the first comes from the difficulty of using make. I think the make system lacks
by billconan 10y ago
I want to, but I have never done so. Maybe later in my life.
I have 2 ideas.
the first comes from the difficulty of using make. I think the make system lacks debuggability, it's not easy to log, break, step through and watch locals.
I feel that building should be handled by a domain specific language, instead of make.
I haven't researched enough though, there may be something similar, only it is not popular yet.
the second ideas comes from the difficulty of documentation.
I'm thinking of a programming language that allows you to describe the block diagram (modules) of your program easily. You need to specify what the interfaces are, how many threads ....
then a diagram can be automatically generated as a document. you then fill the internals of your module, with classes. The idea is always forcing programmers to describe design first, then implement. code and document are mixed, so the document is always up-to-date.
- harpocrates 10y agoRegarding your first idea, you may be interested in the Shake [0] Haskell EDSL as a replacement for Make. Being embedded in Haskell, Shake still has the full power of Haskell at its disposal. [0] http://ndmitchell.com/downloads/paper-shake_before_building-10_sep_2012.pdf http://ndmitchell.com/downloads/paper-shake_before_building-...
- jcoffland 10y agoFor your first idea see: * cmake * premake * ant * scons * ninja * gyp * jam * gn (Google) * meson To name just a few. Your second idea is basically UML and some of the tools that exist for it.
- billconan 10y agoI use cmake, don't think it's a language.
- billconan 10y agoYou simplified my idea by a lot. the second idea is not uml. uml isn't really helpful at understanding source code. It's simply a visual version of classes.
- jcoffland 10y agohttps://www.visual-paradigm.com/features/code-engineering-tools/ https://www.visual-paradigm.com/features/code-engineering-to...
- cousin_it 10y agoA really cool replacement for make is tup. It's very fast and figures out dependencies by tracking which files get read or written by each command.
- nickpsecurity 10y agoOne academic also did make in Prolog. That way it was ddclarative and used logic programming.
- kazinator 10y agoMake is declarative. It has rules that you declare; it figures out which ones fire and in what order.
- nickpsecurity 10y agoI know that. The imication is they redid a declarative program in a declarative language.