Alert: This ancient question is from the early days of Stack Overflow, and while we recognize its historical significance and have thus chosen to keep it around, please realize that if a question like this were to be asked today, it is very likely to be closed by the current community of users.
Please feel free to read and learn from the answers to this question, but refrain from asking similar questions just because this one exists.
I'm at the beginning of my career and there are lots of things which are being touted as "The Next Big Thing". For example:
These things have probably been around for some time, but I've only just started out. And don't get me wrong, I think these things are great!
So, what was "The Next Big Thing" when you were starting out? When was it? Were people sceptical of it at first? Why? Did you think it would catch on? Did it pan out and become widely accepted/used? If not, why not?
EDIT
It's been nearly a week since I first posted this question and I can safely say that I did not expect such explosive interest. I asked the question so that I could gain a perspective of what kinds of innovations in programming people thought were most important when they were starting out. At the time of writing this I have read ~95% of all answers.
To answer a few questions, the "Next Big Things" I listed are ones that I am currently really excited about and that I had not really been exposed to until I started working. I'm hoping to implement some or all of these in the near future at my current workplace. To many people they are probably old news.
In regards to the "is this a real question" debate, I can see that obviously hasn't been settled yet. I feel bad whenever I read a comment saying that these kinds of questions take away from the real meaning of SO. I'm not wholly convinced that it doesn't. On the other hand, I have seen a lot of comments saying what a great question it is.
Anyway, I have chosen "The Internet!" as my answer to this question. I don't think (in my very humble opinion, and, it seems many SOers opinions) that many things related to programming can compare. Nowadays every business and their dog has a website which can do anything from simply supplying information to purchasing goods halfway around the world to updating your blog. And of course, all these businesses need people like us.
Thanks to everyone for all the great answers!
The next big thing when I was starting out was the Internet.
When was it? :: circa 1995.
Were people sceptical of it at first? :: not really ( dot-com bubble [1]).
Did you think it would catch on? :: yes but not with that explosive growth.
Did it pan out and become widely accepted/used? :: the Internet might have become the cornerstone for many "next big things" that followed.
The wheel. Before that, fire.
Geocities. Geocities was the thing. Everyone had to have their own homepage.
Edit:
The above answer, which is my original, really isn't a programming related answer. I will expand upon this by saying Geocities got almost all of my friends to start learning HTML. When I say almost all, I really do mean both programmer and non-programmer alike. For a few weeks I swear talking geek was in and then suddenly...
32-bit address space.
near
and far
pointers? Thank ${DEITY}
that brain-death didn't make it into POSIX. - Mike DeSimone
Google Search Engine. Changed the whole game!
Stack Overflow... Not when I was just starting out, but when I was starting college.
OO - there was this C++ stuff coming along, of course you would still need C for 'real' work.
And there were lots of new machines/OSs that were going to finally replace Unix !
The Commodore 64
has to be Java, circa 2000.
I don't really remember. I was too busy programming.
.net
It was just starting to catch on... and the first few apps were starting to hit the market. Up 'till then, pretty much all commercial apps were C++ / Windows API.
The personal computer.
Ray Tracing.
As a graphics guy, Ray Tracing has always been the next big thing in graphics. I actually did some of this in BASIC on an Atari800 - yes it took hours. Several years back I was asked by someone over email when it would be practical for real-time use. I estimated 2012 which interestingly matched another persons prediction. I can almost stand by that now - it should be quite interactive on those Bulldozers AMD is going to have in 2011 (and presumably on whatever Intel is up to) and moving to "playable FPS" shortly thereafter. Once practical it will certainly be the "next big thing" in graphics for real, as it does everything with elegance and simplicity.
I started programming in FORTRAN during the fall of 1971. Back then, things like Unix and C hadn't been dreamed of, and the only OOP language was some weird Norwegian research thing called Simula.
Some of the "next big things" were:
Then when I was a senior in high school, in 1975, a guy I knew and his dad paid a ridiculous amount of money and got an Altair. That was a kit microcomputer with an Intel 8080 8-bit CPU. It didn't really do much, but we knew the world was never going to be the same.
Incidentally, my dad insisted I not study programming in college. He was certain computers were just a fad.
IF (A - B) 1, 2, 4
(whitespace to taste, including spaces inside the IF
). Ah, the arithmetic IF, computed GOTO, assigned GOTO (which I was always forbidden to use). Fun, fun, fun. - David Thornley
It had already been out for a long time, but C++ was still the next big thing, and there were endless debates about C++ being slower than C because it more easily enabled things like object oriented design.
Then later when I hit University the next big thing was Java. And there were endless debates about Java being slower than C++. Apparently everyone's toaster would be running it. Still waiting for that.
Pascal.
In college they got a Pascal distro and had to figure out how to build it. All you got was the Pascal source. So you had to use that source to write a Pascal compiler in some existing compiler (we had Algol-W and Sail), then compile Pascal using that bootstrap compiler.
Open-source circa 1975.
The Apple ][e. High res graphics! Built in BASIC! That thing ran at 1Mhz! Boo-yah!
When I started programming, it was Structured Programming.
When I started programming professionally, it was Object Oriented Programming.
Loading programs from audio tapes (ZX Spectrum).
Once I even attached a microphone instead of a tape player and tried to imitate sounds to see if something would load to computer. Sadly nothing did. But I got those carrier sync lines running on the screen though!
AJAX and JavaScript Libraries were the next big thing for me when I started getting serious about web programming. I remember scratching my head a lot trying to get AJAX to work myself, getting really frustrated and almost giving up.
Then things like Prototype and JQuery came along and made everything awesome :)
Event driven programming.
I definitely didn't understand it when I was starting out, but I occasionally fondly(?) reflect back on trying to implement the buzz-words before I really understood them.
I guess CD-ROM's - everybody was creating them thinking they would be millionaires.
64k of memory on an affordable home computer. What will we do with all of that?
38911 BYTES FREE
! - Mike DeSimone
Colour monitors
The shift from using desktop software to using web applications. Turned out to be the real deal.
I first noticed this when I ditched Eudora for Yahoo! Mail in the late 90s.
Data Error Reading Drive A. Abort? Retry? Ignore?
" - Chetan Sastry
OO programming and GUI programming with the rise of Windows 3.1
Rapid Application Development (RAD) which if I remember correctly was the concept of dragging and dropping components onto a form.
I started with Delphi 1.0 and the latest version I used was 2005. Much easier to write native Windows apps than C or C++.
Programming sites for mobile phones... they used to call it wap (and WML - Wireless HTML)
We were all building sites for old phones for companies that vanished in the 2000 bubble
When I started nsapi
and vrml
was the next big thing. And also corba
.
Visual Basic for Windows, now everyone can program in a natural language with a graphical interface.
I started coding professionally around the turn of the century and the next big thing, at least in management circles, was...
drumroll...
XML
I still recall receiving an email from my manager at that time simply stating:
"We need to get into XML ASAP - please put in place a process to transfer our
data using it"
I'm ashamed to say I responded by doing something very similar to this [1].
[1] http://thedailywtf.com/Articles/XML_vs_CSV__0x3a__The_Choice_is_Obvious.aspxDuke Nukem Forever [1] and I'm still hoping it will catch on!
[1] http://en.wikipedia.org/wiki/Duke_Nukem_ForeverFor me, the consumer Internet. Amazon, eBay... basically the internet as a utility.
The Internet existed, sure, but I first really got into computers in the mid-90s just before it finally took off with regular people. When I was in elementary school, only the rich kids, and the kids whose parents' worked with computers, had computers at home. My best friend's dad was a sysadmin at the local university, and introduced me to the internet. Before then, a computer had a green screen and was only useful for playing Oregon Trail, as far as I was concerned. By the time I was in high school, EVERYONE had a computer at home, most had cable modems, and AD&D had been replaced with LAN parties[1] as the nerd social activity of choice.
These days, the Internet is taken completely for granted, like electricity or water. When I was in elementary school, it was a toy for rich kids and nerds. We didn't look things up on Wikipedia, we popped MS Encarta into the CD caddy. The internet tied up your phone line, and you got charged by the hour, so if you used it you better have a good reason, and be done quick. If you were going to be reading a long article, you would log on, download it, and then disconnect and read it offline. To do otherwise would be like leaving the water running while you're brushing your teeth.
[1] When we wanted to play a multi-player game, we couldn't plop down in front of the TV and get on XBox Live with someone in another time zone. Even if we could, we would have to resort to typing insults at each other---our computers, connections, and games couldn't handle headsets. We had to unplug the computer and schlep it over to Timmy's house, where we would run extension cords all over the house to avoid blowing circuits.
In the world? Here I hold Computer Design magazine from August 1983 (3 years before I started). It says:
"ARPANET has good potential"
"C language: key to portability (comparison with Pascal source code to show how concise it is)"
"Apple's new Lisa - how do you do stuff with a mouse and a GUI"
"Microsoft's MS-DOS 2.0 contains many enhancements, including directory support"
Not very different than today, eh? :) Internet. C. Microsoft is seasoning an existing product as the next big thing while Apple is creating something that is so revolutionary that people will have to wait for all their friends to buy it before they get convinced.
However, locally to Eskisehir, Turkey where I grew up and started programming, programming itself was the next big thing. I think that's one of the things that got me into it, amazed people asking "how did you do this?".
I remember everybody talking about this new "Java" thing.
WAP on Nokia 8110 'matrix' phones and XML. I hate both still to this day :D
Microprocessors. I still remember buying my first "computer": a 6502 SDK with 4K of RAM!
Laplink
Then
9600 baud modems
Then
Trumpet Winsock and this thing called the world wide web.
For me ? Design Patterns [1], it's still a work in progress, but they where the next big thing that allowed me to take my design skills to a new level ( which I'm still refining of course ).
It's that and Peer to Peer [2] distributed Networking, forgot to add this when I first replied, but for me right now P2P Networking is one of the "Next Big Things", and it has really made some huge huge changes in the scope of File Sharing (and the world's vision to it), but believe me, we will see much more applications to P2P than simply File Sharing.
[1] http://en.wikipedia.org/wiki/Design_PatternsI started programming in 1983 on a VIC-20. The C64 had just come out, but unbeknownst to most, the Mac and the Amiga were both right around the corner. The Next Big Thing had to be the GUI.
Wikipedia. Maybe not the most programming oriented item but it certainly has helped!
When I started, the next big thing was Windows. I still remember my first boss telling me it would be a "fad". :)
COM, and yeah.. the Internet. Then XML. It was a dark time, other than the internet.
Mr. Bojangles, animated. TI-99/4A BASIC. But I was only 7 or 8 years old at the time. My mom might have been skeptical, but I believed. I can't say working on Mr. Bojangles changed the industry, but it did change me.
Hard to say. Starting out seemed to last a while, as I did my first programming at age 13 or 14 on a Commodore 64. Back then there was no WWW (there was an internet, but no-one knew about it) and I had no modem, so the programming "next big thing" was something I didn't know much about.
Possibly hardware accelerated graphics/sound - sprites and such - perhaps. But then again, Elite didn't get much benefit from sprites, so the Speccy version was probably about 4 times faster.
The first real programming big thing was probably Turbo Pascal - though the first version I used was 3, so I'm not sure that really counts. I do remember seeing an early version of Windows around that time, and thinking it was a pointless.
Due to my odd history, I was starting out again when Windows for Workgroups 3.11 was around. By then, the GUI was a more obvious next big thing - but GEM on the PC was far from dead, the Lisa had been succeeded by a Mac or three etc. The speculation then was about this mysterious OS called Pink, and the equally mysterious NT. Oh - and if you wanted to be taken seriously, every sentence had to have the words "object oriented" in it. Pink was obviously going to beat NT, for instance, because Pink was object oriented. Even now, I don't know what makes one OS object oriented and another not (I hope it's not just the implementation language), but back then this kind of question just didn't matter.
I started in an after school study on a black and white (or, well, black and green) TRS-80, in about 1982. The personal "microcomputer" was the next big thing at the time, I guess. People were saying that variations of them would be in practically every home within 10 or 20 years. I mostly agreed, but I wasn't sure, because.. they were so expensive and clumsy at the time, and I wasn't sure what most people would use them for. $1,000 was a lot of money back then, and.. computer games and word processing wasn't really quite enough to justify the cost, for most people. (People saw them as being fancy electric typewriters for the rich and/or eclectic.) The Internet really has made a huge difference in the market penetration of the personal computer itself. That and the reduction of it's price (relative to inflation).
I saved my stuff on a cassette tape, which took forever and was always failing. I lost all my work many times. I got my own TRS-80 Color Computer, hooked it up to our family's TV (which rarely got watched back then), and was super jaz'd about having color. I bought books and learned assembler language and worked on game graphics as a hobby.
I added floppy disk drives, and was over the moon about them at first, but they were always getting out of alignment and I was still frequently losing all my work.
But anyway, the "next big thing" I wanted to talk about was the IBM PC Clone. I got my first one in 1986, I think. I remember being soooo happy about finally having a hard disk! Man, what an awesome thing! And it actually worked most of the time! Incredible.
The off-spring of IBM PC Clones ("Wintel" boxes) have now practically taken over the world. Tandy/RadioShack caved in decades ago, then, recently, even Apple finally gave up the fight and started using them. PC Clones succeeded because somehow or another, Intel / Microsoft managed to make it legal for anyone to build and sell an "IBM-compatible", and somebody somewhere somehow managed to even make it legal to compete with Intel and make Intel-compatible CPU's! Maybe someone else knows more about exactly how these things happened?
The same thing that's made them successful, however, has also been their plague - ubiquitous hardware manufacturers of a huge variety of hardware, and stuff getting to market long before there was any well established standard for how the various pieces ought to operate and interact. The way the various sub-industries have come together and cooperated and standardized as well as they have is nothing short of miraculous.
Software development as an industry is a relatively recent phenomenon, let alone the whole spastic group worship of things like ORMs and Agile. That managers expect me to learn and adhere to some silly ephemeral kind of "standard" or "best" practice or another (it's different at every place, and never really any better at any place) is bad enough, but the thing that really galls me is this whole notion of "salaried exempt" - somehow, we've become unworthy of getting paid time and half for overtime! Who ever gave that one up is in serious need of the having the @#$ kicked out of them!
If you are referring to the "next big thing" according to the media, and not the programming community, you have to include Artificial Intelligence.
AI has been the next big thing for as long as I have been working on computers. Yet, the feature set for Skynet is still hung up in marketing meetings.
I remember the XML hype getting a boost by the introduction of XSLT. I seem to remember that there was some vision about having a unified format in XML that you then translated to different formats for different browsers (such as early mobile phones). Unfortunately, tool support was very lacking.
The 1GHz processor - I was so pleased AMD got it out before Intel :-)
DOS, seriously.
I started programming on a learning machine. The machine was missing many software and hardware components comparing with a modern computer. Every time it's turned off, the source code is gone. Every time it powers on, the interactive BASIC environment is setup waiting for your input like:
10 A=2:B=4
30 PRINT A
RUN
I had a lot of fun and actually learned a lot with it. Later, when someone introduced me a real stuff with a 80286 inside, I was so confused with the reason why I need to learn DOS because it appears nothing related to programming;-)
When I started programming? Structured programming.
When I got a job programming? Object reuse, STL for C++
HDDs for IBM PCs - I remember getting my first 10Mb (yes 10 whole megabytes!) on a card that slotted into one of the expansion slots and fitting it myself. Long time ago now - OMG! - must be quarter of a century.
OO. It was going to change the world
Create big bold and colourful HTML pages. Looking back now they actually look quite awful.
Creating dynamic web pages using CGI and perl scripts. Some of the process involve splitting files and merging them back with dynamic content being written, parsing and replacing of text.
.NET definitely, and I was defiant to the end. I finally installed it a couple months ago when I needed it to run an app that would jailbreak my iPhone (yeah yeah in before "hipster").
Also Napster.
For me its the n-Tier architecture since client-server architecture was the most used during that time.
Punch cards. Then 5 1/4" floppys.
Agile development methodologies.
let me think... 16 bit microcomputers, I think. Compiled languages for home microcomputers came in at about the same time I think. Oh, the excitement when Sierpinski's Triangle would take 10 minutes to draw instead of 30, when rewritten to Turbo Basic!
CASE ( Computer Aided Software Engineering [1]) was the first next big thing for me.
[1] http://en.wikipedia.org/wiki/Computer-aided_software_engineeringWindows as a serious gaming platform (thanks to DirectX). Learned all the mode 13h tricks, even got SVGA figured out, wrote some little DOS games, all the while rest of the world slowly switched to Windows. But it was a lot of fun, a time where every game feature was a clever hack to make it run fast enough and my computer was a blistering 486 66MHz. Haven't done any form of game programming in ages but DirectX, although an essential and great introduction, was never quite as fun as mode 13h!
Software-wise, Turbo Pascal 5.5. It was a breeze.
Hardware-wise, computer mice and color monitors. Good times.
When I started the next big thing was Aspect Oriented Programming [1].
[1] http://en.wikipedia.org/wiki/Aspect-oriented_programmingyear 2k: XML, everything could be solved with XML...
Yahoo! Google still didn't exists and Yahoo! was THE portal in the internet.
I remember thinking on how cool would be to work at Yahoo! after finishing the school.
Semantic web (technologies)
Java applets. I had people begging me to put silly applets on their webpages pretty much as soon as they found out I could program Java.
Lets see, slashdot (my /. user id is 13xx) msql, perl5 had just come out. Windows 95 was new.
Actually I recall having a conversation with a flatmate, we had figured out how to make a form in HTML but not what do do with it, that must have been around '92 or '93.
Virtual memory. Wasn't around when I started coding Basic on ABC80 nor on the Amiga, until I got a card with an MMU.
It was about three or four years after I started, but the first next big thing that I considered my "next big thing" was the dBase Professional Compiler from Ashton-Tate. That software was going to turn my career on its head...if it ever materialized...which it didn't. So, I responded to an mailing from Phillippe Kahn, then-CEO of Borland, offering Paradox for DOS (retailing at $795) for only $99. I bought it, got good with it...it transitioned me into Delphi...which transitioned me into .NET...and here we are.
I started out in IBM mainframe land, and IBM thought the Next Big Thing was clearly 370XA (Extended Architecture) to boost the address space from 24 to 32 bits. Because naughty programmers had found all sorts of uses for those "free" 8 bits, converting the operating system took forever.
Of course, this was like asking what the Next Big Thing in dinosaurs was. At the time I was starting out, the real Next Big Thing was C. I didn't learn about C until years later, but I think we know how the story turns out...
Way to make me feel old, guys (er, and possibly gals too - be interesting to know the ratio here!)
But what I really longed for when I first got started was non-linear storage. Yes, my first year of programming, everything was stored on paper punched tape. Let me tell you, when I got to use a card punch machine a couple year after that, it was heaven!
Wow... here's a good question finally ;-) What was the next big thing when I started in 1983?
Might remember a few more later 8-)
When I started out, the next big thing was Java. All my classes were in C++, but the very next semester after I left school, they started teaching many of the beginning classes in Java instead.
Object Oriented Programming
1994
SGML. This was in the early days of HTML, and XML wasn't even on the horizon.
Well, in a way SGML did make it big, except not in its original, very generic (like XML) and very loose (unlike XML) form.
When I started learning programming, in my head, the next best thing was ME.
I changed my mind in a second though... :P
Honestly, I'm fresh out of college. I believe the power is in mobile devices. Still not happy though.
Still waiting for a chip in my head which will do anything a laptop does...
BASIC and time-sharing (using one computer to serve dozens of teletypes scattered around).
Depends on what you mean by "started out." When I was in grade school I convinced my parents to buy a computer after playing around with an Apple ][. They got an Apple ///. That was not the next big thing, but I did learn BASIC and LOGO. After we got a Mac I didn't code much any more for a while (unless you count Hypercard, which was also not the next big thing).
When I took my first CS class in college, we had to learn Scheme (without a doubt, not the next big thing). That was 1995, so the World Wide Web was the next big thing. That one panned out, though there was a lot of skepticism about it initially, and for good reason. The early days of the WWW were pretty ugly: AOL, geocities, compuserve, terrible quality images, animated GIFs, the blink tag, tiled background images, Netscape 1.0, IE 1.0, hideous JavaScript hacks, etc.
When I took my first full time programming job at IBM in 1998, the next big thing was e-commerce. That panned out as well (eventually), though there were plenty of reasons to be skeptical then too. At the time, IBM was using Net.Data and Lotus Domino to build web applications (WebSphere was just starting to gain steam). IBM was also making money hand over fist with this stuff at the time, so it seemed to be a good bet. I left after a year of writing crappy web applications and went back to school. The dot com boom imploded shortly thereafter.
I think every successful Next Big Thing always starts out really ugly, gets really overhyped, dies down a bit, then (if people actually use it to solve real problems) it sticks around until the next Next Big Thing takes over.
The seminars that I went to... oh the seminars. Cold Fusion, CSS just became a W3C standard. Flash was just emerging (inspired) from Shockwave, and oh yes COM object.
EASY! 16-color 4-bit CGA Monitors! Woo-hoo! 16-colors in all their glory! LET'S HEAR IT FOR CYAN!
28.8 Modems... DOOM...
I started programming in VB 2 years ago...back in the days of AOL Internet.
Try learning how SAAS (Software as a Service) works. More and more companies are moving into this approach.
The big thing at the time was how to use the CPU inside the Commodore 64 1541 Floppy drive for additional computing power (it contained the same CPU as the C64, so it sped up Mandelbrot calculations a lot).
The next big thing was the Amiga and Atari ST...
COM objects and .NET Framework. Good times ;)
VB6 Webclasses were just announced and the web would never be the same ;)
(to be fair I had been programming for about 5years at the time)
Write Once, Run Everywhere
Jon Skeet was born.
EJB [1] Entity Beans with Container Managed Persistence (from EJB 1.1)
[1] http://en.wikipedia.org/wiki/EjbCopy-paste philosophy.
1200-baud modems. Those things were FAST!
Megabytes: The first machine on which I did anything that could be called programming had 512 KB (with a K) of RAM. My web browser (just one program) is using over 300 times that amount of memory just to let me type into this little box.
9600 baud: My first modem was a 1200 or a 2400, can't remember.
America OnLine: It was big stuff back then.
Moving from punch cards for source code to interactive displays. (circa 1975)
One professor described the Relational Database Model as a great idea but he didn't know if it would catch on. He liked the grounding in set theory.
And, as others have said, Structured Programming, Structured Design and structured languages like PL/I.
On the flip side, another professor described unix and thought it was dying out.
When I first started, .Net(1.0 came out a few months after I began programming) but most of all CD-Rs
Suddenly everyone could burn their own CDs cheaply and every new computer had a CD-R burner. This lead to a huge surge of (illegal) CDs copied, both music and software. And it seemed like Floppies were finally on their way out in the near future(with stuff like Roxio's DirectCD allowing seemingly random-writes)... And then Flash drives came out and killed both of them.
Also, High Speed internet everywhere. Finally we got some (relatively slow compared to today) DSL where everything went zip-zap fast. (note, I lived in a rural area)
PL/1, from IBM (circa 1970). It was Algol, FORTRAN, COBOL, and TheWaveOfTheFuture, all in one package. They threw in a lot of other junk as well. No company other than IBM could develop such a monster, and no one else used it. I think a lot of people were impressed, in the same way they had been impressed by the 1959 Cadillac Eldorado Convertible [1]. The language did introduce some new concepts. The idea of stream I/O (as opposed to structured record I/O) is still with us. But the language itself had as many "features" as the C++ STL has objects, and it died under its own weight.
[1] http://www.autolife.umd.umich.edu/Design/Gartman/Car%20Parts/Tail_Fins.htmWhen I started: OO programming. And shortly after that the Internet. (The internet might have existed earlier, but nobody cared where I lived).
AJAX was the first "next big thing" i became aware of, back then i decided i'd learn programming, and started with...ASP.
Ruby on Rails, 3 years back when I started programming.
Cloud computing
Ruby on Rails...
For me, the next big thing was broadband Internet.
I grew up out in the boondocks (literally!) so we were blessed with the almighty 56k modem.
I recall running several-hundred-foot long ethernet cables across our back alleys so my neighbors and I could play Warcraft. :-D
I remember sitting on a bed in a hotel with my mom and watching Bill Gates give a demonstration of Windows 95 on TV.
I thought at the time I'd never get to actually use it...
For me it was fractals and fractal geometry [1] particularly regarding how it could be used to come up with artificially generated landscapes such as this [2].
Also, Aritificial Intelligence (AI) [3] has been the next big thing since John McCarthy [4] coined the term in 1956.
[1] http://en.wikipedia.org/wiki/FractalVirtual Reality:
The glasses, the games, the bio-feedback gloves and outfits... it was the means of doing surgery from the moon.... it was all going to be VR forever!
Until people realized just how silly they looked wearing those HUUUUGE helmets and awful vdt's-as-glasses. And just how non-practical it was to have a Cray computer in your living room to drive the thing.....
Of course, virtual-reality is still with us, but my point is that it has not BECOME us. We are still living in a mostly analog world.
Limited OOP support in VB4!
I fondly remember getting horrible headaches using my Timex Sinclair and a horrible black-and-white TV for a monitor. It was really cheap (in every sense of the word), and you'd never think of it as a professional instrument, but it's where I first got my progamming feet wet.
The "Next Big Thing" when I started out with programming was the destruction of the Berlin Wall. It was all over the news, radio, papers, and basically everywhere I looked.
UNIX. My college replaced an IBM 1130 with a PDP 11-70 running some sort of pre-v7 UNIX in 1976. My fortune was made.
When I started programming, computers themselves were the "next big thing". In high school, I knew an engineer who showed me the schematic drawings for a Burroughs 2000, and I was impressed but mystified. When I got to college, I got to do a project on an IBM 1620, using Load-and-Go Fortran II, and having a typewriter and a Calcomp plotter for output. I cut my teeth on that thing, writing a program to design four-bar linkages. It was truly amazing how much better it worked than a slide rule (though not nearly as portable).
Acoustic telephone couplers that allowed one to dial into a mainframe computer and interact with it at a blazing 1200 baud. Yahoo! No more punch cards even though we still had to use JCL (for those who know what that means).
Oh, and the C programming language was just getting its feet wet as a serious language. My company sent me to Houston for a week to learn it so that I could mentor my project team on how to program in it.
2003, and this crazy movement called “web standards” was getting some traction.
Sprites. I had a VIC-20, and it didn't have sprites like the CBM-64. I always thought sprites would make it so much easier to write games.
Hampster (sic) Dance was huge...
OOP - Object Oriented Programming.
I recall this "style" of programming becomming widely popular as I was finishing my degree.
A viable desktop Linux and the proliferation of the open-source movement.
The Internet was still young, but it was widespread enough to enable open-source software distribution via the Internet instead of dialing into bulletin boards in far-away lands or requesting floppies by mail. As soon as this happened, several Linux distributions appeared that were reasonably capable of being used as the primary OS on a home computer. The expanding Internet yielded an expanding catalog of high-quality open source software, libraries, and tools within easy reach. As projects like Apache started to take hold, it was clear that open-source software, fueled by a growing Internet population, was going to be making more and more of an impact as time went forward.
The internet. Damn, I feel old.
Also, "fourth generation languages" (Delphi, Clarion, etc).
The internet ended up faring a little better than the 4GLs, obviously.
Windows 3.0... the first time I learned the lesson to always wait for the X.1 version...
I came of age with free AOL cd's, geocities, and "coding" in HTML. Blink tags, marquee, mosaic...
Yuck. I am everything that people are nostalgic/rancorous towards on the internet.
As I am a .net developer. When I started programming the important tech was:
BBSes, Personal Computers, memory expansion cards, multi-player turned based games over modem or BBS.
Jacob
Automation. There will be automated software designing, develoment, testing and maintainance. Don't know who will do this?
Well, I haven't been programming for too long. But flash drives were becoming more accessible when I started programming.
Client Server ring a bell?
ugh...
I believe that the next big thing was going to be the language to replace Fortran for number-crunching. That language remains the next big thing. And that language is still called Fortran.
16-bit programming in Visual Basic 5! I remember freaking out at how cool intellisense was.
Maven - definitely
Fortunately I didn't waste much time with that.
[1] http://en.wikipedia.org/wiki/Wireless_Application_ProtocolMFC (Microsoft Foundation Classes) and Windows 95
Java. Though this question is sort of hard to answer because often when you're just getting started, you don't know what the next big thing is, because you're too busy catching up on the last few big things that actually made it.
Windows 95 was about a year away at the time.
Of course I started on a TRS-80 so I didn't know at the time.
Some of the new big things that I crossed:
Edit: Added some below:
[1] http://en.wikipedia.org/wiki/NetzeroIm quite new in the world of software and development but I think the latest craze is content management systems with the top being Drupal and Joomla, maybe Wordpress.
Id like to see more jsp (java) cms's and .net that can do what drupal does.
Maybe ill re-write drupal in jsp!
All the Web 2.0 stuffs and AJAX.
Java was real hot in the late nineties. Then in the beginning of 2000 it was all about XML.
Multicore processors...
The concept of "Write once, run anywhere."
The idea was that you'd write your code once and it'd run on any machine anywhere thanks to a virtual machine. Back then it was the early Java VMs. These days it's Javascript in a browser.
The next big thing isn't going to be anything in the computer at all. It's gonna be apps on portable systems like Iphones/Palmtop/Mobile phones for that matter.With the onset of 3G bandwidth is of little concern which was an issue previously.
Why is this going to be a big thing ?
Because most of the corporate managers are mostly on the move and would prefer having any new application to be accessible from their mobiles rather than their cumbersome laptop. This is coming from the fact that quite a lot of companies have Iphone business apps lined up to be released.
XML
In my first job almost everything I suggested was met with the response, "can you use XML for that?". Since then, I have used a lot of XML which I guess counts as a successful next big thing.
Timesharing systems, Kemeny and Kurtz BASIC, and how computers would revolutionize teaching.
I implemented a 4-user time sharing system with ASR33 teletypes that ran K&K BASIC on the Data General Nova minicomputer (serial #3) in 1969 for company called "Educational Data Systems". The OS I implemented was eventually named ALICE and seemed to have a fair commercial following in the mid 70s; the company renamed itself to "Point4 Data Corp" after they started designing Nova clones with 400 nS cycle times. I tried to point out that it wouldn't be very long before they'd have to name themselves "Point2 Data Corp" but that fell on deaf ears.
You can't imagine how we fought for a few words of memory. Well, maybe you can; we had 8Kwords of 16 bit memory and a 100KB head-per-track swap drive to implement this.
Now I have 6Gb of RAM and the applications I write generate 250Mb of object code that run on machines with 24 CPUs. How times have changed :-{
PHP probably. Perl was where all the magic was happening. At least for web programming.
In the local community college circa 1981, the big thing was "top down programming". When I had my own computer with a working floppy years later, it was a real pain to "top down" your way into a corner by declaring paradigms to exist that couldn't be translated to code.
When I was first starting out (circa 1387 AD) everyone was buzzing about this new-fangled thing they were calling the abacus [1]. Many of the best had serious concerns: would it scale? what about updates? localization? Turned out to be a big hit.
[1] http://en.wikipedia.org/wiki/AbacusI started about 1977 on a TRS-80, recall macros in the the assembler as being a wonderful thing.
it was those perky subroutines
It's the network, stupid. And just before that, it was the workstation.
When I did my first steps with computers and programming... Multimedia, Amiga, AMOS and Blitz Basic :) My first computer was an Amstrad 1512 in 1987 or 1988 (not sure), I was 13 and wrote my first BASIC programs on this computer. An Amiga 2000 with 2Mb Ram + 100MB HD a couple of years later - boy what an upgrade!
When I first got my real job, next big things out there were Google, followed by mysql 4.1, php 5 with its way better OOP support, .Net (which I never embraced).
16-bit stereo sound cards, via Soundblaster 16. The next big thing was cheap multichannel wavetable cards, like the Gravis Ultrasound.
Definitely multi-tasking and soon windowed GUIs.
At the time the only game in town for a PC for running two programs at a time was TSR (terminate stay resident) programs which were mostly used for system level stuff like memory management (for example QEMM [1]).
I remember being so psyched about a Turbo Pascal toolkit that would manage a basic windowed interface and have pull down menus in my app (think Word for DOS windows, not Windows 95).
This was slightly before Windows 3.0 came out.
[1] http://en.wikipedia.org/wiki/QEMMThe first version of Flash from Macromedia
Flash Drives
Netbooks
.NET
NetBeans
jQuery
32-bit processors. And then with built-in math coprocessors!
JBoss Seam framework and all its sweet magic with conversations and web apps
BeanShell, Oh! you type and it execute? ... ruby flavor ñum ñum : D
LazyLoading As sweet as an ex. you could love her. but you still knowing what happened last time.
Agile... Geez.... Agile!! YEAAAAHH!!! this is the PM style I was looking for sniff... snif... :_ )
LambaInC# fingers I have a good notice... : D
StackOverflow Where I discover how far you could go : P
Object oriented programming
CASE tools
A bit later: Apple's Taligent [1]
[1] http://en.wikipedia.org/wiki/TaligentI remember taking my mock Computer Science A-Level and having to discuss whether Unix was going to break through into the mainstream and my teacher getting very excited about the potential in Lotus 1-2-3. I guess they both went the same way.
.NET 2.0 assembly support in an application that I was writing scripts for.
Learned .NET to take advantage of the power unavailable in the scripting language.
UML and flowcharting. Soon you would not write any code you would just diagram it out. UML good for some things not that good.
using cms like wordpress
CASE tools I think were big hype at the time.
When I was in College, Haskell was brand new (Not widely distributed) and Java was JUST over the horizon, and people were waiting on them excitedly...
HTML had recently become bigger, Mosaic was just out, and sites like "The Big Red Button that does Nothing" and the genetic art project (anyone remember those?) were big.
Personally, I was just excited to be able to use usenet, but it wasn't new at the time, just new to me...
When I started programming, the next big thing was 3-tier development.
It represented a departure from the client-server model, particularily focused on removing the logic from the DBMS in order to increase scalability and portability.
Of course, the tools at the time (on the Microsoft world, at least) were less than optimal for this (people that had to deal with COM versioning will confirm what I'm saying)
Ruby. I'm young, OK? I kept seeing it on DZone [1] and then met one of RubyConf's organizers. All the hype just pushed me to other new languages such as Clojure.
[1] http://www.dzone.com'C'
When I first started programming around 1981 or so it was just escaping systems programming niche and becoming a serious consideration as a replacement for Fortran.
COBOL V2, CICS Command Level and DB2 - and now I'm moving into RIA, what a lot of water under the bridge!
I started in 1966. The biggest change in my first few years was the IBM-360 model 67. It introduced time sharing, the ability to run multiple threads at once. Imagine that!
I've seen every language since Fortran come along. I think C# is the best so far, and Linq to SQL is the first programmer's revolution in decades--in terms of productivity improvements.
I really thing ORMs brought the first major revolution since relational database were invented.
Oh, and I still program some on a daily basis. Never feel more comfortable than when I'm programming.
C (after Pascal, and to replace Asm)
The release of the Fortran-77 standard, followed by the compiler.
It was certainly FORTRAN, the "language of the class enemy".
Graphical user interfaces
Prolog and expert systems
Multi-threading on PCs
When I started learning programming, XT and AT machines were all the craze. We even had a color monitor in our lab! Turbo C and Turbo C++ were a very big thing back then.
More later...
(Aside: This was at St. Joseph's Evening College Computer Center, Museum Road, Bangalore. I was in the morning batch.)
Oh, my. I still remember all the jazz. It was 1994, and stuff that made a lot of noise were:
Background: I learned to program by doing graphics on a C=64 and later an Apple II.
The C=64 had character graphics, with a bunch of built-in characters for line art [1]. It also had a couple of "high-resolution" modes that were fairly limited, especially with colors, and somewhat difficult to use. Finally, it had up to 8 sprites [2] which were easy to move and even had collision detection, but limited in size, number, color, and so on.
The Apple II had a few different graphics modes [3], again with varying resolutions and color capabilities. Drawing to the graphics area was easier, with one huge limitation: the graphics memory didn't correspond linearly to what you saw on the screen! After the first line, it would jump down 64 pixels or something. There were BASIC routines to handle this for you, but nothing easy to use from assembly, IIRC. There was also a "shape table" of some sort that I played with, which had some neat features (very different from the Commodore's sprites), but I never put in enough time to really figure it out.
So the Next Big Thing was computers with good graphics programming capabilities, by which I meant:
But then I went to college and ended up working mostly on X11 workstations, which had (a) square pixels!, (b) better HLLs and libraries (and assembly language wasn't really feasible) so the addressing became a non-issue, and (c) better colors but an absolutely terrible color model. (Seriously, who can figure out colors in Xlib?)
Today when I want graphics, I tend to write HLL code that generates SVG. The SVG coordinate system has real dimensions (so I don't even need to think about "pixels"). The SVG graphics model combines the best aspects of C=64 sprites, the Apple II shape table, and X11, and is far nicer than either one in every respect. And its color model is perfectly easy to understand.
So I didn't get what I was asking for, but I did eventually get what I really wanted.
[1] http://en.wikipedia.org/wiki/PETSCIIHacking!!.. I thought it was cool to be known as a 'hacker' with a weird nick. It was the main reason for me to get into c++/unix in college.
PHP was already well underway in becoming the big thing. What else? Uh... ebay...? Then gmail... I started programming around 2000 - 2001
Oh and yes, XML, I heard a lot about it but it didn't amount to that much. What else... Javascript... CSS was quite new technology...
There was no real "Next Big Thing"... it was mostly evolution, except maybe for broadband (DSL) and online buying (like ebay).
And... I forgot!! ... hacking, with "howtos" found on the internet (and printed). I really thought these endless pages will actually help me break into anything, and that the easy tricks will work. Little did I know the computers mentioned were long ago either retired or patched - and I discovered how little patience and motivation I had for carrying out such things.
As I am indeed just starting my career as a developer, I think It seems to me that the next big thing is Html 5.
We'll see...
where is ruby on rails? i was learning php back then. :|
Apples cocaTouch ^^
Computers were just about starting to get into homes and classrooms, and we all know how that turned out. Oh yeah, RAM was at 32KB.
fortran..........
GUI's - remember that Macintosh ad about how 1984 was not going to be? YouTube video of ad [1]
[1] http://www.youtube.com/watch?v=OYecfV3ubP8
subjective
is an appropriate tag for this. The question isn't really subjective; the answers are factual, they just don't have much value other than entertainment value. This should be tagged as something likediscussion
orpoll
. I don't want to ignoresubjective
questions, a lot of them carry great information related to programming or design - this one doesn't. - Aaronaught