Visual Python 0.1 Loosed 92
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)?
Re:Python as a Java replacement (Score:2)
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.
--
Visual Bloatware (Score:4)
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.
Trying python, but I like it less and less... (Score:1)
I really dislike the lack of in-line evaluation, so you can't do things like while(fgets(fp,...)){}. What could be the motivation for such brain-damage?
Re:Staroffice compatibility (Score:1)
Re:no vb no no vb (Score:1)
2) it sort of hides everything from you. you're never quite sure what is being done in the background until you install your app in another machine, and what a nightmare of fiddling that is. i found much easier to recompile gcc than to understand the rules of dependency. and pleeeaaaase dont tell me it is easy when you read about it because this procedure just dont make any sense. i'm not talking about having a super duper gui to make this for me, i'm talking about having all of it revised so it makes sense to normal human beings.
3) going back to 1), because of the bad use of some oop ideas you get "objects" but you cant hack them to increase functionality - unless you want to use a client supplier relationship and write 10x more than you would with inheritance. also, most of them are bloated to start of with; modularity when each module is a meg, well thats as bad as no modularity...
i understand people want rad, but rad != bad code. but then again, the problem is not with vb. have you haver hacked the windows api in c? makes gtk look like the monalisa...
__soup_dragon__
"Ostinato rigore."
Leonardo Da Vinci
Re:Okay, then what is visual about Visual Python? (Score:1)
make comment
make post
Python and Java are indeed alike, in functionality (Score:2)
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 ***
Re:security (Score:1)
Yeah, this is true, but I could write a script in perl that makes perpetual requests to a mailserver, and distribute it to users on my linux network with the same results. It's easy to exploit user privileges. Users are stupid.
(Score:2)
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?
Re:no vb no no vb (Score:1)
make comment
make post
An interesting challenge! (Score:2)
Re:no vb no no vb (Score:1)
The "13 ways" list is quite interesting, and some may be valid, but it mostly seems to be personal "peeves." For instance, I think "Dim" is a bit intuitive, as in "Dimension." Also, I don't see why similarity in syntax for referring to arrays and functions is a reason for loathing. Mild annoyance if you are very attached to another language's way of doing things, maybe. The fact that Integers are 16-bit is the way VB is. Use another type if you need more. An If missing an End If is an error.
Many of these arguments seem that they could be boiled down to "It doesn't work exactly like [insert language of choice, eg C++, C, Perl, Pascal...]!" No, it doesn't. It's not [language of choice]. It's VB.
So I can understand how one can dislike (or hate, if you're feeling extreme) VB if one has a great deal of experience with other languages, like Delphi in your case. But for myself, who learned to program in QBasic, it's fine.
Oh, and the author of the list does get bonus points for the bit about annoying dialog boxes. It has only gotten worse with each verison.
-J
Re:Trying python, but I like it less and less... (Score:1)
for line in File("afile.txt"): print line
Of course, if you actually prefer to type all that extra punctuation... :-)
In my experience, if you're using in-line evaluation for its most common tasks, something you've done hundreds of times before, there's already a Python idiom that will do the same thing with comparable simplicity. If you're using in-line evaluation to do something rare and different, something you've almost never done before, you're asking for trouble. But if you're determined to be a masochist in Python, there's always the "eval" function.
Re:security (Score:1)
It should be trivial for the developer to create a restrictued environment (or multiple environments with varying degress of flexibility), then allow an end user to decide which one the scripts run in.
(defaulting to most secure, i'd hope!)
Re:Trademark dispute ahead (Score:2)
Already out there... (Score:2)
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
Re:no vb no no vb (Score:2)
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 [thekompany.com]: 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 [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 [pythonlabs.com] 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
Re:screenshot? (Score:2)
make comment
make post
Re:Hmm... (Score:2)
-russ
Re:security (Score:4)
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.
OT: Re:no vb no no vb (Score:1)
make comment
make post
Viruses like on the Windows? (Score:1)
another open source visual python project (Score:1)
i said it wasn't free or open. no arguement here :> (BUT, check out boa, potentially a better open source alternative, because it is also cross platform. http://boa-constructor.sourceforge.net/ )
>>2) > as a plus, they use tcl/tk How is the use >>of TCL in a supposed Python tool a plus?
multiplatform, baby! they also have an abstract layer, so they can support other widget toolkits in the future. just say no to platform lock!
jim
Re:Python as a Java replacement (Score:2)
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++?
Re:Visual Bloatware (Score:2)
Oh, I get it now! You must be talking about Emacs [fsf.org], right?
Re:no vb no no vb (Score:1)
I have the displeasure of working with VB and VC++, after coming from a Delphi shop. The more I work with these tools, the more I think, "You've got to be kidding."
Check out 13 ways to loathe VB [exe.co.uk] to satisfy your curiosity, or pick up a copy of VB and hack away!
Yes, but this solution is ugly... (Score:1)
This sort of solution is something I'd expect of BASIC. It's just not pretty.
Re:no vb no no vb (Score:1)
Closer to the truth:
VB is a vapid application development tool, with strengths in developer assimilation.
I hate MS "Visual" BASIC. The win API was rapid enough.
Re:no vb no no vb (Score:1)
check the downloads page of www.python.org
or checkout the pythonlabs at www.beopen.com
where most of the core python developers opened shop
"Visual" they ain't (Score:1)
Don
Re:Trying python, but I like it less and less... (Score:2)
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
Re:Trying python, but I like it less and less... (Score:1)
Is something like this what you're trying to do?
testfile = open("c:\\winzip.log", "r")
for line in testfile.readlines(): print line
Python has pretty solid iteration capabilities.
Re:Isn't this a bit useless? (Score:1)
flames from hades (Score:1)
I'm just starting out on zope, so i don't have too much to say. But there are a few things that should preclude you from using zope:
1) If you don't understand OO architectures. Zope is OO from the ground up, and because documentation is sparse, you will need to "get" OO in order to use it, specifically, Digital Creations use of OO.
2) If you have no web experience. Don't start with Zope. Zope leverages an internal DOM, a scripting language (DTML), user defined objects (Zclasses), a built in OO database, and python methods to get the job done. Clearly not for beginners.
3) Static sites. Zope is highly dynamic and would probably be overkill.
4) High volume combined with intensive server side processing without a distributed architecture. Zope is built with Python. Python is interpreted byte code. If you have intensive processing going on and you want the benefits of a highly dynamic environment, you will pay for it in CPU and Memory use.
Why you might use Zope: 1) You are an OO developer. Zope supports containers and user objects. In Zope, everything is an object with properties. Zope supports inheritence through its folder containers, thus allowing child folders to benefit from parent properties. If used in this regard you can build some very easy to maintain sites. Zope has built in persistence and indexing available via inheritence. Even the concept of users and groups are built in, and attachable to any object in the system.
2) You need a mid size, highly dynamic website with an emphasis on content management. this is where Zope excels IMHO.
3) You need to build server side web applications that will run on NT or Linux or BSD ...
4) You need an excuse to learn Python ;>
Cheers,
Jim
Re:Not without strong typing! (Score:1)
Re:Isn't this a bit useless? - AREXX? (Score:1)
Re:Python as a Java replacement (Score:2)
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.
Re:no vb no no vb (Score:1)
The reason one doesn't want to refer to functions the same as arrays is that if you are maintaining a large code base that someone else wrote, why do extra cross referencing to determine if that thing's a variable or a function? The concepts are not vaguely related, so why the same syntax?
An #1 deserves to be there:
Result = Funcname(parm1,parm2) 'passes parameters by value
Funcname(parm1,parm2) 'passes parameters by reference
Call Funcname(parm1,parm2) 'passes parameters by value!
And I think you misunderstood the author's complaint about the missing End If. The problem is that the compiler was unable to catch this error.
If these issues don't mean much to you, this the very reason why developers hate VB so much. It tries to hide details about programming, so you end up with an army of programmers who are ignorant about these important details.
As for me, I have language preferences, but for work I have used as many as 5 languages in 1 day. My experience starts with MSDOS Basic on a TRS-80, then Pascal and assembly on an Apple ][. From there I have done large projects with C, C++, Java, Motorola Assembly, PIC Basic, PIC Assembly, Delphi, and Lisp. I think that amount of experience allows me to have some objectivity regarding a language's shortcomings. When someone says they like [language of choice] and not VB, realize that the reason VB is not the language of choice is not always someone parrotting what they heard on /.
MotoMannequin
"With all appliances and means to boot." - William Shakespeare
Re:Who said that? (Score:1)
Hey, the guy never said it was a GOOD argument! :>)
Actually, this same basic point was made by a writer at Dr. Dobbs who said in his article Python, C++, and Other Religions [ercb.com]:
If you want to use all the programming tools that come with a full Linux installation these days, or use a metatool l ike autoconf, you have to master Perl, Python, Tcl, Emacs Lisp, two major flavors of shell, and several slightly different flavors of regular expressions. That is simply too high a price for someone who is already running as fast as she can to stay on th e leading edge of fluid mechanics research. Advocating it is about as sensible as suggesting that online help should be written in whatever mix of English, Esperanto, and Klingon appeals to individual developers, and betrays a self-centeredness that may g o a long way toward explaining why so much of today's software is so hard to use.
So Python it is. If you haven't looked at the language already, it is to Perl or Visual Basic what Java is to C++ (but without any marketing hype).
Curi ous George
Ah ... a refreshingly honest attitude (Score:2)
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
Re:Isn't this a bit useless? (Score:1)
Whatever next indeed; they'll be developing GUIs for other scripting languages like Tk soon!
Isn't this a bit useless? (Score:1)
no vb no no vb (Score:2)
Now this is a great idea (Score:4)
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
If it's Visual Python (Score:3)
--
Is this gonna hurt my Karma?
I like Python too. (Score:2)
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...
---
Who said that? (Score:2)
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)?'
Re:Isn't this a bit useless? (Score:3)
Trademark dispute ahead (Score:4)
Re:Isn't this a bit useless? (Score:2)
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.
Re:security (Score:4)
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.
Re:I like Python too. (Score:2)
Re:Trying python, but I like it less and less... (Score:1)
Python as a Java replacement (Score:4)
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.
Uh... (Score:3)
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
Is this such a good idea? (Score:1)
This could be a key piece in Linux TWD (Score:2)
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.
I don't object to the idea (Score:1)
Ok so flame me... (Score:3)
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!
Not without strong typing! (Score:1)
While it may be possible to write complex programs much faster in Python than Java -- and I believe that it is -- making _reliable_ code in Python, or any other very-weakly-typed language is difficult. I can't count the number of bugs that would have been compile-time in another language that end up being found at runtime in my Python scripts.
However, a strongly typed Python (or even an option similar to Perl's "use strict") isn't likely, from what little I know of Python's internal politics and whatnot.
A pity, that.
Re:Uh... (Score:2)
The advantage of having a VB[A] translator is that further development work of that VB program/script can be done in a native OSS language. A VB[A] interpreter/compiler is also useful as an interim measure, but given that it'll be much more likely that people will spend a lot of time focusing their efforts on optimizing interpreters, compilers, JIT's, etc. for mainline OSS languages, such as Perl, Python, PHP, guile/Scheme, etc., having a translator also will mean in the long run that we'll be able to make those VB[A] scripts run faster.... of course, they won't be written in VB[A] any more.
Python and Java are *complementary* (Score:2)
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
Re:Trying python, but I like it less and less... (Score:1)
Ok, that's great. Now what if the file has 1 million or so lines? The readlines() method reads everything in at once, so I am told.
I guess I am too used to being able to do something like
if(!(fp = fopen("afile.txt","r"))) exit(1);
So call me a small-time coder. At least I'm honest. I like inline evaluations. I miss them.while(fgets(s, sizeof(s), fp)) printf("%s\n", s);
fclose(fp);
Re:security (Score:2)
Python has some features [python.org] that Visual Basic does not have.
- Sam
Re:Knowing python, and I love it more and more... (Score:1)
Well then, you do this:
fp = open("afile.txt", "r")
line = fp.readline()
while line:
print line
line = fp.readline()
Note that this is "readline" (single) as opposed to "readlines" (plural). One gives you a line at a time, the other gulps them all in a single shot. This will work fine, no matter *how* many lines you have. In fact, this is pretty common usage - if you say you don't like Python and you haven't gotten *this* far, it doesn't sound like you've given Python enough of a chance yet.
Re:I like Python too. (Score:1)
---
Re:Isn't this a bit useless? (Score:2)
Re:I like Python too. (I mucked up) (Score:1)
one word: indent (Score:2)
Re:Yes, but this solution is ugly... (Score:1)
What you wrote was much uglier (and arguably less useful) that what he did, and what he wrote took me half the time to understand, despite the fact that I've been coding in C on UNIX for over 2 years, while I only coded Python for 2 weeks over 3 months ago.
No, why should it? (Score:2)
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?)
great kompany :) (Score:3)
They also finance two developers working on KWord for two years. Great initiative.
--
License (Score:2)
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. [abisource.com].
This can become another great tool (Score:1)
Re:Is this such a good idea? (Score:1)
And you'll actually be able to quickly and visually program any functionality into the damn thing. This can arguably be one of Windows' key route to success, since everyone and their grandmother could program very simple visual programs in Visual Basic.
Can't people stop whining about this? I mean, it's not like anyone in the right frame of mind runs any X-application as root, anyway? (okay, I'm being sarcastic)
Python has a sandbox feature (cryptically called rexec) that can restrict execution of running scripts.
The 'easier scripting leads to more hackers and viruses' argument is just as lame as the 'open source leads to decreased security' one.
Can we move on to more advanced arguments, such as 'why is this Gnome and KDE only? Why not aim it at Wine too?'
security (Score:3)
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
Re:no vb no no vb (Score:1)
I dunno. Take a look at the Everything2 node [everything2.com] and see if Rob or Kurt make any legitimate arguments against it.
As a contribution to your argument, I would like to say that Delphi, though quite similar to VB, is neither M$ nor BASIC. Notice the Everything2 writeup [everything2.com] for Delphi. Not a bad thing is said about it! Hmmm...
What I would like to see... (Score:2)
Gingko
Re:Uh... (Score:2)
Indeed, if what you want is to lure people away from MS Office, what is needed is a language translator which can adapt VB to some other language. I've been told by some well informed-sources that when MS was first looking at how to deal with Java, their Java team came up with an impressive set of tools, including ones which could translate VB into Java, and gave seamless integration between VB and Java. When it came time for Project Review, Gates was in the room, and midway through the review, he interrupted the meeting with the interjection "And this is the 'Screw Microsoft' strategy?!?" The Java team was told to go off and start from scratch again, this time taking MS's business needs into consideration.
Whether or not this story is true (it's from a friend of a friend who works at Microsoft and was in the room; so I know the provenance in terms of who told it to whom, and trust all of the links in the chain :-), it does bring up a very interesting point. One of the big wins of VB is the huge base of deployed code out there that uses. (Like it or not, it's true....) So if it were possible to give these people a way of transitioning away from VBA into a more open language, it could deal Microsoft a huge blow.
A useful way of doing this would be to write a front-end translator which can convert VBA into some other language. Say, as part of Guile, or as a front-end pre-processor to Perl or Python. Combine this with hooks so that you can call commercial VB components that come in .DLL (they are written in C, but designed to be called by VB programs as components) using Wine, and it might be possible to help free a large base of VB users from Microsoft's tyranny. :-)
Cloning Microsoft features (Score:2)
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.
Re:security (Score:2)
The simplest security measure is to not run untrusted code. The next level is to have an isolated environment in which the code can run ( a la protected login accounts in UNIX, and to a tiny degree; in NT ). The next level would be to limit the resources that trusted code can access ( e.g. Java security box, or tainted mode in perl, etc, but more directly, preventing access to OE material ).
The fact that VB or VP are scripting languages is really irrelevant. The only time that it is a serious issue is when you can pass code as a parameter; unchecked parameters can break out as new compiled code and do virtually anything that the interpreter will let them ( which typically includes access to files and the internet ). But a good programmer runs tainted mode, etc. Thus, scripting languages are merely more suseptible to bad programming. A common error would be inserting data into a database through a web form. I could close off the SQL statement, put a semi-colon, then begin a new SQL query which could create a new account ( assuming I knew enough about the target database ).. So on and so forth.
I agree that the addition of too many powerful widget APIs opens up a user for security risks. But so long as we don't give important access to users, we should be fine at level 2. In fact, if you were really paranoid about such things, you could create an account for all your important activities. Your development could be done as a seperate user, your financial data would definately run as a seperate user, your browser would probably be it's own user ( since it's the most suseptible to attacks ), etc. This of course, assumes that you have a box at home where you can create an unlimited number of accounts. Course, most of us are too lazy; We'd probably set up
Essentially, a good security model would have a permission tree. User can login. Login users can start X. X-users can spawn netscape. Netscape users can run a limited set of programs ( such as Java ). Course, you'd have to make heavy use of group execute permissiosn, and major apps, like netscape java, etc could not be world executable. Therefore, I believe it's definately possible to secure Linux against API attacks, but it's definately not convenient.
All of this security would be necessary if the API is to be opened up so widely. But, I am much more afraid of another daunting issue; That of stability. Windows is unstable, in part, because there are so many interfaces that there are too many resource dependancies. A component can open up a resource channel, then fail.. The the resource could block indefinately, thereby tying up other components. I believe that UNIX does a good job of releasing a resource when a process fails; the idea that a process should be completely killable. However, with a GUI, it's entirely possible that a connection is so complex that programmers will get lazy and not take care of failed connections at random points.
The only solution to this latter matter is one of foundation building. Meaning, always building application components on top of concrete models that take care of all conditions. This has both the advantages of preventing the developer from making stupid mistakes, and the reduction in code for each component.
-Michael
Re:no vb no no vb (Score:1)
It promotes sloppy code and completely lacks elegance
Er. That's a statement, not argument. I don't see how, and I think elegance is amtter of perspective.
Mind you this requires something like 28 megs of DLLs for the runtime, and 16 megs of RAM just to launch a Hello World program.
Not with my VB3 for win3.1, I know that. Hmmm.
I still don't see any legit reasoning behind VB being as evil as people seem to claim.
Interesting, though, that the Delphi node includes the following quote:
[Delphi] is powerful, easy to use, and fast.
Now I'm even more confused.
-J
Re:no vb no no vb (Score:1)
Staroffice compatibility (Score:2)
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 . .
Re:one word: indent (Score:2)
Forced indentation is good. It forces you to make your logic visible. There probably will never be a Obfuscated Python contest, while I consider the Obfuscated Perl contest to be a redundant celebration of the language's greatest flaw.
Re:no vb no no vb (Score:1)
Re:Slashdot FAQ #12 (Score:1)
MS SQL is not the market leader.. a diffrent commertal product is.. Oracal.
ESR wrote FetchMail not SendMail...
SendMail was made for e-mail servers, fetchmail for workstations. SendMail on a workstation is a problem.
Re:Not without strong typing! (Score:1)
Whatever it is that makes lisp's lack of strong typing harmless, however, doesn't apply to python in my experience. I _have_ made typing mistakes in python, and have found out about them only at runtime. Just annoying, as I've thus far only used python for quick utility software (stuff for internal use). It could be a very bad thing, however, if such bugs slipped out to a client.
Re:no vb no no vb (Score:1)
Besides being based on BASIC and being a Microsoft product, that is.
(I don't have any problem with either of the above, but some people do, I guess)
-J
Re: License (Score:1)
Quoting myself: Duh! Sorry. Talk about redundant. That is what I get for posting prior to my first cup of coffee. Obviously, the above should be something like "the same concerns the Abisource people have regarding trademarks."
Re:Isn't this a bit useless? (Score:1)
Hmm... (Score:2)