Re: [Vala] Worried about the state of Genie



I see Genie as a great transitional language, allowing programmers to code at a low level for C libraries and 
GObject while still using a friendly syntax like Python. So it helps in the transition for people using 
scripting languages to lower level system programming. I use it and want to carry on using it.

Genie is written in Vala, it's just two files in the Vala source code. So the hard part is people who like 
Genie, also have to then learn Vala to fix things and so just end up coding in Vala! There have been several 
postings to this list from people trying Genie then moving on to Vala. If I ever get time there are a few 
things I would like to patch in Genie and send through. I hope enough people have this intention and so it 
would make it worthwhile to leave Genie active.


A lot of the bugs you have listed appear to be feature requests, such "Add support for Python ternary 
operator" ( https://bugzilla.gnome.org/show_bug.cgi?id=687709 ). Others appear to wish Genie was a compiler 
for Python code, e.g. Genie's "for" statement is very problematic ( 
https://bugzilla.gnome.org/show_bug.cgi?id=688437 ) where you say programmers can be caught out by having to 
check an array is not zero length in order to stop a zero length array causing an iteration of the loop. This 
seems like one of the first lessons I learnt programming, it is the difference between a while loop and a 
repeat until loop. The first can iterate zero times, but the second will always iterate once. I don't see a 
for 0 to 0 loop iterating once as a bug. Two more bugs "print statement with no arguments does not compile" ( 
https://bugzilla.gnome.org/show_bug.cgi?id=688016 ) and "Print statement does not print newline if it has a 
null argument" (
 https://bugzilla.gnome.org/show_bug.cgi?id=690127 ) are trivial bugs and arguably may not even be bugs. The 
expectation of having something to print is a reasonable one and the use case for printing null is pretty 
small in my view, it would only be useful for debugging.

There are certainly significant bugs in Genie. I thing some are listed in Bugzilla for lists and dicts, which 
are one of the great benefits of using Genie and Vala, rather than C. The other bugs I have found are nested 
conditional statements. So good quality bug reporting and prioritising on significant failings would 
certainly help new people learning Genie and keep their momentum up with learning the language.

Personally if I get the time next year my plan with Genie is to try:
1. Allow the init function to have 'return 0', so a command line program can return as false. If no return 
value is specified then 'return 1' is the default to maintain backward compatibility.
2. Indentation auto-detection. So the compiler goes with the first type of indentation it comes across, e.g. 
tab or two spaces, but have this over-ridden by [indent=x] to maintain backwards compatibility. Software like 
lint can then be used to change indentation type as necessary.

I think these two would allow me to get used to the Vala code for Genie, then, all going well I'd have a look 
into more serious stuff I've found such as nested conditional statements.

Genie is for situations where C coding would be good, but has the great benefits of memory management through 
GObject and more sophisticated data structures through, for example, libgee. I don't see it as a compiled 
version of Python.

I hope other people will chip in there support for Genie!

All the best,

Al




________________________________
From: Tal Liron <tal liron gmail com>
To: vala-list gnome org 
Sent: Tuesday, 27 August 2013, 9:51
Subject: [Vala] Worried about the state of Genie


I think Genie is a wonderful idea, and have invested a lot in it: three 
rather large applications, and more coming in the future.

However, I'm very concerned about its future. It has some serious 
linguistic problems and bugs. I've reported many of them on Bugzilla:

https://bugzilla.gnome.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&emailreporter1=1&emailtype1=exact&email1=tal.liron%40gmail.com

These bugs have been languishing for almost a year without them being 
assigned to anyone.

Are there plans to continue supporting Genie? If not, I think it should 
be deprecated and removed from Vala. As it stands, it seems like a made 
a mistake investing in it, and should rewrite everything in Vala. :(

-Tal
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]