Define what you mean by "everyone" -- there are times where the cost of immutability can be overwhelming, such as in high traffic systems with overly complex data structures which you are required to use because someone who should have known better insisted upon writing.
(sorry, bitter personal experience) And yes, that is explicitly "modern" Java code written by a lead engineer and "java champion" in 2023.
Yes, I feel you. As I said, we often need to sacrifice immutability to performance, and that's ok. If they insisted using immutable structures in high-performance applications, then functional programming won't help anyway.
It's really difficult to plagiarize if you write the paper or take the exam in class using paper and pen-or-pencil. It's also difficult to plagiarize if the teacher/professor/TA actually wanders around the room during the test (without stopping behind a student and raising the student's blood pressure in the process.)
Of course, that involves more on your part as teacher/professor -- you actually have to teach and test and act as editor -- on an ongoing basis. At university, that's part of what TA's are (or should be) expected to do. As a teacher, it's your responsibility.
So, if you happen to be a CS 101 instructor ask for the evolutionary copies of a program. If you happen to teach poetry and cover Herrick, ask for an original poem in the style of "Upon Julia's Dress" and see what the students happen to see from the same poem.
Teaching without ensuring that learning happens is a waste of time and a disservice to your profession.
It seems to me that AI detection is best done in the editor itself. If you track a student's mouse and keyboard there should be a clear distinction between someone plagiarizing (even if they're re-typing word for word) vs writing genuine work - which would involve lots of backtracking and editing.
As interesting as this article is as a comparison to a 40 year old supercomputer, the reality is that computers really are artifacts of an era and their place in the progress or regress of technology is possibly valid. Today's world's fastest computer is a Cray:
Once upon a time, NCR's mainframe language was called Neat (the version I briefly used was called Neat/3 which was a low-to-mid-level language if memory serves. I was writing compilers.) My memories of a language with that name are unpleasant.
This is probably the least useful of all comments, but please think of another name. My quibble with the language has to do with the use of '[' .. ']' pairs. I'm not confident that refactoring will be straight-forward. I could be wrong.
This construct:
string longestLine = [
argmax(line.strip.length) line
for line in text.split("\n")];
print(longestLine);
looks problematic to me -- are the brackets indicating scope? an array? something else?
As far as the naming is concerned, you'll probably have to put up with remarks such as "neat code is messy" because that's the way people are with something new. Don't let that dishearten you!
Yeah that's a macro (`std.macro.listcomprehension`), you can copy that file and change it to be whatever syntax you like. It's indeed inspired by Python's syntax.
Actually, it's also the job of lead or senior engineers who have to teach their experienced and educated teammates how to read and write a state diagram and how to use it in order to show them why the code/service in question is unreachable from the current state -- and should remain so.
Sure, this fits the way software evolves on the circle of dumb. It goes something like this: What a great idea!... (a little later) Hmmm. That's a problem... (later) We need something to run apps in the browser. I wonder if WASM would work... (now) What a great idea!...
Software development always goes in cycles. "Apps" were great now maybe not so much so...
In the late 80s/early 90s, the CEO of ETA Systems (a supercomputer company) had a vision that by 2000, the world would be split between supercomputers and workstations. I have seen some evidence that people are considerng that once again... The Circle of Dumb is always with us in software land.
For those who prefer reading books, there's always the precursor: _The_Nine_Tailors_ by Dorothy L Sayers. If you can find it, I believe there was a program or series called something like _Lord_Peter_Wimsey_ that aired on PBS that may have aired some time before the turn of the century.
MedicareAdvantage is one of those things where people say, "Oh. It's Medicare and it has all this extra stuff!" because living on basic Medicare is expensive and finding appropriate physicians can be daunting because of high deductables and low cash to practitioners. It's not a scam but an attempt to provide better care.
The problem is that it's almost always run by insurance companies and they're concerned about profit rather than the individual. Think of it in the same way as you would a PPP or basic HMO plan from your employer. Other than the oddities such as money to pay for over-the-counter medication (limited to $40 per quarter) there's little-to-no difference.
It's not the government limiting the care but rather the insurance companies protecting their profits. It's capitalism in action. Deal with it.
(sorry, bitter personal experience) And yes, that is explicitly "modern" Java code written by a lead engineer and "java champion" in 2023.