[texworks] The future of TeXworks + how you can help

Reinhard Kotucha reinhard.kotucha at web.de
Tue Mar 13 00:38:40 CET 2012


On 2012-03-12 at 18:02:39 -0400, K. Frank wrote:

 > Hello TexWorks and Friends!
 > 
 > On Mon, Mar 12, 2012 at 10:52 AM, Jérome Laurens
 > <jerome.laurens at u-bourgogne.fr> wrote:
 > >
 > > Le 12 mars 2012 à 10:09, Stefan Löffler a écrit :
 > >
 > >> Hi all,
 > >>
 > >> [...]
 > >> Another point that was raised was the low number of (C++) programmers
 > >> currently involved in the project.
 > >> ...
 > >> So if you
 > >> have some knowledge of/experience with C++ and want to get involved...
 > >> ...
 > >> Cheers,
 > >> Stefan
 > >
 > > If you want to attract programmers, you may also want to offer a
 > > more attractive programming language.  C++ is really hard.
 > 
 > I would beg to disagree.
 > 
 > If you do hard things (some programming is inherently hard) with
 > C++, C++ can be hard.  If you're doing easy things, and make a
 > point of not wandering into the more obscure corners of the language
 > (Gee, I think I'll unroll that loop with template meta-programming!
 > Sounds like fun!), C++ really isn't very hard.
 > 
 > For core infrastructure where the design and logic legitimately
 > become complicated, and/or where efficiency matters, C++ offers
 > many benefits.  (Consider trying to rewrite something like Qt in
 > ruby or python.)
 > 
 > > There are ruby/Qt and python/qt interfaces which are really
 > > appealing.
 > 
 > Offering support for a scripting language for relatively simple
 > extensible functionality that naturally fits a scripting
 > programming style is a great idea. However, I've never liked the
 > "dependency bloat" that comes along with using multiple
 > (semi-)general-purpose programming languages to build the core
 > infrastructure.

One very important benefit of scripting languages is that it's not
necessary to compile the program on each system whenever a new feature
is added.

Other benefits of scripting languages are that associative arrays and
regular expressions are supported natively, you don't have to care
about memory management, and so on.  Though you can do everything with
C++ what you can do with scripting languages, I'm convinced most
people prefer scripting languages because of the built-in features
mentioned above.

You said:

 > For core infrastructure where the design and logic legitimately
 > become complicated, and/or where efficiency matters, C++ offers
 > many benefits.  

Yes, time critical things should be written in C/C++ but I regard a
scripting language more or less as a user interface.  Let's take
PostScript as an example.  The PostScript programming language
provides a very convenient way to tell your machine to draw a circle
on a sheet of paper.  It's efficient because the interpreter invokes a
function written in C, which actually does the hard work.  It's much
easier to draw a circle in PostScript rather than writing a C program.

I would never attempt to write a C program in order to draw a circle
whenever I could do the same with a PostScript file consisting of less
then hundred bytes.  You can't deny that scripting languages have a
lot of advantages.

 > (Consider trying to rewrite something like Qt in ruby or python.)

That would certainly be easier, but I agree with you that low-level
time-critical stuff should be written in a low-level (i.e. compiled)
language.

My preference:  A small core written in C/C++ and an interface to a
scripting language.

Regards,
  Reinhard 

-- 
----------------------------------------------------------------------------
Reinhard Kotucha                                      Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                              mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------



More information about the texworks mailing list