Live data from Hacker News

Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

spectrum.ieee.org

81–90 of 94 posts

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#81
post #53
post #48

Earlier quoted context omitted.

Being very much a kid (at heart at least), I'll wager the question: what's the case against declaring variables as you need them? Also, at the top of which scope are you supposed to declare variables, function scope, class scope, ... somewhere else?

I won't make the case against but I will make the case for declaring them at the top. Think of a recipe letting you know that you need eggs and flour before telling you how to mix it. It lets you get all of your ingredients on the counter before you go reading the instructions. Having the variables up front lets you prepare your mind for the state before reasoning about the code.

I'll make a case against. Declaring all your variables up-front means that _all_ variables can be altered from _every_ place in the function, making it a lot harder to analyze/find data dependencies/etc.

Minimizing the scope of variables decreases the amount of scanning/grokking you have to do to find out how they are related. (Making them constant too also helps a lot as well... you know it won't change thereafter)

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#82
post #78
post #74

Earlier quoted context omitted.

Hmm, interesting! I might be remembering wrong, but I remember within the last decade being told by a coworker that it was required for proper Windows support, but maybe that was just an old version of Visual Studio from XP or something that no longer needs to be supported.

And C99 allows you to declare variables anywhere in the function (much like C++).

I remember that the reason my coworker had said that they couldn't use local variables declared anywhere in functions for their Windows code was due to not supporting C99, but maybe that was just due to some external constraint rather than a Windows-specific one (like some customer needing them to support pre-C99 code or something).

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#83

Earlier quoted context omitted.

There's a difference between the words 'shaped' and 'built'. I'm sure Markoff chose his words carefully. 'shaped': determine the nature of; have a great influence on "his childhood was shaped by a loving relationship with his elder brother" 'built': past and past participle of build. 'build': construct (something) by putting parts or material together "the ironworks were built in 1736" Or in the context of the topic,…

So you haven't read it either? Let's argue about a book neither of us have read. Hippies didn't "shape" the Internet, either. Rather, there was a general idea of openness which almost everyone shared, to some degree -- even the faculty and grad students and researchers who actually did build it. The telephone company people and the IBM'ers did not share it, and that's why their vision did not win out.

Of course I read it. What makes you think I have it. I'm pretty sure the problem we are having is that we have different definitions of 'hippie'

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#84

Earlier quoted context omitted.

So you haven't read it either? Let's argue about a book neither of us have read. Hippies didn't "shape" the Internet, either. Rather, there was a general idea of openness which almost everyone shared, to some degree -- even the faculty and grad students and researchers who actually did build it. The telephone company people and the IBM'ers did not share it, and that's why their vision did not win out.

Of course I read it. What makes you think I have it. I'm pretty sure the problem we are having is that we have different definitions of 'hippie'

> What makes you think I have it

I assume that's "haven't" ?

For sure. "Hippie" to me is not broadly defined. Hippies rejected society and regular jobs (and education). There were hippie posers and used-to-be's, who might have been the users on The Well.

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#85

The subtitle says Ted was the inventor of hypertext, but in the interview he credits Doug Engelbart. You can hear him say it if you listen from 4:30 to 4:45. "We thought computing would be artisanal. We did not imagine great monopolies." Even though hindsight is 20/20, I'm still surprised that the power of network effects didn't occur to him (or whoever the "we" refers to). "... artistic expression ..." Reminds me a…

I have a hypothesis about this phenomenon of the software house monopolies, which is that wherever consistency of human interaction is beneficial, you get large concentrations of development, for reasons of human computer interaction being difficult and operating consistency and communication of skills network effects are created as a function of intrinsic human values propagation. Conceal the interface from direct user manipulation or the necessity for interaction for function, and individual or very small groups of artisans can be effective in extreme scale as is the case with much internet infrastructure and the Linux kernel. In the example of concentration of large development investment I'm thinking about, which is Microsoft Office, both kinds of network effects have been used to control and conflate different desires of monopoly, charades of open document formats and email protocol implementation (in this case the documentation is very good, practice however..) dancing between the lines of simpler competition and initiatives. Although the argument I'm effectively making turns out rather familiar to anyone who thinks of the turn of century software economy, I'm trying to replace economic theory with a suggestion that it's important to think about user applications for critical new infrastructure and protocols that can be developed simultaneously at comparable velocity alongside supportive infrastructure, instead of declaring standards and protocols that are left to capital markets to realize as products. Imagine if TBL had written a book recommendation and bartering spec as a backup for the paperless proposition of hypertext?

Edit: fixed autocomplete error, removed "even" from last sentence.

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#86

Earlier quoted context omitted.

Ted coined the term "hypertext"; he built a prototype Xanadu platform [1] which incorporated it. Engelbart created an editing system which used something like hypertext internally. Ted coined the term in 1963, along with "hypermedia" [2]; Engelbart published a paper in 1962 [3]; you can read it and decide for yourself whether he "invented" hypertext (by any name) in that paper. [1] https://en.wikipedia.org/wiki/Proje…

From: > [1] https://en.wikipedia.org/wiki/Project_Xanadu Wired magazine published an article called "The Curse of Xanadu", calling Project Xanadu "the longest-running vaporware story in the history of the computer industry".[3] The first attempt at implementation began in 1960, but it was not until 1998 that an incomplete implementation was released. Ouch!

Under the international hypertext accords of 2010, anytime the wired article is referenced, the rebuttal must be referenced also:

https://web.archive.org/web/20001003011753/http://xanadu.com...

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#87
post #82
post #78

Earlier quoted context omitted.

And C99 allows you to declare variables anywhere in the function (much like C++).

I remember that the reason my coworker had said that they couldn't use local variables declared anywhere in functions for their Windows code was due to not supporting C99, but maybe that was just due to some external constraint rather than a Windows-specific one (like some customer needing them to support pre-C99 code or something).

Even C89 supports block-level variable declarations. I think many C programmers are unaware of this, though, and mistakenly think that declarations are function-level only.

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#88
post #76

Earlier quoted context omitted.

The Internet is an easy target for blame, but in fact in the past month I found a number of people whose thinking (at least on some specific topic) was near to mine through Reddit discussions (and now you, it seems): https://www.github.com/kaveh808 https://gitlab.com/flatwhatson/guile-prescheme If you are interested in the nature of machine code and assembly language I would recommend at least looking at Scheme86: ht…

I'm aware of the Scheme chips. I chose machine language because it doesn't need many names for code, and thus was suitable as a starting point for my work on textless programming. I've not reached out to John Cowan but think I might, despite my dislike of Unicode. I'll also look into this Ronin Institute. I'll keep the book in mind. I appreciate the help. As I explain in the last linked article, a lot of these artifi…

Thank you for a civil, intelligent conversation.

I had never thought about the "asymmetry" of putting control codes with the character codes in ASCII--it does seem illogical now that you point it out. :) Languages like Ido aren't completely "artificial", and I certainly think Couturat didn't fail in some sense--my irrational issue with Ido, despite its numerous strengths, is that words with the same part of speech end in the same letter(s), making it monotonous. But as my wife pointed out, that regularity makes it easier for computers to parse.

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#89

The subtitle says Ted was the inventor of hypertext, but in the interview he credits Doug Engelbart. You can hear him say it if you listen from 4:30 to 4:45. "We thought computing would be artisanal. We did not imagine great monopolies." Even though hindsight is 20/20, I'm still surprised that the power of network effects didn't occur to him (or whoever the "we" refers to). "... artistic expression ..." Reminds me a…

Back then the future was difficult to discern. I entered grad school in 1974 and at that time having a 300 baud modem (30 characters/second) at home was a luxury that only one of my friends could afford. I didn't have a personal computer.

I was creative back then, and I remember envisioning VR very similar to today's VR. After studying visual displays and how they were projected on screens for pilots in flight simulators I presented an idea to my computer graphics class that we could put small displays on a helmet one for each eye and have motion and orientation sensors on the helmet to simulate what a pilot would see in 3D as he looked around the virtual cockpit. I said we could even develop multiuser experiences in a big gymnasium with a virtual landscape displayed in each participant's helmet displays. My professor dismissed the ideas as fanciful, and I moved on to other ideas.

It was easy to imagine a future where lots of people owned personal computers and had modems that could be used to log into servers over dial-up lines; I remembered thinking that player verses player games would become a thing because the number of pairs of users online would grow much faster than the number of users [N(N-1) vs N]. But here, I was imagining a single multiuser server, not an internet.

I was aware of the ARPA NET and had even tried out the PLATO timesharing system. I had a copy of Ted Nelson's interesting book of rambling ideas titled Dream Machines where he talked about hypertext, Xanadu, etc. I was also a teaching assistant for a telecommunications course where we talked about the possibility of fiber to the home replacing analog phone lines and providing bandwidth that could replace video rentals for entertainment.

All of these hints foreshadowed the development of the internet, but I didn't see it and neither did any of my colleagues. The scale and importance of the internet just eluded me.

As late as 1989 when I started a software company, it wasn't clear that the company should have it's own domain name!

Re: Ted Nelson on What Modern Programmers Can Learn from the Past (2018)

#90
post #88

Earlier quoted context omitted.

I'm aware of the Scheme chips. I chose machine language because it doesn't need many names for code, and thus was suitable as a starting point for my work on textless programming. I've not reached out to John Cowan but think I might, despite my dislike of Unicode. I'll also look into this Ronin Institute. I'll keep the book in mind. I appreciate the help. As I explain in the last linked article, a lot of these artifi…

Thank you for a civil, intelligent conversation. I had never thought about the "asymmetry" of putting control codes with the character codes in ASCII--it does seem illogical now that you point it out. :) Languages like Ido aren't completely "artificial", and I certainly think Couturat didn't fail in some sense--my irrational issue with Ido, despite its numerous strengths, is that words with the same part of speech en…

It's no issue.

> I had never thought about the "asymmetry" of putting control codes with the character codes in ASCII--it does seem illogical now that you point it out.

Yes, this is why I call them insidious.

The issue with constructed languages is that they simply don't have the beauty of something such as Latin, and never can, due to their very nature.

Anyway, feel free to send me an e-mail at some point, if we're to continue our discussion at some later time.

Post reply on HN