Click here to Skip to main content
15,894,343 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Programming in the 60s vs today... Pin
kmoorevs8-Dec-17 12:25
kmoorevs8-Dec-17 12:25 
GeneralRe: Programming in the 60s vs today... Pin
abmv8-Dec-17 20:42
professionalabmv8-Dec-17 20:42 
GeneralRe: Programming in the 60s vs today... Pin
A_Griffin8-Dec-17 21:41
A_Griffin8-Dec-17 21:41 
GeneralRe: Programming in the 60s vs today... Pin
Paul Kemner11-Dec-17 3:36
Paul Kemner11-Dec-17 3:36 
GeneralRe: Programming in the 60s vs today... Pin
charlieg9-Dec-17 2:03
charlieg9-Dec-17 2:03 
GeneralRe: Programming in the 60s vs today... Pin
#realJSOP9-Dec-17 4:18
mve#realJSOP9-Dec-17 4:18 
GeneralRe: Programming in the 60s vs today... Pin
charlieg9-Dec-17 4:58
charlieg9-Dec-17 4:58 
GeneralRe: Programming in the 60s vs today... PinPopular
kalberts10-Dec-17 22:43
kalberts10-Dec-17 22:43 
I was a little too young to learn programming in the 60s, but had my university education around 1980. That was an age where a lot of exciting things happened in the language world - every man had his own language. I can't count the languages I have been programming in.

So when people asked me how many langugages I were familiar with, I said: Maybe three or four.

First comes the algorithmic. That covers Fortran, Basic, Algol and Pascal including variants like Concurrent Pascal. Then comeplain C and C++ and Objective C, and lesser known languages like CHILL and the vendor-specific Planc, and later I have been using Java and Javascript ... and let's throw in COBOL, for good measure. Python, of course, and PHP. Those are all samples of Language One - the way of thinking is very much the same in all of these, and syntax differnces are not that significant.

Second comes the "workspace" model which is like a sandpit where you throw in and take out functions and objects over time. Smalltalk comes in this class; my main experience is with APL, which is also quite different with its extremely array based data structures. Yet, the most essnetial difference from the algorithic group is the workspace model.

The third language is the predicate languages, of which I have only used three variants: SQL, Prolog and SNOBOL. You could say that SNOBOL is a semi-algorithmic language; it has flow control and at the top level is rather sequential, but the more familiar you are with the language, the more you leave to predicate logic. I never became friendly with XSLT, and am happy that I managed to sneak out of it Smile | :) regex I have to do every now and then.

Fourth language: Essentially Lisp, which I have only used for programming Emacs. I can see that some people like it, but it doesn't give you much help in offloading the conceptual model into the saved file; essentially you must free up space inside your brain to hold the model.

For a couple of projects, we peeked at functional programming, but I wouldn't count that as number five. We just studied the syntax of Erlang (and peeked at others from a distance), but I never really tried it in pratice.

I would rather like to add as number five: Data modelling - not a complete language by itself, as it usually won't provide definition of operations, only the interface to them. I think this language (group) is the most underrated one! A good data model, whether you use ER or ASN.1 or an XML schema, is essential to understand the problem domain. You may say that if you use the whole of the OSI communication protocol stack toolbox, you do operations modelling very much in the sam spirit as you do data modelling.

We may add yet another language group: State/event programming. Look at how the OSI session layer is programmed: Tables with current state along one axis, event along the other, each square stating predicates and actions. No other language could possibly come close to that state/event description of the logic, when it comes to clarity, consiseness and freedom from ambiguity.
- - -
Gee, did we have a plethora of languages in those days! Now, we have chopped off eighty percent of the algorithic group and 100% of the rest. State/event is squeezed into a switch. Data modelling is squeezed into C struct. The workspace concept is squeezed into C malloc, or by its modern name: new. List processing is squeezed into C linked structures ... And so on. One bad thing is that today's young programmers never ever question the () around if/while conditions (whether they program in a C variant, Python, Java,... When they see Pascal code, they wonder: Didn't you forget the parentheses? Talk to them about workspace models, and they worry how efficient the malloc will be in such an environment, and when a Cobol decimal field is 6 digits wide they figure that a long long is needed to hold the value range.

Really, today's programming world is a lot more primitive than in the 80s.

And you could say the same about OSes. About file systems. About communication protocols. About user interfaces. Maybe the 80s were a chaos, but it certainly wasn't that primitive monoculture of today, where 95+% of all programming is done in C-like languages, 95+% of all data traffic is limited by the Internet Protocol family at least at some level or stage, 95% of all data is stored in a file system that provides no high level support, and for 95% of process/thread modelling the entire world uses one of two models - and those two certainly do not differ very much.

True: We have got dozens of variations on C. Dozens of variations of U*ix. Dozens of variations of sh. Dozens of variations on fork. But those are essentially small ripples on the surface. Fundamentally different ways of thinking and of doing things have weathered away. I think that is just as big a loss as the ripples are a problem.
GeneralRe: Programming in the 60s vs today... Pin
MKJCP11-Dec-17 1:48
MKJCP11-Dec-17 1:48 
GeneralRe: Programming in the 60s vs today... Pin
firegryphon11-Dec-17 14:03
firegryphon11-Dec-17 14:03 
GeneralRe: Programming in the 60s vs today... Pin
MKJCP12-Dec-17 1:17
MKJCP12-Dec-17 1:17 
GeneralRe: Programming in the 60s vs today... Pin
R_L_H11-Dec-17 3:12
R_L_H11-Dec-17 3:12 
GeneralRe: Programming in the 60s vs today... Pin
ClockMeister11-Dec-17 4:43
professionalClockMeister11-Dec-17 4:43 
GeneralRe: Programming in the 60s vs today... Pin
Kirk 1038982111-Dec-17 5:06
Kirk 1038982111-Dec-17 5:06 
GeneralRe: Programming in the 60s vs today... Pin
VEMS11-Dec-17 5:18
VEMS11-Dec-17 5:18 
GeneralRe: Programming in the 60s vs today... Pin
SeattleC++11-Dec-17 5:32
SeattleC++11-Dec-17 5:32 
GeneralRe: Programming in the 60s vs today... Pin
jschell11-Dec-17 5:34
jschell11-Dec-17 5:34 
GeneralRe: Programming in the 60s vs today... Pin
Ken Utting11-Dec-17 5:43
Ken Utting11-Dec-17 5:43 
JokePerfecting your company's Mission Statement PinPopular
Cornelius Henning8-Dec-17 6:50
professionalCornelius Henning8-Dec-17 6:50 
PraiseRe: Perfecting your company's Mission Statement Pin
CPallini8-Dec-17 11:08
mveCPallini8-Dec-17 11:08 
GeneralArgh. Javascript ID tags Pin
Marc Clifton8-Dec-17 6:16
mvaMarc Clifton8-Dec-17 6:16 
GeneralRe: Argh. Javascript ID tags Pin
Jeremy Falcon8-Dec-17 6:30
professionalJeremy Falcon8-Dec-17 6:30 
GeneralRe: Argh. Javascript ID tags Pin
Marc Clifton8-Dec-17 7:45
mvaMarc Clifton8-Dec-17 7:45 
GeneralRe: Argh. Javascript ID tags Pin
Jeremy Falcon8-Dec-17 7:48
professionalJeremy Falcon8-Dec-17 7:48 
GeneralRe: Argh. Javascript ID tags Pin
Mycroft Holmes9-Dec-17 0:28
professionalMycroft Holmes9-Dec-17 0:28 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.