The history of programming constructs (1 Viewer)

vba_php

Forum Troll
Local time
Today, 16:43
Joined
Oct 6, 2019
Messages
2,884
Does anyone have any knowledge of this stuff? Since I'm only 39, I only know so much. But it would be nice to hear from the older people here that know where this stuff came from. I recently responded to a post made by a facebook group I'm part of called Self-taught programmers. This is what they mentioned:



maybe I should choose a better term than "construct". If we start throwing that term around, we might end up feeling like we're part of the Matrix with Neo and Trinity!
 

Attachments

  • the_history_of_for_loops.jpg
    the_history_of_for_loops.jpg
    68.7 KB · Views: 253

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:43
Joined
Feb 28, 2001
Messages
27,001
DO loops and FOR loops as we know them today originated with the advent of 3rd generation languages* right after WW II and the Korean War. FORTRAN used the DO construct whereas ALGOL used the FOR construct. However, the looping concept LONG precedes those languages. Here is a reference that contains some interesting quotes.


There are some historical references in this thread:


* - for those who have forgotten or never knew:
1st generation languages = direct programming of machine code in binary. Programming by front-panel switches or hard wired actions. The machine that broke the German ENIGMA code was hard-wired.

2nd generation languages = now called Assembly Language code. Assigning names to variables but using the names of specific machine instructions to manage one step at a time.

3rd generation = procedure-oriented languages such as but not limited to FORTRAN, ALGOL, COBOL, and their successors. There are multitudes of these at various levels from original C (damned close to an assembler) all the way up to APL (which is the most obscure mathematically oriented procedural language I have ever seen.)

4th generation languages = try to adapt natural speech to programming. Among modern languages, SQL is sometimes considered a 4GL.

For a while, some 4GLs with an extended knowledge base were touted as 5GLs (for instance, PeopleSoft) but the nGL concept has sort of fallen by the wayside. The nomenclature of "language generation" has become mostly abandoned.
 

kevlray

Registered User.
Local time
Today, 14:43
Joined
Apr 5, 2010
Messages
1,046
Loops have been around long before high level programming languages (COBOL, Fortran, etc.), but very necessary for assembly language (or some variation of it), but they are not considered For Loops. I do not know how Turing's machine worked, but apparently he had worked out a way to repeat the code execution. As far as encryption in data. That depends in what you call data. Of course spys have been 'encrypting' correspondence long before computers. I am sure some sort of encryption was introduced into computers pretty early on. One of the dictionary definitions for construct is this 'an idea or theory containing various conceptual elements, typically one considered to be subjective and not based on empirical evidence. '
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:43
Joined
Feb 28, 2001
Messages
27,001
Encryption has been around for so long that you would gasp. The Roman legions used a substitution cypher (an early form of encryption) during the Gallic wars (and probably before that). Code books have long been used commercially where you could do word substitution. For instance, you would look up the word "ammunition" in a code book and put the letter group "GXQLY" in your message. Then the person with the OTHER half of the code book could look up GXQLY and write down ammunition. That was around AT LEAST during the Renaissance. Such books had ways for you to spell out a word or name not found in the code book.

During WWII, a unique verbal cypher method was devised using the Navajo "code talkers" - people who spoke the Navajo language and English. The trick here is simple: Navajo has no roots in common with any European or Oriental language and has no written alphabet. Therefore, when the Axis powers heard it spoken over the radio, it was total gibberish to them.

The advent of other types of cyphers is more recent because of the arduous nature of the substitution methods. However, the use of something as simple as an XOR (binary) sequence led to many of the modern cyphers. In Arabic, the word for zero is sifr, so the origin of the name is easy enough.

Here is an article with some historical comments on cypher (or cipher) methods.


Modern encryption involves creation of a key that will be used to alter a given sequence of information, but true encryption must be Hermetian (the mathematical term for "reversible"). So typical methods will be to create long keys for which an XOR or other type of transform will be used. The trick will be to generate the key on the other end so you can perform the reverse operation. Key length is therefore part of the discussion for encryption methods. The "Advanced Encryption Standard" (AES) discusses keys of length 128, 192, or 256 bits. There are other standards besides AES.


There is such a thing as "hashing" that is NOT reversible, but that can be used to prove that a given message has not been altered. There, it doesn't matter if the formula is reversible, and in fact it usually is not. The idea is that if you get message X and separately get the hash for message X, you can compute the hash for yourself and compare that to the transmitted hash. If your hash matches the transmitted hash, the odds are very high that the message made it to you intact.


That should be enough to get you thinking.
 

vba_php

Forum Troll
Local time
Today, 16:43
Joined
Oct 6, 2019
Messages
2,884
hey Richard,

I got a call back today from the IT manager at the Attorney General's office. He told me that their current effort to stop scammers making computer-generated phone calls and tricking Americans into answering them from unrecognized numbers, is this, which is nicknamed Shaken Stir:

https://www.fcc.gov/call-authentication
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:43
Joined
Feb 28, 2001
Messages
27,001
I can tell you that sometimes the names given to certain operations in the Navy made you wonder what dictionary / dart board they used. For instance, there was operation Moonlight Maze. But due to a lifetime non-disclosure agreement I can't tell you what it was. I can say it had nothing to do with moonlight, though.

As far as that particular trick of unrecognized numbers, there was a scammer who was using spoofed caller ID numbers and called my house. The trick is, he spoofed my own number. So when my caller ID showed me that, I knew I would be talking to a scammer. I will answer scammer calls with the expressed purpose of wasting their time. You should be good at that, Adam.

Since my caller ID is pretty decent, my usual response when someone calls me is

(a) if it is a robo-call and prattles on, I just hang up. But ...

(b) if some person gets on the line, my immediate responses are one of:

1. Since your caller ID shows you as a residential caller (from my area code and local exchange office) and yet you are calling me as though you are a business, you are obviously ashamed of who you are. I won't do business with you.

2. Since your caller ID shows you as calling from an illegal number (or you are an unknown caller), you are obviously ashamed of who you are. I won't do business with you.

3. Since you claim to be from the Microsoft Service Department and yet I haven't paid you any money yet, I know you are lying through your teeth. Microsoft doesn't call ANYONE without a service contract.

4. Since you claim to be a business (or charity) but your caller ID says you are unknown, I have no way to tell the difference between you and a scammer. Since I can't verify your identity there is no way you are getting any money out of me.

Every now and then one of them will be more insistent. My favorite is the ones who call from Apple telling me my cloud account has been compromised. Since I don't have a cloud account, I let them prattle on and waste their time. Eventually I tell them I wouldn't have an Apple product in the house if they paid me and I will ask them if they know what to kiss and when. Then I hang up.
 

vba_php

Forum Troll
Local time
Today, 16:43
Joined
Oct 6, 2019
Messages
2,884
I will answer scammer calls with the expressed purpose of wasting their time. You should be good at that, Adam.
I interviewed with an incompetent CEO 1 month ago, and he spent the entire interview using me as a damn sounding board for his problems. I tolerated it, but eventually we got on the subject of making fun of scammers. He told me that he says this, when he pretends to allow them to connect remotely to his computer:
=> Scam Agent: Please be patient while we connect.
=> Brad: No problem. I understand.
=>
Scam Agent: We are having trouble connecting. Are you sure you have an internet connection?
=> Brad: Yes I'm sure. I'm a CEO at a technology firm for ***** sake!
=>
Scam Agent: OK, Please give me another minute.......[after a short pause]=> We are still having trouble establishing a connection. Can you follow these troubleshooting steps please? ....... [Brad puts phone on table and does something else in the kitchen. agent rattles off 5 minutes of instructions].
=> Scam Agent: OK sir, have you followed all of my steps?
=>
Brad: Yes I did. Now what?
=>
Scam Agent: I'm not sure sir, can we try additional troubleshooting steps?
=> Brad: Sure, please do. [Brad lets them talk until their done, then finally hangs up to end the call with a laughing session]
That's exactly how he told me it goes down, Richard.
Eventually I tell them I wouldn't have an Apple product in the house if they paid me
Is that because apple products are so expensive, or because you dislike the company or products? They might suck to some degree, and it is very well known that apple devices don't run really anything other their own stuff, which is exactly why I told my prospective future employer in Cedar Rapids to get Samsung tablets instead of iPads. Androids accept both Kotlin and Java, whereas iPads don't accept $hit. There's nothing wrong with Java, other than a few security holes that have been advertised and subsequently patched by Oracle over the years. Apple's paranoia in this regard is just as bad as the federal government's!
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:43
Joined
Feb 28, 2001
Messages
27,001
Is that because apple products are so expensive, or because you dislike the company or products?

Fair question. Apple is being sued by more than one state for having non-repairable items. If you break an Apple product, the repair cost is so high that it is cheaper to buy a new one. Anyone whose business model includes that kind of customer service doesn't need me as a customer.

You can look online about "apple repair costs" and get a ton of articles on the subject.
 

vba_php

Forum Troll
Local time
Today, 16:43
Joined
Oct 6, 2019
Messages
2,884
You can look online about "apple repair costs" and get a ton of articles on the subject.
I read an article a way back that covered a scenario where a police department in some city in the USA was trying to get the data from an iPhone of a criminal for the purpose of gathering evidence against him. And they couldn't do it and had to call Apple because the phone was either locked, or they weren't smart enough to break the encryption.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:43
Joined
Feb 28, 2001
Messages
27,001
@vba_php: I remember the "unlock the iPhone" case and the most prominent court order was dropped when someone found a 3rd-party tool that could do the job. But this isn't about privacy. You asked about why I don't like Apple products. Purely because of their predatory maintenance style that "replace" is cheaper than "repair" - and what they sell ain't cheap by any means.
 

vba_php

Forum Troll
Local time
Today, 16:43
Joined
Oct 6, 2019
Messages
2,884
you are surely right. $1,000 a pop for an iPhone is insane. I would never buy an apple product. I don't care how "cool" steve jobs is or not. speaking of 3rd party cracking tools, have you seen stuff like this?

https://uknowit.uwgb.edu/28850

I always point a questions asker to this site when they have a question about securing a workbook with a password. =)
 

Users who are viewing this thread

Top Bottom