473,811 Members | 2,771 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Is Python like VB?

As you may or may not know, Microsoft is discontinuing Visual Basic in favor
of VB.NET and that means I need to find a new easy programming language. I
heard that Python is an interpreted language similar to VB. This means that
it doesn't have all the hard stuff like pointers, classes and templates like
C, C++ and assembly language.

Where I work we use Microsoft Office with a lot of customization using
Visual Basic. I would like to switch to Python to do it since VB is being
discontinued. Would Python meet our requirements? I need to make lots of
GUI applications (message boxes, forms, etc.) and do the underlying business
logic too.

Thanks in advance.
Jul 18 '05 #1
32 8102
First of all, discontinuing VB doesn't mean you have to stop using it.
I worked on a project which was compiled with Visual C 1.52, for many
years after it was not supported. The project is used by nearly every
engineer at the company where I work.
We are still devleoping the project I work on now in VB6, and have no
reason to bail.
For new projects, it would make sense to look into VB.net or some
alternative.

Python has classes, but not templates. However, you don't have to use
classes in your program, but it will make life easier if you learned
them.

Python's classes are not as complicated as C++, it's a much better
language to learn from.

VB has classes too, and if you haven't used them in your programs, then
there's a good chance you can program that way with Python too, but I
wouldn't make a point of it.

VB has a much better IDE than the IDE's for Python, although Eric3 is
one of the best, and is absolutely free.

VB's ide is it's strongpoint, not the language itsself.

If you need to do Gui's then it is extremely usefull to learn the
basics of classes, your code will be much simpler in the long run.

There are many gui toolkits/frameworks for Python, but the foreunners
are pyQT, wxPython, pyGTK, and TK/Tkinter.

You don't have to worry about pointers though :-)

Jul 18 '05 #2
"Would Python meet our requirements? "

Yes and no. Because Python is a very high-level language and
dynamically typed it is easy to learn. Python doesn't make use of
pointers but you are able to write object-oriented code (as opposed to
just being object-friendly like Visual Basic is). You will find that on
its own you won't be able to do any Office macro scripting although
there are several packages that will give you added functionality like
access to Com+ objects (see win32 modules by Mark Hammond). Now, this
may require more work than using VBA but it *is* doable. The com
portion of the win32 modules can enable one to create even a
macro-language unto itself!

Python is very powerful. There are many 3rd party modules and
frameworks (Zope, CherryPy). Also, there are many GUI toolkits
available for it (wxWindows, GTK, QT, Tk and on and on) and you can
also use it as a wrapper to write and compile to Java bytecode (see
Jython). The problem for you, however, is it may or may *not* meet
every requirement. For that you'll have to find out for yourself. I
suggest downloading Python and giving the Python tutorial a whirl and
then taking a look at other Python-related stuff:

[For programmers:] http://docs.python.org/tut/tut.html
[For non-programmers:] http://honors.montana.edu/~jjc/easytut/easytut/
[Win32 stuff:] http://starship.python.net/crew/mhammond/
[Tk 'Tkinter':]
http://www.pythonware.com/library/tkinter/introduction/
[wxPython:] http://www.wxpython.org/
[PyGTK:] http://www.pygtk.org/

Purusing these links will give you a very good idea of whether Python
is right for you. Naturally we'd all like to say 'YES Python is good
for you!' but you have to investigate for yourself.

Good luck!

Harlin Seritt

Jul 18 '05 #3
On Wed, 16 Mar 2005 21:33:36 -0800, "Mike Cox" <mi**********@y ahoo.com>
declaimed the following in comp.lang.pytho n:
As you may or may not know, Microsoft is discontinuing Visual Basic in favor
of VB.NET and that means I need to find a new easy programming language. I
So far as I know, VB.NET is the next version of Visual Basic,
making use of the "common language runtime" -- which, as I understand,
is M$ speak for a byte-code interpreter, ALL the Visual Studio.NET
languages generate the same byte-code (VC still offers a "non-managed"
native mode for writing real low-level stuff). The core VB language is
essentially the same (some more Object Oriented features, maybe), it is
just the associated system libraries that change.
heard that Python is an interpreted language similar to VB. This means that
it doesn't have all the hard stuff like pointers, classes and templates like
C, C++ and assembly language.
You know of an assembly language that does Object Oriented?
My... The world has been waiting with bated breath for that.

Python is OO... It has classes. Unlike Java, it doesn't force
them down your throat if all you want to do is print "Hello World".
Python doesn't have "begin"/"end" (or "{"/"}") to mark code blocks -- it
relies on indentation. Do you have the discipline to rely on the shape
of your code to control logic flow?
Where I work we use Microsoft Office with a lot of customization using
Visual Basic. I would like to switch to Python to do it since VB is being
Visual Basic, or Visual Basic for Applications? VBA is the
internal language of the Office package -- and I wouldn't be surprised
if the newest version of Office starts incorporating parts of the CLR.
VB is the VBA language with stand-alone additions.
discontinued. Would Python meet our requirements? I need to make lots of
GUI applications (message boxes, forms, etc.) and do the underlying business
logic too.
Python, OORexx, PERL, all can do what you want... So could Ada,
C, C++... The question is, would you /want/ to do it in some of those.
You're not going to get, in most cases, drag&drop GUI designers. You'll
have to get down to the native windows calls (if using the win32
extensions for Python), I don't think MFC has been mapped to Python; or
learn a whole new GUI toolset (Python comes with Tk and the Tkinter
interface to it; there are a half dozen other options, some free, some
$$$)

Of the alternatives, I'd push Python, OORexx (though you may
need to "buy" the "batteries" for access to external/system calls), and
maybe Ada or Java... OTOH, I'll also speak blasphemy and suggest you
really look at some of the publications about converting from VB6/VBA to
VB.NET and decide if that is really as bad as you think it is. Check out
appendix A of "VB.NET Language in a NutShell"... Think of VB.NET as "VB
on Java"; some of the changes give VB similar behavior to Java --
strings are immutable and one does not declare a string size, modifying
a string dynamically generates a new string (which is also what Python
does).

-- =============== =============== =============== =============== == <
wl*****@ix.netc om.com | Wulfraed Dennis Lee Bieber KD6MOG <
wu******@dm.net | Bestiaria Support Staff <
=============== =============== =============== =============== == <
Home Page: <http://www.dm.net/~wulfraed/> <
Overflow Page: <http://wlfraed.home.ne tcom.com/> <

Jul 18 '05 #4
>>>>> "Cappy" == Cappy2112 <ca*******@gmai l.com> writes:

Cappy> VB has a much better IDE than the IDE's for Python,
Cappy> although Eric3 is one of the best, and is absolutely free.

Eric3 is not easily available for win32, due to current state of Qt
licensing (will change with Qt4 I think).

Cappy> There are many gui toolkits/frameworks for Python, but the
Cappy> foreunners are pyQT, wxPython, pyGTK, and TK/Tkinter.

On windows it might make sense to choose wxPython, though I've heard
some good stuff about new versions of pyGTK as well.

People coming from VB background probably also appreciate the ability
to draw the UI in point&click style:

http://gazpacho.sicem.biz/
http://wxglade.sourceforge.net/

Unfortunately these seem to still be a tad rough around the edges...

--
Ville Vainio http://tinyurl.com/2prnb
Jul 18 '05 #5
Mike Cox wrote:
As you may or may not know, Microsoft is discontinuing Visual Basic in favor of VB.NET and that means I need to find a new easy programming language. I heard that Python is an interpreted language similar to VB.
VB is not interpreted. Sure! You can compile it to P-Code if you want
to but most people compile to machine code (like C, C++, Assembler).
You are confusing between static linking in C++ etc and mandatory
dynamic linking with VB runtimes with interpreted languages. VB needs
runtimes but is not interpreted generally.

Python is NOT similar to VB. It is much better as a language. VB is
optimized to what you are doing currently. Python is a more general
purpose language.
This means that
it doesn't have all the hard stuff like pointers, classes and templates like C, C++ and assembly language.
Python has classes.
C and Assembly do not have classes and templates.
If I remember correctly, VB could have pointers too (Address
function?).
Where I work we use Microsoft Office with a lot of customization using Visual Basic. I would like to switch to Python to do it since VB is being discontinued. Would Python meet our requirements? I need to make lots of GUI applications (message boxes, forms, etc.) and do the underlying business logic too.


You will probably find migrating to VB.NET easier than to Python if you
have to do WYSIWYG data bound form design.

VB.NET is quite a nice language (I personally prefer C#). Much nicer
than VB6. Python is better but it may not meet YOUR needs
infrastructure wise.

Jul 18 '05 #6
>> VB has a much better IDE than the IDE's for Python, although Eric3
is
one of the best, and is absolutely free.

There is no binary distribution for Eric3 on MS Windows. The OP sounds
like he is an exclusively windows programmer.

While we are on topic, is there no one in the Python open source
community who has a commercial license to Qt for Windows and can make a
binary distribution for Eric3 for MS Windows?

Jul 18 '05 #7
Joe
On Wed, 16 Mar 2005 21:33:36 -0800, "Mike Cox"
<mi**********@y ahoo.com> wrote:
Where I work we use Microsoft Office with a lot of customization using
Visual Basic. I would like to switch to Python to do it since VB is being
discontinued . Would Python meet our requirements? I need to make lots of
GUI applications (message boxes, forms, etc.) and do the underlying business
logic too.


I wouldn't advise you to switch to Python from VB if...
1. the installer must be downloaded from the Net, so must be kept as
small as possible (GUI layers like wxWidgets of PyGTK add several
megabytes to your app)
2. you're used to sophisticated GUI designers like VB or Delphi, and
want something as polished
3. you expect an IDE as rich as those two proprietary tools (including
IntelliSense, intigrated GUI designer, compiler, etc.)
4. your app uses third-party components that are not available to
platforms other than VB (or Delphi)

After checking out the tools currently available, I got to the
conclusion that Python is a very fine tool for text-based apps or
moderately-sophisticated GUI apps like BitTorrent.

For more demanding GUI apps, I would advise you stick to VB until the
..Net framework stabilizes and trickles down to being available on 80%
of hosts, at which point you can safely trade horses (VB.Net does
solve some of the oddities of VB Classic.)

In an ideal world, we'd have open-source development tools as rich as
VB or Delphi, but at this point, I haven't found any that doesn't fall
short on any of the points above (probably because the work involved
is underevaluated, and just not doable without a constant and
sufficient revenue stream.)

Just my opinion,
Joe.
Jul 18 '05 #8
James wrote:
You will probably find migrating to VB.NET easier than to Python if you
have to do WYSIWYG data bound form design.

VB.NET is quite a nice language (I personally prefer C#). Much nicer
than VB6. Python is better but it may not meet YOUR needs
infrastructure wise.


This is more a strategic decision than a technical one.

MS has proven that it uses and forces its developers community to
maximize their own profits and spread of technologies. Personally I dont
want to be forced ("Where do you want me to go today?")
Who guarantees that VB.NET will not have the same tragic kismet that VB6
had?

Open Source is totally different and thats the real difference between
VB and python.

As long as their are users and working code, there will be a community
around an OSS tools project.
This is not true for commercial tools, as perfectly proven by MS with
VB6. Its users are crying and MS is deaf because of strategic MS
considerations.

http://news.com.com/Developers+slam+...31.html?tag=nl
http://news.com.com/Microsoft+walks+...?tag=nefd.lede

--
Greg
Jul 18 '05 #9
Maybe you should ask : Is VB like Python????
( remark the ???? )
On 17 Mar 2005 09:45:22 +0200, Ville Vainio <vi***@spammers .com> wrote:
>> "Cappy" == Cappy2112 <ca*******@gmai l.com> writes:


Cappy> VB has a much better IDE than the IDE's for Python,
Cappy> although Eric3 is one of the best, and is absolutely free.

Eric3 is not easily available for win32, due to current state of Qt
licensing (will change with Qt4 I think).

Cappy> There are many gui toolkits/frameworks for Python, but the
Cappy> foreunners are pyQT, wxPython, pyGTK, and TK/Tkinter.

On windows it might make sense to choose wxPython, though I've heard
some good stuff about new versions of pyGTK as well.

People coming from VB background probably also appreciate the ability
to draw the UI in point&click style:

http://gazpacho.sicem.biz/
http://wxglade.sourceforge.net/

Unfortunately these seem to still be a tad rough around the edges...

--
Ville Vainio http://tinyurl.com/2prnb
--
http://mail.python.org/mailman/listinfo/python-list

--
Regards, Groleo!

.''`. # touch universe
: :' : # chmod +rwx universe
`. `'` # ./universe
`- Debian - when you have better things to do than fix a system
Jul 18 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
9728
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9605
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10648
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9205
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7670
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5554
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5692
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4339
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
3018
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.