11
$\begingroup$

Inspired by this question

Let's say a small group of people, 10-15 or so, were going to travel back in time to the mid-1970s, the time of the first personal computers. They can have experienced software developers and hardware engineers in the group, and can each bring one laptop or tablet computer with them, which (given today's limitations) can hold an arbitrary amount of technical data.

Knowledge is not a problem, but the technological installed base is. The technology to create modern computers does not exist back then, and as the development of such technology is an inherently iterative process, the technology to create the technology to create modern computers also does not exist.

Assuming our group has specifications, and a limited amount of hardware to reverse-engineer, but very little in the way of money, how long would it take them to be able to mass-produce modern (2010s-level) computers?

$\endgroup$
  • 2
    $\begingroup$ I love this question, because I have been asking it of myself for awhile. Ever since I was in college for my computer science degree and started to realize just how amazing our computers are and how fast they grew, that my calculator was more powerful then what sent people to the moon. I've toyed with the story concept of a programmer thrown into the past leaving college. $\endgroup$ – dsollen Dec 21 '14 at 22:40
  • 1
    $\begingroup$ Interesting. I would expect at the early point, that it wouldn't be a hole lot faster than the original development cycle. But would speed up faster and with knowledge of what works reducing the error in trial and error. $\endgroup$ – bowlturner Dec 21 '14 at 23:52
  • 2
    $\begingroup$ About the constraints of money, I am not sure how tight they are. I mean, the first thing I would do would be getting rid of these; just by contacting some possible partners, showing off a working smartphone and wait as they beg me to take their money as investment. Better if they already had an industrial base (Intel, Motorola, TI, VAX...) $\endgroup$ – SJuan76 Dec 22 '14 at 8:52
  • 1
    $\begingroup$ Obligatory question - are you North Korean? $\endgroup$ – Lukáš Rutar Dec 22 '14 at 17:21
  • $\begingroup$ I'm glad you specified that it could hold an arbitrary amount of data. Otherwise the answer would be "no, because they'd just bring back sports almanacs and horse race results instead of circuit diagrams and source code!" $\endgroup$ – Cort Ammon Mar 31 '15 at 19:00
5
$\begingroup$

I can't give you a total timeframe I'm afraid. I'm a software guy and this is more of a hardware question. Here are some things to think of though:

1) You'll want to team up with people that have money and are already developing. It shouldn't be hard to do so. Show them your laptops and they love you, if not you still have apparently brilliant ideas.

2) IF you're willing to show your laptops to the world this will drastically accelerate development by itself. Everyone knows the infamous quote "there is a world market for maybe five computers." You're starting a little further along in time then that quote, but truth is people still weren't convinced that computers as PC were going to go anywhere, which limited it's development. You need a certain 'critical mass' of people using a technology before it really takes off. Demonstrating the power of a computer will significantly increase funding put into developing them. This assumes you're willing to be known and show off your laptop.

3) There are many things you can bring to software development, though most of these ideas would have to wait until computers were just a little more developed then the time frame you mentioned. These ideas include:

  • The Internet! In truth the basic idea of the internet is very simple, and could have been pulled off much sooner then it was. No one could see what it would develop into and thus no one funded effort into making it happen, but it could be done. In addition, the first internet was WAY too trusting. It's quite amusing to watch the development steps of the internet. We started out with a system that had to be managed and required you to 100% trust everyone, we ended up with a system that was effectively self-repairing non-monitored, and works even if you don't trust anyone else on the internet actually is who they say they are, including the middle-man in your communication. I could rave about how amazing and cool the final internet is from a technical perspective for hours, but my point is that most of these intent mistakes are not about technical limitations. If you know ahead of time where you want the internet to go you can avoid most of these missteps.

  • Converting to higher order languages like Object Oriented sooner. Never EVER let anyone use a goto statement...EVER (sorry, geek programming joke). Demonstrate that human developers are going to be more costly than hardware. Encourage more people to go into software development earlier so we don't hit the point of desperation we're at now (many programers are incompetent, but still employed because it's them or no one. To be frank we have far more of a need for computer skills than we have people with them)

  • Avoid Y2K from ever happening...maybe. Honestly the original idea made sense at the time, but you could get people to start moving away from it long before Y2K became a risk. However, to be honest the 'risk' of Y2K was always rather exaggerated by doomsday predictors who simply used Y2K to explain why the year 2000 was somehow destined to lead to doom. Still, there are some real costs that could be saved by starting the switch to an epoch/timestamp based date system sooner.

  • Help people to avoid all the notorious mistakes of past design and implementations. This is a much bigger boon then you may think, because were still stuck with them. As a side effect of the need for backward comparability we can't do away with things, even if everyone agrees they were mistakes, because too much of our infrastructure is now designed to work with that mistaken design. We have annoyances in our languages and operating systems today that date back to bad decisions made decades ago due to this. Avoiding those original bad decisions would save time for decades to come.

  • Avoid the dot com bust and our economy going to pieces by pointing out that internet will be great, but only once we have enough people using it and people on the internet have a real service to provide.

  • Make people stick to a POSIX standard (i.e. Unix/Linux style computers) from the get-go. More UNIX-Like OS instead of windows or mac. Yeah this is probably more of a cultural artifact then a technological one, but it would be nice today if we had a standard OS architecture and language instead of effectively 3 (Windows, *nix, Apple).

  • Going along with the earlier bullet point: set up standard APIs! There is so much time and effort lost due to everyone having different approach to doing the same thing. I need to write my code to run on three different operating systems, with a GUI that works on Internet Explorer and Firefox/chrome (though IE is getting better about compliance finally), and may different protocols for communication. To a certain point varying protocols are going to be inevitable. However, if your people are in a position to influence growth you could do more to try to get common APIs from the get go. Who knows, maybe if regular common APIs were setup and ISO standards more rigorously followed in the early years it would lead to present day developers being better about trying to figure out standards to share instead of everyone building their own.

$\endgroup$
  • 2
    $\begingroup$ Actually, Mac OSX is Unix. It's just not GNOME/KDE/open-desktop compatible. One release (Lion?) went through certification and passed. They don't bother doing that for every version, but it's probably still the same. $\endgroup$ – JDługosz Apr 1 '15 at 9:03
  • 1
    $\begingroup$ Object Oriented programming was around in the 1970s. It didn't take off though... because computers of the time weren't powerful enough to run the programs. $\endgroup$ – Erik Apr 1 '15 at 13:40
  • $\begingroup$ I'm not sure you'd have a better time convincing anybody of the Internet's value than the people who'd already invented that kind of technology. Its inception and early development easily date back to the 1950's, it's just quite another matter bringing society as a whole up to a level of being able to put it into practice. $\endgroup$ – Darren Ringer May 11 '15 at 22:00
2
$\begingroup$

I noticed that the overall arc of the answers centers around the idea of a small group of tech 'heroes' going back in time and taking over the future by using their secret knowledge. It's an old idea, but there is a problem with it.

No small group of people could ever duplicate the full efforts and output of the entire population of engineers who worked in the 1970s and 1980s. The size of the economy is just too large, and there are just too many variables - competitors, other researchers, etc.

Knowing the secret future tech is a start, but at some point you won't go much faster unless you let the details out of the bag.

I suggest that the winning strategy is not to build the tech, but to work on owning the companies that are building the tech. This is where a future-enabled understanding of what is possible would really pay off. You can select the most likely winners based on your knowledge, instead of trying to be the genius/hero inventors.

The advantage of this is that it would scale much better than hardware hacking.

$\endgroup$
  • $\begingroup$ This actually is a really common question, that gets asked in many variants over the months here. However, this one I think has more value than some of the other questions because a) The timegap is only 45 years (many have tried to go 1000+ years in the past) b) The laptops can hold a library of not just what the 15 engineers wrote, but what the entire civilization thinks was important information. $\endgroup$ – Cort Ammon Mar 31 '15 at 18:59
  • $\begingroup$ I suppose you would have to come back with a few billion dollars to build a fab. $\endgroup$ – JDługosz Apr 1 '15 at 8:59
2
$\begingroup$

I would expect at the early point, that it wouldn't be a whole lot faster than the original development cycle. The problem of course is that those already doing development have the money and resources. So this group without seeking out Intel, AMD or one of the other chip manufacturers It will take a long time just to get going. Actually there is a good chance that without joining forces they would actually be behind for quite a while.

On top of that, the laptop they bring back would need to have all of its data backed up in hard copy, because it would be the only hardware and software that could read the data and your average laptop seems to last about 5 years, granted without the viruses prevalent today, it might make it 10 years before dying, as long as it's taken care of.

But once they get going they will be able to run through the different iterations needed to produce today's tech. It would speed up faster and with knowledge of what works reducing the error in trial and error. I would guess 10-12 years faster.

$\endgroup$
1
$\begingroup$

About the same time would be my guess, because of Moore's law ;)

Even assuming you have detailed and proprietary information of every system ever built - what does that give you?

Sure, you do have some low risk IP... but if you use it you might very well end up restricting the growth and diversity of computing. MS wouldn't exist because IBM would know the value of OS's and not give them the contract. The military might confine everything under TOP SECRET. And let's not get into patents (either having them, or not)!

Ignoring that for a second you'd still have to build up the practical knowledge, techniques and materials necessary to do everything from build a semiconductor to build an app. You still need to train 10's of millions of highly skilled technical people and build up 100's of millions of man years of collective expertise. This'll take time, probably about the time you've got.

This is all due to moore's law - the most valuable thing about technology isn't how fast your cpu is. It's how fast it's going to be tomorrow! Unfortunately no matter how much knowledge or computation power your group has... progress is a living process of the human collective, not stale notes on a hard disk.

$\endgroup$
  • $\begingroup$ As I see it, the question is if you can preempt Moore's Law by bringing future knowledge. I don't know enough about hardware to answer this. $\endgroup$ – Stig Hemmer Dec 29 '15 at 10:03
  • $\begingroup$ @StigHemmer maybe put it this way, the question clearly states: "the development of such technology is an inherently iterative process". As such, how could an injection of knowledge and a small team have any major impact? None of this improves the 'inherently iterative' nature of computer development - hardware or software. Especially when one considers that 'cargo cult' programming is a thing - it's very possible that the best 'computer scientists' in this alternate universe's early days would be those who copy well, but lack understanding or creative juices to solve new problems. $\endgroup$ – NPSF3000 Dec 29 '15 at 11:51
0
$\begingroup$

First let’s assume that somehow we get over the program with changing history and therefore the people in the group not being born, educated, or the laptops they are carrying not have been made, due to the changes they make to history.

Firstly they will need lots of money, but as they know history, they can make lots of money by investing in the stock market know how prices will move the next day.

Once they have got this money…..

They could sponsor research into the areas they know are going to be important, so speed up the research process.

One of them could become a researcher and help speed up the development of TCP/IP

Introduce the concept of signing messages to USENET, so stopping a lot of the spam problems that hit USENET in its later years.

Give scholarships to students going to universities that covered microprocessor design in detail, so spreading the information quicker.

Likewise for universities that teach all maths students about abstract data type.

Outside of IT, sponsor universities that make students do a project using VisiCalc regardless of the subject the student is reading.

Sponsor research into switching power supplies.

Start sending large amounts of SPAM, so that the problem is thought about before all the email standards are wrote.

By the end of the 70s, they could invent RAID disk systems.

Put types into C a lot sooner.

Sponsor universities on the condition that they used Pascal (and then Modula-2) rather then C in most teaching of programming.

Create and give away for free a OS (along the line of UNIX) written in Pascal and sponsor all universities that uses it to research and teach OS design.

$\endgroup$
  • $\begingroup$ WRT the last point, considering all the trouble it's caused, wouldn't it be better to ensure that the C language never caught on in the first place? At the very least, a person who was prepared could use the aftermath of the Morris Worm as the perfect propaganda focus to point out what the computing community should have seen then but sadly never has realized: C is inherently insecure and should never under any circumstances be used for operating systems, network-facing software, or anything else with security implications. Changing that would head off a lot of problems down the road! $\endgroup$ – Mason Wheeler Apr 1 '15 at 12:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.