Two Laptop Bag*
The moose likes General Computing and the fly likes High Level Programming Language Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » General Computing
Bookmark "High Level Programming Language" Watch "High Level Programming Language" New topic
Author

High Level Programming Language

Olakunle Oladipo Oni
Greenhorn

Joined: Aug 28, 2008
Posts: 18
The reason for directing my message is because of some questions pertaining to the world of programming languages. Some may take it as a digression that gives little or no help in using a language. Anyway, I’m directing it to you right here and I’ll appreciate EXPLICIT answers. If all the answers can’t be supplied in this forum, I wouldn’t mind if I’m supplied additional references preferably web sources because they come readily handy to me. The question of ‘aren’t you experienced enough with the web to get precise answers yourself’ may come up but the information I’ve been able to gather is not satisfactory enough so I’ve decided to seek the views of some experienced about the design of programming languages. My questions are: How did scientists came to be aware of the existence of machine language? I believe this question will somehow be tied to the evolution of the computer. How were the higher level versions of the machine language designed? I want these to be tied to the design of development tools like the JDK and operating systems. I’m taught to write programs using a text editor. In what medium is software like jdk, operating system and firmware written? How were they deployed on the computer? My inclination at being a hound for details drives me to ask these questions.
I’ve heard of manipulating bits of data to direct them to memory via the front panel. What is the front panel? How is it like? I’ve heard of making requests to computers via punch cards. How was this carried out? I want to be able to picture it some way.

Thanks,

Olakunle Oni
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 37943
    
  22
And have you got two weeks to wait for the answers?

The first person to use a machine language was Jacquard who controlled looms with holes punched in cards; the first programming was probably done by Lady Ada Lovelace who designed the logic behind Babbage's differential engine. That was the best part of 200 years ago, and the differential engine wasn't built until the early years of this century, at the Science Museum in South Kensington.
Punch cards were cards about 2 × 6 inches with 80 columns of ten rows of numbers (0-9) and a hole was punched over each number for the reader (probably an optical reader) on the computer. Two holes could be punched to represent letters instead of numbers. It was quite easy to read a punch card by holding it to the light. The bits of card pushed through were called "confetti" and used as such at weddings.
I can also remember paper tape with 7 rows of holes in.

You would do well to get a "general computing" or "history of computing" books. I think this is "general computing", so I shall move this thread thither.
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Olakunle Oladipo Oni wrote: How did scientists came to be aware of the existence of machine language?

This question makes no sense. Machine language is not a natural phenomenon that was waiting to be discovered, like radioactivity or DNA. It was invented. They "became aware of it" by creating it.
In what medium is software like jdk, operating system and firmware written?

IDEs. Or just an editor.
How were they deployed on the computer?

Same way they are now. modulo minor details.
I’ve heard of manipulating bits of data to direct them to memory via the front panel. What is the front panel?

It's a panel on the front of a computer with switches. The switches set bits, other different switches did things like "run" and "hold". Look up Altair or MIPS (not the CPU) for early PC examples.
I’ve heard of making requests to computers via punch cards. How was this carried out?

With punch cards and a punch card reader.

It's all just bits: *how* the bits get entered has changed. Front panel, paper tape, punch cards, cassette tape, floppy disk, hard disk, flash memory, CD, DVD, holographic storage, light beam to the moon and bounced back--it's all just bits.
Garik Ustinov
Ranch Hand

Joined: Jun 22, 2009
Posts: 31
How did scientists came to be aware of the existence of machine language?

Well, according to Plato, apparently the early programmers discovered it while they were having a party in some Greek cave, but there's no historical evidence about that.

As you pointed out already, it's related to the technical evolution and shifting programming paradigms from the early days when programmers manually (meaning with their hands) controlled the processing unit up to nowadays when modern IDEs are often outsmart their users. You might want to take a look here - History of programming languages

SCJP, SCWCD
Peter Johnson
author
Bartender

Joined: May 14, 2008
Posts: 5812
    
    7

I’ve heard of manipulating bits of data to direct them to memory via the front panel. What is the front panel? How is it like?

Wow, takes me back to the microcomputer class I had in college back in the early 70s. Don't recall what system it was, but the front panel had a set of toggle switches which you would flip to represent the bits of a byte. Then you pushed a button and the value got stored in the first byte in memory. You had to repeat that a few times to "prime" the memory with a jump instruction to the embedded code to read from the punched tape reader. There were several spools of punched tape that would read in, among other things, a BASIC interpreter. Once that once loaded you could sit at the teletype machine and do you BASIC coding.

I’ve heard of making requests to computers via punch cards. How was this carried out?

You sat at a keypunch machine with the cards loaded in a hopper. Each time you hit enter, the card you are working on would be placed in the "out" area and a new card would be loaded from the "in" hopper. Then you typed a single line of your program. Repeat until all of your code was punched into cards. Then you added some pre-punched control cards to the front and end of your deck and submitted it to the computer operators.

In 1969, in my FORTRAN class in high school, this involved mailing the punched cards to the company that ran our programs in the early morning hours on the weekend when the mainframes were idle. The cards and printout were mailed back. If there was some error, you had to fix the cards and resubmit them the next weekend. Needless to say, since the turnaround time was one week, back in those days everyone painstakingly insured that their programs were syntactically correct, and manually went through the lines of code following the logic to ensure that the logic was correct. In college in the early 70s it was easier - you usually got your response in 4-6 hours after submitting the cards (the cards were run on a schedule with the times of the runs, and when the results would be available, were posted; something like "in by 9AM, out by noon"). So you could compile & run your program 3 or 4 times a day. But still, manually checking your syntax and logic was still very important.


JBoss In Action
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60766
    
  65

Front panel:

And yes, I'm old enough to have programed computers like this using the switches to enter one register at a time.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

(Me too, although barely... I did build a front-panel machine with an 8085 in college, though.)
Janeice DelVecchio
Saloon Keeper

Joined: Sep 14, 2009
Posts: 1659
    
  11

Campbell Ritchie wrote:
The first person to use a machine language was Jacquard who controlled looms with holes punched in cards; the first programming was probably done by Lady Ada Lovelace who designed the logic behind Babbage's differential engine. That was the best part of 200 years ago


Campbell remembers first hand... Dave and Bear are just babies in comparison

This thread is really interesting... it has inspired me to look at ancient pictures of old computers


When you do things right, people won't be sure you've done anything at all.
Peter Rooke
Ranch Hand

Joined: Oct 21, 2004
Posts: 800

And then there is this: Early Astronomical Computer.

Oh no - memories of a 8085 brief case computer thing we used while studing Mircoprocessors at collage:



You wrote some assembly on (rolls and rolls of) paper - then transformed it into hex (machine) code - then typed it into the computer keypad - and if you got any of it wrong - the convertion, the typing; you had to start it all again. After 6 moths of part time study we got some LED's to flash ( ). There was something strange about how it addressed memory - segmentation, seem to recall a 10 bit address bus - something strange going on in the fetch & execute cycle.... Fun, fun, fun


Regards Pete
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

8085 didn't have any segmentation (or 10-bit address bus; it was a 16-bit address bus muxed with the data bus--maybe that's what you're thinking of).
Peter Rooke
Ranch Hand

Joined: Oct 21, 2004
Posts: 800

Arh ok - maybe thats why I shifted course - moved onto a software course; rolls and rolls of paper again but this time for COBOL programming!
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

(I mean, the hardware could have only utilized 10 address lines, which might *look* like segmentation, except that all the segments were the same physical memory ;)

I remember a couple boards would use a counter and/or shift register to re-map memory after startup after a certain number of clock cycles so it'd read a bunch of initialization code from ROM before handing off to the (whatever it was). Ah, those were the days.
Steve Fahlbusch
Bartender

Joined: Sep 18, 2000
Posts: 557
    
    7

dating myself but,

i remember keying into the front console of an IBM360 - the load instructions and address of the paper tape reader, that had instructions for reading from the punched card reader, that loaded the instructions for the tape reader, which loaded the OS from the disk drives.

there were 117 instructons that had to be entered, first was the memory address to store, last was the same memory address to put into the PC (program counter) to execute. -- those were the day
 
wood burning stoves
 
subject: High Level Programming Language
 
Similar Threads
To Herbert Schildt
Java programmers lack mental agility ?
regarding intermediate representation in system programming?
diff. between Jvm and JRE.
High level language, interfaces and structured programming logic