FAQ Search Memberlist Usergroups
Jolt Country Forum Index
Register Profile Log in to check your private messages Log in
Log in Log in

The origin of the Hugo programming language

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Jolt Country Forum Index -> Hugo's House of Horrors
View previous topic :: View next topic  
Author Message
Ice Cream Jonsey



Joined: 27 Apr 2002
Posts: 20088
Location: Colorado

PostPosted: Wed Sep 12, 2012 9:51 pm    Post subject: The origin of the Hugo programming language Reply with quote

A lot of people don't know this, but Kent didn't actually make the language. He is a crack developer and he can compile the source, but here is what really happened.

Back in 1995, Roody and I had gone to Las Vegas. We were trying to find the pinball hall of fame, but we got lost. (This was before the pinball hall of fame was moved to be closer to the strip.)

We actually just fuckin' found the language. It was behind one of those discount Vegas diners. Grumplebox or something, can't remember. It was on four floppy disks and came with "sample.hug". sample.hug looked nothing like it does now -- it was mostly just a bunch of misspelled nouns and arrays that set everything to "0" or "butt".

So there you go. We got it to Kent and he sort of adopted it, but the real truth of the matter is, we just found it.
_________________
the dark and gritty...Ice Cream Jonsey!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Roody_Yogurt



Joined: 29 Apr 2002
Posts: 1993
Location: Milwaukee

PostPosted: Wed Sep 12, 2012 10:11 pm    Post subject: Reply with quote

1995 was a good time.
Back to top
View user's profile Send private message AIM Address
pinback



Joined: 27 Apr 2002
Posts: 12029

PostPosted: Thu Sep 13, 2012 9:19 am    Post subject: Reply with quote

Don't piss down my back and tell me it's raining.
_________________
Above all else... We shall go on... And continue!
Back to top
View user's profile Send private message Visit poster's website
Bainespal



Joined: 09 Jul 2010
Posts: 151

PostPosted: Thu Sep 13, 2012 4:45 pm    Post subject: Reply with quote

I think this explains some things.
Back to top
View user's profile Send private message
Tdarcos



Joined: 16 May 2008
Posts: 4441
Location: University Park, Maryland

PostPosted: Thu Sep 13, 2012 5:55 pm    Post subject: Re: The origin of the Hugo programming language Reply with quote

Ice Cream Jonsey wrote:
A lot of people don't know this, but Kent didn't actually make the language. He is a crack developer and he can compile the source, but here is what really happened.

I include Pinback's comment to this message by reference as if set forth fully herein.

Clearly it borrows a great deal from the C language, with some very interesting changes that, if they had been put into C would have made it a much better language than it is.
    * Like the use of the = sign in comparisons exclusively as a comparator. Some people like the idea that = is always used as an assignment operator, but I think there is no good reason to do an assignment in an if statement. Every other language that uses = in comparisons and = in assignment knows enough to tell the difference and people have no problem knowing the difference.
    * Camel Case does not make an identifer case sensitive. This, more than anything else, was the brain-dead moronic stupidest idea in what otherwise might have been not just a good language, but a great one. There was no good reason to have C make identifiers case sensitive and a lot of good reasons not to.
    * The use of ++ and -- as either a preincrement/predecrement or postincrement/postdecrement operator was an absolutely brilliant idea, since a lot of people have to do this, and in some cases, allowing the operator after using the current value of the variable saves adding another statement, so that instead of saying
    Code:

    K = K+I
    I=I+1

    You can go further
    Code:
     K = K + I++
    * Which brings up another thing (which might not be in Hugo), the = operators to allow a variable to be arithmetically modified through the operator, so in the above case we can have
    Code:

    K = K+I
    I=I+1

    You can reduce it further with
    Code:

    K += I++
    * And, of course, both borrow from ALGOL 60 for the loop variable construct. FORTRAN-based langauges including PL/1 use the word "DO" for this construct, but ALGOL 60-based languages including Basic, C, Hugo, Pascal and others, use "FOR". (Then you get Cobol that uses "PERFORM UNTIL":) .)

_________________
The lessons of history teach us - if they teach us anything - that no one learns the lessons of history.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Ice Cream Jonsey



Joined: 27 Apr 2002
Posts: 20088
Location: Colorado

PostPosted: Thu Sep 13, 2012 6:11 pm    Post subject: Re: The origin of the Hugo programming language Reply with quote

Tdarcos wrote:
Like the use of the = sign in comparisons exclusively as a comparator. Some people like the idea that = is always used as an assignment operator, but I think there is no good reason to do an assignment in an if statement. Every other language that uses = in comparisons and = in assignment knows enough to tell the difference and people have no problem knowing the difference


Ben and I disagreed on that point! We totally disagreed. Clearly, Ben is a hapless lunatic living in a world he never made.

I think it's pretty good for a language found on the goddamn street.
_________________
the dark and gritty...Ice Cream Jonsey!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Tdarcos



Joined: 16 May 2008
Posts: 4441
Location: University Park, Maryland

PostPosted: Fri Sep 14, 2012 3:29 am    Post subject: Re: The origin of the Hugo programming language Reply with quote

Ice Cream Jonsey wrote:
Tdarcos wrote:
Like the use of the = sign in comparisons exclusively as a comparator. Some people like the idea that = is always used as an assignment operator, but I think there is no good reason to do an assignment in an if statement. Every other language that uses = in comparisons and = in assignment knows enough to tell the difference and people have no problem knowing the difference


Ben and I disagreed on that point! We totally disagreed. Clearly, Ben is a hapless lunatic living in a world he never made.

I think it's pretty good for a language found on the goddamn street.


I mean, seriously, even in Basic, even a 10-year-old writing a simple program knows the difference between
Code:

100  A=5
110  IF A=5 THEN

And realizes that = in the second statement means a comparison, not an assignment.

Pascal, on the other hand, does something a bit elegant to solve the problem, = is always a comparator, they use becomes, := for assignment. Wirth simply chose a different symbol the way Kernigan and Richie chose = to always mean assignment and == for comparison. I think wirth's solution to the problem, if you needed to be able to distinguish between = as assignment and = as comparison and don't want to have the compiler figure it out, is a better choice, but it's a matter of taste how you do it. It would have been far better if C had done it backward, always use = for comparison and == for assignment if they couldn't figure out how to separate the difference (a function Basic interpreters and compilers did back in 1966.)

I think Wirth would have had a better argument on using a dual symbol for assignment, Pascal was designed as a single-pass language and the compiler was able to scan the program once. So the compiler had to be simpler and thus maybe the tradeoff had to be made. I don't think C compilers were ever one pass.

But it still an important point that 4 years before C existed, the ability to distinguish between = as comparison and = as assignment had been solved in Basic.
_________________
The lessons of history teach us - if they teach us anything - that no one learns the lessons of history.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
RealNC



Joined: 07 Mar 2012
Posts: 914

PostPosted: Fri Sep 14, 2012 4:35 am    Post subject: Reply with quote

"=" must not be overloaded to mean two different things. It's very easy to do what BASIC did, but it's a bad idea to do it. In C, every expression has a value, and so this must work without the compiler hijacking you:

if (x = malloc(n * sizeof *x))

If "=" would mean something different inside an if statement, the above code wouldn't work anymore.
Back to top
View user's profile Send private message
pinback



Joined: 27 Apr 2002
Posts: 12029

PostPosted: Fri Sep 14, 2012 7:27 am    Post subject: Reply with quote

What RealNC said. If you want your language more like BASIC, it says more about where you are as a programmer.
_________________
Above all else... We shall go on... And continue!
Back to top
View user's profile Send private message Visit poster's website
Flack



Joined: 18 Nov 2008
Posts: 4953
Location: Oklahoma

PostPosted: Fri Sep 14, 2012 8:36 am    Post subject: Reply with quote

The bigger question here is, what was Robb doing on his hands and knees handling someone else's floppy disk in a Las Vegas alley out behind a restaurant named "Grumplebox," which literally means "unhappy vagina"?
_________________
[] Jonathan "Jack" Flack []
Back to top
View user's profile Send private message Visit poster's website
RealNC



Joined: 07 Mar 2012
Posts: 914

PostPosted: Fri Sep 14, 2012 9:10 am    Post subject: Reply with quote

Looking for quarters?
Back to top
View user's profile Send private message
Ice Cream Jonsey



Joined: 27 Apr 2002
Posts: 20088
Location: Colorado

PostPosted: Fri Sep 14, 2012 10:43 am    Post subject: Reply with quote

I was looking, yes, for quarters.
_________________
the dark and gritty...Ice Cream Jonsey!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
misterman83
Guest





PostPosted: Sat Feb 06, 2016 7:22 am    Post subject: holy shit... LOL Reply with quote

Looking for quarters behind an angry vagina in Vagus? Sorry, Rob, there's no escaping that one.
On a much more vagina-less note, I highly doubt that Hugo was found "on the goddamned street". Even if it was, I'm pretty sure Kent had the skill to turn it into a powerful, flexible IF programming language. If you and Kent didn't find it, I'm pretty sure that it would've turned out more like AGT or ALAN 2.0. (On a side note, I'm going to send an email to Thomas Nilson; I'm going to ask if he found ALAN in an abandoned strip club in Vagus. That makes more sence than "I fucking loved cobol, and I was bored as hell; so I made ALAN".) LOL :D
Back to top
Ice Cream Jonsey



Joined: 27 Apr 2002
Posts: 20088
Location: Colorado

PostPosted: Sat Feb 06, 2016 11:43 am    Post subject: Reply with quote

I feel a lot of people are having multiple problems with the story of the origin of Hugo.
_________________
the dark and gritty...Ice Cream Jonsey!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
pinback



Joined: 27 Apr 2002
Posts: 12029

PostPosted: Sun Feb 07, 2016 12:18 pm    Post subject: Re: The origin of the Hugo programming language Reply with quote

Tdarcos wrote:
The use of ++ and -- as either a preincrement/predecrement or postincrement/postdecrement operator was an absolutely brilliant idea


This has been in C since day one. What are--- what were you talking about?
_________________
Above all else... We shall go on... And continue!
Back to top
View user's profile Send private message Visit poster's website
Tdarcos



Joined: 16 May 2008
Posts: 4441
Location: University Park, Maryland

PostPosted: Mon Feb 08, 2016 3:31 pm    Post subject: Re: The origin of the Hugo programming language Reply with quote

pinback wrote:
Tdarcos wrote:
The use of ++ and -- as either a preincrement/predecrement or postincrement/postdecrement operator was an absolutely brilliant idea


This has been in C since day one. What are--- what were you talking about?
Yeah, it was in C from when the language was first defined in K&R around 1969 or '70, it's one of the things C did really right.

The original target for the C compiler was the PDP-11, so ++ and -- can be implemented as a single machine in all four options, pre-, post-, increment, decrement. Since the 11 is a stack machine you can push and pop calculation results via registers or memory fairly efficiently.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
RealNC



Joined: 07 Mar 2012
Posts: 914

PostPosted: Mon Feb 08, 2016 6:29 pm    Post subject: Reply with quote

It's a glorified assembly dialect if you ask me. Real Men use languages where changing a value translates into 2MB of machine instructions.
Back to top
View user's profile Send private message
Tdarcos



Joined: 16 May 2008
Posts: 4441
Location: University Park, Maryland

PostPosted: Tue Feb 09, 2016 11:40 am    Post subject: Reply with quote

RealNC wrote:
It's a glorified assembly dialect if you ask me. Real Men use languages where changing a value translates into 2MB of machine instructions.

Of course it is. C is basically a very high level assembly language. That is the reason it has become so popular because it provides what is the equivalent of a non-machine-specific assembler.

But there's nothing new here. I've known that C was essentially assembler disguised as a third generation programming language for, oh, about thirty years. That it did so with more success is probably due to it having better public relations than some other attempts to do this, like BLISS, or PL/I.
_________________
The lessons of history teach us - if they teach us anything - that no one learns the lessons of history.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Jolt Country Forum Index -> Hugo's House of Horrors All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001 phpBB Group

Theme by Kage Musha - RPG Garden

Copyrights and trademarks are all of the belonging company. No copyright Infringement intended