LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 04-18-2010, 06:47 PM   #31
jiml8
Senior Member
 
Registered: Sep 2003
Posts: 3,171

Rep: Reputation: 115Reputation: 115

Quote:
Originally Posted by pixellany View Post
I don't count Fortran as a "general-purpose" programming language.
Why not? You can do a lot of different things in Fortran.

Fortran was not platform-specific (as any assembler MUST be). Fortran was (I think) the first compiled language.
 
Old 04-18-2010, 06:55 PM   #32
jiml8
Senior Member
 
Registered: Sep 2003
Posts: 3,171

Rep: Reputation: 115Reputation: 115
Quote:
Originally Posted by pixellany View Post
I am not a programmer, so I will neither attempt to win this debate---nor will my feelings be hurt....

Thought problem: Would you consider writing an OS or a typical user application (eg word processor, image editor spreadsheet....) in Fortran? In my reading, such a thing would be a first.
It would be a first because, by the time things called "word processors" first appeared, there were languages far better suited for doing it.

But, yes. You could write an OS or a word processor in FORTRAN. In fact, back in the '80s, I did things not unlike that.

Quote:
Do you see many people writing complex mathematics stuff in C?
Oh, I do. I have all kinds of mathematics libraries for C, and I've written some of them myself. I also have done and have libraries for, advanced mathematics in C++ - which did start life as a superset of C. As far as that goes, in the modern contemporary environment, C is the language of choice for complex mathematics using digital signal processors.


Quote:
So what IS the definition of "General-purpose programming language"?
I would go with something along the lines of a platform-independent language that displays sufficient versatility to be used to perform a wide range of functions for a wide range of purposes.
 
Old 04-19-2010, 08:12 AM   #33
choogendyk
Senior Member
 
Registered: Aug 2007
Location: Massachusetts, USA
Distribution: Solaris 9 & 10, Mac OS X, Ubuntu Server
Posts: 1,194

Rep: Reputation: 105Reputation: 105
Quote:
Originally Posted by jiml8 View Post
It would be a first because, by the time things called "word processors" first appeared, there were languages far better suited for doing it.
Depends on how you define "word processor". The first were neither graphical nor wysiwyg. They were tag based document markup. The standalone Wangs and such of the 70's were preceded by things like runoff in the 60's. They might have been written in assembler. But there were plenty of people programming lots of oddball things in Fortran in those days.

I used runoff to write a term paper in the late 60's, and I knew a classics professor who typeset Greek and Latin documents on the mainframe time sharing system. We had IBM Selectric Terminals next to the model 35 teletypes. You could work on your document on the model 35 and then go to the Selectric for final output. You could also check out a spare type ball for Russian, Greek, etc.

Now we still have nroff in Unix and TeX for mathematics among other things.
 
Old 04-19-2010, 09:47 PM   #34
youngstorm
Member
 
Registered: May 2003
Location: USA
Distribution: Fedora 21, RHEL 5,6&7, Windoze 7
Posts: 235

Rep: Reputation: 31
I agree with Catkin. the x86 platform is general purpose and thus, so is it native language.
 
Old 04-19-2010, 11:17 PM   #35
smeezekitty
Senior Member
 
Registered: Sep 2009
Location: Washington U.S.
Distribution: M$ Windows / Debian / Ubuntu / DSL / many others
Posts: 2,339

Rep: Reputation: 231Reputation: 231Reputation: 231
But! But! But!
x86 isn't the only processor so i still have to say C.
What is linux kernel written in again?
 
Old 04-20-2010, 12:00 AM   #36
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Quote:
Originally Posted by youngstorm View Post
I agree with Catkin. the x86 platform is general purpose and thus, so is it native language.
Quote:
Originally Posted by smeezekitty View Post
But! But! But!
x86 isn't the only processor so i still have to say C.
Hang on. Can we please go back to the original question.

CoderMan in the original post specifically excluded Assembler and languages designed for a single architecture. Given that I would suggest that it is reasonable to exclude the machine instructions that come with the architecture.

The question posed was of a historical nature, which came first not which is the most used.

There is a strong argument that FORTRAN does indeed meet the bill. The debate can revolve around whether FORTRAN (particularly) in its original 1954 guise meets the bill of a general purpose language. Debates about what we mean by a "general purpose language" may also be helpful. But just adding personal preferences doesn't move the debate forward in any constructive way.

I would consider a language to be "general purpose" if:
  • It supported sufficient levels of abstraction from the hardware so that it is possible to port it to different architectures.
  • It provides mechanism to structure the data
  • It supports conditional branching
  • It supports repetition (through loops or recursion)
  • It supports functions (or other mechanisms to break the code down)

I'm sure I've missed something from the above but we can debate on that
My exposure to FORTRAN was with FORTRAN-77 which I would say meets these criteria.

Last edited by graemef; 04-20-2010 at 12:03 AM.
 
Old 04-20-2010, 12:59 PM   #37
CoderMan
Member
 
Registered: Jan 2009
Location: Gemini Capsule 25164
Distribution: Gentoo
Posts: 375
Blog Entries: 24

Original Poster
Rep: Reputation: 43
Quote:
Originally Posted by graemef View Post
Hang on. Can we please go back to the original question.

CoderMan in the original post specifically excluded Assembler and languages designed for a single architecture. Given that I would suggest that it is reasonable to exclude the machine instructions that come with the architecture.

The question posed was of a historical nature, which came first not which is the most used.

There is a strong argument that FORTRAN does indeed meet the bill. The debate can revolve around whether FORTRAN (particularly) in its original 1954 guise meets the bill of a general purpose language. Debates about what we mean by a "general purpose language" may also be helpful. But just adding personal preferences doesn't move the debate forward in any constructive way.

I would consider a language to be "general purpose" if:
  • It supported sufficient levels of abstraction from the hardware so that it is possible to port it to different architectures.
  • It provides mechanism to structure the data
  • It supports conditional branching
  • It supports repetition (through loops or recursion)
  • It supports functions (or other mechanisms to break the code down)

I'm sure I've missed something from the above but we can debate on that
My exposure to FORTRAN was with FORTRAN-77 which I would say meets these criteria.
In retrospect, I should have avoided using the terms "general purpose." All I meant by that was it is not an assembly language; that (as graemef said) "it supported sufficient levels of abstraction from the hardware so that it is possible to port it to different architectures"; and that it was in fact a compiled (or interpreted) language, not like pseudo-code or propositional calculus which theoretically could be compiled.

For the purposes of the discussion, FORTRAN most definitely counts as a programming language, and it is also, by default, the answer to my question, unless someone can demonstrate that some other programming language was implemented before it was. Consequently, discussions about whether FORTRAN is general purpose, or whether C is more general purpose than FORTRAN, are immaterial. I am entirely concerned with the history of languages at and before the implementation of FORTRAN.
 
Old 04-20-2010, 06:41 PM   #38
rob.rice
Senior Member
 
Registered: Apr 2004
Distribution: slack what ever
Posts: 1,036

Rep: Reputation: 185Reputation: 185
Quote:
Originally Posted by H_TeXMeX_H View Post
But then does assembly really qualify as a programming language ? It's hard to say, because it lacks most of the usual programming constructs, no functions, no loops, etc.
assembly is a low level programming language basic,fortran,are high level C is a mid level language
as you would know them programming constructs
functions, loops, etc would be considered subroutines in assembly
there are repeating instructions in assembly
that do things like searching and moving data

I think the test of what is a programming language is can a program be written in it
yes asm is a programming language
 
Old 04-20-2010, 07:13 PM   #39
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by rob.rice View Post
...
basic,fortran,are high level C is a mid level language
...
I do not think the original FORTRAN is of higher level than "C".
 
Old 04-20-2010, 09:38 PM   #40
makyo
Member
 
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 731

Rep: Reputation: 75
Hi.
Quote:
Originally Posted by CoderMan View Post
In retrospect, I should have avoided using the terms "general purpose." All I meant by that was it is not an assembly language; that (as graemef said) "it supported sufficient levels of abstraction from the hardware so that it is possible to port it to different architectures"; and that it was in fact a compiled (or interpreted) language, not like pseudo-code or propositional calculus which theoretically could be compiled.

For the purposes of the discussion, FORTRAN most definitely counts as a programming language, and it is also, by default, the answer to my question, unless someone can demonstrate that some other programming language was implemented before it was. Consequently, discussions about whether FORTRAN is general purpose, or whether C is more general purpose than FORTRAN, are immaterial. I am entirely concerned with the history of languages at and before the implementation of FORTRAN.
Possibilities:
Quote:
Konrad Zuse in Nazi Germany may have developed the first real computer programming language, "Plankalkul" ca. 1945. This is mentioned in the 1978 ACM History of Programming Languages FORTRAN session.

According to Sammet, over 200 programming languages were developed between 1952 and 1972, but she considered only about 13 of them to be significant.

-- http://people.ku.edu/~nkinners/LangL...ras/famous.htm
and:
Quote:
A mathematician herself Hopper understood that mathematics was in a sense a short-hand version of natural language. Undaunted by the naysayers who proclaimed that a computer would never understand English, Hopper set about to build a new language, a language of business software engineering. Hopper strove to cleave the meaningful from the jargon, preferring well-known English words and terms over their computer laden counterparts. Hopper and her team began by identifying about 30 verbs which seemed to capture the semantics and operators of data processing.

... [ leading the way to ]

The race to build a COBOL compiler began. In December 1960, RCA and Remington-Rand both produced a COBOL compiler that allowed the same program to run on two different machines, the RCA 501 and the UNIVAC II. This was a key milestone in that COBOL was one of the first languages to be standardized, thus separating the programming language from the machine.

-- http://web.archive.org/web/200502122...turepart2.html
Best wishes ... cheers, makyo
 
Old 04-21-2010, 03:22 AM   #41
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Just to grab a quote from the Grace Murray Hooper keynote address of the 1978 ACM conference makyo referenced:

"It might interest you sometime to look at the original FORTRAN specs [...], but this was a tremendous step. This was the first of the true programming languages."
 
Old 04-21-2010, 08:21 AM   #42
makyo
Member
 
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 731

Rep: Reputation: 75
Hi, graemef.

A few years later in HOPL-II opening session section, after the keynote address by F Brooks, Jean Sammet said (in remarks about people who had died since the 1978 conference):
Quote:
Among Grace Hopper's credits are the first compiler, the leader of the FLOW-MATIC and MATH-MATIC developments, and a major role ...

History of Programming Languages-II, 1996, ACM Press, page 20
cheers, makyo
 
Old 04-21-2010, 08:32 AM   #43
choogendyk
Senior Member
 
Registered: Aug 2007
Location: Massachusetts, USA
Distribution: Solaris 9 & 10, Mac OS X, Ubuntu Server
Posts: 1,194

Rep: Reputation: 105Reputation: 105
From Mayko's post:

Quote:
Konrad Zuse in Nazi Germany may have developed the first real computer programming language, "Plankalkul" ca. 1945. This is mentioned in the 1978 ACM History of Programming Languages FORTRAN session.
Interesting. But, according to http://en.wikipedia.org/wiki/Plankalk%C3%BCl, the first compiler for Plankalkul was not written until 1998.
 
Old 04-21-2010, 09:41 AM   #44
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Let me guess the conclusion of that sentence, "... in the development of COBOL"?

I read the John Backus paper from the 1978 conference. A fascinating read, he said that their focus was on the translator not on the language. To be accepted they needed to get the automaticaly generated code to run comparable to a hard coded solution. This was necessary because at the time most programmers didn't believe that the generation of machine instructions could be done efficiently by the computer. It reminded me of the once held belief that Operating Systems and compilers (etc) had to be written in assembler.
 
Old 04-21-2010, 10:34 AM   #45
makyo
Member
 
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 731

Rep: Reputation: 75
Hi, graemef.
Quote:
Originally Posted by graemef View Post
Let me guess the conclusion of that sentence, "... in the development of COBOL"?
No, actually almost the opposite. I left it off because it seemed to have nothing to do with the point about earliest language / compiler:
Quote:
... major role she played (which is almost forgotten by now) in persuading early managers to acknowledge the value of programming languages ... I regret to inform you that Grace was not a co-developer of COBOL.

-- Ibid.
cheers, makyo
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Distribution for general purpose security andy.l Linux - Distributions 2 04-06-2007 06:44 AM
Assembly language: Purpose of shift register? ksgill Programming 4 03-21-2005 08:24 PM
Best general purpose distribution IMO hooya27 LinuxQuestions.org Member Success Stories 1 04-13-2004 10:59 PM
Best general purpose Video Card timread Linux - Hardware 2 10-21-2003 02:07 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 08:50 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration