I would like to find a truly event-centric language where the main polling loop and callbacks etc are handled in the language itself and the GUI logic can be programmed in a more natural way through some kind of coroutines or lightweight threads instead of being chopped up into callbacks.
A well-integrated stable such language with good debugging/tracing support combined with a GUI builder would be excellent I think.
XDC2012: Programming languages for X application development
Posted Oct 7, 2012 17:57 UTC (Sun) by cmccabe (guest, #60281)
[Link]
> I would like to find a truly event-centric language
> where the main polling loop and callbacks etc are
> handled in the language itself and the GUI logic
> can be programmed in a more natural way through
> some kind of coroutines or lightweight threads
> instead of being chopped up into callbacks.
Go programs tend to feel a lot faster than Javascript, Python, or Perl programs. I hate the sloppy feeling of GUIs in scripting languages, where you press a button and wait for something to happen.
Also, Go is stable-- it's made it to 1.0 now.
There are gtk and fltk bindings, so you could use the GUI builders that have been developed for those.
XDC2012: Programming languages for X application development
Posted Oct 8, 2012 5:46 UTC (Mon) by magnus (subscriber, #34778)
[Link]
The problem with most of these language bindings for GTK etc is that they are "shallow", just hooks allowing you to call into the C library. That's not adequate.
For example GTK/Glib has it's own object hierarchy, main loop, linked list handling, thread handling, reference counting and so on. All this should blend into the binded language so you shouldn't have to cast/convert things between your application code and the library, it should just work as if it was native. I don't know how many languages support that kind of deep library embedding.
For the GUI builder problem, say for example say you want to write a custom widget in Go (or whatever language you've chosen) and use that in the GUI builder. Can you do that? What happens when you need to debug the program, will you be able to do that cleanly in the high-level language or will you need to single-step through autogenerated junk? And so on...
XDC2012: Programming languages for X application development
Posted Oct 8, 2012 8:38 UTC (Mon) by ortalo (subscriber, #4654)
[Link]
I have the feeling too, like you, that such bindings are not convenient enough.
But then, maybe it implies that the toolkit library itself should be written in a different language (hence pushing the language/{C,C++} frontier inside the toolkit and under the responsability of the {Gnome,Qt} project). Application developpers would lose some choice (but that's the objective after all).
However, in this case, the choice of the implementation language is critical and, given the number of available alternatives and the current domination of {C,C++}, it is pretty easy to predict an enormous resistance to change.
I wonder if someone will be able to challenge the situation someday. IMHO, Amulet (CMU) was the last attempt in the research domain.
Maybe Vala is another one that has its chance (in the Gnome realm)?
QML is interesting too (in Qt realm) but it seems to be more of an evolutionary approch than something disruptive (maybe that's more reasonable btw).
XDC2012: Programming languages for X application development
Posted Oct 11, 2012 19:48 UTC (Thu) by HelloWorld (guest, #56129)
[Link]
A language with a type system that doesn't support some form of templates or generics? Thanks, but no thanks. And yes, I'm aware that they said they probably want to add generics at some point, but that attitude is misguided. The type system is the fundament of a programming language, and things like parametric polymorphism need to be integrated from the start, and not bolted on as an afterthought.
XDC2012: Programming languages for X application development
Posted Oct 12, 2012 15:23 UTC (Fri) by nix (subscriber, #2304)
[Link]
The way they were bolted on to C++ as an afterthought, you mean? (Bjarne knew he wanted something like templates in C++ when he started work on it, but for some time thought it could be implemented via macros with no changes to the type system necessary. This turned out not to be true.)
It seemed to work quite well there -- though it is true that I can't think of another language where they were bolted on remotely as well.
XDC2012: Programming languages for X application development
Posted Oct 8, 2012 11:05 UTC (Mon) by renox (subscriber, #23785)
[Link]
I don't think that this kind of design would use efficiently multiple CPUs..