I realized a while ago that there's nothing stopping me from writing rust like this
;println!("This is great")
;println!("I think everyone should write rust like this")
;println!("Probably works in most languages that use semicolons")
;
Welcome to the world of abusing the shit out of Ant. My first full time job was developing Ant in unholy ways. Tens of thousands of lines of Ant at least, doing significant logic. If-then-else, for loops, math, procedures, date-time math. I stuck it out for a year. It was a year too long.
I like it, this is clearly very enterprisey and solution focused, but I would like to suggest a couple of amendments if I may?
Namespaces
We should make full use of namespaces. Make the structural tags be in a language specific namespace (to be referenced in every function spec, obviously) but change the in an out params to use the parameter name as the tag, namespaced to the function they're for, with a type attribute.
In memory message queues
Have all function invocations be marshaled as xml documents posted to an in memory message queue. Said documents should use a schema that validates the structure and a function specific schema to validate the types of arguments being passed. Namespace everything.
I reckon we could power a medium sided country if we could generate energy from the programmers despair.
Confusion like this got me my current job. They were looking for somebody with experience in "Microsoft Endpoint Configuration Manager", and I look that up and I'm like "Oh, that's SCCM, I do that". Go through the interview process they keep asking me if I know Endpoint Configuration Manager and I'm like "yeah, for sure". I get the job. Day one, the other systems engineer is like "here is the link to our Endpoint Manager Tenant", and I'm like "oh... Shit I have never ever used this"
Well... Ends up Endpoint Configuration Manager and Endpoint Manager are two different things. Fortunately for me they are pretty similar in function and rely on knowledge of Windows and Powershell, which I know.
So my first 2 weeks of work was taking a shitload of courses in Endpoint Manager and watching a lot of videos and learning it inside and out.
2 years later and I'm an Endpoint Manager/Intune pro.
90% of IT and software jobs are "I have common sense, know how to look up information, and my boss is intimidated by my work so they don't question it."
I think white space should be used to represent basic functions too. For example 3 spaces can be used to sum two values while 4 spaces can be used to subtract.
Just today I heard someone whining about how in LinkedIn and other recruitment sites there's like five bazillion profile tag options for RDMBSes and various dialects of SQL... when in actuality the recruiters are probably only concerned if the developer can do a bloody SELECT and stuff.
Screw it. Let's actually make python script an ISA that gets run on physical hardware with no higher level tooling. Then we can have the python virtual environment which runs this for fools who don't have the right hardware. Finally, when people start complaining about naming we make Python Script 2.1, which is a JIT language built on top of IL that looks nothing like either of them but can emulate both python and python script with the performance cost of being a quarter as fast as both.
Honestly if someone irons out the edge cases, python probably could JIT compile to machine code via cython. It would take a fair bit of memory and probably a bit slow on low powered systems but it would be so much faster if cached.
Technically I think python already has an intermediate step that it uses before it starts running a script that compiles it into a lower-ish language (at least the cpython interpreter does this, it probably isn't a part of the language specification though)
The actual line between JIT languages and interpreted languages is pretty thin since I think most interpreted languages do something similar to minimize the amount that needs to be done at runtime
What if every variable would have to use a pointer that points to a reference of the data in a central array. In normal languages you'd need a variable to store said array, but what if it too has to reference itself in itself, so we get some funky recursion.
I like this but to make the code more readable the Greek question mark should also be placed upsidedown at the start of every line that needs to not be printed.