TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A Spellchecker Used to Be a Major Feat of Software Engineering (2008)

48 pointsby jaybosamiyaover 9 years ago

14 comments

rwallaceover 9 years ago
I remember when I was about twelve or thirteen, seeing some mention of automatic spelling checking, trying to figure out how it could be done, and ending up very skeptical. It seemed to me there just wasn't enough regularity for any compact algorithm to do the job, so it just couldn't be done without literally having a list of every word in the English language, and even if you had a 64K machine, that wouldn't fit in memory alongside a word processor and your document.
评论 #10789952 未加载
teh_klevover 9 years ago
Obligatory Peter Norvig &quot;How to Write a Spelling Corrector&quot;:<p><a href="http:&#x2F;&#x2F;norvig.com&#x2F;spell-correct.html" rel="nofollow">http:&#x2F;&#x2F;norvig.com&#x2F;spell-correct.html</a>
bithive123over 9 years ago
Others might also find interesting this video from 1982 where Brian Kernighan demonstrates building a simple spell checker using UNIX command line utilities: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;XvDZLjaCJuw?t=5m15s" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;XvDZLjaCJuw?t=5m15s</a>
评论 #10789419 未加载
guard-of-terraover 9 years ago
This is perhaps true for English, isolating language with clear word boundaries.<p>Making spellchecker for Russian (inflecting language), Japanese (I think they don&#x27;t always put spaces between words, Koreans less so) or Finnish (agglutinating language) still takes good part of a decade, more or less.
tokenadultover 9 years ago
Natural language processing is HARD, and is an ongoing topic of research. Making a spellchecker that works right is still a major feat of software engineering. I have to hand-tweak all the spellcheckers in all the software programs I use that include spellcheckers.
gmu3over 9 years ago
I still remember getting a new computer for Christmas almost two decades ago and seeing Microsoft underline words red and correct spelling&#x2F;grammar the first time. It felt like magic.
personjerryover 9 years ago
But it seems like to me the &quot;progress&quot; mentioned is more in the hardware than the software, in contrast to the emphasis on Software Engineering from the title.
评论 #10790271 未加载
ufmaceover 9 years ago
Spell-checking seems straightforward enough now, if you&#x27;re just comparing words against a stored dictionary. The tricky part seems to be providing reasonable suggestions for a misspelled word.
rileymat2over 9 years ago
I would like to see some progress on the OSx spell checker. I am tired of going to google to get the correct spelling for words. It seems to be much better at correcting spelling.
评论 #10789435 未加载
评论 #10789710 未加载
coldcodeover 9 years ago
Everything was a major feat if you go back far enough. Having started as a programmer in the early 80&#x27;s every programming generation did things that seemed impossible to the prior one. Today the &quot;generations&quot; just happen faster.
timonokoover 9 years ago
Tell me about it: <a href="http:&#x2F;&#x2F;www.ling.helsinki.fi&#x2F;~fkarlsso&#x2F;genkau2.html" rel="nofollow">http:&#x2F;&#x2F;www.ling.helsinki.fi&#x2F;~fkarlsso&#x2F;genkau2.html</a><p>Karlsson&#x27;s Finnish spellchecker was already there around 1982(?), because it is rulebased, but very complex. Ruletables are sized almost like english dictionaries.<p>Google tries to compile Finnish language based on dictionaries, but fails everytime and will fail forever.
transfireover 9 years ago
Er... nope. Spellcheck is not just a matter of looking up a word in a hash table. Spellcheck is still a hard problem even if hardware and software make it a bit easier today than it was a couple decades ago. To elucidate, computers are still far too slow to do a simple brute force search for the closest matching words. One has to use binary searches, at least, or better, tree data structures to get good performance.
ntumlinover 9 years ago
Does anyone have a link to specific tricks used or even implementations of spellcheckers from then?
评论 #10789337 未加载
评论 #10789708 未加载
rabbyteover 9 years ago
I can only conclude from this that every line of code you write today, no matter how brilliant or beautiful, is an ugly hack.
评论 #10790019 未加载