|Programming in Basic|
What do people use with Windows 7?
I was thinking I'd like to do some very minor programming in Basic.
Decades ago I remember there was "chip" and DOS Basic, where you numbered each line. (I'm sure I could still do this type of programing.)
Then later on I remember I used Borland's Turbo Basic (a compiler) and really liked it. I also remember I never made the switch to Visual Basic.
What are the popular (free or near free) Basic options that run on Windows 7 that might look familiar enough to me that I won't get bogged down in having to relearn how to program, or fight the operating system to get things to show or work properly?
I'm not looking for something that will run old programs but instead something for hacking out some new code as quickly and easily as possible.
I was reading more about Basic.
I'm not looking for something for creating fancy graphical user interfaces, nor applications to distribute. I just want to create "business" type programs for my own use.
I'm looking for products that are popular and fairly well supported online (forums, documentation) and have made the transition to Windows 7 (64 bit).
Cost isn't all that much of a factor. The product being widely used and likely to be supported in the future with updates would be.
I use VB 2005 (The Express edition is the free one I think)
Why not go with JAVA instead of Basic. Simply download ECLIPSE and you are good to go.
I started with basic 29 years ago and use Borland/Inprise/Embarcadero Pascal today (Delphi).
Forget Basic - you've been out of programming and things have changed so picking a language for familiarity is pointless.
I would like to recommend Delphi, however, the development team lost the plot several years ago - there is no 64bit compiler and no prospect of one for two years despite the fact that it's been promised many times now. Instead they have concentrated on trivia.
You could try FreePascal - I've looked at it but don't like it. You could try Java or .NET or one of the various versions of C that's out there. However, if I'm honest, I'd say forget it - spend your time doing something more profitable or more fun.
My old GWBASIC and QBASIC versions work in 32-bit Windows XP. QBASIC appears to be still available in the olddos package from Microsoft at [support.microsoft.com...] , but it doesn't work on 64-bit. GWBASIC probably doesn't, either.
As far as I can tell, the type of BASIC you were familiar with, and that so many people used for programming on the original IBM PC and clones, has been universally abandoned, replaced by languages with "BASIC" in their names but that are so complex that they barely deserve to be called BASIC derivatives.
If you are ever tempted to go the route of pseudo-BASICs, it would be better to learn C++, the granddaddy of modern languages, which the others attempt to "be like" without actually being it, and, they claim, without being as complex. If you learn C++, you get a good understanding of concepts that are useful in any language, but it's not easy, and it's almost certainly more than you're looking for.
One BASIC that looks like it might be a potential candidate is FreeBASIC, [en.wikipedia.org...] .
Microsoft has something called Small Basic. I don't know what it is:
In spite of having much C++ experience, the language I now use for simple tasks is Perl. I can write a Perl program that will work in either Windows or Linux, and can copy it just by copying the .pl text file. Perl programs are compiled (just before execution) and fast, and Perl has commands that make it possible to do quite a lot with very little code. The downside is that I don't consider it to be in the C++-like family of languages, and it is like learning to program all over again. I have to look up every little thing in the manual, but it's worth it.
For file-format conversion, text substitutions, and other text processing tasks, my "language" of choice is the utility program sed ( [en.wikipedia.org...] ) or SuperSed (ssed). There is a Windows version of ssed available free online. It uses Perl-compatible regular expressions, which are well worth learning, and, obviously, the same as what Perl uses. Whatever I can't do in ssed, I can do with Perl.
I think the most popular Perl for Windows is ActivePerl, which is free: [en.wikipedia.org...]
It's also possible to use PHP ( [en.wikipedia.org...] ) to write utility programs that you run from a command prompt. That might be of interest if you intend to do any web programming. One language could serve both your purposes. A disadvantage of plain PHP is that it's interpreted and slow, but compilers are apparently available.
Thank you everybody for the replies. I guess I didn't realize how out of date my expectations were. Thanks for the suggestions too, clearly it's time to pick a new vehicle for accomplishing what I want to do.
Ns one has mentioned Python, which is easy to learn, has good libraries, is very versatile (its a good choice for everything from web apps to numerical stuff, to desktop GUI apps), and lends itself to different programming styles (you can do a fair bit of functional stuff if you want to, for example).
|However, if I'm honest, I'd say forget it - spend your time doing something more profitable or more fun. |
Sorry Kaled, that's probably not too helpful here. This stuff can be really good fun, and I've heard a rumour that there's actually a bit of money to be made with this whole 'computer' lark that's going around, but that's unconfirmed at the moment.
As a professional software engineer, who takes his profession seriously, I'm always encouraging people to get involved in what I do!
Broadway, I'd recommend just having a play with some of the suggestions made here - I'd put in another vote for .NET or Java (but then that's just because I'm biased!). Personally, I find it really easy to knock out quick and dirty windows applications using Visual Studio 2008, with C#.
bhonda, I think you missed this comment...
|I just want to create "business" type programs for my own use. |
Way back in the dawn of time (the 1980s) it was possible to knock up something useful in a few hours or days. However, we have reached a point where there is so much free software available that to create something useful (i.e. that doesn't exist already) takes much longer.
At a hobbyist level, there may be more money to be made, more satisfaction and more fun to be had from taking up oil painting or writing, cooking or interior design, etc. To make money from programming you need a good idea, good skills, good promotion, backup from other people, luck and most of all, the ability to get your product out quickly because if you don't someone else will beat you to the punch.
I appreciate what you're saying, and you're right, but if the OP was about asking about how to create applications for some tasks, then I'm going to address that question, not try to persuade them to take up oil painting.
If the OP was about 'I want to have fun, and I want to make money', then fair enough - we could throw some ideas about what constitutes fun, and what is profitable.
But it's not.
|I just want to create "business" type programs for my own use. |
That seems like a perfectly reasonable question to me. There is not a piece of software that accomplishes every task imaginable. And even if it does, there is no harm with someone creating an alternative to that solution. Perhaps it could be done better? Maybe faster? Or more accurately? Or maybe, just maybe, there are people out there who actually enjoy the writing of software, purely for the fun of it? ;)
Anyhow, back to the OP - Broadway - don't give up now. If you want to get stuck into all this, then that's just great. Try .Net. Try Java. Try Python. Try Perl. Let us all know how you get on!
|Way back in the dawn of time (the 1980s) it was possible to knock up something useful in a few hours or days. |
This is still possible today - I use dozens of programs I wrote myself in only a few hours - exactly for the same purpose as the Original Poster wants them: For me and my business. Nothing fancy, nothing that could be useful for anybody but me. For example I use a inventory management system that is great - runs on MYSQL. But it lacks some features like certain statistics. So if I need information I write a short program to tap into the MYSQL database and extract the info I need. Or another example: For international shipments I need the weight of the products without packaging. So I wrote a simple program for a scale that is connected to the computer. So instead of writing the weight on the parcel and printing the shipping labels manually the packer can now put the products on the scale, scan the invoice and the program injects the product weight for the customs declarations into the database and the shipping labels can so be printed automatically. Took me two days to write, but has saved hundred of hours over the last years.
I guess that's what Broadway has in mind. Individual time saving applications. I have started to write most of my applications in PHP, so they can be accessed at any computer in my business in the browser. Programs that need features PHP does not provide - like the ability to access COM Ports - I write in JAVA using Eclipse.
If you just want to do simple programming for "business" uses... have you considered VBA (Visual Basic for Applications)? From a programming standpoint, it is very simple. In essence, VBA is essentially "rich macros" that live inside other MS/Office products. For example, you could create an Excel file containing VBA that will allow rich interaction/computations between the Excel sheets/data/etc and your VBA programming. Though I must admit, there is some minor learning curve in doing this (particularly, learning/understand the options and capabilities you can do with individual apps like Excel; but any language will have a learning curve!). In fact, this is so "business" friendly, that it is the approach that most businesses take (when the task is smaller/simpler).
Aside from the above... you could look at Visual Basic (or whatever they call it these days, might be called Visual Studio)... where you drag and drop windows, text boxes, etc... and write simple pseudo-like code to add logic. It is one of the easiest to learn and begin using. For someone who isn't intending to be a hardcore programmer, it is a good option.
But... if you're really interested in "real" or "raw" programming, there are many great options to explore. Primarily, C++. As others mentioned, this is a real programming language (not scripts/scripting). You'll get to learn and do all sorts of things like variables, math, arrays, name spaces, polymorphism, etc+. Many other languages that exist today try to mimic the style/syntax of C++.
If you like the Microsoft route (ie, Visual Basic/etc) but want more in depth programming... look into .NET; very capable and rich. I've never bothered getting into it. But I can assure you it is VERY well liked and used in most business/corporate settings.
The language I personally use the most is PHP. But that's because I've done a lot of web development over the years. PHP is meant for the web and has expanded into a rather rich language. For someone interested in general coding/programming, I would only recommend PHP if you're interested in doing web stuff; otherwise, consider diff languages.
Aside from the above, there are MANY other languages/script languages out there (some mentioned, like Pascal/etc). But C++/Java/.Net probably make up the vast majority of the volume of application code produced in the last ~2 decades.
Ultimately I think this boils down what your intents/purposes are. If you just want to be able to do some simple coding to solve some business problems... then go for a simpler language like VBA. If you are strictly interested in "outcomes" (and not the 'how') there is no sense wasting time on a language like C++. But if you're more interested in the actual act of coding/programming, and really want to understand the "how" (with no interest/preference for "outcomes"), then take the time and efforts to learn a more in depth language like C++/Java/etc.
Best of luck!
Anyone besides me using FreeBasic? [freebasic.net...]
For what I want/need do local it has been a champ. (QuickBasic back to Dos 3x, then QBx)
Is limited to 32bit...
I've written a couple of simple desktop programs for our own use using PureBasic.
It's fun, easy to use, and reminds me of programming Z8 processors using Dartmouth basic back in the day.