Jump to content

IT : A history of Regression


oldtobor

Recommended Posts

Information Technology is actually a history of regression. I started programming in Basic on Commodores and PCs in the early 80s. It was fast to learn and fast to put ideas into practice. In fact I would argue that 99 % of all IT programming problems were already well solved just using some well thought out Basic programs. Most problems IT has to deal with are really relatively simple. Then came along Turbo Pascal which was a truly great language, fast and very well designed especially to produce well structured programs. I would say that you could really feel a great improvement from Basic to Pascal. You knew things were really getting better. But good things don't last too long. Progress ended.

 

Progress ended when Unix and C started to become popular. Not so much Unix which has some good scripting ideas and languages such as AWK, But the worship of the C language was the beginning of REGRESSION. C was complicated, and was an abrupt departure from progress. I remember that I could quickly whip up good programs in Pascal, but in C things just seemed to start to slow down. Why did I have to allocate memory ? Why do I need the pointers ? and so on. So C started to become popular and programmers started to have to waste time understanding alot of uselss details. Maybe client-server was wrong and mainframe architecture was better.

 

Fast forward the mid 90s and you get OO and JAVA and C++. Ten times more complicated, slower, a never ending list of odd questions, why collect garbage ? why do I need to download 10 Mega ? Why is everything an Object ? etc. etc. The end result today is a mass complication of things that were really solved more then 20 years ago. Maybe Javascript and PERL was the correct direction to follow, but crappy Java became the norm. There is a sociological reason for all this: we need to keep people busy at work, we need to create a never ending set of complex obscure ideas and languages probably because there really is not enough work for everyone. And companies make money by selling hype after hype.

 

It could be that our social system can furnish enough wealth to everyone with very little work since we have an enormous EXCESS CAPACITY in almost all sectors. But this is pure politics - sociology. Fast forward the year 2020 we will have thousands of very complex languages requiring 200 GB of disk to download. Turbo Pascal occupied 40,000 bytes and ROCKED.

Link to comment
Share on other sites

Actually programming languages didn't develop anymore. They went backwards. There was a time when a simpler and easier language meant progress while a more complex one meant the opposite. In fact the change from assembler to Basic for example was exactly this. Then someone (maybe at Sun or Microsoft) decided that it was time to make things HARD. Now you have the high priests of Java for example saying that to really know how to use it you must spend months on it. That is really ridiculous. The goal is to make them always harder so they can sell books and courses and HYPE by the TONS.

Link to comment
Share on other sites

I read an elaborate debate on the internet between a guy who says that he was programming in Java for 4 years and concluded that it sucked and another guy that said he simply didn't know how to use it. That is exactly the point. A language where these kind of debates happen means that it is a bad language. No one would debate another person that he didn't know how to use Pascal or Basic, at most you could debate the design of bad algorithms.

 

Object oriented Hyporama is another big piece of crap. Objects are just PROCEDURE NAMES in the end. So you make up a nice set of names that have a logical connection between them and you get all the objects you want. If companies where really interested in Reuse they would have created a very simple procedural language with many libraries of procedural functions capable of doing anything. You would just enter the question describing a function you needed in a search engine and the language environment would list the names of the closest procedures, END OF STORY. Compare that with having to navigate class libraries, pointers, threads etc.

 

Another thing that was probably completely wrong was the choice of Client - Server architectures. These created another level of complexity that is totally uselss. IBM mainframes had these problems licked 40 years ago, countless designers are still struggling with remote calls, lans, network objects and all the other problems. Add Java and OO and C++ to all that and you have millions of man years of totally useless work being done.

Link to comment
Share on other sites

I noticed the regression; the regression is what made me quit my computer science major.

 

A lot of stuff is simply repeated over and over again. I like flash a lot better than java. I've always liked flash because it seemed to be the cool and graphical way of the future. Today, people are noticing its capabilities for advertisement. They learned people will continually block gifs and other images, but swf is a bit more complex and annoying.

 

Many programming languages and ways of the computer are put on hold, while some other guys says his stuff is better and everyone tries it out for the next few years. Things change, regress, and progress. These constant flucuations made me so annoyed that I decided to quit my computer major. No one can exactly choose on one type of programming language today; there is simply not one that can do all things, or so I think.

 

Maybe there will be a universal language someday besides binary.

Link to comment
Share on other sites

I agree. Programing language development should have stopped with LISP.

 

Ugh. Familiarize yourselves with modern languages, people! Virtually all the problems you are bitching and moaning about have been solved by Ruby and Python. They both provide dynamic typing, simple yet strong object models (heavily inspired by Smalltalk), and the majority of Lisp's great features (minus macroes) like closures and lambdas, and both are functionally oriented.

 

To me, Ruby is an excellent merger of really great ideas from both Lisp and Smalltalk. Lisp weenies love to whine about how every language has reinvented Lisp but never pause to consider why Lisp needs to be reinvented in the first place... here's some hints: its syntax sucks and it's too conceptually obtuse to gain mass-appeal.

 

Bitch and moan all you want about great ideas going by the wayside; it won't change the immensely progressive nature of software. Software continues to blow my mind daily, and if you think it's regressing you really need to open your eyes.

Link to comment
Share on other sites

Yeah, that was working out really well. Millions of programmers learned LISP and BASIC and Pascal and created a vast, interconnected world of information that was accessible to everyone. New programming environments made LISP easy to learn and use, and that enabled vast new kinds of applications, creating whole new areas of knowledge and understanding.

 

Oh wait. *rubs eyes* Never mind.

Link to comment
Share on other sites

To me, Ruby is an excellent merger of really great ideas from both Lisp and Smalltalk. Lisp weenies love to whine about how every language has reinvented Lisp but never pause to consider why Lisp needs to be reinvented in the first place... here's some hints: its syntax sucks and it's too conceptually obtuse to gain mass-appeal.

 

You know what. give it twenty - thirty years and you're gonna be saying the same thing about Ruby and Rails. For the same reasons - mark my word.

Link to comment
Share on other sites

There was a very simple function in Basic called get a$ or inkey$ that could allow you to enter one character without hitting Return in the early 80s. In gwbasic you could have something like this:

 

10 a$=inkey$: if a$="" goto 10

20 print "you hit";a$

 

It waits and as soon as you hit a key it prints it out. Simple. I can't find a way to do this in Java. I found a way in Perl after downloading an InKey module, but I can't find a way to do it in Java. Any ideas ? This is one of many reasons why I dislike Java and OO, simple things are complicated.

 

I am using DOS for this and using the simple console input output style program, no windows or graphics, the simplest possible. Thanks anyways for any help.

Link to comment
Share on other sites

There was a very simple function in Basic called get a$ or inkey$ that could allow you to enter one character without hitting Return in the early 80s. In gwbasic you could have something like this:

 

10 a$=inkey$: if a$="" goto 10

20 print "you hit";a$

 

It waits and as soon as you hit a key it prints it out. Simple. I can't find a way to do this in Java. I found a way in Perl after downloading an InKey module' date=' but I can't find a way to do it in Java. Any ideas ? This is one of many reasons why I dislike Java and OO, simple things are complicated.

 

I am using DOS for this and using the simple console input output style program, no windows or graphics, the simplest possible. Thanks anyways for any help.[/quote']

 

Try doing complicated things in basic, which would be a far more real world test :P

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.