|
Without giving spoilers, the result of guess 3 directly said guess 4 was wrong - it could not be that character in that position. Stupid of me ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
I've emailed the "with spoilers" version to you.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wordle 435 5/6
β¬β¬π¨β¬π©
π¨β¬β¬β¬π©
β¬π©π¨π¨π©
π©π©π©β¬π©
π©π©π©π©π©
|
|
|
|
|
Wordle 435 5/6
β¬β¬π¨β¬π©
π¨β¬β¬β¬π©
β¬π©β¬β¬π©
β¬π©β¬π©π©
π©π©π©π©π©
Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming βWow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 435 X/6
π¨β¬β¬β¬π©
β¬β¬π¨β¬π©
β¬π©β¬β¬π©
β¬π©β¬β¬π©
β¬π©β¬β¬π©
β¬π©β¬β¬π©
Too many choices!
Get me coffee and no one gets hurt!
|
|
|
|
|
Wordle 435 4/6
β¬β¬β¬π¨β¬
π¨β¬β¬β¬β¬
β¬π©π©β¬π©
π©π©π©π©π©
Slow start but jump it.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
My father was a toolmaker.
A toolmaker is essentially someone who creates tools that do things like stamp sheet-metal.
He was brilliant.
I could have seen myself involved in fabrication quite happily in a different life. My driving core is that I like to build - I just happened to settle on software.
I especially like to build things for other developers. I suppose it's the toolmaker in me.
I love writing code generation tools. Especially the ones that write code that's not realistic to do by hand, such as LALR parsers.
Unfortunately, reading the room I feel like it's not a well understood art. Some of my most elaborate, really cool tools like Slang/Deslang[^] collect dust on this site, despite all the amazing things you can create with it[^]
In the end it has sort of put me off. Maybe code generation just isn't cool enough for the cool kids.
To err is human. Fortune favors the monsters.
modified 27-Aug-22 10:13am.
|
|
|
|
|
I don't think it's a question of whether code generation is cool enough, but of use cases. A potential user must first have an application in mind that would benefit from a tool or framework. Then they have to learn how to use it to build that application. To overcome those hurdles, it's important to have some non-trivial examples that use the tool or framework.
|
|
|
|
|
My father (step father) was also a tool maker and a vary talented man but didn't bother to pass along any knowledge to me.
But I've always been curious and eager to learn. I don't have the patience to do anything as precise as toolmaking but I love to create things.
PartsBin an Electronics Part Organizer is finally available for download.
JaxCoder.com
|
|
|
|
|
I also enjoy making software tools which help me or other developers. But no one else uses my tools.
I also dislike using code written and published by other developers, I'd rather roll my own (in most cases).
|
|
|
|
|
It sounds like we're similar in that way.
I have a whole ecosystem of code I use for IoT and it all works together beautifully. That's the advantage of rolling your own, but it sure is a lot of work!
To err is human. Fortune favors the monsters.
|
|
|
|
|
I hope you guys don't miss the irony of all this: everyone complaining that no one wants to follow their path and prefer to make their own.
Like my old boss used to say: managing programmers is worse than herding cats
Mircea
|
|
|
|
|
Mircea Neacsu wrote: I hope you guys don't miss the irony of all this: everyone complaining that no one wants to follow their path and prefer to make their own. For almost the ultimate example of this, read Qwertie's top comment thread in the second article she linked.
|
|
|
|
|
Yah, I noticed that one but I didn't want to lay it on too thick
Mircea
|
|
|
|
|
|
Ha. Yep, I've almost always followed my own path (firmware engineer - retired). I've built tons of tools in my career but almost all were specific to project I was working on. And in general, I was the only firmware guy so the tools would have been mostly useless for the Windows developers.
|
|
|
|
|
Maybe those code generators could become part of some low-code solution?
|
|
|
|
|
I suspect you are vastly overestimating the number of projects that really need code generators. And if I ever had a project that needed one, I would probably write my own, because while playing with parsing long ago I figured out a far simpler approach that I can actually understand. But I'm not cool, either, so don't pay attention to my opinion.
|
|
|
|
|
The Windows Store has a (developer's) tool section. If you never buy a ticket ...
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
honey the codewitch wrote: In the end it has sort of put me off. Maybe code generation just isn't cool enough for the cool kids. Code generation was always cool. T4, DSL.
Maybe you can explain it cooler?
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Deslang and Slang are kind of hard to explain. I spent several articles trying, but the issue is you need background in the CodeDOM - pretty solid background actually, not only to appreciate it, but to understand it. The CodeDOM isn't well traveled technology. It's primarily used by ASP.NET and not touched by most people.
Even if that weren't the case, there's the meta issue, and that is Deslang is a code generator generator.
Yeah. A code generator generator. I use it in projects that generate code so that I can input C# "templates" and then modify them and fill them out in the generator app itself - turning these "templates" into full fledged source.
And that source will be rendered in C#, VB.NET or potentially other .NET languages.
To err is human. Fortune favors the monsters.
|
|
|
|
|
Understand it better. CodeDOM is new to me. Not a C# guy either. But I get the picture. Thanx
"A little time, a little trouble, your better day"
Badfinger
modified 27-Aug-22 23:09pm.
|
|
|
|
|
A "generator generator" might be too complicated for the average reader.
I do prefer your more complexer articles over your popular ones
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Don't give up the ship.
Code generation is not restricted to generating actual code. (I use C ansi c90) Well designed libraries with well designed interfacing are as good as many code generators. I designed a pseudo-human language command line parser that used a giant table lookup process connected with the appropriate code templates to match. The key was the tree transversal database library used to glue it together. I designed it make the code generation process work for me which in the end made it easier for others to mimic and grow the process. I don't fully understand you work, but I am not a C++ guy so that makes it hard. Stay with it. Love your zeal.
My lookup table example
2 = string 1 = number 5 = quoted string
Parsed
Syntax entry-point, "help table entry"
"ROT", ROTATE, "ROTATE - interactive rotate currently edited part",
"ROT_2", ROTATE_2, "ROTATE part - show euler angles(deg) for part",
"ROT_2_1_1_1", ROTATE_2_1_1_1, "ROTATE part x y z - apply euler angles(deg) to part",
"ROT_2_X_1", ROTATE_2_X_1, "ROTATE part axis deg - rotate part on X Y or Z",
"ROT_2_Y_1", ROTATE_2_Y_1, "ROTATE part axis deg - rotate part on X Y or Z",
"ROT_2_Z_1", ROTATE_2_Z_1, "ROTATE part axis deg - rotate part on X Y or Z",
"ROT_X_1", ROTATE_X_1, "ROTATE X angle - rotate(deg) default part on X axis",
"ROT_Y_1", ROTATE_Y_1, "ROTATE Y angle - rotate(deg) default part on Y axis",
"ROT_Z_1", ROTATE_Z_1, "ROTATE Z angle - rotate(deg) default part on Z axis",
"ROT_SCR_5", ROTATE_SCRIPT, "ROTATE SCRIPT \"file\" - create rotate command file",
"A little time, a little trouble, your better day"
Badfinger
modified 27-Aug-22 23:31pm.
|
|
|
|