Visual Python 0.1 Loosed
realberen writes: "Visual Python 0.1 is released. Quoting the Web site: Visual Python, at its current stage of development, is a set of components aimed at GNOME and KDE application developers to enable them to easily add scripting capabilities to their applications. Ah, how I love Python! :)" Does this neatly counteract the argument that MS Office applications are necessary for complex, scripted integration (via Visual Basic)?
I think, though, that many people give Java a hard time purely because it is cool to do so. I, for one, think Java is the best language available - it is carefully thought out, and with new JIT technologies it is much faster than Python. Its implementation of OO is also much more natural IMHO.
--
Actually, it neatly counteracts the argument that Linux (and other OSS) are immune to the kind of complex bloatware that plagues Windows like an integrated programming language and web browser in the Office suite.
Python and Java are quite similar but for the grand depature in syntax, as you have stated. Java is like C(++), Python is like few else (Makefiles?).
I think Python's syntax is great. If you are like me, and already write code that is visually organized to the point of being painful, then Python is a godsend, because it forces everyone else to be as anal as you. Even Ruby does not enforce this because it has textual block terminators, i.e. "end". I find C(++)/Java code can be downright nasty, though Perl, with it's C-like syntax and natural language paradigm, seems to unashamedly encourage unaesthetic "poetry."
If Python has a weeknesses, they are:
All in all, I would say that Python makes as functional a scripting language as Java, Javascript or VB, i.e. be watchful of bloat and security problems. Overall, however, Python is superior because it has syntax so clean that it's damn near pseudo-code. I'd like to think I'm not a zealot on the the syntax bit, but objectively, I am.
*** Proven iconoclast, aspiring epicurean ***
Wisdom:
How much space is in a tab?
Commentary:
Any C style guide that describes tab stops will fail. Why then build it into the language syntax?
And when did we all stop believing in real garbage collectors?
Guess this means i have to go write "Visual Rep" now
You might be saddened to hear that that project will be windows only... ie: use MS's common language runtime.
pythonware has had a "visual" python builder for many months. as a plus, they use tcl/tk + their advanced python imaging library for gui, so their solution is truly multi-platform. it's not free or open, but it is available now (their web site FAQ says they will make an evalution version available july 20th.)
http://www.pythonware.com/products/works/faq.htm
jim
I suppose you could do application development using the Visual Python environment, however, if I may quote an answer to the question "What's the relationship between Visual Python and PyQt/PyKDE?" from the Visual Python FAQ: They are intended to serve different purposes. PyQt/PyKDE (and I guess the same applies to GNOME-Python) are intended to be used by developers to create full-blown applications in Python rather than C++. Developing the GUI is an important part of this development. Visual Python is intended to be used by end-users who just want to get a job done quickly and the last thing they want is to spend lots of time having to write GUI code.
Speaking of Python, does anyone know what's up with Python 1.6^H^H2.0? A while back, python.org had said that version 1.6 would be out on June 1. Then there was an announcement, mid-June that it would be delayed. Then at the end of June, this link was placed on python.org, and it was stated that the Python interpreter, version 1.6, was renamed to 2.0, and the first beta would be available on July 1. Now, on July 17, that link has been removed from python.org (although the webpage still exists), and the release schedule is gone!
./configure
make comment
make post
I don't think it's vaporware, because you can download it off their website. Also, it being a library, it would be hard to get a screenshot of it ;-)
./configure
make comment
make post
Probably not. Announcing a name isn't sufficient. YOu actually have to use it in commerce to get the trademark.
-russ
Don't piss off The Angry Economist
what measures are beeing taken to ensure that VP does not expose *nix to some of the same problems that plauge Windows.
If I'm not mistaken, the real problem(s) with VBScript don't lie within the language, but within the security 'sandbox'. If, for instance, Outlook had a properly set up security sandbox, melissa, and IloveYou would never have happened. We can't blame a LANGUAGE for this.
We don't blame perl if the admin are stupid enough to set perl suid root. We blame the admin.
Also, as you mentioned, no, users don't get root. So, a user takes a big risk any time (s)he runs untrusted code, but at least it's impossible for this code to screw over other users.
Interesting that you think Python's OO features are added on and inspired by C or C++. Classes have been in Python since at least Python 0.9, which was released internally at CWI in 1991.
I don't want to speak for Guido, but I believe Modula-3 was much more of an inspiration than C++. What features do you think of as inspired by C++?
Or, more verbosely:
Readability which leads to easier maintenance which leads to quicker bugfixing, fewer accidentally introduced bugs (are there any other kind) and far more solid robust code.
If I come across while(fgets(fp,...)){} in someone elses code, I have to work out what each function return is, how it applies to the next method, and effectively separate out the line of code in my head. To be honest, when working on someone elses code, I almost always refactor such lines of code and rewrite them in a readable manner.
The other advantage of course, is if that line of code bugs, if it is 7 lines of code not 1 then you know which of the 7 the bug occurs on.
I hate programmers that can't type. I am a lazy programmer - but I'm also not stupid; I recognise that typing a little extra now saves me a whole ton of work later. Keep me away from people in their first year or two of large-scale coding until they work out what coding standards are for.
~Cederic
ps: sorry, seem to be ranting
As for the "Sun-control-freak-mentality", I don't see how Sun's control over Java is any different from the control Guido exercises over Python.
Python is a nice scripting language and a passable extension language. Java is a nice applications programming language and a lousy extension language. Neither is a replacement for the other, and both have their limitations and problems.
From the FAQ:
Why bother to provide a common interface to GNOME and KDE?
In the real world people pick applications that solve problems for them. It is likely that these will be a mixture of GNOME and KDE programs.
So, does Visual Python offers something like the integration of Guile into parts of GNOME, or is it a language binding that happens to integrate with both GNOME and KDE? If so, can anyone tell me what it offers beyond the regular bindings already available (for GNOME at least)?
Chris
oh thank god, sot hing else to compete with the evil that is VB, Its time that making guis in open source was this easy. Lets not make it as stupid VB though
If there's one thing that Python truly excels at, it's providing scripting extensions for other programs. Apart from all of the other reasons I like it, the fact is that in many large projects scripting is a definite plus feature, either for users (things like rule engines and the like) or for developers (for easy bespoke development).
At the last place I worked we had a large client/server MIS system using CORBA for communications. All of the CORBA objects were written in C++ and then wrapped using the Python extension libraries and given a Python script frontend - to the end-user they simply appeared as straight Python objects with all of the flexibility that entailed.
The clients then had the Python engine embedded into them and could load and run scripts, which then used the CORBA wrappers to interface with the servers, allowing you to set up entire sequences of events in a simple script. And because this functionality is part of Python the amount of work is fairly minimal.
Apart from that Python's excellent object orientation makes it ideal for GUI libraries - see wxPython for a good example. All that'll be required for developers to use this is to embed an interpreter within their program - not that difficult at all - and then wrap enough of the program objects to provide the desired functionality. The wrapping is fairly straightfoward - we had a script that converted CORBA .IDLs to the C++ wrapping code - and shouldn't take long at all.
All in all, this is a great idea for anyone who wants to add scripting to an application, but didn't want to spend ages coding it.
---
Jon E. Erikson
Jon Erikson, IT guru
Why aren't there any screen shots?
--
Is this gonna hurt my Karma?
As many here probably know, I've been quick to rise to the occasion of defending VB. It's what I do for a living, day in day out (although I'm actually taking a new web development position, still be doing some VB COM objects). Anyway, I took a look at Python recently and liked what I saw. Has some needed OO features TODAY -- no wating for VS7. Plus, with the Win32 COM extensions, you can hook into Windows COM objects (note: this is all of the Windows side -- I haven't looked at the Linux part of it).
Anyway, I was pretty impressed. What it is lacking is a good front-end builder (MFC? Bleah...). the author of the Win32 extensions (can't recall the name, sorry.) says he uses VB to throw together a front end and puts all the business logic in Python objects. I could see that. It sounds like this visual toolkit could eventually become a cross-platform GUI builder, rather than building with different things (vb on Winx, whatever on Linux).
Anyway, I think these guys are right on track for a VB-type language in Linux. Plus, it's multi-platform (lots of platforms). I could see it as a great way to do cross-platform work...
---
DO NOT DISTURB THE SE
Does this neatly counteract the argument that MS Office applications are necessary for complex, scripted integration (via Visual Basic)?
Uhm... where'd you get that argument? The only reason MS Office applications would be used for 'complex, scripted integration' is if one of their document types was needed. Maybe you should rephrase that to say, 'Does this neatly counteract the argument that the Visual Basic Runtime and Microsoft Transaction Server are necessary for complex, scripted integration (via Visual Basic)?'
--- Where's my X.400 protocol decoder?
Um, I've never used Python (I have issues with the block syntax), but I think most users of it would seriously protest against your classification of Python as a "web scripting language". In fact, by reading the What is Python? page over at www.python.org, I get the impression that Python is "an interpreted, interactive, object-oriented programming language". See? Nothing about it being specifically for the web there...
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
I see that it appears to be unrelated to the other VisualPython under development by Activestate. Looks like the lawyers will have fun on this one.
> Um, I've never used Python (I have issues with the block syntax)
Well, you cannot have issues with something you have never tried. Write a couple Python scripts and *then* if you have "issues", you have a right to complain, and only then if you have a reason other than "I have issues with foo".
The only reason I say this is because I too used to "have issues" with the whitespace meaningful block syntax. Then I got over my prejudices and actually started learning and using the Python. I have to say now, if your only reason for not learning a language is because you have a preconception about syntax, then you are missing out.
> See? Nothing about it being specifically for the web there...
Yeah, the same can be said for Perl. But I think everybody knows that Perl owes its popularity and widespread use greatly to its use as a "web scripting language", whatever that is anyway.
Nothing can possiblai go wrong. Er...possibly go wrong.
Strange, that's the first thing that's ever gone wrong.
Tyler's words coming out of my mouth.
I dunno; scripting certainly opens a can of worms, but I think that it isn't necessarily a security nightmare.
It depends on the application, doesn't it? The Melissa type trojan depends on the insecurity of outlook and MS office, not VB per se. It's outlook/office's fault for launching scripts in a hostile environment with no attempt to verify that the script should be trusted.
Lotus Notes provides an almost identical scripting language called Lotuscript, but the application requires that scripts be cryptographically signed by a trusted party.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
One thing which many folks don't seem to realize is that in many ways Python has a number of the desireable features which Java has --- it has a portable bytecode which can be moved across different platforms, and you can even make a security sandbox for Python. And of course, it has the advantage that it doesn't suffer from the Sun-control-freak-mentality problem which Java has.
Python is actually a very flexible language. It's a pity most people don't see past the admittedly very strange whitespace-is-significant part of Python (which I'm not a fan of myself, but whatever). Maybe this announcement help encourage more people to take a look at the language.
Does this neatly counteract the argument that MS Office applications are necessary for complex, scripted integration (via Visual Basic)?
/. editor's course? I'm sure you're a swell coder/hardware geek/washroom attendant/whatever at BSI, dude, but the stories you post.. and the comments you make.. Heavens. ;]
Say what? That's quite a leap in logic. No, MS Office applications are still necessary for scripted integration compatbile with MS Office, though. Python's a nonstarter here. Corel WP Office now uses a language with VBA syntax (but not its object model) as its scripting language. StarOffice also has a VBA-clone language with its own object model, as well as the options to script in Javascript and from Java. Lotus and Vistasource/Applix each have their own scripting languages.
This means Corel and StarOffice users can leverage skills honed on MS Office without being able to reuse any macros directly.. and Lotus users can leverage Notes skills. What advantages Applix offers to people who have used office software for eludes me.
So no, you never needed MS Office to script and integrate office suites. You just need it to script and integrate with MS Office.
Will someone please enroll Tim in a remedial
If it were available on Win32 and MacOS (Not to mention BeOS). The world would be a lot safer for operating system diversity if there were a VB like rapid application development platform that could target multiple back ends.
It'd also make it very desirable to put your eggs in this particular open source basket. My company made a commitment to PowerBuilder so we could build cross platform Windows/Mac apps and promptly got screwed by Sybase, who didn't think cross platform was an important enough issue to bother supporting MacOS.
I like Linux a lot, but it is years from any kind of desktop dominance. The pieces I think in gaining corporate IT support for non-Windows OSs are:
Cross platform office suite.
Cross platform file sharing and authentication.
Cross platform RAD platform.
The RAD is the only thing that is missing. Of course there is tremendous inertia behind MS office and VB; however until all the pieces are in place, you can't replace Windows on the corporate desktop unless you are willing to live with a bingo card kind of situation as to which things you can do on any particular machine.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I've been looking into the Python/Zope as a "real world" development platform and so far I have not seen any inprovement over doing the stuff the hard way (not using any include CGI crud) and the results so far....
Its no better than giving a coder VB and saying "develop this...". In the end I've got nothing that can be maintained (assuming the coder leaves) and the load on the machine is about 100 times what my stuff (no include, pure perl or C or whatever-- no external modules) would do. The new system has 4 times more time involved reaching where we were and there is still 0 maintainability.
I'm FSCKing sick of the holy grail solution. Write the damn code the hard way and get over it!
One of the best things, however, is the JPython interactive shell. It is a fantastic way to prototype and play with Java; interactive access to Java classes! woo hoo!
JPython is way cool.
Burris
Python has some features that Visual Basic does not have.
- Sam
The secret to enjoying Slashdot is to realize that it should not be taken too seriously.
Heh. This is probably as silly as it gets, answering old posts that noone will ever read, ever. ;^) Anyway, I think I'm entitled to have issues with something from just reading or hearing about it, i.e., without actually trying it. Of course you may disagree; that's just the way I am. Also, I thought I was defending Python here, not doing some kind of attack against its choice of block syntax. I'm sorry for trying.
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
I'll take perl's $%@{[()]} soup over python's forced indentation any day. No language I'll ever write in starts by assuming I can't write good code.
I've finally had it: until slashdot gets article moderation, I am not coming back.
Most VB-based viruses don't take advantage of any of the "Visual" features of the language. Most VB apps I've seen don't include the ability to execute external scripts as a feature. So, why should a Visual Python app be inherently insecure?
Any Linux app could include unsafe virus-executing functionality be exploiting scripting languages that already exist, like Python or Perl, with little regard to security. The reason we don't have this problem now is that there are no major networked Linux apps that take advantage of automatic scripting like MS Office does.
This is just a RAD tool, not the beginning of the end of Linux security. All the problems with VB as a virus don't come from the language itself, but with the applications that make use of it. (Of course, an exception to this is the 2 lines of code at the beginning of a Word macro virus I once caught in action that turned off user-notification and then virus-checking. WTF? They let scripts do that?)
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
theKompany, which are the guys behind Visual Python, also supports the development of KDE Studio which is a C++ IDE that in many respects are more advanced than KDevelop. Have a look at some nifty screenshots here.
They also finance two developers working on KWord for two years. Great initiative.
--
"Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
I couldn't find the license agreement on the web site. I downloaded the VisualPython-0.1
The addtional paragraph stating that, except as provided, "the name of the copyright holder shall not be used in advertising" is interesting. The purpose of this paragraph appears to be to address, or at least attempt to address, the same trademark concerns the Abisource people have regarding trademarks..
Only Women Bleed (Sex, Sharia remix)
If Visual Python is addressing interlopibility (sic?) and a so called "scriptability issue" with X apps, what measures are beeing taken to ensure that VP does not expose *nix to some of the same problems that plauge Windows.
Of course, I understand that users "dont get root" but their home directories can be messed with, and if apps can be scripted then viri can be propergated.
Thad
Thad
is this incorporated with Glade. While one of the strengths of Linux, and open source in general, is the diversity of solutions available, I think it's important that there's a movement towards a well integreted set of tools.
Gingko
i don't do sigs. oops.
I just hope that this project includes some security considerations. Otherwise it's just all about writing a fabulous tool for virus-writing. Imagine a nice attachment in your fancy integrated mail-reader with scripting enabled that says ``Run me!'' and then proceeds to trash your home directory. Tres uncool.
Remember that all of this will (unfortunately) propagate to some idiot-user's desktop sooner or later. And that user's files will get trashed---at which point everyone will start screaming that Linux/*BSD/whatever is insecure, has virus issues, was overhyped as being immune, etc.
I am not saying that there is no place for scripting-enabled applications. But a casual perusal of the project's web page did not reveal any information about what the authors are doing to build security into their app. Not good.
It just makes me wonder, how many outstanding bugs are on file for StarOffice for failing to properly execute viruses? :)
.]
When I worked at olivetti, they would have been slavishly duplicated [Yep, "It doesnt' crash when I XXX" was a valic bug if XXX would cause a PC to crash . .
They will probably have to change their product's name.