Live data from Hacker News

Chuck Moore, Extreme Programmer

cs.uni.edu

151–160 of 186 posts

Re: Chuck Moore, Extreme Programmer

#151
post #111

Earlier quoted context omitted.

I work in the fast food industry, don't code, and I'm not even particularly interested in tech, but spend hours reading the articles and comments here.

I was a network engineer and would do the same, can't place the exact reason why, but today i am a python programmer doing network automation. I do think HN had a major part to play in this change

Network Engineer here too. I learned to code with Python and now do full-time PowerShell automation at work. It completely changed my career. Best decision I ever made.

Re: Chuck Moore, Extreme Programmer

#152
post #9

I want to take a moment to reflect on what a great community HN has. It never ceases to amaze me. The link is from the CS department at the University of Northern Iowa in Cedar Falls, IA. It sounds obscure, but that's my hometown. I grew up a couple blocks away from it. I sat in on classes there. I even know the author's family. That's small town Iowa, for ya. I never thought I would see anything related to that on h…

The internet startup[1] I work at is based out of Cedar Falls. Our product team is in Minneapolis (including myself), but the CEO/sales is in CF. I'm down there all the time! I've actually grown to like it quite a bit. Cool little town.

http://www.threadsculture.com/

Re: Chuck Moore, Extreme Programmer

#153

Earlier quoted context omitted.

It's called factoring with subroutines, and Forth hasn't cornered the market on anything by calling them words.

No, but Forth provided one of the nicest, most immediate, and interactive environments to explore a problem. Instead of multiple files in a text editor, you build and test your app live and then dump it all to a text file. I have rarely had that experience with any other language except Smalltalk. I understand some Lisp environments act that way, but Forth was available places Lisp and Smalltalk were not.

Developing on the target is just so last century. Now that programmers have developed the IDE you'll have to pull them from their cold dead hands.

Re: Chuck Moore, Extreme Programmer

#154
post #80

Earlier quoted context omitted.

>Again, small town Iowa is very different from elsewhere in the country. It's not what you would expect on a site focused on tech where most probably hail from coastal urban or suburban enclaves. He lives outside of a town of 40k, it's not particularly small. For reference I grew up in a town of 6k- I'm not trying to play small-town olympics here but he's hardly from the boonies. The University of Iowa is there... >O…

I don't think I've ever met anyone from Iowa. Most people on this site are probably from the coasts. So I would consider it an example of diversity.

What ethnic / socioeconomic background are most people here from?

You're really grabbing on to physical location to justify ignoring the fact that that person is perfectly representative of most of the folks here.

Re: Chuck Moore, Extreme Programmer

#155

Earlier quoted context omitted.

I've written a standalone Forth system that could boot from a floppy and recompile itself. I've ported the core interpreter to C so I could use libraries. I've rewritten it using various threading techniques. Up to that point it was just toy systems because i never did something useful with those. Then I rewrote a Forth interpreter than would play really nice with C. That thing right now is around 30k/3KSLOC. This ti…

Doesn't your latter post contradict your previous post? If Forth is not powerful how did you manage to do such things with Forth, and why did you stay so long with Forth despite its "ugliness" and "meanness"?

"powerful" too often means "it does things I don't really need or that I don't even understand; but hey, I might use them someday" - or at least that's how it sounds to me.

"ugly, stupid and mean" is actually intended to the beginners or to those who want to try it. That's what most systems are out-of-the box, especially for the minimal ones (bigger systems like gForth might be a bit better).

That's their starting point. R> and R> are hideous so at one point they'll want to replace them with "pop" and "push". Stack juggling looks bad so they'll have to learn to minimize them. And they'll have to get used to RPN. There's no GC and not even heap allocation (unless ANSI-Forth added it as an extension since the last time I checked?), so they'll have to deal with the lack of memory management that are in every other high-level language. There's neither static nor dynamic type checking so they won't get any warning if they dereference a character. Instead, it will crash again and again without any stack trace.

So they'll have to deal with all this ugliness, stupidity and hostility that they won't expect "enough" because Forth fans praise it often without a warning about the fact that it takes a really long time to fully tame such a rabid language.

Why did I stick with Forth for so long? I made it progressively more beautiful for me; I learned to fight complexity and factor, which indirectly prevents mistakes; I implemented warnings in my system for mistakes that are hard to find (e.g. a redefinition) and are easy to check for.

Re: Chuck Moore, Extreme Programmer

#156

Earlier quoted context omitted.

Doesn't your latter post contradict your previous post? If Forth is not powerful how did you manage to do such things with Forth, and why did you stay so long with Forth despite its "ugliness" and "meanness"?

"powerful" too often means "it does things I don't really need or that I don't even understand; but hey, I might use them someday" - or at least that's how it sounds to me. "ugly, stupid and mean" is actually intended to the beginners or to those who want to try it. That's what most systems are out-of-the box, especially for the minimal ones (bigger systems like gForth might be a bit better). That's their starting po…

> "ugly, stupid and mean" is actually intended to the beginners or to those who want to try it.

When I encountered Forth first (6502 figForth) I felt it quite convenient. At that time there were only two other options - Basic and Assembler. Maybe that most developers today are too pampared by all the available IDEs for other languages. It's the same attitude why so many people stick with Windows instead of learning OSX or Linux, despite all the flaws of the Windows ecosystem.

> lack of memory management that are in every other high-level language

As already mentioned, I consider Forth suitable for tiny systems, iOT, Firmware etc. I would never use Forth for big software. I would not use even C++ for that. In that area Ada, Rust or Nim works much better for me.

Re: Chuck Moore, Extreme Programmer

#157
post #154

Earlier quoted context omitted.

I don't think I've ever met anyone from Iowa. Most people on this site are probably from the coasts. So I would consider it an example of diversity.

What ethnic / socioeconomic background are most people here from? You're really grabbing on to physical location to justify ignoring the fact that that person is perfectly representative of most of the folks here.

You're really grabbing on to race and socioeconomic status to justify ignoring the fact that that person is not representative of most of the folks here.

See? We can both play these games.

Re: Chuck Moore, Extreme Programmer

#158
post #79
post #70

Earlier quoted context omitted.

It's pretty close to rural. 40K citizens and corn fields a mile or so from campus. Not sure what your overarching point is though--what's wrong with remarking on the improbability of a submission from a tiny university in Iowa?

I grew up in a town of 6k and we were the big one in 20 miles. 40k is suburban IMO. Edit- and I was ridiculing the idea that the mention of a wealthy, homogenous suburb indicates how inclusive this community is. Pretty much every story here deals with things from a young, white, wealthy perspective.

To be clear, no one argued that "posts from Iowa" == "inclusive"; you're arguing against a straw man. But more importantly, it seems your beef with HN is based on the assumption that everyone from a town of 40k or more has the same experiences. This is such a distorted idea of "diversity" when you consider that it includes people from major metropolitan areas, silicon valley, red states, blue states, and all over Europe (and yes, all of those groups are well-represented on HN). The fact that you're here from a town of 6K and I'm here from a town of 2K is testament to the OP's point, and it contradicts yours.

Re: Chuck Moore, Extreme Programmer

#159

Earlier quoted context omitted.

No, but Forth provided one of the nicest, most immediate, and interactive environments to explore a problem. Instead of multiple files in a text editor, you build and test your app live and then dump it all to a text file. I have rarely had that experience with any other language except Smalltalk. I understand some Lisp environments act that way, but Forth was available places Lisp and Smalltalk were not.

Developing on the target is just so last century. Now that programmers have developed the IDE you'll have to pull them from their cold dead hands.

I don't think I've used any IDE (other than Smalltalk) that was vaguely in the class of using Forth for interactivity and building of programs from the bottom up.

Whats up with mocking everyone you reply to on this thread?

Re: Chuck Moore, Extreme Programmer

#160
post #85

Earlier quoted context omitted.

And here's why that matters. Below is the complete source of a Forth block editor. This editor is more than sufficient to write an OS with, although of course emacs or vim would be better. That is pretty awesome. Forth is a language in which it's realistic for each programmer to have his own custom editor. That's even more awesome. | RetroForth Block Editor (http://www.retroforth.org) | * Released into the public dom…

> : right# negate 32 + . ; This is an example of "ugly" Forth code. It's ok here to make the code as short as possible. In reality I would write (educational) Forth code this way. The texts in parentheses are comments. ( compute Hypotenuse sqrt[a²+b²] ) : hypo ( a b ) swap ( b a ) dup * ( b a² ) swap ( a² b ) dup * ( a² b² ) + ( a²+b² ) sqrt ( result ) ; ( Application: 1.2 3.4 hypo )

Isn't the first swap unneccesary?
Post reply on HN