Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: Epic Fail Date: Fri, 04 Apr 2014 17:41:04 -0400 Organization: Aioe.org NNTP Server Lines: 185 Message-ID: References: NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:29287 On Fri, 04 Apr 2014 13:26:04 -0400, Jason Damisch wrote: > Why did Forth fail so badly? > I don't know all the historical aspects of it. I can tell you that Forth had a few failures which received extremely negative press. I can tell you that Forth became known as being "write once" language, meaning it was too cryptic for anyone to figure out once coded. Yes, that's even in the context of the IOCCC contest for obfuscated C. Ironic? I can tell you that C is far more powerful and flexible in many ways, IMO obviously. Forth is very rudimentary by comparison. I can also tell you what I think are weaknesses in the language. Usually, these issues are dismissed by the experts here as trivial or unimportant. Unfortunately, that doesn't change people's perception. People complain for a reason. Only fixing the language issues as perceived by others changes people's perception. That's something the Forth community is unwilling to do. This alienates those who would consider using Forth. I.e., someone who likes their steak well done and not burnt, is not going to eat a steak seared on the outside and cooked rare on the inside even if the expertly trained classical chef believes that's the best method of preparation. They want their steak fixed the way they like it. > I mean the win of Java VS the fail of Forth is so absolute as to be mind > boggling. I'd like to hear a real answer, and not that "Forth Sucks" > because I think that Forth is a darn good mousetrap. It is still quite > usable and is *extremely* flexible. I don't think it's mind boggling. Sun was a hugely successful software company, worth billions of dollars, that produced Java at their expense, rapidly updated and fixed issues with the language, maintained and produced it for decades, and gave to the general public for free. It's much the same thing FSF does, except they aren't wealthy, and are dependent on a flawed ideology, and license which perpetuates robbery. It's also much the same thing that Microsoft does. MS first sells you an OS, then they provide rapid updates and fixes, maintain and produce the OS for decades, for free - after the initial expense. Other projects, like ANDF (Tendra C compiler), tend to come out of university settings where they turn the project over the public. However, no one is familiar or skilled enough with the code, or frequently lack the resources or time to use the code, so the project in reality was actually abandoned. The original creators, university students and professors move on to other projects. So, there is no expert human support to take the project forward. You can see this with most MIT or BSD licensed code. I.e., it would be best called dump-ware, software dumped into the public without any support. > It goes like this. If you program in Java, you can't fail. If you > program in Forth, you can't win. It does not matter how good or bad > you are. Would you consider the position of Greg or Chuck at this > point in time a win or a fail? > > The Wikipedia article on Java states that in 2014 Java is the most > popular programming language with 9 million developers. No. Quote: "... is one of the most popular ..." One, not *IS*. The first source they cite show it's the second most popular. The other source they cite is the well know TIOBE index. It shows Java is in a constant battle with C for first place, with Java taking the lead for some years with C for others. Of course, Java is derived from C. > How many developers do you think actually make money programming in > Forth? Probably about 9! > > I'm not trying to Flame or Troll. I'd just like to hear a really > good explanation of this. It makes me upset. The problem with the Forth community is that they have their heads buried in the sand, or hand over their ears or eyes or mouths, like those metaphorical monkeys. They typically take offense when I say that, but I'll explain it yet again. I wasn't and am not currently flaming or trolling then either, even though my responses have been taken that way and will likely be yet again. Many brilliant ideas simply fail. Period. End-of-story. It doesn't matter that they were or still are brilliant ideas. They failed for various reasons: too early, too late, failure to adapt, negative public perception, infighting, too much standardization, too little standardization, too open, too closed, lack of funding, lack of profit, no purpose, etc. Once an idea has failed, there is almost no coming back, no chance at a recovery. The world has moved on. However, the Forth community is like a cult. It keeps on insisting that Forth must succeed because Forth is great! So, Forth must be rewarded for it's greatness! Even you did this by saying Forth is so flexible and you're upset that it's not well used. It's like reading about a failed cult that just won't give up on their savior coming no matter how many times the predictions were wrong. Yet, if you don't see the Forth community as a cult, you should still realize that it is. The Forth community has a savior: Chuck Moore. Any time the Forth community is "wishing" or "praying" for something new, they begin by discussing Charles Moore and what he is or isn't doing today. Savior... Sometimes it's a disciple or missionary who spreads the gospel, e.g., Jeff Fox, Julian Noble, Ms. Rather, etc. See it yet? No? Brainwashed. > How bad did we fail? Well, out of the Billions and Billions of > cellphones which have ever been produced, not a single one has been > programmed in Forth or uses Forth as an operating system! 99.99% of > them are programmed in Java? Why? Free. Widely available. Permanence or long-lasting. Financially supported by a major corporation(s). Based off of C language so skilled programmers are readily available. Etc. > I mean I had a $15 cell phone. The > hardware is probably more powerful than my old Atari ST. It has a > faster processor and more RAM. There are only about 5 games for it, and > they are all programmed in Java. Truth be known, these games are so > slow as to be nearly unplayable. It would be undoable to put Llamatron > on the thing, not because of the small screen size, but because it just > couldn't use a Java library to push around a sufficient number of > sprites very well. I know that all of you I.T. people in here are just > going to say buy a more expensive phone, but that's not my point. > > It's not like Java is the [ideal] language for everything. FYI, idea -> ideal. Aren't all general-purpose languages ideal for everything? That's what makes them general purpose after all ... Some would say general purpose means they're weak in certain areas, but I would disagree with that. Remember, C and Forth are general purpose languages. Others argue that domain specific languages are the way to go. Of course, you must have that domain specific language available to use it. "Therein lies the rub." > It is C++ on top of a virtual machine. I think it's C not C++. > I probably would not recommend it for resource constrained embedded > systems. That's a common complaint of those who look at the memory footprint of a language like C versus Forth or other languages, instead of looking at the language functionality. You forgo so much functionality and available software by using a non-C derived language or not using C/C++. > But just like nobody every go fired for buying IBM, nobody ever go fired > for using Java. The internet is driving the distribution of online or cloud applications that execute just-in-time. Is Forth well suited for that? I don't think so. C isn't suited for that either. You have to compile it. Most users don't want to be bothered with compiling applications. They just want apps to work correctly. Even programmers just want applications to work correctly. I'm not about to spend my time without pay to fix Opera or Mozilla Firefox. If I've got a problem with them, it gets downgraded to an earlier version with pre-compiled binaries. I'm not building it from scratch to end up with it not compiling because GLIBC, or a half-dozen other libraries are incompatible versions. This happens *ALL* the time with Linux software packages distributed as source. I recently attempted to update one software package and had to download about fifteen different libraries and install them. Fortunately, they were pre-compiled with binaries. Even so, it still took almost and hour. > I mean even if I started a project trying to write an embedded system > on a resources constrained device, and I chose to do it in Java, no > matter what kind of train wreck I produced, I would probably not be > fired, but would be hired for the next job, even possibly to reproduce > the same results. At this point, most rational people would conclude that Forth is so far behind or rarely used that it's a bad choice, even if it truly was the correct choice from a technical perspective. I.e., most managers would fire or strongly consider firing you for using/chosing Forth over C, Java, etc. "What *is* he thinking? ... drinking?" They simply can't find anyone who want to kill their resume by programming in Forth. > How did we lose so badly? Hopefully, I've provided some non-cult insight to that above. Rod Pemberton