
Early Nintendo programmer worked without a keyboard - msh
https://arstechnica.com/gaming/2017/04/the-first-kirby-game-was-programmed-without-a-keyboard/
======
vanderZwan
> As reported by Game Watch (and wonderfully translated by the Patreon-
> supported Source Gaming)

I know this should be the default and not deserve a compliment, but I really
appreciate it when an article on a website does proper sourcing.

~~~
komali2
It's always nice to know about the little ways passionate organizations like
Source Gaming are doing their part to deliver information around the world.

~~~
CM30
And for the people who want to read their original article about this (with
the full translation), here's the link:

[http://sourcegaming.info/2017/04/19/kirbys-development-
secre...](http://sourcegaming.info/2017/04/19/kirbys-development-secrets/)

------
shubhamjain
> Sakurai, who was 20 at the time, says he simply thought this keyboard-free
> programming environment was "the way it was done," and he coded an entire
> functional test product using just the trackball.

Maybe ten years from now, I can recount the horrid tales of writing code in
notepad that didn't even have Ctrl+S shortcut, let alone code highlighting. :)
Joking aside, I revere veteran programmers who wrote without keyboards, and
coded mostly in assembly but I can't help think if it was pretty normal
because that's the way things were done at that time.

There is a opinion I hit on every now and then—of programming, especially web
development, getting ridiculously easier compared to the past. It has, to a
great extent, considering the tools and the computing power we have now, but
the complexity of software is also pacing at the same speed, briskly consuming
that efficiency. The real question that should be asked is: was programming in
the past inordinately difficult when seen in perspective of software
complexity the market demanded? Is software development easier today because
the gain in programming efficiency is more than the complexity of software
that needs to be made?

~~~
iliketosleep
I think you’ll find that the average programmer of decades ago would have been
significantly more competent that the average programmer of today. Why?
Because programming wasn’t nearly as popular back then, so it was mainly
people with genuine aptitude or interest in programming who pursued that path.
These days, programming is more fashionable and quite a number of mediocre
people have jumped on the bandwagon thus pulling down the average.

~~~
alistproducer2
Programming has become one of the only paths towards a middle class life (as
we've known middle class in the past). No one I know from college that doesn't
work in IT makes enough money to be old-school middle class like I am.

~~~
elevenfist
...you must not know many people then. There's lots of opportunity for a
middle class life in non-it-related professions. Something I found pretty
shocking after I left the sv bubble.

~~~
elros
Such as?

~~~
elevenfist
Marketing, sales, numerous supporting jobs in entertainment, skilled trades
and engineering, (as many mentioned) white collar food industry jobs,
logistics, accounting, statistics, mediation, community builders, I could go
on and on. So many diffierent types of jobs, even when you exclude all the
shitty ones that make the world a shittier place, like low-information
political shills and propagandists, (tiny conservative talk radio shows and
online communities do decently, moderate and liberal not so much) junk and
junk food marketers.

------
GuiA
This is very cool. Constraints are definitely the mother of all creativity,
even in indirect ways. This reminds me of my first few years of programming as
a pre-teen, on a TI-82 calculator (I had no computer at home at the time),
where I'd input code directly with the tiny keyboard. You didn't type keywords
(if, else, etc.) directly - instead you would pick them from a menu system and
the editor would insert them in your code. You could use the number keys as
shortcuts in the menu system; after a while you'd develop pretty good muscle
memory and type relatively fast on the machine. When I graduated to assembly,
it was a whole other ordeal. I also remember drawing sprites for my game on
graph paper, and then painstakingly inputting the coordinates for on pixels in
the source.

It's funny how every programmer who got into programming before the age of
ubiquitous laptops/tablets/phones/etc. has stories like that to tell; one of
my old boss's favorite stories is deleting the boot sector accidentally while
programming an old DOS machine, and having to rewrite by hand and from memory
while the computer was still powered. When he restarted the machine,
everything worked, which was pretty much a miracle.

On one hand I wonder if programmers who had to face this kind of drastic
challenges end up having a stronger understanding of their craft and tooling
compared to the new generation, learning languages and machines with very
strong guard rails, never having to learn the deep insides of what they're
working with; on the other hand, every generation bemoans the fact that the
one before doesn't get things quite the way they do, but things usually turn
out fine.

~~~
westoncb
Whoa, that's interesting. Your description of the input scheme for the TI-82
sounds very similar to something I started building for a program editor meant
to be used with motion sensors
([https://www.youtube.com/watch?v=tztmgCcZaM4&feature=youtu.be...](https://www.youtube.com/watch?v=tztmgCcZaM4&feature=youtu.be&t=1m32s)).

My plan was to always present a 3x3 grid with cells containing whichever
language constructs were available from the current cursor position: after
selecting one, the cursor position updates, and the options available in the
cells update.

I've tried to imagine using it many many times, but haven't been able to
definitely conclude whether it would be usable or not...

~~~
derefr
You're basically talking about an IME or software keyboard.

For something similar to your idea, I'd suggest playing with the Japanese-
language keyboard for iOS.

For a bit of background: The two main Japanese writing systems are
syllabic—each character represents a consonant+vowel pair, with ~15 possible
consonants and 5 possible vowels, though not all possible combinations of
those exist.

So, instead of attempting to give you a ~70-key keyboard (wouldn't really fit
on the screen), the standard Japanese IME for touchscreen devices instead
displays one key per initial _consonant_ (indicated with the character you'd
get by completing the syllable with an "a"-vowel.) Tapping the key neutrally
picks said "[consonant]+a" character; swiping in each compass direction
instead picks one of the four other vowel options. And holding down one of the
keys displays the options as a little plus-shaped menu.

~~~
westoncb
Interesting. Yes, that is very similar to what I had in mind. The ideal
solution for typing in Japanese is slightly different though since the things
you're specifying are always comprised of two parts, allowing the system to
always be two-step. I think I would have to go with a sequences of taps, since
the things being specified could have many parts.

Let's say you select "method definition", for instance. After that (assuming
we're writing Java), you'd have to select an 'access modifier', 'return type',
'method name', and 0 - N 'method parameters', and so on.

------
danso
> _As if the limited power wasn 't bad enough, Sakurai revealed that the Twin
> Famicom testbed they were using "didn’t even have keyboard support, meaning
> values had to be input using a trackball and an on-screen keyboard." Those
> kinds of visual programming languages may be fashionable now, but having a
> physical keyboard to type in values or edit instructions would have probably
> still been welcome back in the early '90s._

Leaving aside the contention whether visual programming languages have _ever_
been fashionable, the author has a very deformed view of programming if he
thinks typing out code via an on-screen keyboard is the difference between
traditional programming and "visual" programming.

------
gdubs
Something so tight and elegant about the construction of games back then. Just
look at the sprite sheets. Nothing wasted.

I think it was Woz who said that an advantage of the generation of programmers
who grew up in the 8 bit era was that they could have a mental model of the
entire machine, which allowed them to squeeze out every last drop of
performance and do some mind blowing things with very limited power by today's
standards.

------
aendruk
Seemed like an interesting article, but while I was reading it disappeared
from view and was replaced by a photo of a resort or something.

Oh well.

~~~
sevensor
Ars used to be a decent computer-enthusiast website. A little less hardcore
than anandtech or [H]ardOCP. Somewhat helpful forums, but often offtopic.
Obsessed with water-cooling your overclocked Celerons. But that was 1.5e-1
centuries ago, before the Condé Nast acquisition.

------
jasonkostempski
My brain couldn't even grasp the thought of it, I read the title as "worked
out with a keyboard" 5 times and expected to see some sort of crazy exercise
equipment when I opened the article. I even thought that ugly trackball mouse
was some kind of workout machine until I finally read the first paragraph.
That had to really mess with his hand programming that way.

~~~
elldoubleyew
Ironically you are correct [0]. Sakurais health has become a bit of a meme in
the Super Smash Bros. community over the last few years. I can't be 100% sure
that his issues were related to track-ball-programming or not but I am sure it
didn't help.

[0] [http://www.polygon.com/2013/2/27/4035046/why-masahiro-
sakura...](http://www.polygon.com/2013/2/27/4035046/why-masahiro-sakurais-bum-
right-arm-is-hindering-work-on-the-new)

~~~
jasonkostempski
Trackball for normal mouse use alone could play a big part. I really liked
them but I haven't used one since the late 90's because the fatigue was very
noticeable, especially on the top of my hand, my hands feel weird just
thinking about using one again.

------
jamespitts
Amazing dedication!

What struck me about this person's situation is: why didn't he and other
engineers there work together and jerry-rig something with a PC to interact
with the Twin Famicom and on-screen keyboard using the trackball's protocol?

Perhaps they eventually did!

------
kstenerud
Most primitive system I ever programmed on had a hexadecimal number pad and an
LED display. You punched in an address, hit "addr", and it showed the current
value at that address. There were also "next" and "prev" buttons.

You could then enter a new value on the hex pad and hit "enter".

Once you were satisfied, you'd point the reset vector to your program, and hit
"reset" to start the chip going.

------
AdamSC1
And employees complain today if they don't have a fridge stocked with free
Jamba Juice!

~~~
cryowaffle
Managers beg you "what can I put in the fridge?!" It's not a one way street
because manager is just as fearful of losing engineers as engineers enjoy the
perks.

------
sbierwagen
Blogspam. Source is [http://sourcegaming.info/2017/04/19/kirbys-development-
secre...](http://sourcegaming.info/2017/04/19/kirbys-development-secrets/)

------
sehugg
I kinda thought the article was going to be about programmers that marked up a
line printer output and handed it off to someone that keyed the changes into a
line editor (or punchcards)

------
atemerev
You still can do it:
[https://m.youtube.com/watch?v=hB6eY73sLV0](https://m.youtube.com/watch?v=hB6eY73sLV0)

------
cube00
I'll never complain about Centura again.

------
linux2647
Obligatory xkcd: [https://xkcd.com/378/](https://xkcd.com/378/)

