Talk:Calendar - for "REAL" programmers: Difference between revisions

added a new talk section for some BCD computers.
m (→‎Discussion Cont.: My bad. PDP-10's 36-bit word stored 5 x 7-bit bytes, not 7 x 5-bit bytes.)
(added a new talk section for some BCD computers.)
 
(7 intermediate revisions by 4 users not shown)
Line 1:
==Delete?==
 
Far too specific. --[[User:Paddy3118|Paddy3118]] 03:35, 31 May 2011 (UTC)
:Looks like maybe it's just for fun maybe. I suggest removing the task tag and moving it to a subpage of the user who made it's user page. --[[User:Mwn3d|Mwn3d]] 03:45, 31 May 2011 (UTC)
 
I kind of disagree. Programming on a 6-bit (aka UPPERCASE only) platform is a legitimate pursuit. The K&R C programming language specifically permitted it, so to also PL/I, FORTRAN, COBOL... etc. There were and are still many legitimate CPU architectures that are intrinsically 6-bit, hence UPPERCASE.
 
:I agree that it should be deleted. This is an absurd requirement and is totally uninteresting code-wise (either the language is case-sensitive or it isn't) ... even in the unlikely event that you care about computers with 6-bit words these days, you could always write a compiler that accepted ASCII or even Unicode source, loading it into multi-word encodings. (Or more likely you would just cross-compile, since you wouldn't want to actually do your work on a 6-bit machine nowadays.) [[User:Stevengj|— Steven G. Johnson]] ([[User talk:Stevengj|talk]]) 15:50, 11 November 2013 (UTC)
 
===Examples===
 
;Example 12-bit computer architectures
*[[wp:PDP-8|PDP-8]]
Line 46 ⟶ 50:
 
[[User:NevilleDNZ|NevilleDNZ]] 05:04, 31 May 2011 (UTC)
 
 
=== Discussion Cont.===
:Not decision, discussion. And you`ve made a great case! --[[User:Paddy3118|Paddy3118]] 05:43, 31 May 2011 (UTC)
Line 52 ⟶ 58:
:But 6 bit could just as easily be all lower case as all uppercase. And there are other characters that would also be eliminated if this were really being targeted at a 6 bits-per-character platform. Meanwhile, some languages become unusable with this "all uppercase" constraint. Mind you, it's a cute constraint. But it's also silly. --[[User:Rdm|Rdm]] 18:15, 31 May 2011 (UTC)
 
Actually - kind of - I agree with you... 6-bit is the criteria. Although I have never heard of a strictly lower case hardware platform.
 
:I think that is because older devices such as the teletype ksr-33 (or a selectric with an APL type ball or any of a variety of others) would only print upper case. (The teletype handled ascii but lower case letters looked like upper case characters. Then there were several systems for encoding selectric characters (e.g. tilt/rotate codes).) Meanwhile, there are numerous systems for dealing with mis-matched character set issues. It gets crazy. And I suspect there might be a reason people adopted full ASCII (with lower case) despite the too numerous alternatives. --[[User:Rdm|Rdm]] 14:43, 2 June 2011 (UTC)
 
BTW: The first time I encountered such a computer, it was a [[wp:Prime Computer|Pr1me]] I remember trying being rather bamboozled about how to get the damned thing out of uppercase, including looking for a toggle under the keyboard. It took a little while to dawn on me that it could ''only'' '''do''' upper case. The [[wp:ZX80|ZX80]] code was also UPPERCASE, the ZX was so nice to program that the UPPERCASE restriction didn't seem to matter.
Line 69 ⟶ 77:
 
[[User:NevilleDNZ|NevilleDNZ]] 05:14, 1 June 2011 (UTC)
 
 
=== Create another algorithm? ===
:The task description says "Create another algorithm", yet the Algol solutions are identical (except for the case).--[[User:Abu|Abu]] 15:06, 31 May 2011 (UTC)
I get your drift.... rewording task: Provide an algorithm ... presented entirely without lowercase. ThanX for pointing it out. [[User:NevilleDNZ|NevilleDNZ]] 03:58, 1 June 2011 (UTC)
 
 
=== Examples, BCD machines ===
;Example 5-bit computer architectures
*   [[wp:IBM_1620|IBM 1620]]
*   [[wp:IBM_1620|IBM 1710]]
*   [[wp:IBM_1620|IBM 1720]]
 
 
The '''IBM 1620'''   (and the others above)   had a magnetic-core memory with BCD encoding.
<br>('''BCD''' &nbsp; = &nbsp; '''B'''inary '''C'''oded '''D'''ecimal.)
 
Each memory location was &nbsp; (for the most part) &nbsp; a decimal digit.
Each memory location was comprised of five bits:
::* &nbsp; a flag bit (the '''F''' bit), &nbsp; used to indicate a negative number, &nbsp; an &nbsp; ''end-of-field'', &nbsp; or a &nbsp; ''carry''.
::* &nbsp; four bits (the '''8421''' bits), &nbsp; used to indicate which decimal digit was being represented.
 
Additionally, there was a check bit (the '''C''' bit), &nbsp; which isn't used to hold "data" and could not be set or accessed by a programmer. &nbsp; It was used as a parity bit. &nbsp; Every ''decimal digit'' had to have a odd number of bits set, including the '''C''' bit. &nbsp; If not odd, &nbsp; a "parity bit" error light was lit and the computer went into a wait (stopped) state.
 
There wasn't a method to indicate lowercase letters.
 
Characters used two consecutive decimal digits.
 
There were three special "numbers":
::::* &nbsp; '''1010''' &nbsp; a record mark
::::* &nbsp; '''1100''' &nbsp; a numeric blank (for punched cards)
::::* &nbsp; '''1111''' &nbsp; a group mark
 
 
All opcodes were two decimal digits.
 
::::::::::::::::::: -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 02:12, 29 October 2020 (UTC)
 
 
==another ASCII version==
 
Here is a shorter ASCII version:
<pre>
,-~~-.___.
/ ()=(() \
( ( 0
\._\, ,----'
##XXXxxxxxxx
/ ---'~;
/ /~|-
=( ~~ |
/~~~~~~~~~~~~~~~~~~~~~\
/_______________________\
/_________________________\
/___________________________\
|____________________|
|____________________|
|____________________|
| |
</pre>
-- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 18:31, 21 November 2013 (UTC)