What programming language is used to code Electron devices

Erlang was born from prolog.

Racket is my reach-for language, so in broad terms I agree, but:

  1. In my circles, “homoiconicity” is seen as a vague, hard-to-define term, more of a distraction than anything. See Homoiconicity isn’t the point or https://twitter.com/lexi_lambda/status/1533139146931306496 . Explicit structure via parenthesization is very useful, though.

  2. LISP/Scheme have some weaknesses: overuse of cons/quasiquote, eval, set! instead of boxes, unhygienic macros. They also encourage writing of clever but cryptic and unmaintainable code. As far as language design goes, there’s plenty of work left to be done.

4 Likes

As an interested bystander, it looks like “code as data” and “types” are pulling language design in opposing directions.

If you can pass anything into anything else, and rewrite the code on the fly, I imagine you need to write a lot of type checking manually; you’re closer to how the computer really thinks about bits w/out going C/assembly.

If you guardrail everything and have your types solve half your logic problem for you, you are going further away from how the computer is actually working.

I enjoy the limited exposure I’ve had to FP, so I’m leaning more towards typed languages and really wish I had the willpower and an obvious career track to learn Haskell (or Idris). That said, I also want to solve more people, ethics and product problems in tech at the moment. And to make better techno. Our time is limited.

1 Like

This is roughly why I’m focused on SICP & Lisp/Scheme. Ruby is the new Java (default language that everyone uses now unless there is a strong argument for something else with Node a close runner up), and Ruby code is highly non-local.

In C++ if I want a class that manages financial numbers, I can write a class that represents data internally as integers with fixed precision. Totally normal thing to do. But in Ruby, someone can modify the class anywhere, so there could be (and often is) multiple slightly different versions running around concurrently in the same system.

Things have swung so far in favor of individual contributors - total comp for a good software engineer exceeds that of POTUS - that as a manager, even a very senior one, I’m better off thinking like a 27 year old high on life, dynamic macros and last night’s research chemicals. :rofl:

This goes agains good practices, which are to write dumb, clean code. But when deadlines loom corners get cut, and startup life is a relentless sequence of deadlines that mean life or death for the company. So I need to be able to write better and worse code than my teams.

2 Likes

You say that like it’s a bad thing.

I used to tell my students that computer science is the systematic violation of abstractions. We don’t have the luxury of pure abstraction, but that doesn’t mean we should abandon it. We need the equivalent of a Syntakt or AR analog machine, which respects the properties of the analog circuit it’s controlling, but without exposing the user to all its details. Of course, this is much harder to do in a general-purpose way.

From what I know of recent trends in processor design, C and assembly are pretty much abstractions at this point, also.

2 Likes

It does sound like that, sorry. That’s not how I feel, but I’ve spent my whole career so far away from the metal that I look on people who know how to work down there with reverence.

2 Likes

I’m pretty sure the x86 ISA (x86 assembly and corresponding CPU architecture) has been an abstraction since Pentium I in the ‘90s, and it has only increased from there.

1 Like

There is no Metal, only Zuul!

2 Likes

:joy: :joy:

2 Likes

:wave:

Just pushing/popping in to join the Smalltalk here, before the topic is locked.

While I’m at it: Amiga is the best computer, Motorola 56001 is the best DSP, etc.
:fire: :computer: :fire:
:hole: :walking_man:

4 Likes

I have a good friend who made a career out of Smalltalk consulting. No idea how he pulled it off, but I’ve been meaning to setup a Smalltalk environment and do a project in it someday.

FWIW, beyond basic preferences of the form “yeah, I really don’t like that language/OS/machine/whatever myself” I’m happy to bring the full force of ~30 years of professional experience to defend whatever it is that people like. Even if it is #&$^*$ Visual Basic (I stood in line to get VB 1.0, and worked on VB dot Net). If you can get paid cash money for your favorite or least favorite tool, that should be celebrated. It helps you buy more Elektrons!

Octatrack is best computer, regardless of what St*ng says. :joy:

3 Likes

I mainly write PHP for a living. I’m not sure I’m even welcome in this thread.

5 Likes

Facebook is built in PHP. Cash money is cash money.

um...

Better you than me.

1 Like

Can’t work remote?

I’ve actually managed to turn a childhood hobby (been coding since I was about 9) into a pretty decent living so I’m grateful.

It’s just a tool at the end of the day, and it actually suits the task at hand pretty well. It’s all about the frameworks with web stuff now anyway. Every language has very similar frameworks, just pick your language flavour.

2 Likes

Pretty much the same for me. I got into Linux instead of drugs as a teen in ‘92. But my co-workers at [redacted] fixed that for me and now I’m a coder and herbal enthusiast. :upside_down_face:

2 Likes

Back on topic (sort of) I spent a few weeks during covid-related unemployment in 2020 trying to code a Reason rack extension device.

After years of high-level web languages the C++ scared the crap out of me but I managed to get a simple Euclidean sequencer working. The interface wasn’t pretty but it worked.

If I had more time and/or willpower I’d probably try to write a VST plugin but after 8 hours a day of coding for work for 15 years it’s not my first choice on evenings and weekends.

4 Likes

A self-evident truth!

2 Likes

Indeed, that’s not an easy business to thrive in. I’ve met some Smalltalk consultants and they amaze me. The Smalltalk ecosystem is a fascinating place. Some of those people are, to me, like the people who drove Deloreans as twenty-year-olds in the 1980s. They’ve already lived the future and are now like, “what happened?”

I taught myself Squeak in the late 00’s and it has spoiled me toward any other mode of software development.

1 Like

Have you played around with Erlang or any language on the BEAM VM?

If you like the idea of Message passing, would be worthy to check out.

2 Likes