On Tue, Jan 6, 2015 at 5:07 PM, Warren Young <wyml at etr-usa.com> wrote:> >>> There are more JavaScript interpreters in the world than Dalvik, ART,[2] and Java ? VMs combined. Perhaps we should rewrite everything in JavaScript instead? >> >> I'm counting the running/useful instances of actual program code, > > I rather doubt you?ve done anything like actual research on this.Not really, but start with the number of running android devices - and I think it is reasonable to assume that they are running something, checking gmail, etc. It's safe enough to say that's a big number.> If you?re trying to say that there?s more CPU-hours of JVM use on *ix than JS in browsers, that sort of elitist argument has been repeatedly defeated. Big Iron vs minicomputers, Unix workstations vs the PC, ?real? Unix vs Linux, the PC vs the smartphone?No, I'm saying it pretty much owns the phone/tablet space and the examples of elasticsearch (and other lucene-based stuff), jenkins, etc. show it scales to the other end as well.> Time and time again, the forces driving the end-user market end up taking over the hrumph hrumph serious computing market. This has already happened with JS vs Java in the ?3 billion? space Oracle wants to claim, and I see no reason why it can?t eventually steamroll the *ix world, too, via node.js.node.js seems like the worst of all worlds - a language designed _not_ to speak to the OS directly with an OS library glued in. But it is a good example of how programmers think - if one says you shouldn't do something, it pretty much guarantees that someone else will.> I think the real difference we have on this point is that I?m not actually serious when I propose that the whole world rewrite all software in My Favorite Language just to make my job easier.I'd settle for just not changing the languages in ways that break already written software. But even that seems too much to expect.>> JavaScript >> is on the rise mostly because the interpreters upgrade transparently >> and the hassle is somewhat hidden. > > No, JavaScript is on the rise because the web is on the rise, and it managed to secure the spot as the web?s scripting language through an accident of history. That is all.I think you are underestimating the way the working interpreters get to the users. And the way the code libraries mask the differences. If users were exposed to version incompatibilities the popularity would vanish. In fact, being able to actively detect and work around incompatibilities is a large part of the reason it is used at all.>> I thought CPAN was approaching that long ago, or at >> least getting to the point where the new code you have to write to do >> about anything would take about half a page of calls to existing >> modules. > > Ah yes, the ever-near future where everyone will plug a few Lego-like software blocks together and thereby construct any useful program they wish, while lacking any clue about what?s going on. That future?s been 5 years away for the past 5 decades.Not it the sense that there's nothing new to invent, but that every sysadmin in every organization and every home user should not need to invent new processes to manage their machines.> It?s as likely today as ever ? which is to say, ?not? ? and it isn?t the Fedora development community?s fault that we have not yet achieved this nirvana.Really? How have they made it any easier to manage your 2nd machine than your first?> Software is ?pure thought-stuff,? to quote Fred Brooks. We have very little constraint on the scope and range of things we can create in software. Any attempt to package software up into a usefully-small set of precisely-characterized little black boxes is a Quixotic dream.It is also purely reproducible. Do something right once and no one should ever have to waste that thought again.>>> Why even bother with ksh or Bash extensions, for that matter? The original Bourne shell achieved Turing-completeness in 1977. There is literally nothing we can ask a computer to do that we cannot cause to happen via a shell script. (Except run fast.) >> >> Well, Bourne didn't deal with sockets. > > BSD Sockets didn?t exist in 1977.Precisely. Once there was close to a 1-1 mapping of shell and external commands to system calls. Now there isn't.> In any case, you?re willfully ignoring the nature of *ix type shell script programming. A shell script?s ?function library? is the set of all programs in the PATH. Drop nc/ncat/netcat/socat in the PATH, and suddenly your shell script knows how to talk to BSD sockets. It?s really no different than installing libnsl on a Solaris box.I wasn't ignoring it. I just was avoiding another rant about how those have not been maintained in a backwards compatible way either. Even though shell syntax is stable, the programs are usually just glue around an assortment of tools that no longer match section 1 of the unix manuals.> No nc-alike here? Okay, echo the machine code to disk for an ELF binary that makes the necessary syscalls, using octal escapes. No, don?t cheat and echo out a C or assembly language program, go straight to the metal, you softie.I might have done that for 8-bit z80 code, but I've since learned that it is rarely worth getting that intimate with the hardware.> You can?t just wish it away by telling everyone to switch to Java, or JavaScript, or whatever else. All you?re going to do is create another ?standard? in the XKCD sense: > > https://xkcd.com/927/Well no, at this point you can't say that java is yet another new thing - probably not even groovy since that's mix/match with java. Maybe scala.> > Perl 6 was an attempt to achieve this in one big jump. Perl 5 is in the process of slowly accreting some of Perl 6?s features. Eventually, I think the jump to Perl 6 won?t look so big, and Perl 6 will finally get off the ground. Perhaps even soon.I think everyone involved with perl is sane enough to know that perl 6 is not a replacement for perl 5. It's something different. I just hope the Fedora people get it.>> holding off on python and ruby until they have a similar history of >> not breaking your existing work with incompatible updates. > > Those counters both got reset relatively recently: the Python 3 (ne? 3000) and Ruby 1.9 transitions were fairly traumatic.Well, I've avoided a couple of traumas then. But those transitions don't seem to have completed. And they probably won't until all distros ship multiple versions so programs can co-exist long enough to fix the broken parts.> Is that all this is? Trying to get someone else riled up enough that they?ll fork EL6 for you?No - mostly hoping someone would point out something I had overlooked that makes the transition easy. I thought the computers were supposed to work for us instead of the other way around. -- Les Mikesell lesmikesell at gmail.com
On Jan 6, 2015, at 5:07 PM, Les Mikesell <lesmikesell at gmail.com> wrote:> On Tue, Jan 6, 2015 at 5:07 PM, Warren Young <wyml at etr-usa.com> wrote: >> >>>> There are more JavaScript interpreters in the world than Dalvik, ART,[2] and Java ? VMs combined. Perhaps we should rewrite everything in JavaScript instead? >>> >>> I'm counting the running/useful instances of actual program code, >> >> I rather doubt you?ve done anything like actual research on this. > > Not really, but start with the number of running android devices - and > I think it is reasonable to assume that they are running something, > checking gmail, etc. It's safe enough to say that's a big number.Sigh? I said I didn?t want to get into Oracle?s bogus 3 billion number, or how it?s exceeded by actual JS deployments. Just take it as read that I?ve thought through it, and I?m still sure JS has more deployments. Then apply my Tiobe argument to JS instead of Java: even if JS is significantly bigger than Java, it *still* doesn?t prove anything because it?s still a minority player, so there will continue to be a pressure to use something incompatible with it. There. Is. No. Nirvana.> it pretty much owns the phone/tablet space and the > examples of elasticsearch (and other lucene-based stuff), jenkins, > etc. show it scales to the other end as well.:shakes head in disbelief: What continuum is a smartphone the other end of, exactly? The one in my pocket has multiple general-purpose GHz-class CPU cores, a few specialized coprocessors, several hundred megs of RAM, dozens of gigs of fast local storage, and several high-tech radios. Its raw processing power is on the order of 100 GFLOPS. This is the low end of?what?the Top 500 List from 1998? ?except that my phone achieves that parity on a few watts, and doesn?t require a staff of acolytes to tend to its needs. This is a device that would make Captain Kirk jealous, but it?s just one of a billion. Booooring. We are *so* spoiled. You want to talk about stupid-high deployment numbers? Let?s talk embedded. 18.1 billion eight-bitters shipped *last year*. http://goo.gl/UTXhuV The PIC10F200 is somewhere near what *I* call the low end: 16 bytes of RAM and a bit under 256 usable words of program memory. http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en019863 It?s definitely not the actual bottom, though. They still make 4-bitters.> node.js seems like the worst of all worlds - a language designed _not_ > to speak to the OS directly with an OS library glued in.JavaScript?s a better language than a lot of other scripting languages that have found widespread use. (Please, don?t ask. I *still* don?t want to start an advocacy flamewar.) The economic drive behind it is making it uncommonly fast for a dynamic scripting language. And if the resource hits of dynamic programming are a problem, why were we just talking about Perl? :)> But it is a > good example of how programmers think - if one says you shouldn't do > something, it pretty much guarantees that someone else will.No, the thing you should not do is Jaxer: http://en.wikipedia.org/wiki/Aptana#Aptana_Jaxer node.js is a vastly better plan.>> it isn?t the Fedora development community?s fault that we have not yet achieved this nirvana. > > Really? How have they made it any easier to manage your 2nd machine > than your first?I didn?t ask them to solve that problem. My company already solved it adequately, years ago, in a massive shell script. Thus my thoughtful treatment of the problem of the gap between shell and C; it was on my mind prior to this exchange. I?m kind of surprised to find that Puppet and Chef are not in EL7, though. I don?t really need either, having solved my particular automatic deployment problem already, but I thought they achieved sufficient popularity before the EL7 feature freeze. Oh, and in case you were wondering, yes, that massive shell script did require some adjustment to move it from EL5 to EL7. It took me a day or two, during which time I was also working on portability differences in the rest of the software. A few days of work to get back on track for the next 7 years; not too shabby. Look, I doubt I?m any happier about how they moved my cheese than you are. I?ve just chosen to go hunt down the cheese and hack a few blocks off, instead of yelling about how they shouldn?t have moved it.>> Software is ?pure thought-stuff,? to quote Fred Brooks. We have very little constraint on the scope and range of things we can create in software. Any attempt to package software up into a usefully-small set of precisely-characterized little black boxes is a Quixotic dream. > > It is also purely reproducible. Do something right once and no one > should ever have to waste that thought again.Arguably Smalltalk was GUIs and OO done right. Go spin up a Squeak VM and see if you still feel at home in that world: http://www.squeak.org/ Not only does technology change, so does our perception of what ?good technology? looks like. I suspect most of those using Squeak are using it for the same reason that I continue to pour a lot of time into Apple ][ emulators: nostalgia, not utility.>>>> Why even bother with ksh or Bash extensions, for that matter? The original Bourne shell achieved Turing-completeness in 1977. There is literally nothing we can ask a computer to do that we cannot cause to happen via a shell script. (Except run fast.) >>> >>> Well, Bourne didn't deal with sockets. >> >> BSD Sockets didn?t exist in 1977. > > Precisely. Once there was close to a 1-1 mapping of shell and > external commands to system calls. Now there isn?t.What?s your solution to that? Never invent sockets, because Saint Thompson didn?t think of it first? I can already predict that you didn?t like the other plan ? Plan 9, that is ? where they redesigned Unix to include sockets, ioctls and more at the filesystem level: http://goo.gl/amRJSg Plan 9 broke compatibility, after all. Bash fakes /dev/tcp (http://goo.gl/bbRysJ) but Bash isn?t everywhere, and you?re likely to run into problems if you try to share that socket with another program, since it isn?t a real /dev node.>> No nc-alike here? Okay, echo the machine code to disk for an ELF binary that makes the necessary syscalls, using octal escapes. No, don?t cheat and echo out a C or assembly language program, go straight to the metal, you softie. > > I might have done that for 8-bit z80 code, but I've since learned that > it is rarely worth getting that intimate with the hardware.That was a reductio ad absurdum argument. The point is that if backwards compatibility is the be-all and end-all of software design, we had everything we needed decades ago, so why not just fire up a 4.3BSD VM, and do everything that way?>> You can?t just wish it away by telling everyone to switch to Java, or JavaScript, or whatever else. All you?re going to do is create another ?standard? in the XKCD sense: >> >> https://xkcd.com/927/ > > Well no, at this point you can't say that java is yet another new > thingWhat?s it really accomplished? It?s still just a big fish in a pond full of many other fishes, smaller than some, and not all that much bigger than a lot of others. That sounds like XKCD?s ?soon? scenario to me.
On Tue, Jan 06, 2015 at 06:37:42PM -0700, Warren Young wrote: Noise removed. Quick question, if I may? What does this have to do with CentOS? John -- Spring is nature's way of saying, "Let's party!" -- Robin Williams (1952-), American actor and comedian -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: not available URL: <http://lists.centos.org/pipermail/centos/attachments/20150106/b30a6c1d/attachment-0001.sig>