Earlier quoted context omitted.
For 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.
You 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.
Ask HN: Have you created a programming language and why?
11–20 of 247 posts
Re: Ask HN: Have you created a programming language and why?
#12Re: Ask HN: Have you created a programming language and why?
#13Sure, http-based rpc mechanisms won, but it seems like agents have a lot of promise for parallelism and code deployment.
Re: Ask HN: Have you created a programming language and why?
#14Re: Ask HN: Have you created a programming language and why?
#15I was unaware of compilers at that age, and came across a machine code sample which ran about two orders faster than BASIC. That motivated me to "invent" a compiler and create this proof of concept.
Re: Ask HN: Have you created a programming language and why?
#16The same thing technically applies to any extensible language (i.e. Lisp) but a Forth programmer goes in with the expectation that the first task will be to create an application specific language. Since you have to pretty much create everything you are best off doing that in an efficient way.
Re: Ask HN: Have you created a programming language and why?
#17I also created language for describing processes (company processes).
Mostly for fun and to scratch my own itches.
Re: Ask HN: Have you created a programming language and why?
#18The first was something I did in an intro to CS class. I asked the professor if I could use C++ rather than Pascal for the assignment, and was, of course, turned down. I'm not proud to admit to this, but in a fit of pique, I decided to write my own programming language in Pascal than then submit the assignment in that. The result was something called 'SeqTl', for Sequenced Testing Language. It was basically a stack oriented language somewhat analogous to Forth. There were two stacks, one for numbers and the other for strings, and the interpreter worked by continually parsing strings of tokens. (Think Tcl pre-8). (I did get an A, the professor said I should've gotten bonus points, but in retrospect he would've been within his rights to fail me outright.)
The second was about five years later, while working on industrial process control firmware. My company wanted to allow our customers to specify control algorithms that were able to be guaranteed to run within a given time bound. To achieve this, I wrote a simplified language with a C-like syntax. It lacked constructs like unbounded loops, and the compiler would run an analysis of the control flow graph and throw an error if the longest path exceeded a given projected execution time. This language also used value/status tuples rather than raw scalar values, so it could do things like propagate bad data information through a calculation. (Think NaN propagation through floating point math, but more expressive.)
The third was/is an ongoing project to write a Scheme-like language.
https://github.com/mschaef/vcsh
This codebase started out as George Carette's SIOD interpreter, although I've made a bunch of changes since. (There's now a compiler, first-class hash tables, the reader and writer are now in Scheme rather than C, there is a test suite including benchmarks, a decent REPL, etc.) Back in 2001/2, this started out as the core of a shareware calculator program I was attempting to sell online. The tl;dr on that is that the design was way too ambitous, the market didn't support it, and I didn't have remotely the bandwidth necessary for either the development or the sales. It was and is still fun to hack on, however.
Re: Ask HN: Have you created a programming language and why?
#19Now I'm creating Intrinsic, a programming language with a modifiable grammar while runtime. Because I found no tool chain, I published pyPEG, which is an compiler interpreter https://fdik.org/pyPEG/ Intrinsic will have a generative paradigm.