Remix.run Logo
hn-ifs 6 days ago

I remember looking at red ages ago but never got round to using it. I like to learn odd non-mainstream languages. Currently learning Nushell which is an amazing alternative shell. And I like the look of roc-lang too.

I'm desperate for a truly cross platform programming language with gui abilities on those platforms. I'm slowly learning dart/flutter for this but truly wish for something simpler. I get the reasoning behind flutters declarative style but it's certainly not simple, especially when you get to state management.

0x0203 6 days ago | parent | next [-]

Tcl/tk is still alive and doing well. It's cross platform, very quick to learn, and easily embeddable into other languages/projects.

lproven 5 days ago | parent | next [-]

Version 9 came out last year. I wrote about it.

https://www.theregister.com/2024/10/02/tcltk_version_9/

27 years after v8.0 which may be some kind of record.

hollerith 6 days ago | parent | prev [-]

Can you name an important software written in Tcl or Tk?

Important softwares written in Ruby for example include Rails and Homebrew.

coliveira 6 days ago | parent | next [-]

Tcl is the embedded language of git. Standard git gui is written in Tcl/Tk. Tcl is also the script language for sqlite.

hollerith 6 days ago | parent [-]

.gitconfig is in an INI-like format though, which is not anything like Tcl.

Also, does anyone use the "standard" git GUI?

>Tcl is also the script language for sqlite.

OK, thanks.

aconst 5 days ago | parent | next [-]

I never liked other graphical git clients so I switch between CLI and gitk + git gui according to the task at hand.

srott 6 days ago | parent | prev [-]

Only way I know to remove a file from a commit is by using git commit.

I’m also most comfortable with gitk when reviewing branches

srott 5 days ago | parent [-]

git commit -> git gui

hollerith 5 days ago | parent [-]

Thanks for that correction. I was quite confused.

doublerabbit 6 days ago | parent | prev | next [-]

One of the big investment banks use TCL/TK, for real-time e-trading. Source my last gig.

The "important software" are normally kept behind NDAs, so you never hear about their uses. TCL was also used on the Mars Rover.

Take a look for yourself: https://wiki.tcl-lang.org/page/Who+Uses+Tcl

SomeHacker44 6 days ago | parent | prev | next [-]

The FPGA software from Xilinx and Altera are scripted with Tcl/Tk.

cmrdporcupine 6 days ago | parent | next [-]

This. In fact it seems like plenty of hardware-eng tools use Tcl, and looking at all alternatives it's not a bad choice.

With Tcl you get something like a Lisp with a flexible consistent syntax, but less brainy and more pragmatic, and designed to drive other tools.

justin66 6 days ago | parent [-]

My impression many years ago was that it’s really not that bad. I got up and running writing simple programs immediately, and wouldn’t have tried to go outside its capabilities as a simple scripting language.

hollerith 6 days ago | parent | prev [-]

Thanks for the reply.

nilamo 6 days ago | parent | prev | next [-]

Tk has been embedded in python as the GUI toolkit since at least 2.x days. It's used for IDLE, the IDE shipped with Python, and is also used for the turtle module's graphics.

fuzztester 5 days ago | parent [-]

Tk also works with Ruby.

https://tkdocs.com/

fuzztester 5 days ago | parent | prev | next [-]

I've read many times in the past that a lot of EDA-related software is written in Tcl and Tk.

Electronic Design Automation.

https://en.m.wikipedia.org/wiki/Electronic_design_automation

See:

https://www.tcl-lang.org/about/uses.html

The section about Embedded Development.

CAD is mentioned there too.

https://en.m.wikipedia.org/wiki/Computer-aided_design

fuzztester 5 days ago | parent | next [-]

Pasting that section's content here:

Because Tcl is a very compact language, and is easily integrated with special hardware, it is a popular choice for embedded development. You'll find Tcl hidden away on many devices, including many networking products from Cisco and others, and set-top boxes including Tivo. Embedding Tcl within other software projects is of course also hugely popular, and has become the dominant control language in some industries, such as in electronic design automation (EDA) and computer-aided design (CAD) applications.

fuzztester 5 days ago | parent | prev [-]

More generally:

https://www.tcl-lang.org/about/uses.html

avhon1 6 days ago | parent | prev | next [-]

Not written in, but AutoCAD supports scripting in TCL (and in its own AutoLisp, which is much less popular among users than TCL).

Qem 6 days ago | parent | prev | next [-]

https://en.m.wikipedia.org/wiki/BRL-CAD

progre 6 days ago | parent | prev | next [-]

First version of Redis was written in Tcl.

AdieuToLogic 6 days ago | parent | prev | next [-]

> Can you name an important software written in Tcl or Tk?

MacPorts[0] uses Tcl significantly.

EDIT:

The expect[1] command also uses Tcl and has a variant which uses Tk.

0 - https://github.com/macports/macports-ports

1 - https://man.freebsd.org/cgi/man.cgi?query=expect&apropos=0&s...

dmux 6 days ago | parent | prev [-]

A large part of flightaware.com’s systems were written in TCL.

cmrdporcupine 6 days ago | parent | prev | next [-]

I wish the nu-shell stuff was set up so that its language could be used as a Rust crate independentl of the shell? Like in your own runtime? Because it's not a bad general scripting language and kind of makes sense to me to embed in things like editors etc. Places where people would use Tcl (e.g. hw eng / fpga tools etc) or a Lisp (emacs) or an embedded Python/Lua now.

But when I looked at their crate structure it did not seem like this was possible. I don't love nushell the language but it actually fits a niche that not much else fits.

gcanyon 6 days ago | parent | prev | next [-]

"simple cross-platform GUI+programming language" livecode.com fits that description. It's been my daily driver for years, but full disclosure I'm now looking for something similar to your requirements, but python-based.

RodgerTheGreat 6 days ago | parent | next [-]

Depending on how elaborate your GUI needs are, CardStock might be suitable: https://cardstock.run

gcanyon 2 days ago | parent [-]

Interesting, thanks!

WillAdams 6 days ago | parent | prev [-]

Any progress from the openXtalk people trying to keep the opensource of Livecode (from before the rugpull) going?

I bought a book on using QT6 from Python --- hoping to finish an initial read and then give it a try (unless something better comes along).

gcanyon 2 days ago | parent [-]

None as far as I know, but I haven't been following them.

bobajeff 6 days ago | parent | prev | next [-]

Many people here hate on Electron but cross platform gui app development really sucks without it.

nesarkvechnep 6 days ago | parent | prev | next [-]

How about C?

dlahoda 6 days ago | parent | next [-]

yeah, C is great xplat.

so I wait Zig to target https://github.com/jart/cosmopolitan at some point too

avhon1 6 days ago | parent | prev | next [-]

With what GUI library? The unmaintained GTK1?

codr7 6 days ago | parent | prev [-]

Speaking of non-mainstream languages :)

airstrike 6 days ago | parent | prev [-]

Consider iced, which brings The Elm Architecture to Rust

https://iced.rs