Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Programming in the future 1

Status
Not open for further replies.

MikeCt

Programmer
Nov 6, 2001
44
US
I've been programming with VB6 for quite some time. Problem is with the new windows operating systems( windows 7 & 8 ) I've been having a harder time getting them to run as smoothly. As much as I love VB6, I find I must start moving on if I want to run my applications in the future. Visual Studio seems to be more about web development then applications. I'm not a programmer by trade but I would love to learn what direction is the best path to proceed from here with my knowlege of VB6.
Thanks Mike
 
I am in your shoes right now and I found VB.NET the ‘natural’ next step in my progression of programming. After initial ‘how can I do it in VB.NET, it was so simple in VB6’ approach, I did find VB.NET not so intimidating. After several applications in .NET, going back to VB 6 is kind of interesting.

You type your code:[tt]
If Something or Other Then[/tt]
And you expect the editor to type for you ‘End If’ in the next line, like .NET does. :)

And yes, you can easily re-write your VB6 Windows Applications in VB.NET.


Have fun.

---- Andy
 
Me too! I know exactly where you're coming from!

I made a big cut and jumped over to C#.
I've rewritten some old apps in C# and doing all new ones in C# now.
It took me a good amount overcoming because programming in C# is quite a different thing but I have quickly become more and more comfortable with it.

Apart from Word interop programming that is. That's a bitch.

For example something like this:
Code:
Dim doc as wordapp.Document
Set doc=wordapp.Open(myfile)
With wordapp.Selection.Find
 ....
 ...
 ...
 .Execute Replace:=wdReplaceAll
End With

Becomes something like this:
Code:
public object missing = System.Reflection.Missing.Value;
public object replaceAll = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;
Microsoft.Office.Interop.Word.Document doc = wordapp.Documents.Open(myfile, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
Microsoft.Office.Interop.Word.Selection sel = wordapp.Selection;
Microsoft.Office.Interop.Word.Find find=sel.Find;
find.bla=
find.yadda=

find.Execute(ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, [b]ref replaceAll,[/b] ref missing, ref missing, ref missing, ref missing);

And no: all this "missing" stuff is not redundant, you actually need that crap.
[nosmiley]

But other than that, I find that C# gives me so many more possibilities than VB6, I hardly miss it.
Plus: Distributing your apps becomes a whole lot easier too! [thumbsup]

“Knowledge is power. Information is liberating. Education is the premise of progress, in every society, in every family.” (Kofi Annan)
Oppose SOPA, PIPA, ACTA; measures to curb freedom of information under whatever name whatsoever.
 
I think it depends on what kind of programming you are doing.

If you are just playing around then the world is your oyster and you can use whatever you want wherever you want.

If you want something you can get paid for then VB6 jobs are thin on the ground and most ISV app development (writing programs to sell) faces pretty harsh competition.

The money these days is in mobile apps, especially on non-Microsoft platforms (Phone 7 and Phone 8 basically have ZERO market share).


With .Net basically killing off Windows (remember, the LongHorn fiasco was about .Net and it led to a somewhat rushed Vista release, .Net is behind Windows Phone which abdicated the market, and you can chalk up a lot of the ill-recieved Win8 to .Net too)...

I've been moving to Android development, which can target phones, tablets, and though not yet sold preinstalled by OEMs you can run Android as the OS on x86 desktops too.

You can go the Android Java route or choose from a number of paid and free Basic implementations ranging from QBasic-like to VB6-like. Some even support Android development on Android, a plus if you are on the leading edge of moving to Android as your desktop OS.

Can you say Bye Microsoft, you aren't the company you once were? We're coming closer to the day when you can.

Unlike most straight Linux distros Android actually has consumer market share and may be coming soon as your desktop OS at work. It will be interesting to see what might come about with rumors of somehow merging Android and Chrome OS.
 
Mike,
If you are specifically targeting Windows Desktop apps, then .Net is where you want to be. Even though it seems most stuff is web-based in Visual Studio, VS still has the templates for WinForms apps, Windows Services, Dlls, etc.

And since you're used to VB6 then definitely VB.Net is the language you want to use--especially since you say you're not a coder by trade. If you were a full time coder, I'd suggest C# as the .Net language, for two reasons:

First, it is generally seen as the more 'elite' language (between it and VB.Net) and there is more market demand for it.

Second, because once you get used to a curly-brace language--with it's case-sensitivity, line terminators, etc--you can make the switch to Java more easily, which is the predominant language for Android development and that's where I see the market going.
And you can download Eclipse--sort of a Visual Studio of the Java world--for free. It has intellisense and much of the amenities of VS, but it's not quite as polished. But...free.

--Jim

 
IntelliJ IDEA is an Eclipse alternative that comes in a free Community Edition supporting Android. It got a GUI designer for Android late last year.

AIDE is an integrated development environment (IDE) for developing real Android Java Apps directly on Android devices. Meant to support phones and tablets as self-dev platforms, I see it as an early step toward discarding the Win/Mac/Linux PC even as a cross-development platform for Android.


I have to agree though that if you need to stick with Windows for a while yet and VB6 isn't helping you enough to continue doing that then .Net is the only path left unless you have the time to spend crafting C++ programs. Microsoft offers nothing else now and with a 3rd party tool/language you'll be swimming upstream as much or more than when trying to use VB6.
 
But what about Apple Ipads and Ipad minis?(my wife just bought one!)
Picture quality/price is still well ahead of any androids even if they are monsters to try to do anything unusual with.
There continue to be millions of them sold and who knows what Apple will come up with next year?
 
>Picture quality/price

You are joking, surely? iPads are, frankly, overpriced, since Apple have cleverly managed to market them as luxury devices

And the iPad mini? In many ways Apple's version of multifunction printers, in that they get away with using older, cheaper technology in them. Specifically they use a lower resolution display (163 ppi verus the iPad 4's 264 ppi)

And Android pads such as the Nexus 10 have a higher resolution at 299 ppi than the iPad 4 (and the Nexus 7 has a higher ppi - 216 - than the iPad mini against which it would directly compete).

So, let's see:

iPad mini 16Gb A$ 369 (Apple Store Au)
Nexus 7 16Gb A$ 240 (average from an Au price comparison site)

iPad 4 16GB A$ 539 (Apple Store Au)
Nexus 10 16GB A$ 440 (average from an Au price comparison site)

On the basis of this, I'd suggest that at least one range of Android devices provide much better picture quality/price than iPad. And I'd expect to see more appearing.
 
If you are considering development for portable devices right now instead of waiting 5 years (when things are probably going to look quite different) market share can also be a factor.

IDC Tablet Sales Stats Show Android More Popular than iOS shows why you can safely ignore Windows 8 devices (RT or otherwise). Even Windows NT devices show only a tiny fraction of market share, and a lot of those are Win7 tablets.

Device market share can be an indicator of many things to a programmer: market for your applications, job market, size of hobbyist community, likelihood that acquired skills will matter tomorrow, etc.
 
I would disagree and it depends on what you want to use it for - in my wife's case photos bragging about her grandchildren and email.

In evaluating the picture quality of the mini versions, you have to see them side by side with the same set of photos.
All of them provide enough resolution for a small screen but color, gamma and contrast range is more important to me.
I think larger pixels are really only relevant when viewing much larger screens or close up to your desktop computer.

Of course if you are only viewing the crappy photos taken by the cheap in built in camera (in either) then the camera is the difference.

The Ipad mimi cost me $365
The only Android device of that size that comes anywhere near it in quality is the Samsung Note8 (just released here at $468). Samsung make the screen for the Ipad mini. The nexus range is noticeably poorer in quality.

The picture quality of the cheaper tablets is quite bad by comparison (even if they have more pixels)

The retina display of the big Ipad is noticeably superior to the Nexus and all other similar size tablets.

Problem with the Androids generally is they are aimed more at viewing 16x9 movies by teenagers so when looking at standard photos, you either crop some of the pic or see black bars at each end. This also shows up badly in reading any text of any significant size. (Today's teenagers can only understand messages of less than 144 characters)

I have done some experimentation trying to to communicate between my PCX and the IPad mini via WIfi but so far can only get an "octet stream" that I am unable to decode.
I wonder if Vb6 could be used to communicate like Itunes does? It must be possible and there would be millions of people who would benefit if someone found a way (probably by tomorrow someone already has!)
 
Who can wait 5 years for anything these days?
I'll be dead or blind by then.
 
You can find lots of Android tablets in 4:3 even though 16:9 is indeed more common. I agree this is something that Apple got right. But there are plenty of Android tablets with better resolution than any Apple product too if that's your yardstick (hula hoop? straw man?).

Apple products are all about closed ecosystems.

My Android devices have no problems connecting to SMB shares on Windows or Linux machines for file sharing. I can create Android applications I can simply email to people to install, something you won't see on an iPad or iPhone. I've even written simple chat clients for Android that have no problem connecting to a VB6 chat server. This can even be done using a free Basic interpreter for Android, let alone using more sophisticated Java or Basic compilers.

So yes, you can pay more and even get a "mmore refined" toy device for your money. But you become a passive consumer of media, not somebody who programs a computer to solve problems. The far greater openness of Android is a plus for those of us outside the "great unwashed masses.
 
>Samsung make the screen for the Ipad mini. The nexus range is noticeably poorer in quality

Samsung make the Nexus 10

 
You may notice that I originally said I bought an iPad for my WIFE. ('nuff said)
I only commented that there are multi-millions of other WIFES or equivalent out there (many of them like my computer illiterate brother)

I would have thought there would already be a host of "people like us" who would have cracked the Apple exclusivity thingy and even written apps in vb6 that work in an iPad (with some magical automatic conversion). Now there's a challenge!

I would be very surprised if the "Apple problem" ever goes away like Beta VCRs did. There are still some odd people who drive Citroens or buy Macs.

My opinion is that higher resolution on a tiny screen means nothing if the visible pixel is so small you cant see it without a magnifying glass (like all the Ipads)
 
I don't think anyone has suggested that an iPad, iPhone, ot iToilet is a bad thing. And I'm not sure I'd want things any other way: markets need competition and diversity. They also meet the needs of a lot of people.

They just aren't designed as "personal computers" in the sense of a computer for a person. They are intended as appliances with some adaptability that is restricted to paying for applets developed by other people.

There are somewhat more open ways to create these, but they tend to be based on PhoneGap and similar script+HTML models of operation.

NSB/AppStudio is one toolset for writing these sorts of cross-platform applets. See their support FAQ page Distributing Your App:

Apps created with App Studio can be installed and run by anyone who has an internet connection. Once they are running on a device, apps can be saved locally on the device and will be available even when there is no internet connection available.

App Studio web apps are not sold in Apple's App Store. However, they can be used on any iOS device, jailbroken or not, without going through any review by Apple. They are normal HTML5 apps, and as Steve Jobs has said, "HTML5 -- it's a completely open, uncontrolled platform. And we fully support it."

This kind of thing may address some of your needs.
 
Thanks. Sounds interesting. I'll have a look at it when I get time.
I wonder if it could be used to create an app that could find its way around inside the IPad like you can in Windows with Windows Explorer and thus turn an iPad into a virtual Microsoft machine? (My dream could become Apples nightmare!)
 
Apple's ecosystem is an intentionally constricted "walled garden" and applets based on script+HTML are very unlikely to break open any walls. This is the butter knife of programming tools.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top