Discussion:
VB.net (2010) Beginner Question: Directory Lists
(too old to reply)
Sandwich
2012-05-20 05:10:02 UTC
Permalink
Hi All,

This is an extreme beginner question so if these type of questions
annoy you then probably best not read this one.

For those of you willing to help this will be a great learning xp for
me.


B'Ground: I am created an app that will catelogue short videos of the
signs (sign language) of a woman who has a disability.

As I am an extreme novice I am having trouble adding flexibility to
the list of video files that the program displays

Ultimately I want the app to:
1. Get the addresses of contents of a specified directory with the
*.wmv extension and place these addresses in an array (arrFileAddress)
2. Get the name of each file within this array WITHOUT the address (c:
\whatever...) and without the extention (.wmv) so that "C:\Whatever
\Barbeque.wmv" = "Barbeque", and place these into a listbox so that
when the user clicks on a Word (ie. "Barbeque") I can pass the address
to the WindowsMediaPlayer Object as an input to play the file

So...

I have been able to find the followingwith endless searching

[code]
' make a reference to a directory
Dim di As New IO.DirectoryInfo("c:\")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo

'list the names of all files in the specified directory
For Each dra In diar1
ListBox1.Items.Add(dra)
Next
[/code]

Thsi obviously gives me a string array of the file addresses and
names;

how can I now filter out the address and extension text and just
display the word?


Thanks so much for any help you can offer.
Mike Williams
2012-05-20 09:24:43 UTC
Permalink
Post by Sandwich
This is an extreme beginner question so if these type
of questions annoy you then probably best not read
this one.
Beginners' questions don't annoy me at all, but it might be best if you were
to begin in the right place. This group is for the real Visual Basic
(Classic VB6 and earlier) whereas you are using the dotnet imposter which is
a completely different thing and which, despite its deliberately misleading
marketing name, is not Visual Basic at all. Try posting your question to a
dotnet group or to one of Micro$oft's new fangled and heavily policed dotnet
forums.

Mike
Mayayana
2012-05-20 13:41:47 UTC
Permalink
The newsgroup Mike is referring to is here:

microsoft.public.dotnet.languages.vb

But it may not be very busy. Microsoft officially
ended support for their own newgroups, so MVPs don't
get any points for answering newsgroup questions.
As a result, most MVPs immediately switched to the
webpage forums and the newsgroups have become
relatively quiet.

There's a webpage forum for VB.Net here:

http://social.msdn.microsoft.com/Forums/en/vbgeneral/threads

The forums get more traffic but they're moderated,
awkward to use, and require that you "join the club"
as a member before you can post. They also have a
general marketing slant. Microsoft is specifically avoiding
any sort of forum where programmers can discuss freely.
Their web forums -- both in content and in categories
available -- are designed to market Microsoft products.

There may be good reason that you're using .Net. You
didn't explain that. But personally, if I were doing something
like what you plan I think I'd do it with an HTA using VBScript.
What you want to achieve is very basic. It can probably be
done quickly and easily with script. With VB.Net 2010, anyone
who wants to run your software will need something like 1/2
GB of .Net Framework files, for what can be done in a few
KB with script. .Net Framework 4 (2010 version) is not
pre-installed on any Windows version. In other words, you're
planning to use an 18-wheeler to ship a letter-size package.

.Net was never really designed for Windows software. It is a
Java clone, designed for writing server-side applets and "web
services":

http://www.microsoft.com/en-us/news/press/2000/jul00/pdcdeliverspr.aspx

Microsoft are trying to push 3rd-party developers, other
than approved partners, out of the Windows platform. So
they pretended that .Net was good for writing Windows
software. ...Ever wonder why .Net is supposedly well-suited
for Windows software despite the fact that Java has been
around much longer and is rarely used for Windows software?

Now .Net is being retooled so that people can write Metro
trinkets with it. For Metro you'll need the same 1/2 GB of support
files to write a program using the WinRT API. So .Net will load
to call WinRT, which will load to call the Win32 API with restricted
access, all to produce something surprisingly similar to an HTA!
Your letter-size package will now be shipping via ocean liner. :)

| how can I now filter out the address and extension text and just
| display the word?

That's a good example of something that script is well-suited
for. With the FileSystemObject in VBScript, it's easy to get a
list of files in a folder, and there's even a specific method for
getting a file name from a path: GetBaseName
With script in an HTA it's easy to add those names to a SELECT
element, which is essentially a listbox.

----------------------------------------

--
"Sandwich" <***@gmail.com> wrote in message news:ecf4ddec-cccd-4eaa-a24b-***@ns1g2000pbc.googlegroups.com...
| Hi All,
|
| This is an extreme beginner question so if these type of questions
| annoy you then probably best not read this one.
|
| For those of you willing to help this will be a great learning xp for
| me.
|
|
| B'Ground: I am created an app that will catelogue short videos of the
| signs (sign language) of a woman who has a disability.
|
| As I am an extreme novice I am having trouble adding flexibility to
| the list of video files that the program displays
|
| Ultimately I want the app to:
| 1. Get the addresses of contents of a specified directory with the
| *.wmv extension and place these addresses in an array (arrFileAddress)
| 2. Get the name of each file within this array WITHOUT the address (c:
| \whatever...) and without the extention (.wmv) so that "C:\Whatever
| \Barbeque.wmv" = "Barbeque", and place these into a listbox so that
| when the user clicks on a Word (ie. "Barbeque") I can pass the address
| to the WindowsMediaPlayer Object as an input to play the file
|
| So...
|
| I have been able to find the followingwith endless searching
|
| [code]
| ' make a reference to a directory
| Dim di As New IO.DirectoryInfo("c:\")
| Dim diar1 As IO.FileInfo() = di.GetFiles()
| Dim dra As IO.FileInfo
|
| 'list the names of all files in the specified directory
| For Each dra In diar1
| ListBox1.Items.Add(dra)
| Next
| [/code]
|
| Thsi obviously gives me a string array of the file addresses and
| names;
|
| how can I now filter out the address and extension text and just
| display the word?
|
|
| Thanks so much for any help you can offer.
Auric__
2012-05-20 19:27:17 UTC
Permalink
Sandwich wrote:

[snip]
Post by Sandwich
I have been able to find the followingwith endless searching
[code]
' make a reference to a directory
Dim di As New IO.DirectoryInfo("c:\")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
'list the names of all files in the specified directory
For Each dra In diar1
ListBox1.Items.Add(dra)
Next
[/code]
Thsi obviously gives me a string array of the file addresses and
names;
how can I now filter out the address and extension text and just
display the word?
On the one hand, your problem is trivially easy, and there are several ways
to go about doing what you need. Any place you need just the filename of
"dra", I think I would use something like this:
dra.Name.Substring(0, dra.Name.IndexOf("."))

So, if you wanted to load your listbox with the filenames, you could do
this:
ListBox1.Items.Add(dra.Name.Substring(0, dra.Name.IndexOf(".")))


On the other hand, I agree with Mike and Mayayana: this is not a .Net
group. I *especially* agree with Mayayana about the unnecessary bloat and
BS that .Net requires. Instead of scripting, which he discusses a bit, I
just switched to a different language entirely, FreeBASIC:
http://www.freebasic.net/
Based on, and almost 100% compatible with, QuickBASIC (MS's old DOS
compiler), with the added advantage of being completely free.

Alternately, there are many, many other BASICs that work with Windows and
are much less bloated than VB.Net. I suggest PowerBASIC, REAL Studio, or
Liberty Basic.
- PowerBASIC is my overall favorite BASIC (but I don't use it much because
I program for Linux, which PB doesn't support -- and windows are a bit more
difficult):
http://www.powerbasic.com/
- REAL Studio is somewhat VB-like and has probably the best support for
windows (forms) outside of Microsoft's products:
http://www.realsoftware.com/
- Liberty Basic is *very* easy to learn, but compiles to bytecode rather
than machine code (not really a problem, but something to be aware of):
http://www.libertybasic.com/
--
I want to be cremated, and I want my ashes blown in Uri Geller's eyes.
-- James Randi (skeptic)
Sandwich
2012-05-21 02:06:01 UTC
Permalink
Post by Auric__
[snip]
Post by Sandwich
I have been able to find the followingwith endless searching
[code]
' make a reference to a directory
    Dim di As New IO.DirectoryInfo("c:\")
    Dim diar1 As IO.FileInfo() = di.GetFiles()
    Dim dra As IO.FileInfo
   'list the names of all files in the specified directory
    For Each dra In diar1
        ListBox1.Items.Add(dra)
    Next
[/code]
Thsi obviously gives me a string array of the file addresses and
names;
how can I now filter out the address and extension text and just
display the word?
On the one hand, your problem is trivially easy, and there are several ways
to go about doing what you need. Any place you need just the filename of
  dra.Name.Substring(0, dra.Name.IndexOf("."))
So, if you wanted to load your listbox with the filenames, you could do
  ListBox1.Items.Add(dra.Name.Substring(0, dra.Name.IndexOf(".")))
On the other hand, I agree with Mike and Mayayana: this is not a .Net
group. I *especially* agree with Mayayana about the unnecessary bloat and
BS that .Net requires. Instead of scripting, which he discusses a bit, I
 http://www.freebasic.net/
Based on, and almost 100% compatible with, QuickBASIC (MS's old DOS
compiler), with the added advantage of being completely free.
Alternately, there are many, many other BASICs that work with Windows and
are much less bloated than VB.Net. I suggest PowerBASIC, REAL Studio, or
Liberty Basic.
- PowerBASIC is my overall favorite BASIC (but I don't use it much because
I program for Linux, which PB doesn't support -- and windows are a bit more
 http://www.powerbasic.com/
- REAL Studio is somewhat VB-like and has probably the best support for
 http://www.realsoftware.com/
- Liberty Basic is *very* easy to learn, but compiles to bytecode rather
 http://www.libertybasic.com/
--
I want to be cremated, and I want my ashes blown in Uri Geller's eyes.
 -- James Randi (skeptic)
Wow,

thankyou all for taking the time to respond so quickly and completely,
and apologies for posting a heretic .NET question in here, as a new
hobbyist programmer it was ignorance rather than malice!

BTW you've convinced me to switch. I chose VB.net as I'm a new
programmer and the temptation is to think that you might as well learn
the most current imprint of the language.

I'm writing this software for deloyment on workstations that are
connected to a pretty tightly controlled Gov network, and when I tried
to run a debug build .exe of my app on my workstation at work I got a
dailog saying "you need to install .net redistributable packge
4.xxxx", which worried me as I want this to useable on in as many
environments as possible so it can be of assistance to staff who work
with this lady in a variety of places (day programs, etc)

So in short; I'm going to take your advice and switch languages! So
can I confirm that VB6 would also be an appropriate choice? Its just
that there is a LOT of forum support etc for VB6 and that it very
tempting.

I'll head off and try freebasic (I programmed a little when I was 8 in
QBasic so I'm looking foward to seeing this!) and the trial of REAL
studio; I guess what I REALLY need is something that has a LOT of
developer support on the web so I can find help easily and not have to
bother you good folk!

Thanks again!

Liam.

P.s. *tips hat to JAmes Randi quote* "a genius of our times." Ricky
Gervais
Mayayana
2012-05-21 03:32:56 UTC
Permalink
So in short; I'm going to take your advice and switch languages! So
can I confirm that VB6 would also be an appropriate choice? Its just
that there is a LOT of forum support etc for VB6 and that it very
tempting.
VB6 would be fine, and you won't need to install any support
files. You can also get help here and there's lots of free code
around. But be aware that VB6 is no longer officially supported.
Microsoft is not yet trying to kill it. VB6 software runs on Win8
with no extra files needed. It pretty much runs on any Windows
computer now in use. In fact, VB6 is arguably the most widely
supported tool for Windows programming. (C++ is widely supported,
by VC++ has a different runtime for each version, so the later
the version you use the more target machines need runtimes
installed.)

But VB6 won't be usable for Metro phone/
tablet apps, and while it can run on Win64, it can't run as
64-bit. That means, for instance, that if you write an IE browser
extension, Explorer Bar, etc., those can only be used in the 32
bit version of IE and Explorer respectively. Over time those
limitations may become notable. For the forseeable future,
however, they're not relevant unless you want to target Metro.
Sandwich
2012-05-21 05:05:43 UTC
Permalink
Post by Sandwich
So in short; I'm going to take your advice and switch languages! So
can I confirm that VB6 would also be an appropriate choice? Its just
that there is a LOT of forum support etc for VB6 and that it very
tempting.
  VB6 would be fine, and you won't need to install any support
files. You can also get help here and there's lots of free code
around. But be aware that VB6 is no longer officially supported.
Microsoft is not yet trying to kill it. VB6 software runs on Win8
with no extra files needed. It pretty much runs on any Windows
computer now in use. In fact, VB6 is arguably the most widely
supported tool for Windows programming. (C++ is widely supported,
by VC++ has a different runtime for each version, so the later
the version you use the more target machines need runtimes
installed.)
   But VB6 won't be usable for Metro phone/
tablet apps, and while it can run on Win64, it can't run as
64-bit. That means, for instance, that if you write an IE browser
extension, Explorer Bar, etc., those can only be used in the 32
bit version of IE and Explorer respectively. Over time those
limitations may become notable. For the forseeable future,
however, they're not relevant unless you want to target Metro.
Mayayana, you are a star,

Thanks for taking and interest and replying.

Currently my app is actually only targetting a couple of computers and
no need for Metro support. Its really just something that I'm working
on in my free time to help this family out, but it was difficult to
know where to begin.

Anyway cheers again.

L.
Gordon Levi
2012-05-22 15:37:16 UTC
Permalink
Post by Sandwich
BTW you've convinced me to switch. I chose VB.net as I'm a new
programmer and the temptation is to think that you might as well learn
the most current imprint of the language.
I'm writing this software for deloyment on workstations that are
connected to a pretty tightly controlled Gov network, and when I tried
to run a debug build .exe of my app on my workstation at work I got a
dailog saying "you need to install .net redistributable packge
4.xxxx", which worried me as I want this to useable on in as many
environments as possible so it can be of assistance to staff who work
with this lady in a variety of places (day programs, etc)
So in short; I'm going to take your advice and switch languages! So
can I confirm that VB6 would also be an appropriate choice?
Only if your client/employer has signed in blood that they have read
and understood this document
<http://msdn.microsoft.com/en-us/vstudio/ms788708.aspx?ppud=4>.

Visual Basic "Classic" was probably the last in a line of BASIC
languages that made computer programming easy for beginners. I don't
think that it is a good language to teach yourself about programming
although it has the great advantage that you can produce a fancy GUI
with the minimum effort. In addition, given its doomed future, it
seems a waste of your time learning it now.
Mayayana
2012-05-22 17:24:02 UTC
Permalink
| Only if your client/employer has signed in blood that they have read
| and understood this document
| <http://msdn.microsoft.com/en-us/vstudio/ms788708.aspx?ppud=4>.
|

In blood? You must have some rather oddball clients.

That page basically says what I already explained: VB6 software
is widely supported, from Win95 through Win8, but the VB6 IDE as
a programming tool is no longer supported and won't be updated.
So newer aspects like 64-bit software are not possible with VB6.

I've seen the argument put forth that Basic is poorly designed
and sets bad habits for programmers. It's debated periodically on
Slashdot. I still don't see exactly why that's the case. It's always
seemed to me more of a matter of personal taste and pros/cons
for a given job. The main point I see put forth is that VB allows
one to be sloppy. Then again, so does the blade guard on a table
saw. Surely the context of the job to be done has some bearing on
how to choose a tool? Maybe C for drivers, B for database front-ends,
and a blending in the spectrum in between?

Either way, I'm curious what you would suggest for a simple
GUI program like that described. .Net has gigantic dependencies
and a questionable future. C++? That's an awfully lot of work, and
GUIs are tedious at best. And even that may have a shaky future.
Windows itself has a questionable future. One can use C++ to write
to Metro, but why go to so much trouble when you can only access
the WinRT wrapper sandbox? Since you're talking about a doomed
future, presumably you're talking about Win9 in .... 2016? What if
Win9 is Metro-only, and only MS software can run with the full API
(as will be the case with WinARM)? Should people then just stick to
javascript, on the assumption that it will be the lingua franca of a
cloud-crazed future where accessing an OS API will be a thing of
the past and the only widespread "programming" will be jazzed-up
webpages? (Personally I don't like javascript, but it *is* popping
up in an awfully lot of places.)

Auric_ mentioned the many other current Basic options. Do you
consider all of them to be junk because of an inherent fault in
the design of Basic-style languages?

I see no need to move from VB for many years to come, but if
I were just starting now the choices would be far less clear.
Windows programming is getting more restrictive. It's not clear
how useful custom compiled software will be in the future. MacOS
has always been restrictive. Linux will probably never be a suitable
Desktop OS. I don't even own a cellphone and have no plans to
buy one. Even if I did, having seen the shareware bubble come
and go, I'm not anxious to jump on the "phone app" bandwagon.
So for now I love VB and can do pretty much anything I need
with it, but it would be hard to recommend it as a first choice
to someone new.... except that I can't think of another first
choice that would be unquestionably better, at least for general
Windows "Desktop" software.

I don't know if I really have a point here. You just raised a
couple of interesting issues; issues that are potentially transforming
with the arrival of Metro and WinARM.

| Visual Basic "Classic" was probably the last in a line of BASIC
| languages that made computer programming easy for beginners. I don't
| think that it is a good language to teach yourself about programming
| although it has the great advantage that you can produce a fancy GUI
| with the minimum effort. In addition, given its doomed future, it
| seems a waste of your time learning it now.
Tom Shelton
2012-05-22 17:30:37 UTC
Permalink
Post by Mayayana
Post by Gordon Levi
Only if your client/employer has signed in blood that they have read
and understood this document
<http://msdn.microsoft.com/en-us/vstudio/ms788708.aspx?ppud=4>.
In blood? You must have some rather oddball clients.
<snip FUD, lies, and ignorant garbage />
Post by Mayayana
I don't know if I really have a point here. You just raised a
couple of interesting issues; issues that are potentially
transforming with the arrival of Metro and WinARM.
Joe, you are by far the biggest FUD machine I've ever seen. Seriously,
you should stick to writting bad vb code and hta's (lol!). You really
have no idea about anything. C++ shaky future? Seriously, that one
comment proves you are clueless when it comes to technology.
--
Tom Shelton
Mayayana
2012-05-22 18:03:04 UTC
Permalink
| Joe, you are by far the biggest FUD machine I've ever seen. Seriously,
| you should stick to writting bad vb code and hta's (lol!). You really
| have no idea about anything. C++ shaky future? Seriously, that one
| comment proves you are clueless when it comes to technology.
|

Nice to see your bile ducts are clear, Tom. I was
talking about C++ in terms of Windows programming.
On WinARM/Metro one can't write Windows software;
only WinRT applets. (Mozilla people were complaining
recently that MS isn't even going to let Firefox access
the Win32 API.) MS says you can use .Net, C++, or
javascript to write Metro applets. At that point we're
essentially talking about using C++ to code sandboxed
HTAs. It wouldn't make much sense if the same thing
can be done with script, would it?

So that's what I meant: Not that C++ has no future,
but rather that it's not clear how long we'll be able to
write and install compiled Windows software that uses
the full API. So C++ on Windows may become irrelevant.
(Remember C++/CLI? Did anyone ever use that? Now
there'll be C++/WinRT. It's rather insulting. It's like
car companies saying they'll no longer allow people to
work on their own cars...but feel free to use your power
socket wrench set when filling the windshield washer
fluid reservoir. It's one of the officially approved tools
for doing so. :)
Tom Shelton
2012-05-22 18:15:10 UTC
Permalink
Post by Mayayana
Post by Tom Shelton
Joe, you are by far the biggest FUD machine I've ever seen.
Seriously, you should stick to writting bad vb code and hta's
(lol!). You really have no idea about anything. C++ shaky future?
Seriously, that one comment proves you are clueless when it comes to
technology.
Nice to see your bile ducts are clear, Tom. I was
talking about C++ in terms of Windows programming.
On WinARM/Metro one can't write Windows software;
only WinRT applets. (Mozilla people were complaining
recently that MS isn't even going to let Firefox access
the Win32 API.) MS says you can use .Net, C++, or
javascript to write Metro applets. At that point we're
essentially talking about using C++ to code sandboxed
HTAs. It wouldn't make much sense if the same thing
can be done with script, would it?
Seriously, learn something about technology before you speak. Yes,
there are some limitations in the initial cut of WinRT - but, most of
those are for security reasons and user experience on low power
devices.

Yes, there are some functionality gaps in the current WinRT api, but
you can expect those to be closed over time. In fact, I expect many
will be closed by release.

If you for an instant think you can't write real apps for metro, you
must not just be ignorant, but dumber than a post as well.
Post by Mayayana
So that's what I meant: Not that C++ has no future,
but rather that it's not clear how long we'll be able to
write and install compiled Windows software that uses
the full API.
If you mean win32 - than my guess will be a long time. Probably at
least a few more versions - or when hardware is no longer able to run
it. But, not in metro.
Post by Mayayana
So C++ on Windows may become irrelevant.
(Remember C++/CLI? Did anyone ever use that?
In fact, yes. I have used it on several occasions. Not for general app
dev - but, I have used it to bring native code libraries into the .NET.
It's in fact very useful.
Post by Mayayana
Now
there'll be C++/WinRT. It's rather insulting. It's like
car companies saying they'll no longer allow people to
work on their own cars...but feel free to use your power
socket wrench set when filling the windshield washer
fluid reservoir. It's one of the officially approved tools
for doing so. :)
Get this through your skull - as far as windows is concerned - the
win32 api as you know it is deprecated. It is there and maintained for
backwards compatability.

As for your comments about C++/WinRT - huh? You do realize, that you
can use native code libraries in winrt? You can't use the win32 api,
but nothing stops you from creating your own...
--
Tom Shelton
Mayayana
2012-05-22 19:05:11 UTC
Permalink
| Get this through your skull - as far as windows is concerned - the
| win32 api as you know it is deprecated. It is there and maintained for
| backwards compatability.
|

That's simply not true. .Net is a wrapper around Win32.
WinRT is a wrapper around Win32.

http://tirania.org/blog/archive/2011/Sep-15.html
http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/15/winrt-and-net-in-windows-8.aspx

Win32 is not in any sense deprecated. It's restricted.
Read the news about Mozilla's complaints. They specifically
point out that IE (and other MS software) is using the
Windows API in Metro but that MS will not allow Firefox to
access it; and that they cannot produce a competitive browser
without that API access. Apparently the Mozilla people
thought MS would grant them an exception, but MS is no longer
under anti-trust scrutiny and they seem to have made clear
that there will be 2 classes of software going forward: The
native Microsoft programs (Office, IE, etc.) and everyone
else's sandboxed trinkets: WinRT HTAs. It's true, of course,
that WinRT is connected with battery issues, etc., but Metro
is also being put into Win8 as a wrapper GUI -- as the primary
GUI, even when there is no "swipe 'n smudge" functionality
on a given PC. And no one gets the option to choose which
native software they want to run. (Mozilla would presumably
write a lean version of Firefox for Metro and some people might
want the choice to risk their battery life. But they won't get
the choice.) Surely that's writing on the wall?

| As for your comments about C++/WinRT - huh? You do realize, that you
| can use native code libraries in winrt? You can't use the win32 api,
| but nothing stops you from creating your own...
|

I don't see the logic there. Create my own what? My
own kernel? My own hardware interface APIs? I hope
you'll make that public if you produce such a thing. It
sounds like fun. :)
Tom Shelton
2012-05-22 20:01:42 UTC
Permalink
Post by Mayayana
Post by Tom Shelton
Get this through your skull - as far as windows is concerned - the
win32 api as you know it is deprecated. It is there and maintained
for backwards compatability.
That's simply not true. .Net is a wrapper around Win32.
WinRT is a wrapper around Win32.
And? Comming from a vb user, that is pretty hilarious that you would
have issues with that.
Post by Mayayana
http://tirania.org/blog/archive/2011/Sep-15.html
http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/15/winrt-and-net-in-windows-8.aspx
Win32 is not in any sense deprecated. It's restricted.
Only on ARM - and MS is not encouraging it's use at all. My point is
that win32 is deprecated in that it is not likely to get a lot of
further enhancement and that it's not going to be the official primary
developement api for 3rd parties.

That's not to say it won't be around for a long time - of course it
will. But, that doesn't mean MS want's you to use it. And so, in that
sense it is deprecated. Like VB6. The runtime is still shiped - but,
MS doesn't want you using it.
Post by Mayayana
Read the news about Mozilla's complaints. They specifically
point out that IE (and other MS software) is using the
Windows API in Metro but that MS will not allow Firefox to
access it;
The complaint is about the legacy desktop on arm - Windows RT. MS is
not allowing any 3rd party software to run there. They are free to do
so on x86. And their Metro version will be allowed to run just fine.
I'm not sure where Firefox would benifit from direct api access since -
well, they don't use the same rendering engine that ie uses. And there
is nothing stoping them from accessing it. In fact, they are already
working on a metro version.
Post by Mayayana
and that they cannot produce a competitive browser
without that API access.
Only on arm. And why? Firefox doesn't use the trident engine... What
else would they need that wouldn't be provided by winrt?
Post by Mayayana
Apparently the Mozilla people
thought MS would grant them an exception, but MS is no longer
under anti-trust scrutiny and they seem to have made clear
that there will be 2 classes of software going forward: The
native Microsoft programs (Office, IE, etc.) and everyone
else's sandboxed trinkets: WinRT HTAs.
First off, metro apps are NOT trinkets - that kind of talk is what
makes me think this conversation is pointless. Sandboxed - yep. It's
called security. But, that doesn't mean that apps can't communicate or
interact. It's just done differently (contracts).
Post by Mayayana
It's true, of course,
that WinRT is connected with battery issues, etc., but Metro
is also being put into Win8 as a wrapper GUI -- as the primary
GUI, even when there is no "swipe 'n smudge" functionality
on a given PC. And no one gets the option to choose which
native software they want to run. (Mozilla would presumably
write a lean version of Firefox for Metro and some people might
want the choice to risk their battery life. But they won't get
the choice.) Surely that's writing on the wall?
I think you are confusing Windows 8 and Windows RT (windows on arm).
Windows 8 on x86 will allow them to have a native client - that you can
download and install just like any other software. You won't get it
through the windows marketplace - that will be the metro version, but
they can happily provide one for x86. It's different on windows rt. MS
is not allowing ANY 3rd party legacy desktop apps to run.
Post by Mayayana
Post by Tom Shelton
As for your comments about C++/WinRT - huh? You do realize, that
you can use native code libraries in winrt? You can't use the win32
api, but nothing stops you from creating your own...
I don't see the logic there. Create my own what? My
own kernel? My own hardware interface APIs? I hope
you'll make that public if you produce such a thing. It
sounds like fun. :)
Your own native code libraries, you know like mozilla's rendering
engine, etd.
--
Tom Shelton
Mayayana
2012-05-22 21:29:17 UTC
Permalink
| > Win32 is not in any sense deprecated. It's restricted.
|
| Only on ARM - and MS is not encouraging it's use at all. My point is
| that win32 is deprecated in that it is not likely to get a lot of
| further enhancement and that it's not going to be the official primary
| developement api for 3rd parties.

It is partially restricted on x86 Metro.
http://msdn.microsoft.com/en-us/library/windows/apps/br211369.aspx

But I understand
what you mean. Nevertheless, this is an important point
that MS tries to cloud up. If you search for WinRT you'll find
all sorts of articles talking about how "the aging win32 api"
is being replaced by WinRT. There was similar talk when
.Net came out. In both cases the new wrapper is marketed
as a new core API, replacing Win32. Microsoft has successfully
misled people, in both cases, into thinking they're getting
a newer, better engine when actually they're just getting
a wrapper. Even the experts are confused. Dino Esposito
says here, quite plainly, that .Net runs on top of the Win32
API:
http://www.drdobbs.com/windows/232200577

But then he goes on in blurry, vague language to say strange things
about WinRT like: "Microsoft is attempting to touch and restructure
some of the pillars of all Windows applications", implying that WinRT
is a fundamental new core API.
He then says, "WinRT is ultimately a new layer of code that is
expected to provide the same core services as Win32/COM."
A layer where? Again, he's implying but never actually claiming that
WinRT is a new core API. It sounds to me like he really just wasn't
sure when he wrote that article, so he avoided definitive statements.

Yet one of Microsoft's own people says the following here:

http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/15/winrt-and-net-in-windows-8.aspx

"Moreover, the WinRT APIs call into the Win32 DLLs - so they
are not a replacement but rather a wrapper, an API flavor, on
top of Win32."

So I'm not arguing with you on this. Just trying to clarify
what's going on and what the options are. Saying that Win32
is deprecated is misleading. What it really means is that MS
wants to discourage people from writing native software
and switch to web apps or phone apps. Deprecated generally
means "on its way out". The FONT tag was deprecated to let
people know that at some later point browsers wouldn't be
expected to support it. But MS is not phasing out Win32. And
Win32 is not "aging" or "crusty" or anything else of the sort.
Win32 is Windows. MS is just "discouraging its use" by anyone
other than themselves.

| > Read the news about Mozilla's complaints. They specifically
| > point out that IE (and other MS software) is using the
| > Windows API in Metro but that MS will not allow Firefox to
| > access it;
|
| The complaint is about the legacy desktop on arm - Windows RT. MS is
| not allowing any 3rd party software to run there. They are free to do
| so on x86. And their Metro version will be allowed to run just fine.
| I'm not sure where Firefox would benifit from direct api access since -
| well, they don't use the same rendering engine that ie uses.

How can you say that? MS software will have direct API
access on ARM while others will be limited to the WinRT
wrapper that prevents access to any direct hardware
and system APIs.

http://blog.mozilla.org/blog/2012/05/09/windows-on-arm-users-need-browser-choice-too/

The author never explains exactly which functionality is
missing, but it seems like common sense to me. WinRT is a
sandboxing wrapper for software that's seems to be mainly
running in a browser window itself. (The GUI options are
CSS and XAML. I haven't seen a detailed explanation about
that, but that's why I was talking about HTAs. The entire
WinRT system seems to be a kind of browser-based web
services platform running on Windows.) How could a fullscale
browser be built on that? Even if WinRT were not so limited...
if it were equivalent to .Net or Java... that would still be a
step away from the efficiency of direct API.

|
| > It's true, of course,
| > that WinRT is connected with battery issues, etc., but Metro
| > is also being put into Win8 as a wrapper GUI -- as the primary
| > GUI, even when there is no "swipe 'n smudge" functionality
| > on a given PC. And no one gets the option to choose which
| > native software they want to run. (Mozilla would presumably
| > write a lean version of Firefox for Metro and some people might
| > want the choice to risk their battery life. But they won't get
| > the choice.) Surely that's writing on the wall?
| >
|
|
| I think you are confusing Windows 8 and Windows RT (windows on arm).
| Windows 8 on x86 will allow them to have a native client - that you can
| download and install just like any other software. You won't get it
| through the windows marketplace - that will be the metro version, but
| they can happily provide one for x86. It's different on windows rt. MS
| is not allowing ANY 3rd party legacy desktop apps to run.

I understand all of that. But Metro on x86 is limited. (Link above.)
And it's the primary GUI. Native software can run on the Desktop.
I've already tested some and it's fine. But the Desktop, as you like
to say, is being "deprecated". The only reason to force Metro
on people with fullscale PCs is as a way to push toward further
restricting access in all versions of Windows down the road. On
a normal PC -- especially one without a touch-enabled screen --
there simply is no role at all for Metro. The M-Softies might say
that it's there because people mostly want to see realtime
updates onscreen, but that makes no sense. If you're on a bus,
looking at your phone, you might want to see who just posted
to your Facebook page without needing to log in. That's a clever
idea. But no one is going to sit around in their office, staring at
a 21" screen full of giant rectangles to watch Facebook news and
weather reports update themselves.

This is what I was saying before: So far everything still works
as of Windows 8. The API is accessible. VB6 software runs. But
the writing is on the wall that Microsoft is probably going to
try to rein it all in down the road.
Tom Shelton
2012-05-22 23:13:29 UTC
Permalink
Post by Mayayana
Post by Tom Shelton
Post by Mayayana
Win32 is not in any sense deprecated. It's restricted.
Only on ARM - and MS is not encouraging it's use at all. My point
is that win32 is deprecated in that it is not likely to get a lot of
further enhancement and that it's not going to be the official
primary developement api for 3rd parties.
It is partially restricted on x86 Metro.
http://msdn.microsoft.com/en-us/library/windows/apps/br211369.aspx
But I understand
what you mean. Nevertheless, this is an important point
that MS tries to cloud up.
Nothing is clouding up.
Post by Mayayana
If you search for WinRT you'll find
all sorts of articles talking about how "the aging win32 api"
is being replaced by WinRT.
Yep. That is the plan, and more and more evidence is pointing that
out.
Post by Mayayana
There was similar talk when
.Net came out.
And that was the plan, but it was premature.
Post by Mayayana
In both cases the new wrapper is marketed
as a new core API,
That was only briefly for .NET - for longhorn, before they "rebooted"
the project. That never saw the light of day, except in those few
pre-alpha technology preview releases.
Post by Mayayana
replacing Win32. Microsoft has successfully
misled people, in both cases, into thinking they're getting
a newer, better engine when actually they're just getting
a wrapper.
I'm not even sure what your problem here is, no one is disputing that
at least part of WinRT is a wrapper for a subset of the win32 api.
Duh! Why would they throw away code that has been around for ages?

I've never implied otherwise, jsut as some fo the win32 on 9x systems
called into win16....
Post by Mayayana
Even the experts are confused. Dino Esposito
says here, quite plainly, that .Net runs on top of the Win32
http://www.drdobbs.com/windows/232200577
But then he goes on in blurry, vague language to say strange things
about WinRT like: "Microsoft is attempting to touch and restructure
some of the pillars of all Windows applications", implying that WinRT
is a fundamental new core API.
Yep. That's the point.
Post by Mayayana
He then says, "WinRT is ultimately a new layer of code that is
expected to provide the same core services as Win32/COM."
Yep.
Post by Mayayana
A layer where? Again, he's implying but never actually claiming that
WinRT is a new core API.
It is. It is the api that windows will be presenting in the future.
Some features will continue to use the win32 underneath. Some stuff
will be implemented directly. All of that is irrelavent to the point -
win32 is not the primary api that is going to be targetd going forward.
Post by Mayayana
It sounds to me like he really just wasn't
sure when he wrote that article, so he avoided definitive statements.
http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/15/winrt-and-net-in-windows-8.aspx
"Moreover, the WinRT APIs call into the Win32 DLLs - so they
are not a replacement but rather a wrapper, an API flavor, on
top of Win32."
Not sure what your point is. They aren't going to dump the win32 - not
for a bit. That would be sucide - the facts are that windows 7 will be
around for a long time. Most big companies are just now transitioning
to windows 7 from xp. It will be at least 5 years before most of them
even consider switching to windows 8 (the exception might be adoption
of windows tablets). So, win32 will be there, and so it makes sense
that the new api, WinRT will make use of it when the functionality
overlapps. That's just smart software reuse....
Post by Mayayana
So I'm not arguing with you on this. Just trying to clarify
what's going on and what the options are. Saying that Win32
is deprecated is misleading. What it really means is that MS
wants to discourage people from writing native software
What does it have to do with native software? Win32 is not the
"native" windows api. It's just one api profile that is available for
the NT kernel. The kernel api's are really the "native" api if you
want to get down and dirty. Just like SFU (services for unix)
presented a unix api profile (which, called win32 for some of it's
work). That's all WinRT is is another api profile that happens to
expose it self via com (which makes sense as well, that's what com is
good at). And WinRT at it's core is native compiled code. So, please
define what you mean by "native" in this context?
Post by Mayayana
and switch to web apps or phone apps.
Not sure what you mean... Metro apps will most likely run on either
windows 8 or wp8 - but, not sure what web apps has to do with
anything...
Post by Mayayana
Deprecated generally
means "on its way out".
And it is. Just read a good summary of this over on the pb forums. As
noted, win32 api programmers are a dying breed.
Post by Mayayana
The FONT tag was deprecated to let
people know that at some later point browsers wouldn't be
expected to support it. But MS is not phasing out Win32.
When it is no longer meant to be the primary development api for
windws, I'm not sure what else it could mean...
Post by Mayayana
And
Win32 is not "aging" or "crusty" or anything else of the sort.
LOL... Yes it is.
Post by Mayayana
Win32 is Windows.
Ah, taht's where your wrong. Windows is the kernel. Windows is
perfectly capable of prenting more than one api profile. Win32 is just
one of them. Such as win64 and SFU are just a couple of examples.
Post by Mayayana
MS is just "discouraging its use" by anyone
other than themselves.
Yep. They are tryign to present a more unified and modern api. An api
that can be used across multiple devices and platforms. You know, the
whole 3 screens thing...

And with the current trends in mobile, it makes sense. The Win32 api
is just not cut out for low power mobile devices.
Post by Mayayana
Post by Tom Shelton
Post by Mayayana
Read the news about Mozilla's complaints. They specifically
point out that IE (and other MS software) is using the
Windows API in Metro but that MS will not allow Firefox to
access it;
The complaint is about the legacy desktop on arm - Windows RT. MS
is not allowing any 3rd party software to run there. They are free
to do so on x86. And their Metro version will be allowed to run
just fine. I'm not sure where Firefox would benifit from direct api
access since - well, they don't use the same rendering engine that
ie uses.
How can you say that? MS software will have direct API
access on ARM while others will be limited to the WinRT
wrapper that prevents access to any direct hardware
and system APIs.
Isn't that what I just said?
Post by Mayayana
http://blog.mozilla.org/blog/2012/05/09/windows-on-arm-users-need-browser-choice-too/
That never mentions win32 at all. Just no access to the Windows
Classic Desktop. This is not about win32 (well, not directly) but,
access to the windows legacy desktop environment on ARM.
Post by Mayayana
The author never explains exactly which functionality is
missing, but it seems like common sense to me.
Only because your lack knowledge. You understand that google and
mozilla are already making metro versions of their browsers right? The
metro version of firefox will run on x86 and arm, in the metro
environment - but, you won't be able to run firfox in the legacy
desktop on arm.

I would expect that in a version or two, ms will probably be removing
that desktop environment completely from windows rt.
Post by Mayayana
WinRT is a
sandboxing wrapper for software that's seems to be mainly
running in a browser window itself.
Yes, ie 10 will be the primary rendering engine. sort of...
Post by Mayayana
(The GUI options are
CSS and XAML. I haven't seen a detailed explanation about
that, but that's why I was talking about HTAs. The entire
WinRT system seems to be a kind of browser-based web
services platform running on Windows.)
options:

html5+css+javascript
WPF+C#/VB.NET/C++

Which by the way, ie can already render xaml - as long as it doesn't
have code behind. On a high level XAML is simply a xml based
discription of the UI. It is compiled into a binary format, called
baml, and then the runtime extracts that and uses it to render the UI
on a directx drawing surface. There are no "windows" in a pure wpf app
(well, except the one containing the drawing surface). WPF is
resolution independant. WPF supports multi-touch and ink. WPF is
hardware accelerated (uses directx for the rendering). And highly
customizable. It is was so good - that, the windows team has pulled it
from the tools division and made it the primary api for metro apps.
Post by Mayayana
How could a fullscale
browser be built on that? Even if WinRT were not so limited...
Because as I have told you many times already, Firefox does not use the
native trident rendering engine. It has it's own - gecko, a platform
independant rendering engine. It is already working on arm - under
linux. And, as I've already told you - you can create your own native
code libraries and expose them to your Metro applications.
Post by Mayayana
if it were equivalent to .Net or Java... that would still be a
step away from the efficiency of direct API.
You really don't understand anything do you? You are just letting your
assumptions cloud your oppinion.
Post by Mayayana
Post by Tom Shelton
Post by Mayayana
It's true, of course,
that WinRT is connected with battery issues, etc., but Metro
is also being put into Win8 as a wrapper GUI -- as the primary
GUI, even when there is no "swipe 'n smudge" functionality
on a given PC. And no one gets the option to choose which
native software they want to run. (Mozilla would presumably
write a lean version of Firefox for Metro and some people might
want the choice to risk their battery life. But they won't get
the choice.) Surely that's writing on the wall?
I think you are confusing Windows 8 and Windows RT (windows on arm).
Windows 8 on x86 will allow them to have a native client - that you
can download and install just like any other software. You won't
get it through the windows marketplace - that will be the metro
version, but they can happily provide one for x86. It's different
on windows rt. MS is not allowing ANY 3rd party legacy desktop apps
to run.
I understand all of that. But Metro on x86 is limited. (Link
above.) And it's the primary GUI.
yes, metro disallows direct win32 calls. It can be done - but, you
won't be able to get your apps in the app store if you plan to sell
them :)
Post by Mayayana
Native software can run on the
Desktop.
The desktop you are refuring too is there for support of legacy apps :)
Post by Mayayana
I've already tested some and it's fine. But the Desktop, as
you like to say, is being "deprecated". The only reason to force
Metro on people with fullscale PCs is as a way to push toward further
restricting access in all versions of Windows down the road. On
a normal PC -- especially one without a touch-enabled screen --
there simply is no role at all for Metro. The M-Softies might say
that it's there because people mostly want to see realtime
updates onscreen, but that makes no sense. If you're on a bus,
looking at your phone, you might want to see who just posted
to your Facebook page without needing to log in. That's a clever
idea. But no one is going to sit around in their office, staring at
a 21" screen full of giant rectangles to watch Facebook news and
weather reports update themselves.
You realize what you said is completely ridiculous? Of course no one
is going to sit and stare the tiles - they will run apps. See you keep
thinking you can't create useful metro apps... Which is not the case
at all.
Post by Mayayana
This is what I was saying before: So far everything still works
as of Windows 8. The API is accessible. VB6 software runs. But
the writing is on the wall that Microsoft is probably going to
try to rein it all in down the road.
Yep. But, it isn't all about control - it's about being able to create
one app that runs accross multiple devices and hardware platforms.
Obviously, they are changing a bit of the distribution model - and I
can't blame them really. It's about money, and apple seems to be doing
quite a brisk buisness... So, I'm not going to complain too much about
that
--
Tom Shelton
Mayayana
2012-05-23 13:10:51 UTC
Permalink
As usual, your "views" and "facts" are indistinguishable
from the Microsoft marketing party line, and this is beginning
to turn into one of those Lehrer Report discussions, where
two sides just vehemently blurt their pre-prepared propaganda,
with no clarification resulting.

But I've said my piece and provided links, so anyone
concerned with where Windows and Windows programming
are headed can look into it themselves and come to their
own conclusions.
Tom Shelton
2012-05-23 16:24:21 UTC
Permalink
Post by Mayayana
As usual, your "views" and "facts" are indistinguishable
from the Microsoft marketing party line, and this is beginning
to turn into one of those Lehrer Report discussions, where
two sides just vehemently blurt their pre-prepared propaganda,
with no clarification resulting.
LOL... My views and facts are in line with reality. The market is
changing. The desktop while still very important, is starting to slip
from it's former position of glory. Win32 is not compatible with that
change. There are 2 many different architectures and form factors. MS
is fighting for it's long term survival - well, I don't think
ultimately the this change will cause the demise of MS, but they have
certainly begun to slide down the totem poll of power :) Fortunately,
for them they have a lot of pieces in place to make said transition.
The question is in my mind, will it be enough?
--
Tom Shelton
Tom Shelton
2012-05-22 20:37:43 UTC
Permalink
Post by Mayayana
Post by Tom Shelton
Get this through your skull - as far as windows is concerned - the
win32 api as you know it is deprecated. It is there and maintained
for backwards compatability.
That's simply not true. .Net is a wrapper around Win32.
WinRT is a wrapper around Win32.
http://tirania.org/blog/archive/2011/Sep-15.html
http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/15/winrt-and-net-in-windows-8.aspx
Win32 is not in any sense deprecated.
Want more proof? VS11 Express - no support for anything but metro
apps... You want to do windows forms or native api type stuff - you
need to have a paid version.
--
Tom Shelton
Mayayana
2012-05-25 14:55:57 UTC
Permalink
| Want more proof? VS11 Express - no support for anything but metro
| apps... You want to do windows forms or native api type stuff - you
| need to have a paid version.
|

There's an interesting, clear article about this over
at Ars Technica today:

http://arstechnica.com/information-technology/2012/05/no-cost-desktop-software-development-is-dead-on-windows-8/

Though I don't feel quite so gloomy about it all as the
Ars people do. VS6 was expensive. .Net and later versions
of C++ have been available in free versions up until now.
I have a free copy of VC++ 2008 that works fine. For
anyone starting out on Desktop software, the API hasn't
changed in a big way since 1995, so they don't need the
latest version.

One point that hadn't been clear to me:
Even on x86, Metro software will only be available through
the MS online store, requiring fees and approval to get there
in the first place. Considering the differences with Metro, I
don't see any reason to lump that together with Windows
programming.

There's Windows software.
There's Metro trinkets on tablets and phones.

The only real connection between the two is that Microsoft
has grafted a Metro GUI onto Windows, like some kind of bizarre,
superfluous Frankenstein head, as a marketing ploy to point
people toward their tablets and phones.
Mayayana
2012-05-22 18:38:08 UTC
Permalink
| Joe, you are by far the biggest FUD machine I've ever seen. Seriously,
| you should stick to writting bad vb code and hta's (lol!). You really
| have no idea about anything. C++ shaky future? Seriously, that one
| comment proves you are clueless when it comes to technology.
|

I know you're not fond of understanding my points
when they conflict with your intended criticism, but
looking back at my earlier post, it's hard to see how
you could have managed to take my point so much
out of context that you heard me say simply that
C++ has no future.

And FUD? Doesn't that mean "fear, uncertainty and
doubt"? Wouldn't you agree that I often have certainty
to a fault? :) What am I spreading doubt about? The
future of Windows? I thought I was portraying a
reasonably accurate picture of the relative merits of
VB vs .Net vs Windows scripting, for Sandwich's purposes.

The fear, uncertainty and doubt about the future of Windows
are.... quite certain, without a doubt! That's not my idea.
But of course it is from a certain point of view: A point of
view of someone who wants to be able to program in
Windows and use the product as they see fit. For you
it may be different. If you're happy loading .Net, in order
to load WinRT, in order to get a small subset of Windows
functionality in your "next-gen" HTA Metro app then you
may not be concerned about all of this. How is that Angry
Squirrels app coming, by the way? Will it be done in time
for the 3 dozen WinPhone8 customers, before they've
spent all their discretionary income on "Find My House"
and "Tell Me When I'm Out Of Toilet Paper" apps?

Microsoft has billions to spend on propagandizing their
uniquely colorful version of truth. Yet when the occasional
nobody like myself tries to shed a bit of non-marketing light
on things you fume "FUD" and "Microsoft bashing". If I'm so
far out in left field then one has to wonder why you get so
worked up about it.
Tom Shelton
2012-05-22 18:47:46 UTC
Permalink
Post by Mayayana
Post by Tom Shelton
Joe, you are by far the biggest FUD machine I've ever seen.
Seriously, you should stick to writting bad vb code and hta's
(lol!). You really have no idea about anything. C++ shaky future?
Seriously, that one comment proves you are clueless when it comes to
technology.
I know you're not fond of understanding my points
when they conflict with your intended criticism, but
looking back at my earlier post, it's hard to see how
you could have managed to take my point so much
out of context that you heard me say simply that
C++ has no future.
And FUD? Doesn't that mean "fear, uncertainty and
doubt"? Wouldn't you agree that I often have certainty
to a fault? :) What am I spreading doubt about? The
future of Windows? I thought I was portraying a
reasonably accurate picture of the relative merits of
VB vs .Net vs Windows scripting, for Sandwich's purposes.
Nope. You weren't.
Post by Mayayana
The fear, uncertainty and doubt about the future of Windows
are.... quite certain, without a doubt! That's not my idea.
But of course it is from a certain point of view: A point of
view of someone who wants to be able to program in
Windows and use the product as they see fit. For you
it may be different. If you're happy loading .Net, in order
to load WinRT, in order to get a small subset of Windows
functionality in your "next-gen" HTA Metro app then you
may not be concerned about all of this.
This is exactly what I'm talking about.
--
Tom Shelton
Gordon Levi
2012-05-24 13:44:47 UTC
Permalink
Post by Mayayana
| Only if your client/employer has signed in blood that they have read
| and understood this document
| <http://msdn.microsoft.com/en-us/vstudio/ms788708.aspx?ppud=4>.
|
In blood? You must have some rather oddball clients.
Is that expression not used in the United States?
Post by Mayayana
That page basically says what I already explained: VB6 software
is widely supported, from Win95 through Win8, but the VB6 IDE as
a programming tool is no longer supported and won't be updated.
So newer aspects like 64-bit software are not possible with VB6.
Agreed, and I think it is important to ensure that a client
understands that they are not getting programs written in Microsoft's,
or anybody else's, current preferred language. In your case they may
well decide that they are getting their preferred programmer and they
will leave the choice of language to you. That would be foolish if
they are giving the job to a novice programmer.
Post by Mayayana
I've seen the argument put forth that Basic is poorly designed
and sets bad habits for programmers. It's debated periodically on
Slashdot. I still don't see exactly why that's the case. It's always
seemed to me more of a matter of personal taste and pros/cons
for a given job. The main point I see put forth is that VB allows
one to be sloppy. Then again, so does the blade guard on a table
saw. Surely the context of the job to be done has some bearing on
how to choose a tool? Maybe C for drivers, B for database front-ends,
and a blending in the spectrum in between?
Either way, I'm curious what you would suggest for a simple
GUI program like that described.
I was faced with this choice and I chose Java plus the Netbeans IDE
that comes with a GUI designer that writes the Java GUI code for you.
After Microsoft abandoned VB Classic I was determined not to rely on
Microsoft again and I felt that IBM and/or Oracle would continue to
support Java. I am an experienced programmer, including C, so Java
was not frightening and, if necessary, I can wade through the code
that Netbeans generates for a GUI.

I can't recommend this choice for a beginner and I don't know a
general purpose language that I would recommend to one.
Post by Mayayana
.Net has gigantic dependencies
and a questionable future. C++? That's an awfully lot of work, and
GUIs are tedious at best. And even that may have a shaky future.
Windows itself has a questionable future. One can use C++ to write
to Metro, but why go to so much trouble when you can only access
the WinRT wrapper sandbox? Since you're talking about a doomed
future, presumably you're talking about Win9 in .... 2016? What if
Win9 is Metro-only, and only MS software can run with the full API
(as will be the case with WinARM)? Should people then just stick to
javascript, on the assumption that it will be the lingua franca of a
cloud-crazed future where accessing an OS API will be a thing of
the past and the only widespread "programming" will be jazzed-up
webpages? (Personally I don't like javascript, but it *is* popping
up in an awfully lot of places.)
Auric_ mentioned the many other current Basic options. Do you
consider all of them to be junk because of an inherent fault in
the design of Basic-style languages?
I see no need to move from VB for many years to come, but if
I were just starting now the choices would be far less clear.
Windows programming is getting more restrictive. It's not clear
how useful custom compiled software will be in the future. MacOS
has always been restrictive. Linux will probably never be a suitable
Desktop OS. I don't even own a cellphone and have no plans to
buy one. Even if I did, having seen the shareware bubble come
and go, I'm not anxious to jump on the "phone app" bandwagon.
So for now I love VB and can do pretty much anything I need
with it, but it would be hard to recommend it as a first choice
to someone new.... except that I can't think of another first
choice that would be unquestionably better, at least for general
Windows "Desktop" software.
I don't know if I really have a point here. You just raised a
couple of interesting issues; issues that are potentially transforming
with the arrival of Metro and WinARM.
In your interesting coverage of the issues raised when choosing a
programming language you have omitted that of maintenance. I would
reject many languages including various flavours of BASIC because
there are not enough programmers familiar with the language. I would
also base my selection on a choice of development environments rather
than being dependant on a single IDE.
Mayayana
2012-05-24 14:07:28 UTC
Permalink
|>| Only if your client/employer has signed in blood that they have read
|>| and understood this document
|>| <http://msdn.microsoft.com/en-us/vstudio/ms788708.aspx?ppud=4>.
|>|

| > In blood? You must have some rather oddball clients.
|
| Is that expression not used in the United States?

Well, yes, in Indiana jones movies and the like. :)
Actually it was just meant as a slight tease because
it sounded very dramatic in the context.

| > Either way, I'm curious what you would suggest for a simple
| >GUI program like that described.
|
| I was faced with this choice and I chose Java plus the Netbeans IDE
| that comes with a GUI designer that writes the Java GUI code for you.
| After Microsoft abandoned VB Classic I was determined not to rely on
| Microsoft again and I felt that IBM and/or Oracle would continue to
| support Java. I am an experienced programmer, including C, so Java
| was not frightening and, if necessary, I can wade through the code
| that Netbeans generates for a GUI.
|
| I can't recommend this choice for a beginner and I don't know a
| general purpose language that I would recommend to one.
|

Thank you. It's interesting to hear what different people
are doing. The speed of change just seems to keep
accelerating and it's hard to guess what the future landscape
will be. I know a Java programmer who works for Nokia.
Java seems to have served him well... though one has to
wonder whether Nokia itself will survive!
Mike Williams
2012-05-24 15:07:36 UTC
Permalink
Post by Gordon Levi
I was faced with this choice and I chose Java plus the
Netbeans IDE that comes with a GUI designer that
writes the Java GUI code for you.
I've been toying with the idea of having a look at Java myself, although I
haven't done so yet. I'm purely a hobbyist myself and so I don't know
whether Java would be of any use to someone who intends to make his living
at programming, but I'm currently thinking about buying an Android Tablet
and I think that Java would be the way to go for writing code to run on such
machines, or on Android 'phones, at least from a hobbyist's perspective.

Mike
Tom Shelton
2012-05-24 15:57:26 UTC
Permalink
Post by Mike Williams
Post by Gordon Levi
I was faced with this choice and I chose Java plus the
Netbeans IDE that comes with a GUI designer that
writes the Java GUI code for you.
I've been toying with the idea of having a look at Java myself,
although I haven't done so yet. I'm purely a hobbyist myself and so I
don't know whether Java would be of any use to someone who intends to
make his living at programming, but I'm currently thinking about
buying an Android Tablet and I think that Java would be the way to go
for writing code to run on such machines, or on Android 'phones, at
least from a hobbyist's perspective.
Mike
Java is really the only way to go for android for a hobbyist.
--
Tom Shelton
Gordon Levi
2012-05-25 08:39:24 UTC
Permalink
Post by Mike Williams
Post by Gordon Levi
I was faced with this choice and I chose Java plus the
Netbeans IDE that comes with a GUI designer that
writes the Java GUI code for you.
I've been toying with the idea of having a look at Java myself, although I
haven't done so yet. I'm purely a hobbyist myself and so I don't know
whether Java would be of any use to someone who intends to make his living
at programming, but I'm currently thinking about buying an Android Tablet
and I think that Java would be the way to go for writing code to run on such
machines, or on Android 'phones, at least from a hobbyist's perspective.
Unfortunately, Google chose to release their development tools
<http://developer.android.com/> for the Eclipse IDE
<http://www.eclipse.org/>. In addition, their GUI is not the
conventional Swing Java GUI. There are some WYSIWIG design tools for
Android but they are fairly primitive. If your only programming
experience is VB "Classic" you are in for a _very_ steep learning
curve and I would suggest you write a simple Java desktop application
using Netbeans <http://netbeans.org/> before you embark on writing an
Android app.

You will find the folks at comp.lang.java.programmer generally very
helpful. Roedy Green is a regular contributor and he has provided a
"Getting Started" guide here -
<http://mindprod.com/jgloss/gettingstarted.html>.
Mike Williams
2012-05-25 10:23:56 UTC
Permalink
I've been toying with the idea of having a look at Java,
although I haven't done so yet. I'm purely a hobbyist myself
and so I don't know whether Java would be of any use to
someone who intends to make his living at programming, but
I'm currently thinking about buying an Android Tablet and
I think that Java would be the way to go for writing code to
run on such machines, or on Android 'phones, at least from
a hobbyist's perspective.
If your only programming experience is VB "Classic" you
are in for a _very_ steep learning curve . . .
A steep learning curve wouldn't normally bother me if I thought there were
many years of usefulness to be got out of what I learned, but at my age I
don't think I'll have that ;-) The only programming experience I have other
than various dialects of BASIC is machine code, initially without the help
of an Assembler and later with one, but that was in the days of the 6502 and
later the 68000 when I became quite proficient at using machine code on
computers such the Oric and the C64 and the Amiga. However, in those days
processors and the machines they drove were much simpler, so I don't think
that experience will be of much use to me today!
. . . and I would suggest you write a simple Java desktop
application using Netbeans <http://netbeans.org/> before
you embark on writing an Android app.
Thanks. I'll have a look at that.

Mike
Gordon Levi
2012-05-27 13:07:52 UTC
Permalink
Post by Mike Williams
I've been toying with the idea of having a look at Java,
although I haven't done so yet. I'm purely a hobbyist myself
and so I don't know whether Java would be of any use to
someone who intends to make his living at programming, but
I'm currently thinking about buying an Android Tablet and
I think that Java would be the way to go for writing code to
run on such machines, or on Android 'phones, at least from
a hobbyist's perspective.
If your only programming experience is VB "Classic" you
are in for a _very_ steep learning curve . . .
A steep learning curve wouldn't normally bother me if I thought there were
many years of usefulness to be got out of what I learned, but at my age I
don't think I'll have that ;-) The only programming experience I have other
than various dialects of BASIC is machine code, initially without the help
of an Assembler and later with one, but that was in the days of the 6502 and
later the 68000 when I became quite proficient at using machine code on
computers such the Oric and the C64 and the Amiga. However, in those days
processors and the machines they drove were much simpler, so I don't think
that experience will be of much use to me today!
On the contrary. Your machine code (I'm assuming assembly language)
experience is ideal as an introduction to Java. Java is a successor to
C++ and C was originally intended to simplify assembly language
programming. You will recognise the low level machine operations that
underly Java although I agree that assembly language programming on a
modern processor would be a much more daunting task than the
processors you list. Java even has a ++ operator straight from
PDP11/68000 machine code.

There are two further obstacles. If, like me, you have ignored the
basics of object oriented programming when programming in VB you will
need to learn them. The second is getting to grips with the libraries
that are the real basis of Java. In addition to the standard libraries
there are hundreds of others and it is likely that if you want to do
something there is a library for it if only one can find it.

Judging from the other posts in this thread it seems wise not to rely
on Microsoft for one's next language!
Mike Williams
2012-05-27 15:44:27 UTC
Permalink
Post by Gordon Levi
On the contrary. Your machine code (I'm assuming assembly
language) experience is ideal as an introduction to Java.
Actually on the 6502 I used to jot down the mnemonics together with the
appropriate data bytes on a sheet of paper (so I could write whether I was
at my computer or not) and then look up and enter the appropriate hex
numbers into data strings on my computer when I got the chance.
Surprisingly, after some time doing this, I ended up with the hex numbers
for the various instructions inside my head, so I could skip one of the
steps! This was in the days of the 6502 of course (and 6510), which from
memory had only about 253 instructions. I could write only relatively simple
routines this way of course, and so I soon decided to write a simple
Assembler (in C64 Basic) which helped me a great deal and which served me
fine.
Post by Gordon Levi
Java is a successor to C++ and C was originally intended to
simplify assembly language programming. You will recognise
the low level machine operations that underly Java although
I agree that assembly language programming on a modern
processor would be a much more daunting task than the
processors you list. Java even has a ++ operator straight from
PDP11/68000 machine code.
Yes, that's the thing that worries me, the complexity of modern processors
and the complexity of the operating system and of the machines themselves. I
wasn't kidding when I said "I might not have enough time left to make it
worthwhile" because I am on the final approach to my biblically allotted
three score years and ten! I might still give it a go though.
Post by Gordon Levi
There are two further obstacles. If, like me, you have ignored
the basics of object oriented programming when programming
in VB you will need to learn them.
Yeah. I have. I have never been really comfortable with any high level
language really, even with VB6 until I got used to it, because it means
learning and abiding by other people's rules. I was far more at home with
Assembler, where all I needed to know was the start address of the screen
memory and the details of the I/O of the built in sound and graphics chips
and the world was my oyster. Those days have well and truly gone though :-(
Post by Gordon Levi
Judging from the other posts in this thread it seems wise not
to rely on [as an alternative] Microsoft for one's next language!
I'll drink to that ;-)

Mike
ralph
2012-05-27 22:12:23 UTC
Permalink
On Sun, 27 May 2012 23:07:52 +1000, Gordon Levi
Post by Gordon Levi
Post by Mike Williams
If your only programming experience is VB "Classic" you
are in for a _very_ steep learning curve . . .
A steep learning curve wouldn't normally bother me if I thought there were
many years of usefulness to be got out of what I learned, but at my age I
don't think I'll have that ;-) The only programming experience I have other
than various dialects of BASIC is machine code, initially without the help
of an Assembler and later with one, but that was in the days of the 6502 and
later the 68000 when I became quite proficient at using machine code on
computers such the Oric and the C64 and the Amiga. However, in those days
processors and the machines they drove were much simpler, so I don't think
that experience will be of much use to me today!
On the contrary. Your machine code (I'm assuming assembly language)
experience is ideal as an introduction to Java. Java is a successor to
C++ and C was originally intended to simplify assembly language
programming. You will recognise the low level machine operations that
underly Java although I agree that assembly language programming on a
modern processor would be a much more daunting task than the
processors you list. Java even has a ++ operator straight from
PDP11/68000 machine code.
That is a rather extraordinary observation, as Java was designed from
the ground up to be completely independent of any specific hardware
implementation. It takes its syntax from, designed to have a simpler
object model, and to have fewer 'lower-level' facilities than C++. Any
"low level machine operations" that you seem to recognize as
underlying the Java language are likely imaginary.

While any prior programming experience helps in learning a new
language/platform (including an active imagination), IMHO, I would
rank "machine code" rather far down the list for learning Java.

One of the best prior language/platform experiences for learning Java
is another object-oriented and class-based language - like VB for
example. <g>
Post by Gordon Levi
There are two further obstacles. If, like me, you have ignored the
basics of object oriented programming when programming in VB you will
need to learn them. The second is getting to grips with the libraries
that are the real basis of Java. In addition to the standard libraries
there are hundreds of others and it is likely that if you want to do
something there is a library for it if only one can find it.
And not surprising since the Java language is object-oriented and
class-based. Duh.

-ralph
Mike Williams
2012-05-30 06:04:44 UTC
Permalink
Post by ralph
While any prior programming experience helps in learning
a new language/platform (including an active imagination),
IMHO, I would rank "machine code" rather far down the
list for learning Java.
If Java is what you say it is then I'm sure you're right about that, but why
have you put the phrase machine code in quotes? Is there something you don't
like about that phrase?

Mike
ralph
2012-05-30 07:36:45 UTC
Permalink
On Wed, 30 May 2012 07:04:44 +0100, "Mike Williams"
Post by Mike Williams
Post by ralph
While any prior programming experience helps in learning
a new language/platform (including an active imagination),
IMHO, I would rank "machine code" rather far down the
list for learning Java.
If Java is what you say it is then I'm sure you're right about that, but why
have you put the phrase machine code in quotes? Is there something you don't
like about that phrase?
Mike
One is never quite sure what someone might mean by "machine code",
especially when used in the same context as writing. Mr. Levi
qualified the OP's use of the term with "Your machine code (I'm
assuming assembly language) ...". Which would be my guess as well. But
then Mr. Levi went on to note the similarity of a Java operator to
"machine code" - perhaps once again meaning assembly language.

-ralph
Mike Williams
2012-05-31 07:54:08 UTC
Permalink
Post by ralph
On Wed, 30 May 2012 07:04:44 +0100, "Mike Williams"
Post by Mike Williams
If Java is what you say it is then I'm sure you're right about
that, but why have you put the phrase machine code in
quotes? Is there something you don't like about that phrase?
One is never quite sure what someone might mean by
"machine code", especially when used in the same context
as writing. Mr. Levi qualified the OP's use of the term with
"Your machine code (I'm assuming assembly language) ...".
Which would be my guess as well.
Oh, right. I just wondered what you were implying, especially since your
post was written after I had already amplified what I had meant myself by
the phrase "machine code" when I told Gordon Levi that I used to write the
mnemonics and their accompanying data bytes onto a piece of paper whenever I
had time to do a bit of coding, calculating the values for the relative
branches etc manually, and then later when I was on my computer typing all
the appropriate hex numbers directly into BASIC data strings so that I could
dump the data to memory and send the processor to it. That was what I
personally meant by "machine code", which is about the lowest level you can
get with a machine (except of course for the micro code that only the
designers of the processor chip deal with). An Assembler was not involved at
all, at least not until many months later when I decided to write my own
simple Assembler in BASIC. That was in the old days of course. I certainly
wouldn't like to try that on today's machines!

Mike
ralph
2012-05-31 15:33:47 UTC
Permalink
On Thu, 31 May 2012 08:54:08 +0100, "Mike Williams"
Post by Mike Williams
Post by ralph
On Wed, 30 May 2012 07:04:44 +0100, "Mike Williams"
Post by Mike Williams
If Java is what you say it is then I'm sure you're right about
that, but why have you put the phrase machine code in
quotes? Is there something you don't like about that phrase?
One is never quite sure what someone might mean by
"machine code", especially when used in the same context
as writing. Mr. Levi qualified the OP's use of the term with
"Your machine code (I'm assuming assembly language) ...".
Which would be my guess as well.
Oh, right. I just wondered what you were implying, especially since your
post was written after I had already amplified what I had meant myself by
the phrase "machine code" when I told Gordon Levi that I used to write the
mnemonics and their accompanying data bytes onto a piece of paper whenever I
had time to do a bit of coding, calculating the values for the relative
branches etc manually, and then later when I was on my computer typing all
the appropriate hex numbers directly into BASIC data strings so that I could
dump the data to memory and send the processor to it. That was what I
personally meant by "machine code", which is about the lowest level you can
get with a machine (except of course for the micro code that only the
designers of the processor chip deal with). An Assembler was not involved at
all, at least not until many months later when I decided to write my own
simple Assembler in BASIC. That was in the old days of course. I certainly
wouldn't like to try that on today's machines!
Those were fun days.

Back in '81/82, while I had been programming for five years on "real
computers" I really had only a vague understanding of how computers
actually worked at the hardware level, as "real computers" were a
collection of big mystery boxes kept behind glass doors, and guarded
by people who only sneered or told you to RTFM if questioned.

My wife took a BASIC class, and complained one day about not getting
any 'computer time' - so I went out and bought a 'Toy' Atari 800. She
never really got much time with it either - I took it over. <g>

I was totally enthralled - there were all the 'mystery boxes' bundled
together in one case. I was also lucky to pickup, what they called, a
'machine language monitor'. So I was never reduced to typing pure
data. I also discovered a C compiler with the wonderful name - "Deep
Blue C". <g> So to do my "machine coding" I would write something
close in C - disassemble it, then chew on the assembly.

Later on when the IBM PC came along, I discovered MASM and the tons of
binary libraries (and 'macros') available. I combined that tool with
my old trick of writing the program basics in C and dumping the
assembly.

So while, during the early years I noted various "Assembly Languages"
on my resume, had a decent number of projects to my credit, viewed
literally reams and reams of assembly, and impressed clients on
numerous occasions with how fast I was able to deliver "machine coded"
solutions - in 30 years I have actually written comparatively few
lines of machine code. <bg>

-ralph

Gordon Levi
2012-05-30 13:19:00 UTC
Permalink
Post by ralph
On Sun, 27 May 2012 23:07:52 +1000, Gordon Levi
Post by Gordon Levi
Post by Mike Williams
If your only programming experience is VB "Classic" you
are in for a _very_ steep learning curve . . .
A steep learning curve wouldn't normally bother me if I thought there were
many years of usefulness to be got out of what I learned, but at my age I
don't think I'll have that ;-) The only programming experience I have other
than various dialects of BASIC is machine code, initially without the help
of an Assembler and later with one, but that was in the days of the 6502 and
later the 68000 when I became quite proficient at using machine code on
computers such the Oric and the C64 and the Amiga. However, in those days
processors and the machines they drove were much simpler, so I don't think
that experience will be of much use to me today!
On the contrary. Your machine code (I'm assuming assembly language)
experience is ideal as an introduction to Java. Java is a successor to
C++ and C was originally intended to simplify assembly language
programming. You will recognise the low level machine operations that
underly Java although I agree that assembly language programming on a
modern processor would be a much more daunting task than the
processors you list. Java even has a ++ operator straight from
PDP11/68000 machine code.
That is a rather extraordinary observation, as Java was designed from
the ground up to be completely independent of any specific hardware
implementation. It takes its syntax from, designed to have a simpler
object model, and to have fewer 'lower-level' facilities than C++. Any
"low level machine operations" that you seem to recognize as
underlying the Java language are likely imaginary.
I gave the ++ example which is a straight carryover from C and was
included in C because ++ is implemented in hardware on the PDP11. Most
high level languages prefer "n := n+1" rather than introducing special
operators for special cases just because the hardware supports them.
Post by ralph
While any prior programming experience helps in learning a new
language/platform (including an active imagination), IMHO, I would
rank "machine code" rather far down the list for learning Java.
You are almost certainly wrong. Some understanding of the underlying
hardware is invaluable when learning to program in any language
(except Lisp!). With Java, in particular, a knowledge of a machine
code provides an easy transition to understanding the JVM.
Post by ralph
One of the best prior language/platform experiences for learning Java
is another object-oriented and class-based language
Agreed.
Post by ralph
- like VB for
example. <g>
As both Mike Williams and I have admitted it is easy to write in VB
Classic without thinking in terms of objects and classes.
Post by ralph
Post by Gordon Levi
There are two further obstacles. If, like me, you have ignored the
basics of object oriented programming when programming in VB you will
need to learn them. The second is getting to grips with the libraries
that are the real basis of Java. In addition to the standard libraries
there are hundreds of others and it is likely that if you want to do
something there is a library for it if only one can find it.
And not surprising since the Java language is object-oriented and
class-based. Duh.
I posted in the hope that I was providing some helpful advice to Mike
Williams because I had already encountered some difficulties that I
thought he might find. Why did you post? I ask because I have observed
that "Duh" usually indicates a desire to show off rather than help.
ralph
2012-05-30 19:09:29 UTC
Permalink
On Wed, 30 May 2012 23:19:00 +1000, Gordon Levi
Post by Gordon Levi
Post by ralph
And not surprising since the Java language is object-oriented and
class-based. Duh.
I posted in the hope that I was providing some helpful advice to Mike
Williams because I had already encountered some difficulties that I
thought he might find. Why did you post? I ask because I have observed
that "Duh" usually indicates a desire to show off rather than help.
Probably. <g>

Any unsolicited attempt to edify can always be construed as "showing
off" and my "folly meter" was approaching the red zone.
In any case IMHO your observations were not sound.
Post by Gordon Levi
Most
high level languages prefer "n := n+1" rather than introducing special
operators for special cases just because the hardware supports them
Wrong again.

Most "high-level languages" don't support a unary increment operator,
because if they did then they would also likely have to support both
forms - a prefix; a value after, and a postfix; a value before - an
unnecessary complication as positional semantics and extra operators
tend to reduce clarity in an environment where clarity is the goal.

The real error in your observations is drawing inferences between
language 'instructions' and machine 'instructions' that are not
warranted, but common enough - I've done it myself on occasion.

And easily done since the whole point of a programming language IS to
convert language instructions into machine instructions. (I'll give
myself a Duh! there. <g>) With any conversion process, at any level of
abstraction, there is always an analogy that can be drawn, but I doubt
an analogy based on comparing 'language' operators to specific machine
operators is useful. If that were true one might make the case that VB
is close to machine code because
A = 2
may look suspiciously similar to a MOV instruction. <g>
[Goto..., unconditional jumps???]

Consider that the ultimate 'machine code' (or a VM's expression of it)
conversion from "n+1" could just as easily be an INC or not, and
equally "++n" could just as easily be an INC or not - all depending on
context and the whim of a compiler. Thus there is no way "++" in
C/C++, Java, C#, ... , can ever be viewed as an implementation of a
hardware ability.

For another example, take C/C++. It is not considered a "lower-level"
language because it has operators which look like machine
instructions, but because it has facilities to manage registers and
memory directly. I'm not particularly surprised that the elemental
language operators for performing such low-level elemental
manipulations appear to have a one-to-one relationship with the
machine code that ultimately perform the task.

The illusion that C/C++ code is only slightly removed from machine
code is strengthened by the relatively short path from here to there
taken. For example VC's ...
script -> compiler -> machine code
But that too doesn't make it so.

It is harder to imagine with Java as the path is ...
script -> compiler -> bytecode -> virtual machine
(... -> machine code??? I'll leave that for another day. <g>)
And some effort has gone into making sure Java can't easily manipulate
memory, but apparently some still make the attempt to do so.
Post by Gordon Levi
As both Mike Williams and I have admitted it is easy to write in VB
Classic without thinking in terms of objects and classes.
Ahhh, the beauty of a good OOP platform. You don't have to think about
them but they be there working their dear little hearts out for you
just the same.

Your over-all experience would be slightly different if the VBEditor
didn't do all the work for you. Imagine if you had to type all the
language elements you see when you view the VB files (.vbp, .bas, ...)
outside the VBEditor.

-ralph
GS
2012-05-25 17:44:50 UTC
Permalink
<FWIW>
IMO, as long as VBA continues to be the macro language of choice for MS
Office and other apps that use it, Classic VB will live on! Note that
VBA7 is x64 and other than using conditional declares (so far, at
least), all my Classic VB[A} code runs just fine there. In facts,
thanks to Olaf Schmidt, my existing x32 VB DLLs work in Office x64 too!
--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
-mhd
2012-05-25 21:47:51 UTC
Permalink
Post by GS
<FWIW>
IMO, as long as VBA continues to be the macro language of choice for MS
Office and other apps that use it, Classic VB will live on! Note that
VBA7 is x64 and other than using conditional declares (so far, at
least), all my Classic VB[A} code runs just fine there. In facts,
thanks to Olaf Schmidt, my existing x32 VB DLLs work in Office x64 too!
Did I miss something? Is there a way to get 32bit com addins to work in Outlook
x64?

-mike
GS
2012-05-25 23:51:45 UTC
Permalink
Post by -mhd
Post by GS
<FWIW>
IMO, as long as VBA continues to be the macro language of choice for MS
Office and other apps that use it, Classic VB will live on! Note that
VBA7 is x64 and other than using conditional declares (so far, at
least), all my Classic VB[A} code runs just fine there. In facts,
thanks to Olaf Schmidt, my existing x32 VB DLLs work in Office x64 too!
Did I miss something? Is there a way to get 32bit com addins to work in
Outlook x64?
-mike
I was not talking about COMAddins, only DLLs. COMAddins need to be
registered and my apps run reg-free because they need to be portable
(ie: run from a memstick) and so I don't use the Registry or register
OCXs/DLLs due to using a manifest.

Olaf introduced the concept of using an ActiveX.exe as a 'proxy server'
between a VBA project and VB6 DLLs. I use VB6 DLLs with Excel addins,
where the addin only creates toolbar/menus and passes the
CommandBar.ActionControl.Tag[Parameter] contents to an entry point
procedure that then runs the appropriate code via 'CallByName'. The
proc name is stored in 'Tag' and its args (if any) are stored in
'Parameter'.
--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
Tom Shelton
2012-05-22 17:09:56 UTC
Permalink
Post by Sandwich
Post by Auric__
[snip]
Post by Sandwich
I have been able to find the followingwith endless searching
[code]
' make a reference to a directory
    Dim di As New IO.DirectoryInfo("c:\")
    Dim diar1 As IO.FileInfo() = di.GetFiles()
    Dim dra As IO.FileInfo
   'list the names of all files in the specified directory
    For Each dra In diar1
        ListBox1.Items.Add(dra)
    Next
[/code]
Thsi obviously gives me a string array of the file addresses and
names;
how can I now filter out the address and extension text and just
display the word?
On the one hand, your problem is trivially easy, and there are
several ways to go about doing what you need. Any place you need
  dra.Name.Substring(0, dra.Name.IndexOf("."))
So, if you wanted to load your listbox with the filenames, you could
  ListBox1.Items.Add(dra.Name.Substring(0, dra.Name.IndexOf(".")))
On the other hand, I agree with Mike and Mayayana: this is not a
.Net group. I *especially* agree with Mayayana about the unnecessary
bloat and BS that .Net requires. Instead of scripting, which he
discusses a bit, I just switched to a different language entirely,
FreeBASIC:  http://www.freebasic.net/
Based on, and almost 100% compatible with, QuickBASIC (MS's old DOS
compiler), with the added advantage of being completely free.
Alternately, there are many, many other BASICs that work with
Windows and are much less bloated than VB.Net. I suggest PowerBASIC,
REAL Studio, or Liberty Basic.
- PowerBASIC is my overall favorite BASIC (but I don't use it much
because I program for Linux, which PB doesn't support -- and windows
 http://www.powerbasic.com/
- REAL Studio is somewhat VB-like and has probably the best support
 http://www.realsoftware.com/
- Liberty Basic is *very* easy to learn, but compiles to bytecode
rather than machine code (not really a problem, but something to be
aware of):  http://www.libertybasic.com/
--
I want to be cremated, and I want my ashes blown in Uri Geller's
eyes.  -- James Randi (skeptic)
Wow,
thankyou all for taking the time to respond so quickly and
completely, and apologies for posting a heretic .NET question in
here, as a new hobbyist programmer it was ignorance rather than
malice!
BTW you've convinced me to switch. I chose VB.net as I'm a new
programmer and the temptation is to think that you might as well
learn the most current imprint of the language.
If you plan on having a future programming in a windows environment, I
would ignore these chumps. VB6 is dead, dead, dead.

Personally, I wouldn't waste my time with ANY VB flavor. C# would
actually give you many more options - there are even products that let
you create apps for iPhones and Android using C#. And, if you need to
- the syntax is similar to C++ - should you ever want to get a little
closer to the metal.

So, here is the real story - sure, vb6 apps should mostly continue to
work on Windows 8. But, I wouldn't get your hopes up beyond that.
Futher, using VB.CLASSIC is simply going to limit your options in the
windows environment (since you are using VB, I'm going to assume you
don't care about all of the other environments). You won't be able to
write 64-bit apps. You won't be able to write apps that target the
metro interface. You won't be able to deploy apps to WinRT at all (arm
version of windows 8) - basically, that rules out tablets and phones
for the most part. You won't be able to market your apps through the
windows market place, etc, etc. Not to mention that fact that VB.NET
is probably orders of magnitude more powerfull and versitile than
VB.CLASSIC. VB.NET is:

1) Fully OOP

2) Extensive and easy to use built in class library...

3) threading, multi-processor support, and async programming

4) linq (linq is the bomb!)

5) lambda support

6) way better support for calling external native api's - examples:
cdecl support, union support, native unicode api support, full support
for data alignment in structures passed to external api's.

etc, etc, etc.

Yes, VB.NET is probably a bit harder to learn than VB.CLASSIC. But,
not by much. The thing is the basic stuff is just as easy, and some
cases easier in VB.NET - and it makes the hard stuff more accessilbe
(multi-threading, mulit-processing, etc - is doable in VB6, for example
- but, it is much harder task to implement correctly in VB6).

Now, for runtime support...

If you are targeting windows, there are very few boxes that do not have
at least the .NET 2.0 runtime. So, targeting 2.0 - you can change your
build target in the project properties in VS - would cover probably
95% of users without them having to install a thing. Vista shipped
with the 3.0 runtime and windows 7 ships with 3.5 - all of these are
really the 2.0 runtime with some additional libraries on top. 4.0 is
still a bit rarer, but, you can minimize the size of the runtime
download and install quite a bit by simply targeting the 4.0 client
runtime. And, to be honest - I would suggest you target 4.0 because of
the many advanced features it puts at your disposal.

I will refrain from posting any specific code to this group - even
though the charter for comp.lang.basic.visual.misc specifically says it
is for all versions of VB. I'm sure this post is already going to
upset the gaggle of luddites that inhabit these environs enough
already. If you would like help on your specific problem using VB.NET
or my personal favorite C# - take your question over to the vb.net news
group and I will show you just how easy-peasy your problem is solved
using a fully featured modern programming enviroment.
--
Tom Shelton
Mike Williams
2012-05-23 12:07:22 UTC
Permalink
Post by Tom Shelton
If you plan on having a future programming in a windows
environment, I would ignore these chumps. VB6 is dead,
dead, dead.
. . . and so is Windows as far as the consumers who spend most of the money
are concerned. If you're planning on having a future in programming then
move away from Windows, period!
Tom Shelton
2012-05-23 16:14:24 UTC
Permalink
Post by Mike Williams
Post by Tom Shelton
If you plan on having a future programming in a windows
environment, I would ignore these chumps. VB6 is dead,
dead, dead.
. . . and so is Windows as far as the consumers who spend most of the
money are concerned. If you're planning on having a future in
programming then move away from Windows, period!
LOL... I don't fully disagree with this response actually :)
--
Tom Shelton
Schmidt
2012-05-24 18:38:47 UTC
Permalink
Post by Tom Shelton
Post by Mike Williams
Post by Tom Shelton
If you plan on having a future programming in a windows
environment, I would ignore these chumps. VB6 is dead,
dead, dead.
. . . and so is Windows as far as the consumers who spend most of the
money are concerned. If you're planning on having a future in
programming then move away from Windows, period!
LOL... I don't fully disagree with this response actually :)
Well, then why this recommendation to use ".NET instead"
(which is definitely not that beginner-friendly as VB.Classic)?

When we "all agree" that Windows has no future (in the
context of "classically compiled Desktop-apps) - then I think,
that it is highly probable, that VB.Classic-compiled Binaries
will perhaps have an equal timespan compared with .NET-Assemblies,
as long as we talk about Operating-Systems, which will support
such "real, full-featured Desktop-Apps".

So, as I see it, the OP has to decide (or ask the customer
again), if the planned App in question shall be working on
current Desktop-Machines (from XP, over Vista/Win7 up to Win8) -
and the timespan which covers those machines and their usual
"Office-environment-OS" from current reality (XP) up to
Win8 Desktop-Installations is more than 5 years from now.

If Tablet-Usage is *not* planned for this Application -
and if there's *no* hint currently, that the App in question
needs to "go online" or needs to be "run in a Browser",
then implementing such a "pure Desktop-App" in VB.Classic
would be the least trouble for somebody like the OP (IMO).

It would be in no way "less future-proof", compared with
a .NET-2.0 App (your recommendation) which is using WinForms.

So why exactly should the OP not use VB-Classic for such
a Desktop-Application?

- "Fully OOP" is questionable for a beginner, who will
perhaps not even use Classes or the Implements-Keyword
in VB6... and the inheritance concept *is* by no means
something like a "holy grail".

- Threading is questionable as well, having a beginner in mind
(although VB6 supports that quite well, as you know).

- same thing for your "extensive and easy to use built in
class library..." These deep nested class-hierarchies are:
Not.Exactly.Beginner.Friendly(In->My.Opinion)
(checking in a COM-Dll or an OCX with a simple MouseClick
in the VB6-IDE can do the job as well as far as libs are
concerned, and in VB6 the developer can decide himself about
the "amount of dependencies" the App gets distributed with)

- same thing for throwing linq at a beginner, who's
perhaps not even "fluent" in "applying simple SQL"
(against a classic and simple Desktop-DB) for his
"set-based sort- and filter-operations".

- same thing for "lambda-support"
(would be nice BTW, if you could give a useful example,
I'm pretty sure, a (functionally) equivalent result in VB6
will not consume much more lines of code, and the resulting
VB6-Code will be easier to understand as well...

So what it boils down to, is the original question of
the OP, who wants to put a simple GUI-App together
(applying filters to a list, which in turn hands
out the correct "Video-Path" which then gets set as
the File-input to a simply "plugged in" WMP-Control)...
not exactly rocket-science if you ask me - and since
it is planned, to already make use of the WMP-Control,
then VB6 is the perfect "glueing-language" for such
COMponents.

Also with regards to "lines of code" and "easy deployment",
paired with an uncomplicated, fast and comparatively small
(unbloated) IDE, VB6 is IMO the best choice for a beginner
with some (Quick-)Basic background.

Also his:
"I'm writing this software for deloyment on workstations
that are connected to a pretty tightly controlled Gov network"
reads like that this is indeed planned as a "normal Desktop-
App" ... perhaps rolled out to the greater part to XP-
installations (on the workstations in question), which
definitely come with a preinstalled VB6-runtime (.NET 2.0
is by no means "a given" on XP) - and also very likely with
a preinstalled Windows-Media-Player-COM-lib (the thingy,
named wmp.dll in \System32\ or \SysWOW64\ in Win7-64).

IMO he didn't ask "I'm planning a long-term programming-
career, what language or platform is the most recommendable
in terms of "available jobs" or its "future-proofness".

If that would have been asked, then my answer would be:
C++ paired with wxWidgets or QT
Java

... and nowadays barely a mistake: ...

HTML5/JS + jQuery at the client- (browser-)side, paired
with one of the many (Web-)server-side platforms/languages
(as Rails or PHP or Web2Py or Java or Node.js).

But IMO he asked about a tool, able to "get the job
done", in a reasonable (more or less short) time, and
as long as there's a "classically compiled Desktop-App"
the customer wants, then VB6 is a reasonable, "least
efforts" choice.


Olaf
Tom Shelton
2012-05-24 21:46:23 UTC
Permalink
Post by Schmidt
Post by Tom Shelton
Post by Mike Williams
Post by Tom Shelton
If you plan on having a future programming in a windows
environment, I would ignore these chumps. VB6 is dead,
dead, dead.
. . . and so is Windows as far as the consumers who spend most of the
money are concerned. If you're planning on having a future in
programming then move away from Windows, period!
LOL... I don't fully disagree with this response actually :)
Well, then why this recommendation to use ".NET instead"
(which is definitely not that beginner-friendly as VB.Classic)?
I will agree it is not quite as "beginner-friendly" - but, VB.CLASSIC
is not going to teach you much that you need to know if you expect to
have longterm skills doing windows programming.
Post by Schmidt
When we "all agree" that Windows has no future (in the
context of "classically compiled Desktop-apps)
Who said that? C++ is still available if you are somehow anti-JIT.
And, if you noticed, I didn't say I completely aggreed with Mike.
Post by Schmidt
- then I think,
that it is highly probable, that VB.Classic-compiled Binaries
will perhaps have an equal timespan compared with .NET-Assemblies,
as long as we talk about Operating-Systems, which will support
such "real, full-featured Desktop-Apps".
I'm not sure how you come to that conclusion... First of all, yes -
there might be certains code tweeks you would need ot make to run under
a metro environment - since under winrt, some parts of the full
framework are not available. But, unlike VB6 binaries - they can be
made to work in that environment.
Post by Schmidt
So, as I see it, the OP has to decide (or ask the customer
again), if the planned App in question shall be working on
current Desktop-Machines (from XP, over Vista/Win7 up to Win8) -
and the timespan which covers those machines and their usual
"Office-environment-OS" from current reality (XP) up to
Win8 Desktop-Installations is more than 5 years from now.
If Tablet-Usage is *not* planned for this Application -
and if there's *no* hint currently, that the App in question
needs to "go online" or needs to be "run in a Browser",
then implementing such a "pure Desktop-App" in VB.Classic
would be the least trouble for somebody like the OP (IMO).
Nope. What was requested is very easy in .net. the op, just needs to
cross the biggest hurdle that .net has - learnign the class library.
Post by Schmidt
It would be in no way "less future-proof", compared with
a .NET-2.0 App (your recommendation) which is using WinForms.
Not directly. But you are missing the bigger point. This app, well
it's childs play in either .net or vb.classic. But, which is better to
learn now? The one that will open up the
Post by Schmidt
So why exactly should the OP not use VB-Classic for such
a Desktop-Application?
- "Fully OOP" is questionable for a beginner, who will
perhaps not even use Classes or the Implements-Keyword
in VB6... and the inheritance concept *is* by no means
something like a "holy grail".
You don't have to use OOP to anymore extent than you would in
VB.Classic. The point is - it's there if you want it.
Post by Schmidt
- Threading is questionable as well, having a beginner in mind
(although VB6 supports that quite well, as you know).
You've got to be kidding me! Threading supported well in VB.CLASSIC?
Absolutely not. Yes, threading can be done - but, to call it well
supported is a joke.

And, yes - threading is questionable for a beginner - but, beginners
can ultimately become more than that. So, why limit yourself to a
progarmming langauge that 1) Absolutely does not support threading well
and 2) has absolutley no future.
Post by Schmidt
- same thing for your "extensive and easy to use built in
Not.Exactly.Beginner.Friendly(In->My.Opinion)
You've got to be kiddng me.. Seriously. I'm not going to get in that
argument.
Post by Schmidt
(checking in a COM-Dll or an OCX with a simple MouseClick
in the VB6-IDE can do the job as well as far as libs are
concerned, and in VB6 the developer can decide himself about
the "amount of dependencies" the App gets distributed with)
What? outside of the framework it's self - you have the same control
in .net. Obiously, you need the framework installed - and it is on any
machine running vista or above....
Post by Schmidt
- same thing for throwing linq at a beginner, who's
perhaps not even "fluent" in "applying simple SQL"
(against a classic and simple Desktop-DB) for his
"set-based sort- and filter-operations".
You do understand that was a feature list right? Things that make it
supperior. No, a beginner is not going to use them... See threading.
Beginners become experts (well, if they want).

See, that's your problem - you are so backwards thinking.
Post by Schmidt
- same thing for "lambda-support"
(would be nice BTW, if you could give a useful example,
I'm pretty sure, a (functionally) equivalent result in VB6
will not consume much more lines of code, and the resulting
VB6-Code will be easier to understand as well...
Simple example - from the msdn documentation:


Dim increment1 = Function(x) x + 1
Dim increment2 = Function(x)
Return x + 2
End Function

' Write the value 2.
Console.WriteLine(increment1(1))

' Write the value 4.
Console.WriteLine(increment2(2))

Usefulness - very. You can pass functions as variables to other
methods. You can return them from functions. You can capture local
variables... I doubt you can truely replicate a lambda in VB6 - at
least in a non-trivial amount of code:

Sub Main()
Dim l As New List(Of Integer) From {1, 2, 3, 4, 5}
Dim x = 3
Console.WriteLine(l.Find(Function(i) i = x)) ' writes 3
End Sub
Post by Schmidt
So what it boils down to, is the original question of
the OP, who wants to put a simple GUI-App together
(applying filters to a list, which in turn hands
out the correct "Video-Path" which then gets set as
the File-input to a simply "plugged in" WMP-Control)...
not exactly rocket-science if you ask me - and since
it is planned, to already make use of the WMP-Control,
then VB6 is the perfect "glueing-language" for such
COMponents.
Why, you can play movies in .net quite easily. You just add the
compontrol to your toolbox, and then drop it on the form.. You know,
the sameeone you use in VB6?

But, ultimately my suggesetion isn't about this particular project -
it's about learning an environment that will be more useful going
forward...
Post by Schmidt
Also with regards to "lines of code" and "easy deployment",
paired with an uncomplicated, fast and comparatively small
(unbloated) IDE, VB6 is IMO the best choice for a beginner
with some (Quick-)Basic background.
I disagree.

Lines of code - most things are going to be the same in VB6 vs VB.NET.

And ease of install, well, it's mostly xcopy - provided the framework
is installed. And, as noted - the .NET2.0 framework will probably be
on most computers..
Post by Schmidt
"I'm writing this software for deloyment on workstations
that are connected to a pretty tightly controlled Gov network"
reads like that this is indeed planned as a "normal Desktop-
App" ... perhaps rolled out to the greater part to XP-
installations (on the workstations in question), which
definitely come with a preinstalled VB6-runtime (.NET 2.0
is by no means "a given" on XP) - and also very likely with
a preinstalled Windows-Media-Player-COM-lib (the thingy,
named wmp.dll in \System32\ or \SysWOW64\ in Win7-64).
My guess, is that yes at least .net 2.0 is. I have done contract work
for the US Airforce. And, guess what - they use a lot of .net stuff.
Post by Schmidt
IMO he didn't ask "I'm planning a long-term programming-
career, what language or platform is the most recommendable
in terms of "available jobs" or its "future-proofness".
I don't care if he asked that or not. The OP may or not know
themselves if they want taht - but, advising him to learn an out dated
language, isn't going to help them if they ultimately decide that's
what he wants to do.
Post by Schmidt
C++ paired with wxWidgets or QT
Java
I guess that really depends on your ultimate programming and how you
feel about the future of windows programming. If you think you are
going to be on windows - well, wxWidgets, QT, and Java are frankly just
as dead as VB (unless they create metro versions :) )

I have no problem with the C++ suggestion... Though, it seems a little
strange - considering your thoughts on using vb.net vs vb6 for a
beginner.
Post by Schmidt
... and nowadays barely a mistake: ...
HTML5/JS + jQuery at the client- (browser-)side, paired
with one of the many (Web-)server-side platforms/languages
(as Rails or PHP or Web2Py or Java or Node.js).
But IMO he asked about a tool, able to "get the job
done", in a reasonable (more or less short) time, and
as long as there's a "classically compiled Desktop-App"
the customer wants, then VB6 is a reasonable, "least
efforts" choice.
It was explicitly asked how to do it in VB.NET. You chumps swooped in
with your anti-.net diatribe and convinced him that it would somehow be
better to use the hopelessly antiquated (don't get me wrong, vb6 was
good in it's day - but, that day has LONG passed) language.

And here is the answer...

Public Class Form1

Private Class MovieInfo

Public Sub New(ByVal path As String)
FullPath = path
End Sub

Public Property FullPath As String
Public ReadOnly Property DisplayName As String
Get
Return Path.GetFileNameWithoutExtension(FullPath)
End Get
End Property
End Class

Private Sub Form1_Load(sender As System.Object, e As
System.EventArgs) Handles MyBase.Load
uxMovies.DisplayMember = "DisplayName"
For Each filePath In Directory.EnumerateFiles(MoviePath,
"*.wmv") ' you would have to change this line a bit for .net 2.0
uxMovies.Items.Add(New MovieInfo(filePath))
Next
End Sub

Private Sub uxMovies_DoubleClick(sender As System.Object, e As
System.EventArgs) Handles uxMovies.DoubleClick
If Not IsNothing(uxMovies.SelectedItem) Then
uxPlayer.URL = (DirectCast(uxMovies.SelectedItem,
MovieInfo)).FullPath
uxPlayer.Ctlcontrols.play()
End If

End Sub

Private ReadOnly Property MoviePath As String
Get
Return ConfigurationManager.AppSettings("moviePath")
End Get
End Property
End Class

Gee... taht was rough, 10 minutes or so...
--
Tom Shelton
Mike Williams
2012-05-25 05:52:05 UTC
Permalink
Post by Tom Shelton
Post by Schmidt
Well, then why this recommendation to use ".NET
instead" (which is definitely not that beginner-friendly
as VB.Classic)?
I will agree it is not quite as "beginner-friendly" - but,
VB.CLASSIC is not going to teach you much that
you need to know if you expect to have longterm
skills doing windows programming.
Neither is VB.Net. Nothing at all about Windows programming is going to be
long term! The King is dying . . . and the vultures are circling.

Mike
Schmidt
2012-05-25 09:14:19 UTC
Permalink
Post by Tom Shelton
Post by Schmidt
When we "all agree" that Windows has no future (in the
context of "classically compiled Desktop-apps)
Who said that?
Mike said that, and I'm also of the opinion (same as Maya
and a whole lot of others, not all Members of the VB-community),
that Windows is on its way to a "closed OS".
Closed in a sense, that the OS-Vendor dictates the choice
of programming-tools and environments, as well as your
deployment-target (App-stores).

And the final environment for an "App-Developer" will
be HTML5/JS as it seems currently, paired with the
appropriate accompanying tools at the (Web-)serverside.

So in this "world" neither a .NET 2.0 Winforms-App will
run, nor a VB6-App. And both kind of Application-Binaries
stop working at the same time - so why "learn VB6" -
or why "learn .NET 2.0 WinForms"?

Because it works here and now - and also for at least the
next 5 years (on the classical "company-desktop-PC").

And since XP is with high probability a deployment-target
for the OP, then VB6 is the better choice for this kind
of (relative simple) task, since no bloated runtime needs
to be deployed with his simple Media-Player-App.
Post by Tom Shelton
C++ is still available if you are somehow anti-JIT.
I'm not "anti-JIT" - I'm "anti-BullShit".

And your continued .NET marketing-drivel in this group
is exactly that.

Your recommendation to learn .NET is misleading
because it is not the easiest way to achieve the
goal of the OP - VB6 *is* the simpler tool for the task
(especially when XP is one of the potential deployment-targets).
Post by Tom Shelton
This app, well it's childs play in either
.net or vb.classic. But, which is better to
learn now?
Neither one, when one is inclined to think, that
"the world" seems to be moving to WebApps.

And because it's childs play as you say, then
choosing a tool which makes the least deployment-
trouble is the way to go.

If the OP is ambitious, then what he should do
after delivery of the simple VB6-App, is to use
the next year or so, to learn HTML5/JS and to
(re)write the same thing again as a Browser-App.


[Threading]
Post by Tom Shelton
You've got to be kidding me! Threading supported well in VB.CLASSIC?
Absolutely not. Yes, threading can be done - but, to call it well
supported is a joke.
It is well supported enough in VB6, in a way which allowed
to e.g. write a threaded Mandelbrot-App, which ran about
10 times as fast as what you personally delivered from
your "well supported threading-kitchen in .NET".

To the OP:
We had this threading-discussion already over and over
again - ending up in something like a "shootout" - and
Tom was finally not able to come up with a well-working
demonstration.

He is not really a programmer in my opinion - just look
at his poor examples for the lambda-functionality he
advertised. Copy and paste from MSDN.

He's advertising features which were never really
used or well understood in his daily .NET-practise
(same as threading).
Post by Tom Shelton
Why, you can play movies in .net quite easily.
You just add the compontrol to your toolbox, You know,
and then drop it on the form.. the sameeone you use in VB6?
Exactly.
And the wmp.dll is a COM-component, which is directly
addressed in VB6, so why burden the OP with the necessity
to deploy a (in this case useless) .NET 2.0 runtime,
which addresses this COM-component indirectly?

You see, VB6 as a tool has never disappointed on the
classical Win-Desktop - and it will work as long as
the classical Win-Desktop lives.

As it seems the development goes, .NET was only a
"side-branch" of overbloated tools, which were working
on top of the Win32-API and COM.

A diversion, an absolutely unnecessary indirection for
Win-Desktop-Apps.

Both, VB6-Desktop-Apps as well as .NET-Desktop-Apps
will go "out of scope" at the same time...

So why again should VB6-developers should have switched
to .NET in the first place?

A waste of time that would have been - and I'm sure you
come across that "pissed off" in your latest responses,
because you realize that now - you wasted your time with
learning .NET.

The future tools (for me) lay elsewhere.

You may color me "backwards", but I've invested my time
over the last years into learning different (platform-
independent) libraries, into learning C/C++, JS jQuery
and HTML5.

IMO a better time-investment than you did, Tom.
Post by Tom Shelton
If you think you are going to be on windows - well,
wxWidgets, QT, and Java are frankly just as dead as
VB (unless they create metro versions :) )
You advertised (misleadingly) .NET over the last 10 years
(as the best invention since sliced bread) ... now you
suddenly switch over to Metro as the next best "fashionable
thingy".

What if Win8 will be the next Vista...?
What if Metro as the next (now COM-based) class-library
will be the next (.NET-like) flop, because it perhaps
will not carry through for rich Desktop-Applications,
in case the companies out there want exactly that?

I'd be really careful with this last move of MS
(with regards to investing my time) ... same thing
as I did with .NET...


And as for your posted Code-snippet - here's the VB6-Version:

'***Into a VB-Form which hosts a ListBox and a MediaPlayer-Control
'-------------------------------------------------
Const MoviePath = "C:\Windows\Performance\WinSAT\"

Private Sub Form_Load()
Dim FName As String
FName = Dir(MoviePath & "*.wmv")
Do While Len(FName)
lstMovies.AddItem Left(FName, InStrRev(FName, ".wmv", , 1) - 1)
FName = Dir
Loop
End Sub

Private Sub lstMovies_Click()
WMP.URL = MoviePath & lstMovies.Text & ".wmv"
End Sub
'------------------------------------------------

To the OP:

The above is doing the same thing as the code Tom has
posted, now compare yourself.

Furthermore, if you compile that thing with VB6,
you will get an XCopy-deployable, small Executable,
which will run on all versions of Windows
(from XP to Win7) as long as the Windows Mediaplayer
is installed (which is usually the case, you will have
to check that though on your target-environment).

Olaf
DaveO
2012-05-25 09:57:13 UTC
Permalink
Post by Schmidt
'***Into a VB-Form which hosts a ListBox and a MediaPlayer-Control
'-------------------------------------------------
Const MoviePath = "C:\Windows\Performance\WinSAT\"
Private Sub Form_Load()
Dim FName As String
FName = Dir(MoviePath & "*.wmv")
Do While Len(FName)
lstMovies.AddItem Left(FName, InStrRev(FName, ".wmv", , 1) - 1)
FName = Dir
Loop
End Sub
Private Sub lstMovies_Click()
WMP.URL = MoviePath & lstMovies.Text & ".wmv"
End Sub
'------------------------------------------------
Tsk, that's a bit over complicated, junk all the crap in the Load event and
replace the Listbox with a FileListBox. Although admittedly that'll show the
extensions that your code omits.



Yeah I know the FileListBox is rather ugly but if you want it simple........

Incidentally is
Left(FName, InStrRev(FName, ".wmv", , 1) - 1)
Quicker or better than:
Left$(FName, Len(FName) - 4)
Which given a 3 character extension should give the same result?

DaveO.
Schmidt
2012-05-25 11:36:09 UTC
Permalink
Post by DaveO
Yeah I know the FileListBox is rather ugly but
if you want it simple........
Just wanted to come up with the roughly identical
functionality of Toms example.
Post by DaveO
Incidentally is
Left(FName, InStrRev(FName, ".wmv", , 1) - 1)
Left$(FName, Len(FName) - 4)
Which given a 3 character extension should give the same result?
Good catch, what I had in mind was not:
Left(FName, InStrRev(FName, ".wmv", , 1) - 1)
but perhaps
Left(FName, InStrRev(FName, ".") - 1)
which I normally use here, to get rid of a file-
extension of variable length in a generic way,
but from the top of my head failed to hack-in
correctly for this specific example.

Olaf
Mayayana
2012-05-25 13:25:18 UTC
Permalink
| And the final environment for an "App-Developer" will
| be HTML5/JS as it seems currently, paired with the
| appropriate accompanying tools at the (Web-)serverside.
|

There's an interesting link here, related to that:

http://msdn.microsoft.com/en-us/library/windows/apps/br211369.aspx

Only C++ will have access to the "Win32 and COM API"
in Win8 x86 Metro, and of course, nobody gets it on WinARM.
.Net on x86 Metro gets WinRT and part of the .Net framework.
It's getting squeezed out in terms of relevance. I don't
know exactly what .Net can or can't do in Metro as compared
to javascript, but it doesn't look like there's much difference.

It's rather ironic. The cloud craze is what MS has been
trying to do with .Net for over 10 years now: To get
3rd-party programmers into a sandbox, preferably also
finding a way to take a cut of their earnings. Now MS is
closer to that goal than ever, but the pendulum has swung
so far that even .Net is too functional, being replaced by
"DHTML on steroids".

The one thing I wonder about in all this is business, hobby,
government and professional use of actual computers. A tablet
or crippled PC might be fine for Facebook, shopping and email,
but wasn't that also the selling point of the ill-fated WebTV
and "thin clients"? Restricting the end-user was fine for Apple.
Their PCs are already somewhat restricted and now they have
a booming business in fully restricted tablets and phones. But
with Microsoft, to succeed in their plan implies that such things
as Photoshop, Autocad, scientific software, etc. will
have to run either as webpage-only or move to Linux. It's hard
to see that happening, not only because of the sheer inefficiency
of converting such things to web-apps for no good (technical)
reason, but also because of the privacy/security issues.

I know it's not fashionable to question the retail cloud model
these days, but to me it still looks like mostly a business plan in
search of a purpose; the best idea that big tech companies
could come up with, now that most people don't need to buy
new PCs or software very often. The potential for profit with the
cloud model is clear. But the benefit for the customer, aside from
casual use of things like gmail, is not clear.
Tom Shelton
2012-05-25 16:12:32 UTC
Permalink
Post by Schmidt
Post by Tom Shelton
Post by Schmidt
When we "all agree" that Windows has no future (in the
context of "classically compiled Desktop-apps)
Who said that?
Mike said that, and I'm also of the opinion (same as Maya
and a whole lot of others, not all Members of the VB-community),
that Windows is on its way to a "closed OS".
Closed in a sense, that the OS-Vendor dictates the choice
of programming-tools and environments, as well as your
deployment-target (App-stores).
And the final environment for an "App-Developer" will
be HTML5/JS as it seems currently, paired with the
appropriate accompanying tools at the (Web-)serverside.
? If you are going to do web development, taht would seem appropriate.
And it can be used in the future to develop some windows apps - but
that is only one option.
Post by Schmidt
So in this "world" neither a .NET 2.0 Winforms-App will
run, nor a VB6-App. And both kind of Application-Binaries
stop working at the same time - so why "learn VB6" -
or why "learn .NET 2.0 WinForms"?
What are you babeling about? I've never talked about webstuff. And,
yes if ms kills the legacy desktop - then a "windows forms" app will
stop working.

But, as usuall you miss the point. It's about choices and options.
And, leanring VB6 leaves you none. Excpet to be stuck in the legacy
desktop, 32-bit world.
Post by Schmidt
Because it works here and now - and also for at least the
next 5 years (on the classical "company-desktop-PC").
And since XP is with high probability a deployment-target
for the OP, then VB6 is the better choice for this kind
of (relative simple) task, since no bloated runtime needs
to be deployed with his simple Media-Player-App.
LOL... You guys and that whole bloated thing are really getting
tiresome. Seriously. The disk footprint is so small on any machine
made in the last 10 years that it isn't a consideration. The memory
footprint, while higher than VB.CLASSIC - is not a significant factor.
Post by Schmidt
Post by Tom Shelton
C++ is still available if you are somehow anti-JIT.
I'm not "anti-JIT" - I'm "anti-BullShit".
And your continued .NET marketing-drivel in this group
is exactly that.
Your recommendation to learn .NET is misleading
because it is not the easiest way to achieve the
goal of the OP - VB6 *is* the simpler tool for the task
(especially when XP is one of the potential deployment-targets).
My recomendation was actually not to use any VB. But, learning vb.net
is clearly going to be better alternative to a language whose toolset
is unsupported and dead in the market. And considering that the OP was
already using VB.NET...

And, my guess would be - given I have done contract work for the
government - that those machines all already have .net 2.0, as do most
other xp machines. So, targeting .net 2.0 in this environment is
almost certainly an xcopy install. I specified 2.0 simply because it
has the largest installed base. I obviously can't make a guarentee all
of those machines do - because I'm sure that different branches of the
gov might have different polocies - but it's something easily checked.

I work for a very large company, and I know every single one of the
10's of thousands of machines here have at least .net 3.5 installed.
These environments tend to be managed.
Post by Schmidt
Post by Tom Shelton
This app, well it's childs play in either
.net or vb.classic. But, which is better to
learn now?
Neither one, when one is inclined to think, that
"the world" seems to be moving to WebApps.
I dont' think that is the case actually. Lot's of evidence shows that
users of mobile devices will prefere a native app over a web
experience. So, while the web is important - it's not everything.

And even if it were the case, learning .net would still be just as
valuable.
Post by Schmidt
And because it's childs play as you say, then
choosing a tool which makes the least deployment-
trouble is the way to go.
I can almost certainly guarntee you that the OP will have not have a
difficult time distributine thier app. .NET 4 - probably, especially
since in a lot of managed environmnets, users don't have admin rights
and the 4.0 runtime is not a common thing to find preinstalled. Which
is why I suggested targeting 2.0 - which I can tell you with 95-100%
certainty is already on those machines.
Post by Schmidt
If the OP is ambitious, then what he should do
after delivery of the simple VB6-App, is to use
the next year or so, to learn HTML5/JS and to
(re)write the same thing again as a Browser-App.
A year to learn html5/js? You must mean in depth expertise - because I
would think you should be able to learn the basics in a few weeks at
most. Especially to recreate this app.

I'm not disagreeing with you in the main. It is a valuable skill - I
always advocate expanding horizons.
Post by Schmidt
[Threading]
Post by Tom Shelton
You've got to be kidding me! Threading supported well in
VB.CLASSIC?
Absolutely not. Yes, threading can be done - but, to call it well
supported is a joke.
It is well supported enough in VB6, in a way which allowed
to e.g. write a threaded Mandelbrot-App, which ran about
10 times as fast as what you personally delivered from
your "well supported threading-kitchen in .NET".
We had this threading-discussion already over and over
again - ending up in something like a "shootout" - and
Tom was finally not able to come up with a well-working
demonstration.
That thread was not about speed - you made it so after the fact. It
was about comparing threading models. I was very clear up front that I
did not believe I could make it as fast as the vb6 version. Simply
because I am not an expert when it comes to graphic manipulation - it's
just not what I do. In fact, I don't write many interfaces at all.
Further, I'm pretty sure I pointed out that winforms are slower for
those sorts of operations in general - they rely on gdi+ rather than
gdi.
Post by Schmidt
He is not really a programmer in my opinion - just look
at his poor examples for the lambda-functionality he
advertised. Copy and paste from MSDN.
Yes. Because I had to look up the exact syntax in vb. I'm not a vb
programmer, so I sometimes forget VB's quirks. I thought it was a very
concise example - not only concise - but, one you would have a hard
time replicating in vb6.

And that was only the first part. The list searching - that was mine.
Post by Schmidt
He's advertising features which were never really
used or well understood in his daily .NET-practise
(same as threading).
I uses lambda's in C# on almost a daily basis. Many of the times, the
actual use is trivial - searching a lsit, iterating a list, linq
statements, etc - but they often lead to more concise code, so I tend
to favor their use:

foreach (var x in myList)
Console.WriteLine(x);

vs

myList.ForEach (x => Console.WriteLine);

Matter of taste, I guess.

But, they are usefull for all kinds of things - they are essentially a
typesafe function pointer... Like I said earlier, they can be passed as
an argument to a function where you might want the caller to provide
some functionality. One specfic place I have made use of them, are
situations where a function may operate differently based on a "mode"
parameter. Here is a really simple example (and, I wrote this):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication22
{
class Program
{
static void Main ( string[] args )
{
Console.WriteLine ( SimpleCalc.Calculate ( 1, 1, MathOp.Add
) );
Console.WriteLine ( SimpleCalc.Calculate ( 10, 5,
MathOp.Subtract ) );
Console.WriteLine ( SimpleCalc.Calculate ( 5, 5,
MathOp.Multiply ) );
Console.WriteLine ( SimpleCalc.Calculate ( 20, 10,
MathOp.Divide ) );
}
}

enum MathOp
{
Add,
Subtract,
Multiply,
Divide
}


static class SimpleCalc
{
private static Dictionary<MathOp, Func<int, int, int>> MathOps;
static SimpleCalc ()
{
MathOps = new Dictionary<MathOp, Func<int, int, int>> ()
{
{MathOp.Add, ( x, y ) => Add( x, y )},
{MathOp.Subtract, ( x, y ) => Subtract( x, y )},
{MathOp.Multiply, ( x, y ) => Multiply( x, y )},
{MathOp.Divide, ( x, y ) => Divide( x, y )}
};
}


public static int Calculate ( int x, int y, MathOp op )
{
return MathOps[op] ( x, y );
}

private static int Add ( int x, int y )
{
return x + y;
}

private static int Subtract ( int x, int y )
{
return x - y;
}

private static int Multiply ( int x, int y )
{
return x * y;
}

private static int Divide ( int x, int y )
{
return x / y;
}
}
}

Yes, I could accomplish the same thing in a more concise manor using a
swith statement or a if/else if/else structure - but, I find this style
enhances long term maintainabilty. Adding additional "modes" becomes
trivial. For more complex variations, I lean to using more of a
command pattern design...
Post by Schmidt
Post by Tom Shelton
Why, you can play movies in .net quite easily.
You just add the compontrol to your toolbox, You know,
and then drop it on the form.. the sameeone you use in VB6?
Exactly.
And the wmp.dll is a COM-component, which is directly
addressed in VB6, so why burden the OP with the necessity
to deploy a (in this case useless) .NET 2.0 runtime,
You are assuming that the runtime is not already there - and I again
can almost guarntee it is. Not to the degree that I can with vb6 -
because the runtime didn't ship by default with xp. It's possible that
this branch of government doesn't use any .net apps - and that the .net
runtime is not part of it's standard image... But VERY unlikely.
Post by Schmidt
which addresses this COM-component indirectly?
I in fact, usually avoid using COM components in .NET - because, yes
there is a performance penalty for using them - and they can often
complicate your deployment. And that goes for VB6 as well - third
party controls for example will often complicate a deployment. But, in
this case - the hit is not going to make any noticable difference since
it's not a "chatty" interface.
Post by Schmidt
You see, VB6 as a tool has never disappointed on the
classical Win-Desktop - and it will work as long as
the classical Win-Desktop lives.
Only there, and only as long as they support Win32.
Post by Schmidt
As it seems the development goes, .NET was only a
"side-branch" of overbloated tools, which were working
on top of the Win32-API and COM.
A diversion, an absolutely unnecessary indirection for
Win-Desktop-Apps.
Both, VB6-Desktop-Apps as well as .NET-Desktop-Apps
will go "out of scope" at the same time...
Yes, but all of the skills will be tranferable. And much of the code
as well (especially if it is well structured) - assuming we're still
talking about talking about windows...

If windows dies, than we will all have to change. No biggie to me - I
can make the jump to java or c++ pretty easily if needed.
Post by Schmidt
So why again should VB6-developers should have switched
to .NET in the first place?
A waste of time that would have been - and I'm sure you
come across that "pissed off" in your latest responses,
because you realize that now - you wasted your time with
learning .NET.
LOL. You are completly wrong. I have absolutely no regrets at all.
I've gotten to do a lot of cool stuff. Write cool code and make a far
better living than I ever did doing VB.CLASSIC. I like change - and I
know I would be bored out of my skull if I'd stuck to VB.CLASSIC. The
eternally unchanging.
Post by Schmidt
The future tools (for me) lay elsewhere.
Cool.
Post by Schmidt
You may color me "backwards", but I've invested my time
over the last years into learning different (platform-
independent) libraries, into learning C/C++, JS jQuery
and HTML5.
IMO a better time-investment than you did, Tom.
That's your opinion. And your welcome to it. But, I already have
knowledge in C/C++ and I have html and javascript experience (as well
as java, perl, and even php). I worked in a mixed windows/*nix shop
for over 8 years. In other words, even if .NET dissappeard today - I
would still be ok... I do what I do because I love it - not because I
have to.
Post by Schmidt
Post by Tom Shelton
If you think you are going to be on windows - well,
wxWidgets, QT, and Java are frankly just as dead as
VB (unless they create metro versions :) )
You advertised (misleadingly) .NET over the last 10 years
(as the best invention since sliced bread) ... now you
suddenly switch over to Metro as the next best "fashionable
thingy".
LOL... No, it's called seeing the writing on the wall. I'm actually,
that thrilled about metro on the desktop. But, I do like the
underlying technology. If you had ever done anythign with wpf, you
might agree.
Post by Schmidt
What if Win8 will be the next Vista...?
What if? And, as you see I did not tell the op to target metro. I
simply was pointing out that, if they should so desire - that would be
an option for them. Not so with vb6.
Post by Schmidt
What if Metro as the next (now COM-based) class-library
metro is not com based - winrt is. And it makes sense. Even .net uses
com.
Post by Schmidt
will be the next (.NET-like) flop, because it perhaps
will not carry through for rich Desktop-Applications,
in case the companies out there want exactly that?
Calling .net a flop is rich. LOL. I've had more employment and offers
of employment doing .net than I ever did with vb6. .NET is very
heavily used in the same places VB6 was - custom business apps. VB6
was never a very good choice for mass market software. Still isn't.
Post by Schmidt
I'd be really careful with this last move of MS
(with regards to investing my time) ... same thing
as I did with .NET...
'***Into a VB-Form which hosts a ListBox and a MediaPlayer-Control
'-------------------------------------------------
Const MoviePath = "C:\Windows\Performance\WinSAT\"
Private Sub Form_Load()
Dim FName As String
FName = Dir(MoviePath & "*.wmv")
Do While Len(FName)
lstMovies.AddItem Left(FName, InStrRev(FName, ".wmv", , 1) - 1)
FName = Dir
Loop
End Sub
Private Sub lstMovies_Click()
WMP.URL = MoviePath & lstMovies.Text & ".wmv"
End Sub
'------------------------------------------------
You reallize, that that almost that exact code (I say almost because
when I do write vb code, I always do it with option strict on - and
your code well, fails to compile when you have strict type checking
enabled) works in vb.net as well? I did it the way I did, because I
prefere to use the framework when dealing with paths. That probably
comes from the fact, I've done coding on linux using C#/Mono. So, it
keeps things more portable. Also, I'm not a VB programmer anymore - so
I don't think in terms of VB runtime functions :)
Post by Schmidt
The above is doing the same thing as the code Tom has
posted, now compare yourself.
Public Class Form1
Const MoviePath As String = "c:\users\tom\videos\"


Private Sub Form1_Load(sender As System.Object, e As
System.EventArgs) Handles MyBase.Load
Dim FName As String
FName = Dir(MoviePath & "*.wmv")
Do While Len(FName) > 0
uxMovies.Items.Add(Strings.Left(FName, InStrRev(FName,
".wmv", , CompareMethod.Text) - 1))
FName = Dir()
Loop
End Sub

Private Sub uxMovies_DoubleClick(sender As System.Object, e As
System.EventArgs) Handles uxMovies.DoubleClick
If Not IsNothing(uxMovies.SelectedItem) Then
uxPlayer.URL = MoviePath & uxMovies.SelectedItem.ToString()
& ".wmv" '(DirectCast(uxMovies.SelectedItem, MovieInfo)).FullPath
End If

End Sub

End Class

There you go - your nasty code made working in .net. Only a couple
tweaks to allow for option strict.
Post by Schmidt
Furthermore, if you compile that thing with VB6,
you will get an XCopy-deployable, small Executable,
which will run on all versions of Windows
Granted, with the .net compile you don't get a single exe. You get an
exe and a couple dll's to handle the com interop totalling a bit more
than 400 KB. They will be xcopy deployable to all windows machines
vista and higher. If this was being deployed to the "world" in
general, than a small percentage of xp machines would need to have the
framework installed - but, given the environmen the op indicated in his
orignal post, that isn't likely to be the case. But if it is the
case... I still would not suggest VB.CLASSIC. Even powerbasic would
be a better option - at least it still is a living supported dev
environment.
--
Tom Shelton
Mayayana
2012-05-25 16:27:17 UTC
Permalink
| I work for a very large company, and I know every single one of the
| 10's of thousands of machines here have at least .net 3.5 installed.
| These environments tend to be managed.

The OP already said that he was installing to machines
that didn't have the necessary .Net framework. That's
really not a small issue. The XP newsgroup is filled with
posts from people who had bad luck with a bad .Net
update, and then couldn't uninstall to start over again.
Tom Shelton
2012-05-25 20:22:23 UTC
Permalink
Post by Mayayana
Post by Tom Shelton
I work for a very large company, and I know every single one of the
10's of thousands of machines here have at least .net 3.5 installed.
These environments tend to be managed.
The OP already said that he was installing to machines
that didn't have the necessary .Net framework. That's
really not a small issue. The XP newsgroup is filled with
posts from people who had bad luck with a bad .Net
update, and then couldn't uninstall to start over again.
Go look - he was targeting 4.0. That's why I suggested 2.0.... It
will almost certainly be there (actualy, 3.5 will probably be there as
well, but, 2.0 is a safer bet). And he can always check on the default
image
--
Tom Shelton
Schmidt
2012-05-26 16:38:51 UTC
Permalink
And, yes if ms kills the legacy desktop -
then a "windows forms" app will stop working.
But, as usuall you miss the point.
Ok, let's see who's missing the point.
It's about choices and options. And, leanring VB6 leaves you none.
Excpet to be stuck in the legacy desktop, 32-bit world.
So, if MS *is* killing the classic-desktop over the next years,
then you would have to rewrite your VB6-App... In the same
way, as you would have to rewrite your .NET 2.0 Winforms-App
(not much in a Winforms-App that "maps" directly to
Metro-WPF/WinRT or HTML5/JS, is there?).

So, why start with .NET 2.0 (your recommendation) at all,
when the VB6-Coding is easier done, and has less deployment-
problems?
My recomendation was actually not to use any VB.
But you do realize, that this group is a VB-group?
But, learning vb.net is clearly going to be better alternative
to a language whose toolset is unsupported and dead in the market.
As long as "the market" (the markets platform) is the Windows-
Desktop, then VB6 "is still in it" - very much alive and
kickin, as long as this markets platform (Win32-API and COM)
is a given (and this will be the case until MS pulls the plug,
and starts with the same restrictions also on x86-Hardware,
as we see it done currently - only for the ARM-target).

And as for "dead in the market" (if you really want to go there),
.NET 2.0 + Winforms already *is* dead - an early .NET-adopter
*will* have to rewrite his deprecated .NET 2.0 GUI-Applications
for the entirely different animal WPF.

So, MS has "done it again" - Code-Investments destroyed -
now one is "encouraged" (and you yourself among the
marketeers) to "rewrite stuff again", to fit the shiny
new WinRT/WPF-paradigm.

And how long will *that* last might I ask... when there's
already an alternative way offered by MS themself
("written in huge letters on the wall", so to say) -> HTML5/JS...

So, .NET 2.0 + Winforms is dead - Code-Investments (you
strongly encouraged us to do over the last years) are
blown to pieces in this special .NET-camp, dejavu again...
So, if you ask me, I see the same thing happen in a few
years, with code-investments nowadays done into .NET/WPF
(when MS will switch entirely over to the new upcoming
star HTML5/JS).

But yes, VB6-users will have to switch too at some point in
time (over the next 5 years) - but they can take a good
look in the next 2 years, where the MS-journey takes the
"adventurous" (as yourself). VB.classic-users will perhaps
port those of their Applications which worth it, to HTML5/JS
directly, using the better and better becoming tools which will
evolve around that *platformindependent* paradigm - and they
will finally have ported only *once* - whereas the ".NET shops"
(if those follow along your path of thinking), will have ported
their VB6-Apps 2 times more:
1. from VB6 to .NET Winforms
2. from .NET Winforms to .NET WPF(+WinRT)
3. from .NET WPF/WinRT to HTML5/JS finally

I hope you get it now, even when you have a slight disadvantage
in understanding (because you're not self-employed, you just
receive your monthly paychecks) - so you perhaps never had to
spend money yourself for these (IMO) wasted investments
(into development-tools and the time into not that easily
portable code-bases).
A year to learn html5/js? You must mean in depth expertise -
Of course in depth, what else?

I see Browsers (in their latest, much faster and more capable
incarnations) as a new kind of (platform-independent) "Runtime" -
finally and nowadays working fast enough even on all kind
of different mobile-devices.

A Runtime which is not distributed in "a Dll" (or multiple Dlls),
but as a "hosting-process" (along with Dlls). A Host, which is
offering an empty "Window" (an empty "Form") - but one you can
"interact with"... the developer then responsible (as for any
"empty classic VB-Form"), to bring life into it, using Controls
or Widgets (a lot of them already built into the "Browser-Runtime",
implemented in C/C++) ... + a glue language (JS) which currently
runs already faster than VB6-PCode.
Not *all* that much different to the concept we used over the
last 15 years - it's only the loading-process of the "application-
code" and the (GUI)resources (done over sockets instead using the
FileSystem) which differs, but that one is not all that difficult
to understand and adapt to - and it has advantages too, because
you get machine-crossing RemoteProcedureCall-capabilities this
way "for free".


[usefulness of lambdas]

You gave a poor example again, since it can be
replicated in less lines of code in VB6:

'-----------------------------
Private Enum MathOp
Add
Subtract
Multiply
Divide
End Enum

Private Sub Form_Load()
Debug.Print Calculate(1, 1, MathOp.Add)
Debug.Print Calculate(10, 5, MathOp.Subtract)
Debug.Print Calculate(5, 5, MathOp.Multiply)
Debug.Print Calculate(20, 10, MathOp.Divide)
End Sub

Private Function Calculate(P1, P2, ByVal Op As MathOp)
Select Case Op
Case MathOp.Add: Calculate = P1 + P2
Case MathOp.Subtract: Calculate = P1 - P2
Case MathOp.Multiply: Calculate = P1 * P2
Case MathOp.Divide: Calculate = P1 / P2
End Select
End Function
'---------------------------------

And it is even more maintenance-friendly, since
you have to introduce a new "MathOp" only in the
Enum and with one additional line in the Select Case
construct - whereas your example would require changes
in three places.

The VB-example has (furthermore) the advantage, to
work not only with integers, but with any numeric
type - and if you want to restirct it to only one
certain allowed type, you could do so of course.

Also your .NET example needs more memory, because
you introduced a Dictionary-Instance quite unnecessarily.

There are better lambda-examples out there - but this
may serve as an example to what I said earlier -
most of your advertised .NET-features serve (for a
mid-level programmer as yourself) only as a vehicle
"to feel better" - their usage at such a skill-level
is mostly questionable and often inefficient.


[simple ListBox-triggered MediaPlayer-example]
There you go - your nasty code made working in .net.
"Nasty" is a matter of taste - I find also your revised
example still "too wordy" for mine...

May the OP decide, <shrug>...

Olaf
Tom Shelton
2012-05-26 20:12:52 UTC
Permalink
Post by Schmidt
And, yes if ms kills the legacy desktop -
then a "windows forms" app will stop working.
But, as usuall you miss the point.
Ok, let's see who's missing the point.
It's about choices and options. And, leanring VB6 leaves you none.
Excpet to be stuck in the legacy desktop, 32-bit world.
So, if MS *is* killing the classic-desktop over the next years,
then you would have to rewrite your VB6-App... In the same
way, as you would have to rewrite your .NET 2.0 Winforms-App
(not much in a Winforms-App that "maps" directly to
Metro-WPF/WinRT or HTML5/JS, is there?).
Most of the .net framework is availabe in a metro app. The main stuff
that changes are mostly file system access, network stuff, and of
course, p/invoke.

So, if you do a app in the correct way - you will not be rewriting the
entire app. Mainly the interface, and replacing the bit of
functionality that isn't availabe to you in metro.
Post by Schmidt
So, why start with .NET 2.0 (your recommendation) at all,
when the VB6-Coding is easier done, and has less deployment-
problems?
LOL.. How do you know there are less deployment problems? If the .net
2.0 or above framework is present - than there is no problem. It's an
xcopy deploy. And, again - the chances are that it is there.

And the coding is no harder than in vb6. It's in fact almost identical
if you turn off option strict.
Post by Schmidt
My recomendation was actually not to use any VB.
But you do realize, that this group is a VB-group?
So?
Post by Schmidt
But, learning vb.net is clearly going to be better alternative
to a language whose toolset is unsupported and dead in the market.
As long as "the market" (the markets platform) is the Windows-
Desktop, then VB6 "is still in it" - very much alive and
kickin, as long as this markets platform (Win32-API and COM)
is a given (and this will be the case until MS pulls the plug,
and starts with the same restrictions also on x86-Hardware,
as we see it done currently - only for the ARM-target).
And as for "dead in the market" (if you really want to go there),
.NET 2.0 + Winforms already *is* dead - an early .NET-adopter
*will* have to rewrite his deprecated .NET 2.0 GUI-Applications
for the entirely different animal WPF.
Again, your missing the point. Yes, they will have to rewrite the gui
- and maybe the whole app if they were stupid about how it was
structured...

I would whole heartedly suggest taht they just write the thing using
wpf from the begining - if they could be assured of at least a .net 3.0
environment. But, the goal was:

1) to learn the language
2) learn the framework
3) minimize the possiblity of having to deploy the framework.

Personally, if I was the OP - I would just get with the IT people and
find out what is part of the standard image. And, then either do some
other platform if no .net (and that other would NOT be vb6) or target
the latest version they support. But, by just targeting 2.0 they are
pretty well assured that it will be there.
Post by Schmidt
So, MS has "done it again" - Code-Investments destroyed -
now one is "encouraged" (and you yourself among the
marketeers) to "rewrite stuff again", to fit the shiny
new WinRT/WPF-paradigm.
I don't have to re-write hardely anything... So, not sure what your
talking about. Most of my stuff will work unchanged - other than the
UI. I don't tend to write monolithic apps.
Post by Schmidt
And how long will *that* last might I ask... when there's
already an alternative way offered by MS themself
("written in huge letters on the wall", so to say) -> HTML5/JS...
LOL.. That is pretty limited in metro. Most serious apps are going to
be C++/C#/VB.NET + WPF.
Post by Schmidt
So, .NET 2.0 + Winforms is dead
Has been for a long time. In fact, Winforms has been in maintenance
mode since .net 3.0.
Post by Schmidt
- Code-Investments (you
strongly encouraged us to do over the last years) are
blown to pieces in this special .NET-camp, dejavu again...
LOL... What a load of bs. Some inteface changes - yes. But, almost
all of my code will go straight to metro. Because most of my logic is
in their own libraries... And most of the .net framework is available
in winrt.
Post by Schmidt
So, if you ask me, I see the same thing happen in a few
years, with code-investments nowadays done into .NET/WPF
(when MS will switch entirely over to the new upcoming
star HTML5/JS).
They are not switching entirely to that. Please - stop exagerating.
There is absolutely no indication that anything of the sort will
happen.
Post by Schmidt
But yes, VB6-users will have to switch too
Who's the too? I don't have to switch to anything.
Post by Schmidt
at some point in
time (over the next 5 years) - but they can take a good
look in the next 2 years, where the MS-journey takes the
"adventurous" (as yourself). VB.classic-users will perhaps
port those of their Applications which worth it, to HTML5/JS
directly, using the better and better becoming tools which will
evolve around that *platformindependent* paradigm - and they
will finally have ported only *once* - whereas the ".NET shops"
(if those follow along your path of thinking), will have ported
1. from VB6 to .NET Winforms
2. from .NET Winforms to .NET WPF(+WinRT)
3. from .NET WPF/WinRT to HTML5/JS finally
Wow. I thought you were smarter than that. Why do you feel the need
to exagerate. .NET is still as much a part of WinRT - there are some
changes yes - but, for the most part, things will just work. The main
porting will be you gui logic - if you havent' already adopted wpf
(it's been around for a # of years already).
Post by Schmidt
I hope you get it now, even when you have a slight disadvantage
in understanding (because you're not self-employed, you just
receive your monthly paychecks) - so you perhaps never had to
spend money yourself for these (IMO) wasted investments
(into development-tools and the time into not that easily
portable code-bases).
Execept you are completely blowing the situation out of proportion.
Post by Schmidt
A year to learn html5/js? You must mean in depth expertise -
Of course in depth, what else?
I see Browsers (in their latest, much faster and more capable
incarnations) as a new kind of (platform-independent) "Runtime" -
finally and nowadays working fast enough even on all kind
of different mobile-devices.
A Runtime which is not distributed in "a Dll" (or multiple Dlls),
but as a "hosting-process" (along with Dlls). A Host, which is
offering an empty "Window" (an empty "Form") - but one you can
"interact with"... the developer then responsible (as for any
"empty classic VB-Form"), to bring life into it, using Controls
or Widgets (a lot of them already built into the "Browser-Runtime",
implemented in C/C++) ... + a glue language (JS) which currently
runs already faster than VB6-PCode.
Not *all* that much different to the concept we used over the
last 15 years - it's only the loading-process of the "application-
code" and the (GUI)resources (done over sockets instead using the
FileSystem) which differs, but that one is not all that difficult
to understand and adapt to - and it has advantages too, because
you get machine-crossing RemoteProcedureCall-capabilities this
way "for free".
[usefulness of lambdas]
You gave a poor example again, since it can be
Holy crap... are you purposefully being dense? It wasn't supposed to
be anything but a small example of how lambda's work. Not a canonical
example of when you would use them... For cripes sake, I could do the
same thing you did - and would for such a trivial case.

<snip>
Post by Schmidt
And it is even more maintenance-friendly, since
you have to introduce a new "MathOp" only in the
Enum and with one additional line in the Select Case
construct - whereas your example would require changes
in three places.
The VB-example has (furthermore) the advantage, to
work not only with integers, but with any numeric
type - and if you want to restirct it to only one
certain allowed type, you could do so of course.
LOL.. yeah, by using a variant. yuck! I can do the same in C# - using
object. I just chose not to for a TRIVIAL example.
Post by Schmidt
Also your .NET example needs more memory, because
you introduced a Dictionary-Instance quite unnecessarily.
There are better lambda-examples out there
Of course there are. That wasn't the point of the example. It's not
like I have time to spend hours writing tivial little apps for news
groups.
Post by Schmidt
- but this
may serve as an example to what I said earlier -
most of your advertised .NET-features serve (for a
mid-level programmer as yourself) only as a vehicle
"to feel better" - their usage at such a skill-level
is mostly questionable and often inefficient.
You take a trivial example, and then extrapolate this crap?
Post by Schmidt
[simple ListBox-triggered MediaPlayer-example]
There you go - your nasty code made working in .net.
"Nasty" is a matter of taste - I find also your revised
example still "too wordy" for mine...
Turn of option strict, and it's even closer. Yes, the event handeling
is different - but, of course just like in VB6 - you don't type that.
--
Tom Shelton
Henning
2012-05-26 21:31:38 UTC
Permalink
Post by Tom Shelton
Post by Schmidt
And, yes if ms kills the legacy desktop -
then a "windows forms" app will stop working.
But, as usuall you miss the point.
Ok, let's see who's missing the point.
It's about choices and options. And, leanring VB6 leaves you none.
Excpet to be stuck in the legacy desktop, 32-bit world.
So, if MS *is* killing the classic-desktop over the next years,
then you would have to rewrite your VB6-App... In the same
way, as you would have to rewrite your .NET 2.0 Winforms-App
(not much in a Winforms-App that "maps" directly to
Metro-WPF/WinRT or HTML5/JS, is there?).
Most of the .net framework is availabe in a metro app. The main stuff
that changes are mostly file system access, network stuff, and of course,
p/invoke.
So, if you do a app in the correct way - you will not be rewriting the
entire app. Mainly the interface, and replacing the bit of functionality
that isn't availabe to you in metro.
Post by Schmidt
So, why start with .NET 2.0 (your recommendation) at all,
when the VB6-Coding is easier done, and has less deployment-
problems?
LOL.. How do you know there are less deployment problems? If the .net 2.0
or above framework is present - than there is no problem. It's an xcopy
deploy. And, again - the chances are that it is there.
And the coding is no harder than in vb6. It's in fact almost identical if
you turn off option strict.
Post by Schmidt
My recomendation was actually not to use any VB.
But you do realize, that this group is a VB-group?
So?
Post by Schmidt
But, learning vb.net is clearly going to be better alternative
to a language whose toolset is unsupported and dead in the market.
As long as "the market" (the markets platform) is the Windows-
Desktop, then VB6 "is still in it" - very much alive and
kickin, as long as this markets platform (Win32-API and COM)
is a given (and this will be the case until MS pulls the plug,
and starts with the same restrictions also on x86-Hardware,
as we see it done currently - only for the ARM-target).
And as for "dead in the market" (if you really want to go there),
.NET 2.0 + Winforms already *is* dead - an early .NET-adopter
*will* have to rewrite his deprecated .NET 2.0 GUI-Applications
for the entirely different animal WPF.
Again, your missing the point. Yes, they will have to rewrite the gui -
and maybe the whole app if they were stupid about how it was structured...
I would whole heartedly suggest taht they just write the thing using wpf
from the begining - if they could be assured of at least a .net 3.0
1) to learn the language
2) learn the framework
3) minimize the possiblity of having to deploy the framework.
Personally, if I was the OP - I would just get with the IT people and find
out what is part of the standard image. And, then either do some other
platform if no .net (and that other would NOT be vb6) or target the latest
version they support. But, by just targeting 2.0 they are pretty well
assured that it will be there.
Post by Schmidt
So, MS has "done it again" - Code-Investments destroyed -
now one is "encouraged" (and you yourself among the
marketeers) to "rewrite stuff again", to fit the shiny
new WinRT/WPF-paradigm.
I don't have to re-write hardely anything... So, not sure what your
talking about. Most of my stuff will work unchanged - other than the UI.
I don't tend to write monolithic apps.
Post by Schmidt
And how long will *that* last might I ask... when there's
already an alternative way offered by MS themself
("written in huge letters on the wall", so to say) -> HTML5/JS...
LOL.. That is pretty limited in metro. Most serious apps are going to be
C++/C#/VB.NET + WPF.
Post by Schmidt
So, .NET 2.0 + Winforms is dead
Has been for a long time. In fact, Winforms has been in maintenance mode
since .net 3.0.
Post by Schmidt
- Code-Investments (you
strongly encouraged us to do over the last years) are
blown to pieces in this special .NET-camp, dejavu again...
LOL... What a load of bs. Some inteface changes - yes. But, almost all
of my code will go straight to metro. Because most of my logic is in
their own libraries... And most of the .net framework is available in
winrt.
Post by Schmidt
So, if you ask me, I see the same thing happen in a few
years, with code-investments nowadays done into .NET/WPF
(when MS will switch entirely over to the new upcoming
star HTML5/JS).
They are not switching entirely to that. Please - stop exagerating.
There is absolutely no indication that anything of the sort will happen.
Post by Schmidt
But yes, VB6-users will have to switch too
Who's the too? I don't have to switch to anything.
Post by Schmidt
at some point in
time (over the next 5 years) - but they can take a good
look in the next 2 years, where the MS-journey takes the
"adventurous" (as yourself). VB.classic-users will perhaps
port those of their Applications which worth it, to HTML5/JS
directly, using the better and better becoming tools which will
evolve around that *platformindependent* paradigm - and they
will finally have ported only *once* - whereas the ".NET shops"
(if those follow along your path of thinking), will have ported
1. from VB6 to .NET Winforms
2. from .NET Winforms to .NET WPF(+WinRT)
3. from .NET WPF/WinRT to HTML5/JS finally
Wow. I thought you were smarter than that. Why do you feel the need to
exagerate. .NET is still as much a part of WinRT - there are some changes
yes - but, for the most part, things will just work. The main porting
will be you gui logic - if you havent' already adopted wpf (it's been
around for a # of years already).
Post by Schmidt
I hope you get it now, even when you have a slight disadvantage
in understanding (because you're not self-employed, you just
receive your monthly paychecks) - so you perhaps never had to
spend money yourself for these (IMO) wasted investments
(into development-tools and the time into not that easily
portable code-bases).
Execept you are completely blowing the situation out of proportion.
Post by Schmidt
A year to learn html5/js? You must mean in depth expertise -
Of course in depth, what else?
I see Browsers (in their latest, much faster and more capable
incarnations) as a new kind of (platform-independent) "Runtime" -
finally and nowadays working fast enough even on all kind
of different mobile-devices.
A Runtime which is not distributed in "a Dll" (or multiple Dlls),
but as a "hosting-process" (along with Dlls). A Host, which is
offering an empty "Window" (an empty "Form") - but one you can
"interact with"... the developer then responsible (as for any
"empty classic VB-Form"), to bring life into it, using Controls
or Widgets (a lot of them already built into the "Browser-Runtime",
implemented in C/C++) ... + a glue language (JS) which currently
runs already faster than VB6-PCode.
Not *all* that much different to the concept we used over the
last 15 years - it's only the loading-process of the "application-
code" and the (GUI)resources (done over sockets instead using the
FileSystem) which differs, but that one is not all that difficult
to understand and adapt to - and it has advantages too, because
you get machine-crossing RemoteProcedureCall-capabilities this
way "for free".
[usefulness of lambdas]
You gave a poor example again, since it can be
Holy crap... are you purposefully being dense? It wasn't supposed to be
anything but a small example of how lambda's work. Not a canonical
example of when you would use them... For cripes sake, I could do the
same thing you did - and would for such a trivial case.
<snip>
Post by Schmidt
And it is even more maintenance-friendly, since
you have to introduce a new "MathOp" only in the
Enum and with one additional line in the Select Case
construct - whereas your example would require changes
in three places.
The VB-example has (furthermore) the advantage, to
work not only with integers, but with any numeric
type - and if you want to restirct it to only one
certain allowed type, you could do so of course.
LOL.. yeah, by using a variant. yuck! I can do the same in C# - using
object. I just chose not to for a TRIVIAL example.
Post by Schmidt
Also your .NET example needs more memory, because
you introduced a Dictionary-Instance quite unnecessarily.
There are better lambda-examples out there
Of course there are. That wasn't the point of the example. It's not like
I have time to spend hours writing tivial little apps for news groups.
Post by Schmidt
- but this
may serve as an example to what I said earlier -
most of your advertised .NET-features serve (for a
mid-level programmer as yourself) only as a vehicle
"to feel better" - their usage at such a skill-level
is mostly questionable and often inefficient.
You take a trivial example, and then extrapolate this crap?
Post by Schmidt
[simple ListBox-triggered MediaPlayer-example]
There you go - your nasty code made working in .net.
"Nasty" is a matter of taste - I find also your revised
example still "too wordy" for mine...
Turn of option strict, and it's even closer. Yes, the event handeling is
different - but, of course just like in VB6 - you don't type that.
--
Tom Shelton
Hi Tom, are you absolutly sure your middle name isn't Dotnet? ;)

/Henning
Mayayana
2012-05-26 22:07:14 UTC
Permalink
| Hi Tom, are you absolutly sure your middle name isn't Dotnet? ;)
|

It should also be noted that Tom is not really interested
in Windows software in the first place. He's not just choosing
.Net over compiled software. He's moving to the Metro
sandbox, out of the PC. He noted that "most of his code will
go straight to Metro" without requiring rewrite. This group and
this thread are specifically about Windows software. He's
advising from his own point of view, which is writing WinPhone
trinkets, with no interest in even the most basic PC factors,
like a file system, while the OP's task was to put a list of files
into a listbox for organized access.
Tom Shelton
2012-05-26 22:50:29 UTC
Permalink
Post by Mayayana
Post by Henning
Hi Tom, are you absolutly sure your middle name isn't Dotnet? ;)
It should also be noted that Tom is not really interested
in Windows software in the first place. He's not just choosing
.Net over compiled software. He's moving to the Metro
sandbox, out of the PC. He noted that "most of his code will
go straight to Metro" without requiring rewrite. This group and
this thread are specifically about Windows software. He's
advising from his own point of view, which is writing WinPhone
trinkets, with no interest in even the most basic PC factors,
like a file system, while the OP's task was to put a list of files
into a listbox for organized access.
Hey dummy - metro is windows software. Sorry, you just have a very
narrow interpretation of reality.
--
Tom Shelton
Mayayana
2012-05-27 00:53:02 UTC
Permalink
| Hey dummy - metro is windows software. Sorry, you just have a very
| narrow interpretation of reality.
|

You can call it that if you want. Microsoft is
calling it part of Windows 8. But that doesn't
make it so.

Personally I like to work on Windows software.
I have no interest in writing sandboxed trinkets,
optimized for WinPhone8, that can't actually run
on Windows itself and can't even be installed
except by permission through Microsoft's online
store! I'm not even mildly curious.

You're hanging around in a Windows programming
group telling people that they're using the wrong
tool because they won't be able to use it for
WinPhone apps!
Tom Shelton
2012-05-27 02:31:21 UTC
Permalink
Post by Mayayana
Post by Tom Shelton
Hey dummy - metro is windows software. Sorry, you just have a very
narrow interpretation of reality.
You can call it that if you want. Microsoft is
calling it part of Windows 8. But that doesn't
make it so.
Personally I like to work on Windows software.
I have no interest in writing sandboxed trinkets,
optimized for WinPhone8, that can't actually run
on Windows itself
Uh, well not true if the rumors of winphone 8 are true.
Post by Mayayana
and can't even be installed
except by permission through Microsoft's online
store! I'm not even mildly curious.
You're hanging around in a Windows programming
group telling people that they're using the wrong
tool because they won't be able to use it for
WinPhone apps!
LOL.. That's not what I said, but you know that. All I said was that
learning VB.NET gave the OP options to do so if they desired. Not that
they had to, or that they even should.
--
Tom Shelton
Mayayana
2012-05-27 13:49:27 UTC
Permalink
| > You're hanging around in a Windows programming
| > group telling people that they're using the wrong
| > tool because they won't be able to use it for
| > WinPhone apps!
|
| LOL.. That's not what I said, but you know that. All I said was that
| learning VB.NET gave the OP options to do so if they desired. Not that
| they had to, or that they even should.
|

Your general theme has been that VB6 is dead,
we'll be left "stuck in the Win32 world", and that
.Net provides "choices and options". But Metro
is not an option. It's an entirely different thing.
This is a Windows programming group. We want to be
in the Win32 world.

I don't care about Metro. I doubt that most people
here care about it. Why should they? It's the system
for a tablet and phone that have little chance of
survival (Microsoft is so desperate they're already
paying people to write WinPhone software); it's a
sandboxed trinket-builder; and one needs Microsoft's
permission to distribute the software, which can only
be installed through their store.. and they get a 30%
cut, as I understand it.

*Metro _really_ has nothing to do
with Windows programming*.

That's made even more obvious in Microsoft's
attempt to graft it onto Windows and wrap the
shell in it. Metro-on-PC simply has no relevance.

I guess I *might* be tempted to beat you to
writing the Tell-Me-When-I'm-Out-Of-Toilet-Paper
WinPhone8 app, if I thought there were any chance
at all of making money on it... And if I had a Windows
phone... And... ...But from what I've read, even on
iPhone very few people are making money... despite
that AppleSeeds generally pay full retail. In any case,
writing for WinPhone would be like writing for Android,
in the sense that I might get curious if I bought such
a phone, but it would have no bearing on or relationship
to my interest in Windows software.

I think you're conflating your own analysis with your
business hopes and with Microsoft's marketing. It's not
unusual that people want to believe in what might
benefit them, but to believe Microsoft marketing makes
no sense. More often than not their marketing
makes no sense. Why are they opening a Microsoft
store to middleman crippled Metro trinkets? Because they
saw Steve Jobs get away with it. If it doesn't work, they'll
drop the whole thing quicker than a SPOT watch. (They
might even drop it quicker than they dropped the Kin
cellphone. :)
Karl E. Peterson
2012-05-29 19:50:02 UTC
Permalink
Hey dummy - metro is windows software. Sorry, you just have a very narrow
interpretation of reality.
LOL! Whoops, there goes the old BS meter! Call it what you want.
It's *not* Windows.

Metro is to Windows what VFred is to VB. (So I do understand your
particular confusion on this point. <g>)

Mobile Opportunity: Fear and Loathing and Windows 8
http://mobileopportunity.blogspot.ca/2012/05/fear-and-loathing-and-windows-8.html

Why Windows 8 Scares Me - YouTube
http://www.youtube.com/watch?feature=player_embedded&v=qIMuJTrxuhQ#!
--
.NET: It's About Trust!
http://vfred.mvps.org
Mayayana
2012-05-29 23:14:58 UTC
Permalink
| It's *not* Windows.
|

It's interesting that MS is foisting Metro on Windows 8
for no tenable reason, while at the same time Windows RT
is specifically not being called Windows 8 RT. On the
one hand they want everyone to accept WinRT and Metro
as Windows, but on the other hand, they don't because
they don't want tablet buyers to be upset that they
can't install Windows software.

Much of the media hasn't even noticed that distinction,
so it looks like there probably will be people who are upset
that their tablet can't do much of anything beyond logging
into MS online services.
ralph
2012-05-29 23:25:49 UTC
Permalink
On Tue, 29 May 2012 19:14:58 -0400, "Mayayana"
Post by Mayayana
| It's *not* Windows.
|
It's interesting that MS is foisting Metro on Windows 8
for no tenable reason, while at the same time Windows RT
is specifically not being called Windows 8 RT. On the
one hand they want everyone to accept WinRT and Metro
as Windows, but on the other hand, they don't because
they don't want tablet buyers to be upset that they
can't install Windows software.
Much of the media hasn't even noticed that distinction,
so it looks like there probably will be people who are upset
that their tablet can't do much of anything beyond logging
into MS online services.
I'm sure it will go well. Microsoft has always had the best interests
of its customers at heart.

-ralph
<hic>
Mike Williams
2012-05-30 05:51:20 UTC
Permalink
On the one hand they want everyone to accept WinRT
and Metro as Windows, but on the other hand, they
don't because they don't want tablet buyers to be upset
that they can't install Windows software.
Anyone who buys a Tablet (or indeed anything else) that runs anything
produced by Micro$oft is off his trolley!

Mike
Loading...