Forum Moderators: phranque
I started programming several years ago using PERL. I then moved on to using PHP with MySQL. I've now found myself in a position where I'd like the learn a more powerful language. C and C++ are the first to spring to mind, but then there's Visual Basic, and all this .Net business. I'm not going to give up on the internet side of things, but I would like to move on from the limitations of HTML. I'd like to make powerful desktop applications that use databases (ODBC) and can be accessed through a web browser and also communicate over the internet.
What are the main differences between the four languages mentioned above, and which one would I be better off learning?
Thanks,
Steve.
If a powerful language is what you're looking for, try assembly language.
Greetings,
Herenvardö
PS: Cpp FOREVER!
If a powerful language is what you're looking for, try assembly language.
I wouldn't follow this advice... even when this is technically the most powerful language (everything that can be done in a machine can be done with assembler), it's also almost the less portable (only runnable binary code is less portable ;))
No matter which programming language you use, your program can always call subroutines written in binary (machine) code in order to speed up some processes.
I wouldn't follow this advice... even when this is technically the most powerful language (everything that can be done in a machine can be done with assembler), it's also almost the less portable (only runnable binary code is less portable ;))
It runs on any/every operating system (provided you have the right compiler)... how is it not portable?
It will do all you want and more. You can even use some of your existing PERL scripts. It also supports Python.
It provides database connections: pyscoPg with a postgreSQL database. Its all open source www.zope.org
I will be happy to help you with anything that you may need to get started. Sticky me for more info
Demaestro previously wrote:
What you want is ZOPE.
It will do all you want and more. You can even use some of your existing PERL scripts. It also supports Python.It provides database connections: pyscoPg with a postgreSQL database.
Then I found this on the main page @ zope.com:Zope is written in Python, a highly-productive, object-oriented scripting language.
However, applied in the WWW world, why would you recommend it? In what ways is it better than PERL/PHP/ASP? What are the requirements for a developer to use it?
My main goal is to be able to create a Windows application that can communicate over the web - ie, update a database on a remote machine or something, through a windows GUI. I'd like to use ODBC to share my database with PHP and the final application(s).
I have no particular applications in mind, but the general idea would be the same. I don't see how a scripting language such as Zope could achieve this, as we'd be back to the client-server position I'm in with PHP.
Steve
I wouldn't follow this advice... even when this is technically the most powerful language (everything that can be done in a machine can be done with assembler), it's also almost the less portable (only runnable binary code is less portable )It runs on any/every operating system (provided you have the right compiler)... how is it not portable?
An assembler program only runs on one machine type. Each machine has its own assembler, so to migrate a program form PC to Mac, for example, you should have to rewrite it almost entirely.
Would I be wise in going for C#?
You're better off learning C.
My main goal is to be able to create a Windows application that can communicate over the web - ie, update a database on a remote machine or something, through a windows GUI. I'd like to use ODBC to share my database with PHP and the final application(s).
In that case look at VB.Net
I've worked with many languages, this is a summary of how they are:
VB: very easy to learn and use, low eficience, low-medium security and stability, low-medium power.
Java: easy-medium to learn and use, low-medium efficience, high security and stability, medium power
C/C++ (beginners): Easy-medium to learn and use, medium-high efficience, medium security and stability, medium-high power.
C++ (experts): Hard to learn, medium-hard to use, very-high efficience, security and stability depending only on the programmer, very-high power.
Assembler: hard to learn and a lot harder to use, maximum efficience and power, security and stability depending only on the programmer.
So, you should choose what most fits your needs.
Greetings,
Herenvardö
I used to think that open source was the best, and I would recommend Java over VB.NET any day. However, unless you are a freelancer, you will be working in an office somewhere.
Offices have standards for programming, and a set of tools they use. With Java and .NET you can write everything in a TextEditor, but most often than not the office is using some type of IDE.
Each IDE requires a learning curve to use the IDE itself, never mind learning the language. So, if you chose Java and learned on Borland JBuilder, and your new office uses Eclipse or WebSphere, you will have to learn the new IDE.
With MS there is one IDE to learn, and every company that develops with MS uses that IDE. It's much more portable within the MS platform. Yes, you are locked into the MS platform, but it's not like it's an obscure technology.
Writing a web application in classic C or C++ is stupid at this point for 99.999999999% of the cases out there. Same thing with desktop apps. You'll be reinventing the wheel. Unless you're writing the actual high-performance server software (such as a dns, mail, or web server), it's unnecessary.
The Microsoft tools are very well suited to their intended job - writing web and desktop applications that run on Windows. Using VB.net or C# at this point is mostly syntactical preference.
To answer the original question in the original post, between the ones you posted, I'd probably go with VB.net.
Note: Someone above called Zope a scripting language. That's incorrect. Zope is an application server, much like WebSphere or JBoss. It uses python as its underlying language, but it provides a framework for error handling, database connectivity, etc. It's not a language.
Greetings,
Hernevardö
PS: C++ and open software forever! ;)
I am JAVA fan
Greetings,
Herenvardö the Programmer ;)