1 Replies - 1955 Views - Last Post: 19 February 2010 - 12:11 PM

#1 SixOfEleven   User is offline

  • Planeswalker
  • member icon

Reputation: 1055
  • View blog
  • Posts: 6,643
  • Joined: 18-October 08

Changes in programming & computers

Posted 19 February 2010 - 12:02 PM

Well, my 41st birthday is coming up next weekend. That will mean I've been working with computers for 31 years now. Yes, I started at 10 when my brother brought a computer home from his school, he was three years ahead of me, for the summer. There was this TSR-80 computer. It plugged through an adapter into the TV for its video. It used the BASIC programming language as it's OS I would say. Anything you wanted to do with the computer you needed to use BASIC to do it. You could also write assembly code with it of course, but there were none of the tools around that are available today.

Well, the point of the thread, computers and programming have come a long way since I started out on this journey. For along time, programs were filled with goto's, and it was hard to create large, complex programs because most of the languages at the time just weren't designed for it.

There were other problems as well. Computers were big, bulky, and slow. There are now digital watches that have as much power when compared to early computers. I know that there are devices like iPods, cell phones, etc. that were well beyond what was available at the time.

As many of you probably know, C was a revolutionary step forward when it came to creating complex programs. There were other structured programming languages, Algol, Pascal, etc. They were mainly teaching tools though. COBOL was a bit of weird duck. It was great for batch processing. Give it a huge chunk of data, tell it what you wanted to do with the data, and it did it quite well.

Object-oriented programming was probably one of the biggest steps forward, for creating complex systems, that I can think of. It took a while to get a language that was good for building them though, from what I rememeber. Most of them were interpretted when I started out. C++, from what I remember, was probably one of the first compiled object-oriented languages. The C/C++ languages have stood the test of time. They have endured while other languages faded into obscurity.

There were basically two schools in the personal computer world. Unix had been around for some time by now on mainframes and other systems. Bill Gates went the Intel route and Steve Jobs went the Motorolla route. We all know that these two had led the PC industry for years and they are still major players in the game. The old XTs started to bring personal computing to the people. At the time they were still console based systems. The programmer owned the computer when their program run. Commodore had a few good computers at this time. The Commodore 64 will always have a special place in my heart. I had a few other computers before this, but this was the first computer I can remember buying for myself.

There was a huge shift of thinking when personal computers started to come down in price and where capable of running more and more complex programs. The first was GUI based operating systems. This change the way people thought about programming. I mentioned earlier, when you were programming in console mode you owned the computer. You controlled how the program ran, when it did what it did, you didn't have to share with the OS. You basically became the OS. You also had to deal directly with the hardware, which was a pain believe me. Graphics cards for example, were a real pain. Each graphics card worked a little different than the others so you couldn't expect code written for one computer to work on another with a different graphics card. GUI operating systems are true multitasking systems. You can easily have more than one program running, very unlike a console program. In a GUI system, you responde to what the user wants to do. You do not tell the user that you must do this at this time. You also have to play nice, you can't take control over the computer. You must share it with other programs and processes. There were many who didn't think GUI would last. It was slow and difficult to work with. One good thing these operating systems di d bring in was the hardware abstraction layer. You no longer had to work with the hardware. The operating system gave you a well defined interface, not always very well documented but won't get into that ;), for interacting with hardware. The operating system took care of the interacting and the company who made the hardware provides the drivers to have the hardware work with the operating system.

Another major step forward, was the Internet and web based applications. Web based applications allowed big corporations to run their applications from one central location and not have to worry about updating every computer in their company to use the new application. The web has continued to grow from its infancy. I've watched it grow from an infant to its present age. A lot has changed over the years. Moved from mostly simple text pages with a few images to full featured multimedia applications with voice, sounds, video, etc.

Java was a major step forward. It wasn't accepted well at first because there were quite a few problems with the JVM and having it work on multiple operating systems the same. The concept was amazing though. You would write just one program and have it run on any computer that had the JVM on it. Microsoft got into this game with C#, VB.NET, and C++/CLI. The idea of being able to write a program just once, and have it run on any computer that supports the platform is quite appealing. This was actually a big program for some time. A program written for Windows had to be rewritten to run on Linux for example. There were many different OSes and each one was different.

I'm sure I've missed a lot of changes. I know that there was functional programming but I never had an opportunity to study that. What changes have you seen over the years?

Is This A Good Question/Topic? 0
  • +

Replies To: Changes in programming & computers

#2 Core   User is offline

  • using System.Linq;
  • member icon

Reputation: 784
  • View blog
  • Posts: 5,101
  • Joined: 08-December 08

Re: Changes in programming & computers

Posted 19 February 2010 - 12:11 PM

My list is not even close to yours for now, but here is what I witnessed evolving:

  • CPUs going from single-core to multi-core
  • CPUs going from 32bit to 64bit
  • The appearance of .NET
  • Evolution of interactive internet content (Flash, Silverlight - RIA in general)
  • Appearance of Google
  • OS evolution (Linux becoming a more user-friendly system, compare a build from 1998 and one from 2010; Windows evolving to what it is now)
  • The start of mobile development (JavaME, Visual Basic eMbedded, then .NET Compact Framework)

There are probably more, this is what came to mind first.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1