TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

How Steve Wozniak Wrote BASIC for the Original Apple From Scratch

351 点作者 mr_tyzik大约 11 年前

19 条评论

k1w1大约 11 年前
The update that describes why 4KB of RAM was necessary was interesting to me. In 1998 I wrote a Java Virtual Machine in assembly language for a PIC-like microcontroller that only had 4k of ROM (actually it was 4k instructions, but they were 12-bit words giving 6kB). I managed to get all of the important features of the language to fit, including exception handling and an interactive debugger. However by the end, each time I wanted to add a new instruction to my code I had to find something else to optimize first so it would still fit in 4k.<p>By the end I convinced myself that 4k was the minimum possible code size for implementing a JVM.<p>The JVM was used in the Parallax Javelin Stamp - a Java version of the BASIC Stamp (<a href="http://en.wikipedia.org/wiki/BASIC_Stamp" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;BASIC_Stamp</a>).<p>As an aside, the SX microcontroller only had 256 bytes (yes bytes!) of RAM internally so I used an external 32kB SRAM for the Java heap and stack. The 256 bytes of internal RAM held the internal state of the interpreter and memory manager.
评论 #7688987 未加载
评论 #7689038 未加载
matthewmcg大约 11 年前
&quot;In 1967 or 1968, as a senior in high school, our electronics teacher ... arranged for me to go to a company in Sunnyvale (Sylvania) to program a computer because I already knew all the electronics in class at school. Mr. McCollum did this for students with electronics abilities every year, finding local companies with engineers and projects that would let high school students come and and get some experience.&quot;<p>It&#x27;s amazing that his high school had electronics classes and vocational externships. Is that something that was common at the time or just another amazing aspect of Silicon Valley?
评论 #7687822 未加载
评论 #7687537 未加载
评论 #7687526 未加载
评论 #7687277 未加载
评论 #7687643 未加载
评论 #7690330 未加载
评论 #7689996 未加载
评论 #7689007 未加载
评论 #7691977 未加载
评论 #7687923 未加载
评论 #7687494 未加载
评论 #7687492 未加载
评论 #7687548 未加载
评论 #7688843 未加载
npongratz大约 11 年前
&quot;<i>The other &#x27;bible&#x27; was a book &quot;101 Games in BASIC.&quot; I was a fan of computer games and knew that as soon as I had a computer of my own I would want to type in all these games to play.</i>&quot;<p>I don&#x27;t know for sure, but I think Mr. Wozniak is referring to the book edited by David H. Ahl, <i>BASIC Computer Games</i>:<p><a href="http://atariarchives.org/basicgames/" rel="nofollow">http:&#x2F;&#x2F;atariarchives.org&#x2F;basicgames&#x2F;</a><p>Notes on the page mention the book was &quot;[a]lso published as 101 BASIC Computer Games&quot;.<p>This book happened to be a great influence on me. Reading it in grade school gave me a small taste of what fun programming can be. I especially liked how some of the programs showed how simple rules can result in emergent and unexpected behavior. Not to mention how easy and fun it was to change the source (sometimes by accident... SYNTAX ERROR anyone?) and seeing what would happen.<p>Today, I have the distinct privilege to do effectively the same (different platforms, of course :)), and now it even pays the bills.
评论 #7688730 未加载
评论 #7688132 未加载
评论 #7688529 未加载
评论 #7688017 未加载
评论 #7690605 未加载
etfb大约 11 年前
Woz is, for me, the ISO standard geek, the distillation of all that I aspire to. Somewhere in Paris is a vault, and in that vault is a platinum-iridium Steve Wozniak, against which all of us are judged and found wanting.
kbs大约 11 年前
If you&#x27;re interested in the actual details of the implementation of the syntax table, I had a great exchange on the 6502.org forum a couple of years back.<p><a href="http://forum.6502.org/viewtopic.php?p=17736" rel="nofollow">http:&#x2F;&#x2F;forum.6502.org&#x2F;viewtopic.php?p=17736</a><p>There is a (relatively easier to understand) stack-based expression evaluator, with hooks to allow for operator precedence. The interesting part is the scanner, which converts each line of BASIC into the tokens used by the evaluator. This is the bit that has the &quot;syntax table diagram&quot;.<p>You may also find this article by Woz on the Apple][ from the &#x27;77 BYTE magazine a pretty interesting read.<p><a href="http://www.downloads.reactivemicro.com/Public/Users/Grant_Stockley/Apple2WozSystemDescription.pdf" rel="nofollow">http:&#x2F;&#x2F;www.downloads.reactivemicro.com&#x2F;Public&#x2F;Users&#x2F;Grant_St...</a>
tn13大约 11 年前
In India I studied in a school that had only one electric bulb per class and a second hand MS-DOS machine donated by a politician. The school and teachers were glad to let me use it and I am eternally thankful to them for the same. It changed me totally.<p>We also had awesome electronics equipment lying around which we could use. I used IC-555 when I was in 8th grade to program a flashing LED and I can not explain the joy of doing it in words.
评论 #7693294 未加载
listic大约 11 年前
I programmed in Forth some time ago and I wonder why didn&#x27;t Wozniak implement Forth on his first computer. Surely, it would be easier to do and run faster than BASIC. That BASIC was a naive interpreter, it couldn&#x27;t help being slow, except for the primitives that Woz coded in machine language, I&#x27;m sure they were fast.<p>Was it already clear for Wozniak in 1975 that Forth looks weird and people won&#x27;t get it?
评论 #7687569 未加载
评论 #7688915 未加载
评论 #7687489 未加载
评论 #7690338 未加载
评论 #7688521 未加载
评论 #7687510 未加载
csense大约 11 年前
I feel like gaming has always been an important application for driving hardware innovation.<p>It&#x27;s interesting that this article shows that goes at least all the way back to Woz&#x27;s home-built computer that turned into the first Apple.
评论 #7687968 未加载
评论 #7688940 未加载
subdane大约 11 年前
&quot;But I had in the back of my head that I could be a star, that I could get a little fame in the hobby world, like Bill Gates, if I created the first BASIC for the 6502.&quot; Big things start small!
评论 #7687498 未加载
Someone大约 11 年前
<i>&quot;I kept about 50 chronological folders of papers throughout all my BASIC design work. Each one was labelled GAME BASIC. So you can see where my head was coming from.&quot;</i><p>I&#x27;m not sure whether that &#x27;kept&#x27; means they are gone, with that &quot;<i>can</i> see&quot; a sentence later, but if they exist, somebody should write a book or a paper on them.
beachstartup大约 11 年前
this is a serious question.<p>does anyone know if woz lifted weights or participated in any other kind of serious athletics when he was younger? he&#x27;s always very fit and muscular in early pictures and as many athletes do, he&#x27;s gained some weight in later years.<p>i only ask because some contemporary biopic films&#x2F;representations have portrayed him as out of shape in his early years and that&#x27;s clearly bullshit.
评论 #7689788 未加载
评论 #7693300 未加载
评论 #7689771 未加载
dpweb大约 11 年前
I remember a quote by Woz I think it was with the hardware however, about being forced to design everything more completely before even starting to build it. There&#x27;s got to be a lesson in that somewhere.
评论 #7689773 未加载
read大约 11 年前
<i>Judging by my own feelings, I assumed that...</i><p><i>At least then I was sure that my computer could possible do the important things that high priced computers do, but I wasn&#x27;t sure.</i><p><i>I sniffed the wind and knew...</i><p><i>I never saw my name in print so I didn&#x27;t get that &#x27;Bill Gates&#x27; fame, but I was known in my club.</i><p><i>Every club meeting I&#x27;d have a few more commands that worked fully.</i><p><i>Had I not cared about BASIC, I probably would have just built another switches and lights computer with minimal static memory and been done with it.</i>
评论 #7690404 未加载
DodgyEggplant大约 11 年前
&quot;When you code by hand (couldn&#x27;t afford a time-share account) it&#x27;s hard to make changes in the middle structure of things that have to be at fixed addresses.&quot;
afs35mm大约 11 年前
Woz wrote BASIC from scratch and I&#x27;m having trouble with call and apply...
marcosscriven大约 11 年前
Wozniak is the closest I get to idolising. There&#x27;s just something about the combination his extreme talent, humbleness, and humanity.
moron4hire大约 11 年前
People always ask me, &quot;what was it like to be homeschooled&quot; and I never have an answer for them. It was all I knew. What was it like to go to public school? But this. This is what it was like. My sister and I did things, made things, whatever we wanted. We went places and interacted with adults and worked on real projects. Nothing as impressive as this, but lots of things far more impressive than our peers.<p>But that wasn&#x27;t &quot;being homeschooled&quot;, that was having our parents. I&#x27;ve learned that most of our homeschooled peers didn&#x27;t do anything like we did. It was kind of a weird revelation to grow up in this group of supposed-academic-over-achievers, often feel like the dumb one because I hadn&#x27;t read all of the books they did (which I now realize was because I had a much more balanced up bringing that included sports and other studies), and then be the only two (my sister and I) to make something out of our lives.<p>Religious zealotry will do that to people. And they were zealous in both homeschooling and Christianity. I&#x27;m now somewhat surprised one or two of them haven&#x27;t committed suicide yet. I know one has tried, but his zealotry makes him refuse to get help. His father, being the local physician in our small town, apparently doesn&#x27;t believe depression is a real thing. And yet half or more of his 11 kids are textbook cases.<p>It makes me sick. But again, that&#x27;s not homeschooling, that&#x27;s having certain parents. One&#x27;s parents are, naturally, the biggest influence on their lives.
VikingCoder大约 11 年前
I believe I know exactly how he did it - the Richard Feynman Problem Solving Algorithm:<p><pre><code> * Write down the problem. * Think very hard. * Write down the solution.</code></pre>
raverbashing大约 11 年前
&quot;Wow, so, you mean people can develop software without using TDD and an OO language?!&quot;<p>Edit: yes, this is why I have much more respect for Wozniak than for Uncle Bob or other consultants
评论 #7687862 未加载