Live data from Hacker News

Beads: Computer language and toolchain

beadslang.org

211–220 of 235 posts

Re: Beads: Computer language and toolchain

#211
post #203
post #72

A few months ago, I watched some videos by Brett Victor and decided I wanted to develop a visual programming language. That led me to https://futureofcoding.org/ and its slack channel. There was some cool stuff happening on the server, and the admin was doing his best to elevate things, but that slack channel was also the last stop for some people before they descended into templeOS levels of madness. Right around th…

I don't think you're fully appreciating the context here... The moderator of that community had been trying over and over, both privately and in public, to get this person to follow community norms for years, but they just would not do so. To me, who has been in that community for years, it was entirely the correct action to take. Moderation is hard and no fun at all, but it needs to be done, or else a community will…

I was kicked out of the future of coding chat group by Ivan Reese, who exercised his cancel culture powers to permanently ban someone for daring to say that Steve Jobs had cojones for ordering hundreds of millions of dollars in parts for his products before they even shipped and knew if people liked them, unlikes the cowards at HP who only bought 10k Idea Pads (which preceded the iPad). It is ridiculous to equate a colorful, and accurate, word "cojones" with a descent into madness. Steve Jobs by most personal accounts had a bad temper, but he was amazing, and I for one miss his great designs and inventions that he brought forth. To me, Steve Jobs is the most exciting inventor of my lifetime, an incredible example of masculine energy focused in a constructive and creative manner.

The community didn't vote on it, Ivan exercised his power, because has a personal dislike for me. I met a few nice people on that discord group, but didn't enjoy being followed around by word police.

Re: Beads: Computer language and toolchain

#212

I would seriously consider toning down the marketing speak. This project is making very bold claims, without citations, while trying to appeal to an often skeptical crowd (developers). "Graph databases are considered more powerful and modern than relational databases," ... okay? According to what benchmark and for what workloads? A statement like that is an immediate turnoff because it is dismissive of 30 years of da…

Honestly, i think graph db being more powerful is one of their more reasonable claims. Graph db trade off a more flexible data model (which some people would call power) against performance/scalability. Whether or not that's a good trade off in your domain is a very different question. Edit: although based on the docs, the graph db seems roughly a data structure where nodes can point to each other (i dont see anythin…

Neo4J has a souped SQL language they call Cypher to perform queries. But since Beads data structures are typically arranged in tree form, one typically uses the loop construct to interate across them, as one is often drawing them. To that end, Beads has a fairly elaborate loop construct, with the ability to traverse 1 or 2 dimensions at once, or do a recursive descent traversal.

In a graphical programming environment one is really listing and drawing the content for editing, versus making a list of something.

You can send subtrees across the wire conveniently, subscribe to a remote machine's subtree, etc. and you can write to the hard drive the trees.

However concurrency is not really present in the system as i am emitting JS which is a single threaded system for the most part. So Beads has almost zero concurrency support at present.

Re: Beads: Computer language and toolchain

#213

Earlier quoted context omitted.

Beads was going to be recoded in Web Assembly, however, the many restrictions on I/O to the user's hard drive inside the browser make it very to build a compiler inside a browser. Hopefully in the near future Web Assembly will become a fully capable virtual machine, that will unify all the different hardware and operating systems, effectively becoming a universal virtual OS. But any day now the dam will break, and We…

Web assembly is not a hypervisor and doesn't intend to be one.

many people, myself included, view Web Assembly has a future virtual machine that is universally available across hardware, ending the hassle of making specific executables for each operating system. A kind of improved P-Code system, if you are familiar with how UCSD Pascal worked (another brilliant Prof. Wirth project).

Re: Beads: Computer language and toolchain

#214
post #187

Earlier quoted context omitted.

Rebol and is rebirth Red, is a very concise and powerful language. They are well funded, and will be a force to reckon with going forward. I would say the languages are very different in the sense that Beads is clearly aimed at graphical interactive software, with a layout/drawing/event model built into the language, while Red exists as a systems programming language, a variant customized for building crypto contract…

> They are well funded. Rebol Technologies went bankrupt, and Rebol is de-facto dead since more than a decade; Red barely manages to get by thanks to a recent crypto spike. > I would say the languages are very different in the sense that Beads is clearly aimed at graphical interactive software. So is Red with it's native GUI engine. [1] > Red exists as a systems programming language, a variant customized for building…

I don't find Red particularly readable, it is a bit too dense for my taste. But some people will love it, and they have a very active Gitter group, and they are very nice people.

Red is the best funded language that i know of. Nenad did an initial coin offering (ICO) that was successful, and by my estimates will never have to work again. He has a good-sized team, and is building a very powerful product. Don't confuse his frugality with the financial independence he possesses due to his good timing at jumping onto the crypto bandwagon.

I don't know how you describe Rebol/Red. It a language made out of various subdomain specific languages, with a very unique syntax. It is very brief, and to me looking at it from a distance it more resembles FORTH or Postscript than any Algol derivative language.

Red has not prioritized graphical interactive products. I think its best subsystem is its amazing PARSE module, which is second only to Icon in text processing power.

There are other interesting projects like Enso, but they will probably run out of money, but i will wager Red will still be going strong 10 years from now.

Re: Beads: Computer language and toolchain

#215

I did not love reading the code examples. Call me a lightweight, but I think Swift and Kotlin have a pretty good balance between being verbose enough to read easily, and expressive enough to not need a ton of code. This syntax feels like a step backwards.

The problem with both Swift and Kotlin, is that you must use libraries to draw and handle events, which typically makes it tied to a single OS (Swift only really being used in OSX at present). Kotlin might rely on the very extensive JVM libraries, which are horrendously complicated.

I don't know what you mean by a step backwards. This a batteries-included environment like VB6 and Borland Delphi, but emits to the current web app universe we live in, so it is definitely in the now.

Re: Beads: Computer language and toolchain

#216

Earlier quoted context omitted.

Beads follows the State-Action-Model pattern (SAM, see sam.js.org) very closely. Beads is targeting web apps, mobile and desktop graphical applications. You didn't mention time travel debugging, even on software running on remote customer machines. That's a neat idea. I would describe the syntax as a mixture of Python and Modula2, which both contributed major features. But has deductive elements as well, which can be…

Reading through Beads author's blog reveals him to be a person with decades of experience. To me it appears that Beads is a well thought out attempt to address the multitude of issues that the author has experienced over the years. NASA lost the Mars Climate Orbiter due to a confusion of values being in feet or meters. https://www.simscale.com/blog/2017/12/nasa-mars-climate-orbi... That is exactly the sort of mistake…

gee thanks for the kind words. You wrote one of the best comments i read.

Re: Beads: Computer language and toolchain

#217
post #36

I like this, the constructs in the ref card look really powerful, it looks like a batteries included language. Downloading it now to take it for a spin. Edit: Nevermind Beads only works on Windows and Mac, It needs Wine to work on Linux.

if i can find a better cross platform delivery mechanism than AIR that isn't too far away from JS, i will switch, as there are a fair number of Linux-based programmers out there. Sorry for the current inconvenience of requiring Wine. But it does run okay according to some of my users.

Re: Beads: Computer language and toolchain

#218

It seems that after years of trying to develop programming languages and architectures to have separation of concerns, with the business logic, the presentation logic, and the data storage separated (or even going to full-blown microservices), this just... bunches everything together? I get the appeal for a small program that fits in your head, but for anything more complex I don't want the code to take care of every…

Wasn't Meteor.js trying to do that as well for the web a few years ago?

Meteor has a lot of users, and is still around. The problem with Meteor is that it uses JS, and that language has a lot of problems. Typescript has clobbered meteor, as people have realized that JS makes it far too easy to make a typographical error that crashes at runtime.

Re: Beads: Computer language and toolchain

#219

Earlier quoted context omitted.

Beads follows the State-Action-Model pattern (SAM, see sam.js.org) very closely. Beads is targeting web apps, mobile and desktop graphical applications. You didn't mention time travel debugging, even on software running on remote customer machines. That's a neat idea. I would describe the syntax as a mixture of Python and Modula2, which both contributed major features. But has deductive elements as well, which can be…

Reading through Beads author's blog reveals him to be a person with decades of experience. To me it appears that Beads is a well thought out attempt to address the multitude of issues that the author has experienced over the years. NASA lost the Mars Climate Orbiter due to a confusion of values being in feet or meters. https://www.simscale.com/blog/2017/12/nasa-mars-climate-orbi... That is exactly the sort of mistake…

But that's exactly it - if the goal of this language is to prevent the type of failures that lead to the mars orbiter issue, then its an obvious failure. There's no possible way an interpreted language only usable on windows or mac would be controlling a mars orbiter - it just doesn't have the features neccesary for that usecase. Mars orbiters don't run Windows (nor should they).

That's ok of course, no language can be all things for all people and its ok to have a niche. But when the primary example justification for the language is a problem that the language couldn't possibly address, it suggests that it is hardly a well thought out language.

Almost none of the criticism here has been about the language itself, it has been about the blatent disconnect between what the language is and what it claims to try and do. Maybe its a good language in and of itself, hard to tell. At a glance it doesn't seem particularly groundbreaking, but it doesn't seem terrible either. However, I stand by it being an abject failure in terms of the stated goals of its marketing material.

Re: Beads: Computer language and toolchain

#220

Earlier quoted context omitted.

Web assembly is not a hypervisor and doesn't intend to be one.

many people, myself included, view Web Assembly has a future virtual machine that is universally available across hardware, ending the hassle of making specific executables for each operating system. A kind of improved P-Code system, if you are familiar with how UCSD Pascal worked (another brilliant Prof. Wirth project).

That's a very different claim than your parent post.

Portable generic VM (like the jvm but for anything), sure why not.

Having web browsers allow arbitrary access to hard disk? That's something else.

Post reply on HN