-
VBForums' new heavy .Net hand
I'm far from an insider here so I certainly understand if I missed the meeting on this. ;)
Lately, especially very recently, several of the moderators here seem to have gotten very heavy handed about pushing people toward VB.Net in the Classic VB forum.
Now I won't discourage anyone from moving to .Net, and I myself am amazed by the number of VB6 newbies we're encountering so late in the day. But why has the tone changed so drastically? Is there some other factor involved that I just haven't picked up on?
I can understand people who swim in VB.Net constantly not wanting to go to the trouble of answering questions about VB6. So just don't. What's so hard about that?
Or is it post-Holiday blues? :(
I'm not complaining, just curious. If there is an active anti-VB/VBA policy here now I'd just like to know about it. If nothing else maybe it'll help keep me from from crossing the line. I just need to have some idea where the line is.
I fully agree that VB6 is not a good place for newbies to start today, or for several years now really. But isn't disparagement of one as bad as disparagement of the other?
Or am I just being obtuse? :duck:
-
Re: VBForums' new heavy .Net hand
I am also a VB6.0 die-hard but common sense should dictate that learning .Net is preferable if one is new since it is the up-to-date technology.
-
Re: VBForums' new heavy .Net hand
No question there. As I said (or meant to imply) I have no idea why a newcomer would choose VB5 or VB6 anymore.
For that matter I dont care to keep answering "how do I save the text from a TextBox?" questions either. But still, isn't it their choice?
At the same time it can only help them to give them advice about trying VB.Net before committing a lot of effort learning old VB6. Maybe they don't know about VB.Net or something.
I just thought I had spotted a new trend here and was wondering what it was all about.
-
Re: VBForums' new heavy .Net hand
After 7 years some people are still not aware of dot net existance so imho it's "our job" to point them in the "right" direction.
Face it: like I recently had to say "sadly, but VB6 is past..." and it's a fact whether you hate it or not.
-
Re: VBForums' new heavy .Net hand
I just wondered if things like those mentioned in:
[2004] Microsoft .NET losing mind-share?
[2005] The Slow Brain Death of VB.NET
[2007] Why is C# taking the lead over VB.NET?
[2008] To C# or VB.NET - That is the Question
... were "getting to" people. Programming in general is down, I don't think VB.Net is a factor in its own slow adoption.
Or maybe we're all just tired and/or bored.
-
Re: VBForums' new heavy .Net hand
[2004]... Open Source is big and it's getting bigger every day. I confirm that by observing situation in my own town.
[2005-2008] - I actually enjoyed reading it but ... in dot net language became irrelevant since its 2005 release and gap is getting smaller and smaller...Syntax is basically what differs.
What I see in my town [in regards to VB6] is
- plenty of job offers
- all of them are related to legacy systems maintenance
- no new development even promissed
- if you want to be MS developer then Dot Net is the way to go
-otherwise you've to choose between Java or open source...
That's basically it. Really not much, although C# job (or Java) may (but not necessary) get you a little more income.
-
Re: VBForums' new heavy .Net hand
my experience..
In recent days i got interviewed by middle-level mnc.
they had vb opening.(bt same as above said 'it was only for maintaince of old programs ,no new developement.')
he had asked me one question which i had asked earlier in our forum.. i want to put it here also.
"what is main problem faced by vb developer in recent time.'
from our forum i have got a good link
have a look..http://www.itwriting.com/frozenvb6.php
thanks and regards
ash
-
Re: VBForums' new heavy .Net hand
I think maybe its a case of moving people on to the language that is newest of the languages. While I am a web developer (learning to be) I have been told to use xhtml rather than the old html. Xhtml has more functionally with the code than html and I am sure its the same between VB 6.0 and VB.Net.
However, I understand where you are coming from in terms sticking to your guns and what you are familiar with. However, ways of doing things change although not always for the better.
-
Re: VBForums' new heavy .Net hand
I only encourage looking at the .NET side of things if the individual in question is just starting out.
I fail to see any reason at all for a new person to learn VB6 unless they have just been hired to expressly maintain legacy VB6 apps.
-
Re: VBForums' new heavy .Net hand
Well then maybe it was just misperception on my part. I thought from what I'd been seeing there was some new consensus to take positive action nudging people toward .Net languages.
Not that this would be a bad thing, but it began to sound like a broken record. This led me to wonder if something new had happened that stimulated more militance, or would that be diligence? :D
-
Re: VBForums' new heavy .Net hand
You probably saw a lot of responses to a lot of new people.
We tend to get them in bunches for some reason that I've never completely understood. :D
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by Hack
You probably saw a lot of responses to a lot of new people.
We tend to get them in bunches for some reason that I've never completely understood. :D
Probably all from the same University course.
-
Re: VBForums' new heavy .Net hand
A forum isn't just about giving an answer to a question, it's about guidance. Think of it this way - if someone were to ask you "Do you know where I can get the latest Indiana Jones movie on VHS", you'd probably reply "You're really better off getting a DVD/BluRay player."
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by mendhak
Probably all from the same University course.
That is a seriously disturbing thought.... that means some one's cirriculum is broken.
-tg
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by mendhak
Probably all from the same University course.
Probably not, most colleges and universities worldwide tend to have the same starting times for their semesters, which means worldwide those vb6 courses start all at about the same time, so we get those new students at about the same time.
I've noticed this trend in the .net section here and also on another vb.net forum too
-
Re: VBForums' new heavy .Net hand
I'd say, most do.... but there are technical colleges (like ITT Tech, DeVry, etc) that run courses on a revolving basis and don't follow any traditional school calendars.
-tg
-
Re: VBForums' new heavy .Net hand
...or any traditional school curriculums.
Congrats on 10K TG!!!!!!!!!!!!!!!!!!!!!! :thumb:
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by JuggaloBrotha
Probably not, most colleges and universities worldwide tend to have the same starting times for their semesters,
No, it's different in different parts of the world. The "Eternal September" thing is mostly a US phenomenon.
-
Re: VBForums' new heavy .Net hand
Unfortunately I must work on VB6 and classic ASP systems as typical, day-to-day maintenance (along with new .Net development). Attempting to update / fix COM Objects and deploy them across multiple environments with multiple COM dependencies... well I wouldn't wish that onto anyone so if given the chance I always try to convince folks to move to .Net if they're in VB6 or just starting out with VB6.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by dilettante
If C# had never been created then I bet the uptake of VB.NET would have been much higher. C# brought new developers to the MS fold that might otherwise have chosen Java or Delphi perhaps, but it also cannibalised a fair chunk of the existing VB fraternity.
It would be interesting to see where existing VB6 developers would go if they were forced to stop using VB6 right now. Some would take up VB.NET, some because it was the "natural progression" and some for other specific reasons. Some would take up C#. Some would go to non-Microsoft technologies, some for technical reasons and some out of spite. Who knows what the proportions would be.
-
Re: VBForums' new heavy .Net hand
True, I would like to make a point though. I've noticed many people fear that Microsoft will drop Visual Basic. This is an ill thought out misconception. Many newbies start with visual basic and because of the ease of you Microsoft are grooming young coders for Microsoft technologies. This means they will never drop it, they may change it again but this is natural progression.
Hmmmm, Visual Basic - The gateway drug for young programmers.
-
Re: VBForums' new heavy .Net hand
If VB6 is still alive and kicking then why on earth would anyone think that VB.NET would be going to die. :ehh:
To suggest the best tool for each job is only natural. But to say use VB6 as its easier or such is counterproductive to both the person s well as the language.
So if someone came out and said "I want to learn BASIC" would everyone tell them to learn VB6 or any other advanced modern day language? :D
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by RobDog888
So if someone came out and said "I want to learn BASIC" would everyone tell them to learn VB6 or any other advanced modern day language? :D
I would tell them to learn LISP. If they can learn LISP, they can learn any language as far as I'm concerned.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by RobDog888
So if someone came out and said "I want to learn BASIC" would everyone tell them to learn VB6 or any other advanced modern day language? :D
If their intention is to produce native software for the general public, I would suggest using Delphi. I would explain to them that the differences between Delphi and a Basic language are so small that choosing the former is definitely worth the effort.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by RobDog888
If VB6 is still alive and kicking then why on earth would anyone think that VB.NET would be going to die. :ehh:
I personally expect VB.Net to migrate solely to the DLR, for use in SilverLight and as a replacement for VBA in Office and maybe VBScript in other places. The CLR compiler will just drop by the wayside by a release or two after VBx.
Of course Microsoft doesn't seem as hot on this idea as they were 18 months ago though, so we'll see.
Quote:
Originally Posted by RobDog888
So if someone came out and said "I want to learn BASIC" would everyone tell them to learn VB6 or any other advanced modern day language? :D
VB6 has two substantial shortcomings as a beginner's language today:
- Hard to come by (without stealing it).
- Aging to the point where you need to be aware of many changes in the Windows ecosystem to create viable programs with it.
Neither of these seem to be stopping people, and a lot of BAD efforts are still out there trashing systems and causing DLL Hell today.
VB.Net might be "modern" in a sense (if you consider Java to be "modern") but for a beginner asking about Basic I'd be more tempted to point them toward Small Basic right now.
Don't even get me started on FreeBASIC. I do admire the effort v1ctor put forth and his persistence though. I remember when it was just a baby, though I'm not sure how many others here ever tour the QB community. If you see VB6 programmers as codgers in wheelchairs waving canes in the air or maybe dinosaurs dying slowly... well these guys might seem like cave men or trilobites.
I don't consider Delphi viable for a number of reasons, but especially not for a beginner. Delphi.Net is like poking knitting needles into both eyes, after heating them to cherry red.
And I have nothing in particular against Pascal or Algol style languages.
-
Re: VBForums' new heavy .Net hand
On the VB6 comment I was relating the suggestion to how suggestions are from VB6 to .NET No I cant say I have recommended anyone to learn VB6 except someone at work where we have dominant VB6 apps as they wanted to get into programming and already work for the company so it would be the easiest way to get into programming.
-
Re: VBForums' new heavy .Net hand
I disagree with the comment about VB.net. Even if Microsoft did want everyone to use C# they realise that VB.net is there gateway language so I belive it will stay very much where it is.
-
Re: VBForums' new heavy .Net hand
-
Re: VBForums' new heavy .Net hand
Sorry Delettantes first one about VB being downsized.
-
Re: VBForums' new heavy .Net hand
Oh yes I agree with you. VB.NET is being more promoted and language translations are increasing. Microsoft has finally woken up and is making a new effort with VB.NET.
-
Re: VBForums' new heavy .Net hand
Downsized? I meant they seemed to be promoting it to a new role when they began talking about VBx (but then got very silent about it).
Where VB.Net might go now is hard to say, but they may have rethought the idea of dropping the CLR compiler a long time ago. Even if they did choose to do it they'd have to phase it out over years to accomodate migration to C#. I think it's a dead issue even if it was ever more than a notion.
I'm no .Net fan but I agree this is a very poor time to be suggesting that new programmers pick up VB6. The exception might be where a job requires it.
-
Re: VBForums' new heavy .Net hand
Are you saying no .net languages are worth suggesting or just vb.net? Which do you recommend to others?
-
Re: VBForums' new heavy .Net hand
I think .NET is an amazing paradigm, compare it to trying to learn libraries in even c++. The STL library for instance is a nightmare and that's basic. The only thing I would like to see more of in .net is cross platform support even if it just giving the mono guys a bit of support.
While many argue that there is no need for vb.net because it an c# are the same I disagree. I can write in both Irish and English but I rather English as I can write better understood text. This is the same as VB/C# and I believe Microsoft also realise that language attachment is a big issue. I can read C# fine but I don't have the same "flow" writing c# as I do when I write VB code.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by RobDog888
Are you saying no .net languages are worth suggesting or just vb.net? Which do you recommend to others?
It depends on what they want to accomplish. If they're merely curious and want to play around I point them to SmallBasic now. Otherwise I might suggest VB 2008 Express or just send them to http://www.microsoft.com/Express/ which has a "choose by interest" SilverLight applet these days. For example they might be better off with Visual Web Dev Express if that's where their interests lie.
There just isn't a good native code alternative for people to start with anymore. We're left with Delphi which may drive them nuts or C++ which is not what most people are ready to tackle.
The free editions of things make it hard to suggest anything that costs $100 just to start casually experimenting. Of course NSBasic/Desktop is $20 off right now, and it's still a quite viable non-.Net alternative.
-
Re: VBForums' new heavy .Net hand
Thats because many people what RAD development and RAD development on the metal is not as viable as using a managed framework.
-
Re: VBForums' new heavy .Net hand
Oh so you do recommend .NET to people. :D I was just wondering if you had a big dislike for .net or ???
If members are not serious about programming then its a toss up between recommending VB6 or VB.NET. If they are wanting to get serious or make a career out of it then I suggest .NET always
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by dilettante
There just isn't a good native code alternative for people to start with anymore. We're left with Delphi which may drive them nuts or C++ which is not what most people are ready to tackle.
I think this is the second time I have replied to a negative comment of yours on Delphi. I'd just like to let you know that I switched from legacy VB to Delphi a couple of years ago and in less than one month I could produce my first commercial application. I am convinced that Delphi does not drive anybody nuts. On the contrary, the more you use it, the more you fall in love with it.
-
Re: VBForums' new heavy .Net hand
the more you use [insert language of choice], the more you fall in love with [insert language of choice].
It does take a little more effort with Delphi than it does VB. VB was design to be a RAD tool. Delphi filled a different purpose. Both have their pros and cons... each of which could drive anyone nuts....
-tg
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by techgnome
the more you use [insert language of choice], the more you fall in love with [insert language of choice].
That's not always true (at least not for me). I've had to use C# for the past 4 years for my career but I still love C++ more; I just never get a chance to use it. Generics make me thankful for templates :).
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by techgnome
VB was designed to be a RAD tool. Delphi filled a different purpose. Both have their pros and cons... each of which could drive anyone nuts....
-tg
I consider Delphi to be a RAD tool just like VB. Its form designer is organized in the same way as VB and you have to deal exactly with the same development environment made of procedures, events and properties. Why on earth do people believe that Delphi is harder to learn than VB? Believe me, it isn't!
I am probably missing something but could you please tell me what the differences between VB and Delphi are, apart from a slightly different coding syntax? Well, the only significant difference that comes to my mind is the fact that the executable files compiled with Delphi are standalone unlike the VB ones.
-
Re: VBForums' new heavy .Net hand
Gosh, everyone is taking all of this so personally!
The "problems" with Delphi are:
- Uncertain future: the product continues to be dependent on companies who pass it around like a stepchild.
- Tiny and shrinking job market, almost entirely maintenance work.
- Vanishingly small community, booklists, available training,etc.
- Foreign component architecture (VCL) with no OS-level support.
- Module decoration in full view in the IDE and manually written unlike classic VB.
- Based on a language (Pascal) that the world has chosen to leave behind for good or for bad.
- Clunky IDE and poorly organized online Help.
- Community with a huge chip on its shoulder.
This is easily compared with classic VB's problems too:
- No future at all, a dead product.
- Shrinking job market largely limited to maintenance work.
- Stale from having been frozen in time at 1998.
- Time and Windows continue to march forward without classic VB.
- A waning community, lapsing into a QB-like morass of people doing games and graphics or web-scraping instead of solving interesting new problems.
I make those comments in light of the question asked a little bit ago here: "Which do you recommend to others?" I took that as "... recommend to beginners?" and perhaps I shouldn't have.
I you have a certain level of experience under your belt you know enough to make your own choices. If Delphi fits your needs I'd say great, more power to you. If VB6 is meeting your needs the same applies. But at that point you want to look at a number of options to be sure you're doing the right thing in a given instance. Sometimes C/C++ is needed. maybe not for the whole project, maybe just a library or two. Sometimes you can use Delphi in the very same place. I have.
Certainly the Delphi learning curve is much less than C++ for GUI and RAD applications. It can work well if you're writing monolithic desktop applications nobody else will have to support. If you move to Delphi.Net you can gain advantages from the Framework in terms of using .Net features like WCF. In VB6 you have to fall back on .Net Interop to do most of this right now (though maybe not in Win7;)).
But in terms of making a recommendation to a beginner there is no way I'd suggest Delphi, PowerBuilder, or classic VB. They are the past. Is that such an unreasonable opinion?
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by RobDog888
Oh so you do recommend .NET to people. :D I was just wondering if you had a big dislike for .net or ???
Oh I'll freely admit to a big dislike of .Net, much more than I dislike Delphi! :wave:
That doesn't mean I don't use both. It also doesn't do anything to change Microsoft's direction in tools and tool support.
I probably write more C# than VB.Net but that's usually not by choice. I won't claim to understand either one (or more importantly the Framework) in enough depth to make me feel comfortable providing .Net answers in forums though. Almost 98% of the C# I write is server side business objects that are related to CRUD work. It may as well be Cobol. Almost none of it is UI or communication related, and thus it tends to be pretty boring stuff - just data access and manipulation logic. The little bit left is mostly ASP.Net, and a tiny bit of Delphi maintenance.
The more interesting work is still mostly VB6. The primary uses I make of this are desktop client programs and Windows Services.
The former because (a.) most desktops still are on XP or Win2K and the .Net Framework continues to be a deployment headache in corporate settings and (b.) .Net programs still have terrible startup characteristics and unpredictable "lockups" due to garbage collection. Users scream when required to use .Net programs on the desktop because most are still on old, old machines (512MB PIIIs & Celerons are still common).
The .Net version of a customized Telnet client I replaced is just plain funny to watch. Disappearing cursor, lost keystrokes and response data, dropped connections. It's a hoot to try to use on a 256MB Celeron.
The latter (Services) because .Net Services also have terrible performance characteristics.
As time goes on 3rd party vendors of specialized service applications stop supporting mainframes, yet legacy applications there still require those functions. One example is address processing software. A customer moved to the vendor's Windows product which is written in a sandboxed Cobol and exposes an API as standard DLL calls. Another vendor came in and wrote a Service layer on top of that to provide mainframe applications with access over the network in an RPC-like fashion. The performance was... unacceptable.
Finally the vendor sunsetted the mainframe product and the customer was stuck. They had to abandon the mainframe software and use the Windows address processing software, but it was unable to hold up under load. Everyone blamed Windows of course (including both vendors).
I ripped out the VB.Net Service, replaced it with a VB6 Service, and we saw an immediate improvement in performance. Not only is the VB6 solution fully 12 times faster than VB.Net under sustained load, it never locks up for garbage collection. This is important because the request load is so high that a garbage collect hiccup results in queueing on the mainframe side and response times get worse and worse and worse... until finally they get better for a while. But those sporadic responses taking up to 180 seconds just were not acceptable, and batch processing against the VB.Net Service was abysmal due to even higher loading.
The funny part is that VB6 is far from the ideal tool for creating a Windows Service. That's an application type far outside of VB6's intended domain.
It's the same story at many a customer site.
So I CRUD away writing C# about 80% of my time, and when the need arises I spend time ripping out .Net "solutions" and putting in VB6 instead. The biggest problem is making sure customers understand the tradeoff, the status of VB6 - i.e. that it is "dead." I've offered C++ instead but of course since the development and support costs are 3 times that for VB6 nobody wants them anymore.
But .Net is here for the duration. There are lots of cases where the only well documented API exposed is .Net oriented. Just look at Microsoft's current Speech Server, BizTalk, and SharePoint platforms as examples.
With time Microsoft is improving GC, and careful Disposing makes a big difference. As more machines have a stable Framework version preinstalled and use it enough to keep it active startup woes will diminish along with deployment headaches. Better machines just plain do better in general. Some of this simply requires retiring old desktops and servers though.
-
Re: VBForums' new heavy .Net hand
I have to agree with you when you compare Delphi's "vanishingly small community" with the VB's one. Yes, unfortunately I couldn't find anything as good as Vbforums.com dedicated to Delphi and I really miss it. Anyway, there are some good communities that can give you a helping hand if you need it, even though they are few.
As far as the first problem you've mentioned is concerned (Uncertain future: the product continues to be dependent on companies who pass it around like a stepchild), I think that Embarcadero Technologies have not yet manifested any intention to stop investing in Delphi. If you have different information, please let me know.
The Delphi IDE may be clunky but it is very functional and offers you an enormous choice of native components, something that in VB6 is only possible to get by resorting to third-party OCX's.
If you are not a self-employed man (as I am) then it may make a lot of sense to embrace the .NET technology, but I can't see any reason why I should use .NET to develop native desktop applications.
Some time ago I pointed out that the main problem with .NET which prevents me from using it is that every two or three years MS come up with a new version of the Framework, which gets bigger and bigger. Distributing a 230MB runtime file is a serious problem here in Italy and this would result in fewer sales for me.
If a beginner wanted to produce desktop applications only, I would surely tell him that Delphi is a product to be taken into serious consideration (unlike .NET apps, Delphi's executables don't need any runtime or obfuscator).
-
Re: VBForums' new heavy .Net hand
You make some good points there. Obfuscation can be a big headache, and if your market is hostile you can find yourself investing heavily in trying to protect your programs from piracy and code theft.
The 2.0 Framework has been stable for a while and probably would be the best target, but it is not everywhere yet. However it will probably continue to be present in OSs beyond Vista and Win7 for a while.
So Delphi can address most of your concerns better than alternatives, which is great. Non-beginners can and should make informed choices based on their needs.
The best thing about MS SmallBasic is that before too long a beginner is forced to take a look at an alternative. It makes no attempt to be a tool for general use, or even all that useful in the first place. Training wheels are useful in themselves though too.
And it cuts down on VB6 questions like "How do I save a TextBox's content to disk?" ;)
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by dilettante
Certainly the Delphi learning curve is much less than C++ for GUI and RAD applications.
Not necessarily. The wxWidgets library makes GUI creation in C++ practically as easy as VB especially if you are using the wxWidgets IDE. It's seriously drag and drop. The same goes for QT and both can be easily taken to Linux, OS X, BSD, etc, recompiled and you're done.
Once C++0X is finished I think we'll be seeing some improvements to existing frameworks to increase the level of productivity of C++.
Quote:
Originally Posted by dilettante
Oh I'll freely admit to a big dislike of .Net, much more than I dislike Delphi! :wave:
I dislike .Net for a variety of reasons but I still think it's a great RAD framework. I hate Delphi. It's an extension hack on a language Apple developed and its syntax is nonsensical. At least C# is a standardized language; Delphi is not but I won't harp....
Quote:
Originally Posted by dilettante
The former because (a.) most desktops still are on XP or Win2K and the .Net Framework continues to be a deployment headache in corporate settings and (b.) .Net programs still have terrible startup characteristics and unpredictable "lockups" due to garbage collection. Users scream when required to use .Net programs on the desktop because most are still on old, old machines (512MB PIIIs & Celerons are still common).
You're doing something seriously wrong. The Garbage Collector does not cause lockups and .Net is a breeze in corporate environments (one of its main purposes).
First off, Garbage Collection sucks and is a terrible memory management idea. Unfortunately it's necessary as there are many back programmers out there who don't know how to clean up their mess. The Garbage Collector runs in the background and does not disturb your current application. In fact, it can't. It's running on a completely different thread and removes objects that are no longer references.
Also, 512MB of ram and Celerons are perfectly capable of running .Net applications. Remember, .Net is not a playground. You shouldn't just create tons of objects without cleaning them up the best as you can.
At the company I work for we have web servers that only have about 300-400MB of available RAM but we make due and have multiple ASP.Net websites and web services running without a hitch and being called multiple times an hour (sometimes a minute depending on the day!).
Just because .Net can "baby" programmers with the GC doesn't mean you shouldn't write decent code.
Quote:
Originally Posted by dilettante
The .Net version of a customized Telnet client I replaced is just plain funny to watch. Disappearing cursor, lost keystrokes and response data, dropped connections. It's a hoot to try to use on a 256MB Celeron.
Again, you're doing something very wrong. Are you handling everything in one thread? I've never had a .Net application handle like that and I've seen and worked on some insanely complex ones. 256MB is a little low but doable with a lean .Net application.
Quote:
Originally Posted by dilettante
The latter (Services) because .Net Services also have terrible performance characteristics.
Please explain. I've seen some well written services that were really fast and didn't have any problems so what are these terrible performance characteristics you speak of?
Quote:
Originally Posted by dilettante
I ripped out the VB.Net Service, replaced it with a VB6 Service, and we saw an immediate improvement in performance. Not only is the VB6 solution fully 12 times faster than VB.Net under sustained load, it never locks up for garbage collection. This is important because the request load is so high that a garbage collect hiccup results in queueing on the mainframe side and response times get worse and worse and worse... until finally they get better for a while. But those sporadic responses taking up to 180 seconds just were not acceptable, and batch processing against the VB.Net Service was abysmal due to even higher loading.
So you ripped out bad code and a bad architecture created by a third party, wrote it in a horrible and old language with little to not support for multi-threading and it was faster? You can't magically fix things that are poorly architected and poorly coded with layer on top of layer just by using another language.
You could write a service in C++ and I could write a service in interpreted JavaScript and have my service be 12 times faster than yours. Know how? Architect it well and if the C++ one is not then I can easily win.
It sounds to me like you're blaming .Net when it should really be the programmers taking the blame.
Quote:
Originally Posted by dilettante
I spend time ripping out .Net "solutions" and putting in VB6 instead.
I've always joked about doing this at work... didn't actually think someone did that :(.
Quote:
Originally Posted by dilettante
With time Microsoft is improving GC, and careful Disposing makes a big difference.
There was an update in 1.1 for the GC but, as far as I know, it hasn't been updated much if at all since then. What improvements are you referring to or did I miss something?
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by esposito
Some time ago I pointed out that the main problem with .NET which prevents me from using it is that every two or three years MS come up with a new version of the Framework, which gets bigger and bigger. Distributing a 230MB runtime file is a serious problem here in Italy and this would result in fewer sales for me.
I agree 100%; it's insane how large the distributions have become especially since Microsoft is using 2.0 as a base. I imagine 4.0 will be even larger :(.
Quote:
Originally Posted by esposito
If a beginner wanted to produce desktop applications only, I would surely tell him that Delphi is a product to be taken into serious consideration (unlike .NET apps, Delphi's executables don't need any runtime or obfuscator).
I'd say to look at wxWidgets and QT as well since they're very easy. They can even be used with languages other than C++ (maybe even Delphia if that's your cup of tea).
Quote:
Originally Posted by dilettante
Obfuscation can be a big headache, and if your market is hostile you can find yourself investing heavily in trying to protect your programs from piracy and code theft.
Obfuscation is a waste of time and money. When you go into developing an application you should know the limits of the technology you're using. If it's a desktop application to be sold then I don't see why anyone would choose .Net unless you don't care about the code's security.
I view Obfuscation as a way to try and force .Net applications to be something they're not.
-
Re: VBForums' new heavy .Net hand
As far as GC improvements go, a big problem in the 1.x CLR was handling GC for unmanaged objects. That got fixed in 2.0 and may well have been addressed in a 1.1 update. For the rest I just lean on the numerous Microsoft statements about 2.0, 3.5, and 4.0 that all tout "GC improvements" but don't provide details. The 2.0 applications I've seen all perform much better though.
The lockups I mentioned might be better described as temporary stalls? Things just stop working for a more than a merely perceptable time.
You're absolutely right that just changing tools can't correct lousy code. But when you're asked to do a job for a set fee it is hard to justify taking on the open ended task of trying to correct somebody else's problem child. As long as I'm given complete specs and the task is of finite size I can estimate better assuming tools I'm comfortable with.
If I thought I could do a better job myself in .Net then that might be an answer. I won't make that claim though.
wxWidgets sounds interesting and I'll have to give it a fair trial.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by Kasracer
When you go into developing an application you should know the limits of the technology you're using. If it's a desktop application to be sold then I don't see why anyone would choose .Net unless you don't care about the code's security.
That's all I have wanted to say ever since I started expressing my disappointment with .NET. Most commercial applications are developed in native code and, as you said, it is hard to find a valid reason why they should be written in .NET. Obviously, ASP.NET is a completely different story as it is probably one of the best languages on the market to develop Web based applications.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by esposito
Most commercial applications are developed in native code and, as you said, it is hard to find a valid reason why they should be written in .NET.
How about because its a hell of a lot easier and faster to write? To me that is the entire purpose of .NET - to make programming easier for people who dont want to spend years learning C++ or whatever.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by chris128
How about because its a hell of a lot easier and faster to write? To me that is the entire purpose of .NET - to make programming easier for people who dont want to spend years learning C++ or whatever.
I'm sure C++ is a lot harder to learn than .NET. I haven't found any particular difficulty learning Delphi, though.
-
Re: VBForums' new heavy .Net hand
Well I've never tried Delphi so cant comment but the reason I have never tried Delphi is because I would rather stick with a programming language Microsoft develop as I know there will always be plenty of support/tutorials etc for it for the foreseeable future.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by chris128
How about because its a hell of a lot easier and faster to write? To me that is the entire purpose of .NET - to make programming easier for people who dont want to spend years learning C++ or whatever.
What you described is why .Net is a RAD framework and not necessarily a good reason to develop commercial software in .Net.
Also, if you understand programming structure (even if you learned it in VB.Net), C++ isn't very difficult to learn and with GUI frameworks like wxWidgets and QT it makes getting an application off the ground pretty quick. Obviously it still wouldn't be built quite as fast as a GUI .Net application but it can be done relatively quickly.
I have no problem with commercial software being written in .Net as long as the company / person / organization fully understands the decision they're making. If they don't care about having their compiled code exposed or want to go open-source or a subscription based model then I think .Net can be a great fit. But if you don't want anyone getting your exact source code after reverse engineering your application or if you need the most possible speed, then .Net is not the way to go. I'm not saying it's impossible to reverse engineer a C++ application but once it's compiled into a native binary it's much more difficult to actually get any type of code that is even similar to what you wrote where as in .Net it's insanely easy. Even the "protectors" that encrypt your source in .Net can be broken as they have to be decrypted at some point. I'm also not saying that .Net can't be fast but for mission critical, speed hungry applications it's always better to have something like RAII and manual memory management (as long as it's done well, of course; memory learks are never good :)).
Off-Topic-A-Little-Bit
I learned C++ as my second language (I had taught myself VB6 about... 10 years ago I think? It wasn't too long after it came out I believe). Since I already had a basic understanding of programming structure from VB6 I was able to learn it relatively quickly. After that summer, however, I had to teach myself C# for my career and ever since then I had not written another piece of C++ code... until about a year ago. At my current job they had an urgent need to build a quick C++ GUI application and I was the only one who really had time to do it. I was very rusty with C++ but had a small GUI application up, running and functional by the end of that same day and all written using the Win32 API (didn't use any frameworks like MFC). C++ looks scary but I don't think it is; it has a ton of power an flexibility and it's not very difficult to understand what it's doing once you learn the syntax.
I think C++ has a stigma that it's very difficult to learn but really, once you know the basic syntax (which is larger than C's and C#'s (well, that's a tough call with LINQ)) then you just need to learn about the different libraries.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by chris128
Well I've never tried Delphi so cant comment but the reason I have never tried Delphi is because I would rather stick with a programming language Microsoft develop as I know there will always be plenty of support/tutorials etc for it for the foreseeable future.
When I started using VB (about 11 years ago), I was sure I had made the right choice as the name Microsoft was a synonym for guarantee to me. When MS decided to discontinue VB, I felt betrayed and I realized that I had taken for granted something that revealed itself to be unreliable.
MS are a private company and, as such, they put their own interests on top of their priority list.
The reason why they came up with .NET was simply because they were afraid of Java and wanted to produce something similar based on a virtual machine that, at least potentially, was compatible with different OS's.
MS didn't care about the millions of VB programmers who were unwilling to embrace .NET because they developed native applications for the general public and using an indecently huge framework would have meant shooting themselves in the foot.
Your comment, "I would rather stick with a programming language Microsoft develop", does not rest on solid foundations because, as soon as MS come up with another brilliant idea, they won't think twice before abandoning .NET and they will just kiss you goodbye. That's exactly what they did with legacy VB developers.
The moral of the story is, if .NET suits your needs, keep using it, but don't do it if the only reason is the reliability of MS. You are only a customer to them and, if your interests are in contrast with theirs, rest assured that you will have a hard time.
Personally, I develop shareware applications for the general Italian public and there is no logical reason on earth why I should decide to abandon Delphi and switch to .NET. Some people replied to me by saying that, in a few years, the .NET Framework will be present on most home PC's. The problem is, the FW is upgraded on a regular basis and, everytime a new version comes out, it grows so much that you wonder if you are installing a new operating system rather than a virtual machine.
As I have to take care of my own interests, the best thing I can do is forget .NET and see what the market can offer for the development of native software. At the moment, I consider Delphi as the best programming tool you can find on the market as a replacement for legacy VB. And please... don't call VB.NET Visual Basic because these two languages are completely different beasts.
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by chris128
Well I've never tried Delphi so cant comment but the reason I have never tried Delphi is because I would rather stick with a programming language Microsoft develop as I know there will always be plenty of support/tutorials etc for it for the foreseeable future.
For the near future - most definitely but beyond that you can't really tell for sure.
Standardized and open-source languages and frameworks are, in my opinion, very future-secure because not only can others create tools and compilers for them but you can even do it. If something were to happen and every major company stopped supporting C or C++, you could still write a compiler for it and use it on other systems. So standardized and open-source languages / compilers are pretty safe.
Proprietary ones are not as they will only exist as long as they can help the company sell products.
Now don't get me wrong, I don't think Microsoft is going to abandon .Net anytime soon (or even in the next 10 years) but please don't always assume it's safe because Microsoft is such a large company. It only takes a few, major mistakes to take out a company and while I don't think that'll ever happen to Microsoft it's, unfortunately, always a possibility.
Thankfully the CLR and C# are both standardized so if something happened to the framework others can pick up the work but VB, I believe, is still owned completely by Microsoft.
Quote:
Originally Posted by esposito
MS are a private company and, as such, they put their own interests on top of their priority list.
100% right and one of the reasons why I stuck with PHP for so long before giving into ASP.Net's OO goodness.
While I can't see Microsoft abandoning .Net anytime soon, .Net 1.1 support is dimming and being replaced with a solid .Net 2.0 base. Everywhere I look I see things being upgraded to .Net 2.0 so 1.1 is already on the way out. Now I think 2.0 will be around for quite a long time but that doesn't change the fact that the .Net framework is still Microsoft's property and as such, can change at any moment.
Quote:
Originally Posted by esposito
And please... don't call VB.NET Visual Basic because these two languages are completely different beasts.
Why? Most of the syntax is the same and since Microsoft owns Visual Basic and calls both VB6 and VB.Net Visual Basic I don't see why you can't... yes they're quite different in many ways but syntactically it's not a huge difference.
-
Re: VBForums' new heavy .Net hand
So this is "rag on .NET" time? Sorry to interrupt the party.
But anyway, .NET is a very powerful framework, not just some RAD tool. Can I drag and drop database objects everywhere and make a functional app? You bet I can. But do I? Not since college 2 years ago. I understand that, in order to make myself a better developer, I can't rely on Visual Studio to do my work. I have to roll up my sleeves and do the necessary typing to create the engine that drives the application.
When it comes to web applications, you couldn't pay me enough to trade in my ASP.Net for jsp, php, etc. (well, you could, but the cost would be prohibitively expensive).
Desktop apps are different beast though. The framework requirements effectively kill the hope of small developers trying to use .NET to redistribute desktop software. It's easy to write them in a corporate setting, since users will most likely have the necessary fw to run the app already.
Delphi? Ahhhh, kill it with fire!
-
Re: VBForums' new heavy .Net hand
Actually the thread started because I was getting the impression people in the VB6 forum were being given "move to .Net" as an answer to every problem. It seemed somewhat inappropriate, even hostile. :mad:
It was made clear to me that we were dealing with an influx of newbies though, and I have to say I agree that picking up VB6 from scratch today is not the wisest investment in effort for most people. :sick:
When Delphi got tossed into the mix I foolishly stated my opinion that I don't think it's a good newbie option either. This left me admitting that I don't see good beginner choices for Windows right now besides the two primary .Net languages. Truly a shame. :down:
So at that point everyone wanted to be heard, and the result as always turns into a bit of a mud fight. It can't be helped. :eek2:
Next time I'll just shut up. :D
-
Re: VBForums' new heavy .Net hand
Well, there really isn't a set "starter language" for programming. VB is chosen by default simply because it's "wordy". .NET is chosen because today's tech instructors are lazy and the CLR handles all the things that programmers used to have to code for (like memory management).
Just to give you an idea, COBOL and VB were the two primary languages offered at my school. Java you say? A six week summer course (gee, thanks!). The only way to get exposure to javascript was to take an advanced web programming course (which, looking back, I wish I would have done). Anyway, C wasn't offered at my school. I didn't even know that there was a C++ course offered until AFTER I graduated. Why? Because it was taught in the math department. Most of the computer-related courses I took were offered in the business department. It was weird to me. I finish learning about earnings per share in Finance, then go listen to an Oracle PL/SQL lecture in my advanced database class.
I don't know how common this is, but I hear from more and more people that "old" languages aren't being taught anymore. Which is funny to me, because last time I checked, C++ was object-oriented. Seems like a lot of schools are focused on pushing either Java/VB or Java/C#.
But I've deviated from the original discussion. I feel that if someone is using VB6 and has a problem, we should help them with VB6, whether they are a new programmer or a 20+ year veteran. Now if someone ASKS whether to use VB6 or .NET, then obviously more people are going to say go to .NET, as they should.
The only thing that really ruffles my feathers is when people use outdated VB6 syntax IN .NET, creating strange VB6/VB.NET hybrid programs. You need to do one or the other. This is highly visible in the VB.NET forum.
And I can't believe that "On Error/Resume Next", which is the most evil form of error "handling" I've ever witnessed (other than not handling the error at all), is still supported in Visual Studio. Seriously, is there a .NET coder out there still using this?
-
Re: VBForums' new heavy .Net hand
I started with BASIC on a TRS-80 Level 1. My second language was ASM (which I have now largely forgotten), then C++, then VBA, VB5, VB6, .NET, etc. You can start anywhere.
I write internal apps, so security is not an issue for me. However, it seems to me that you can buy pirated copies of Windows, and just about anything else. So, how secure is your code? Not at all secure! The thing that protects Esposito is that his code is not valuable enough for somebody to go to the effort of pirating. All protection schemes are based on the assumption that anybody who wants to crack a program will evaluate the effort/reward matrix beforehand. It's not a matter of making it impossible, it's just a matter of making it not worth the time, which can be achieved most easily by making the project only suitable for a niche market. ALL of my programs fall into that category, so I can write in anything I want. I can post the source code on line and nobody will steal it.
No language will protect you if your code is valuable. No protection is worthwhile if your code is not.
-
Re: VBForums' new heavy .Net hand
I've gone a similar route... starting with Apple BASIC, then PC BASIC, then moved on to Pascal, ASM (which I think made a better developer when it comes to build efficient code, there are some constructs which perform better than others), ANSI C, VB3-4, VBA, VB6, VB.NET (all).... in there I've also picked up COBOL, ADA, plus I don't know how many different flavors of SQL. One thing that has helped my transitions between languages, is that no matter how esoteric they are or verbose they are.... there are certain constructs that are universal... loops, conditions, assignments, and so on... the trick is to simply learn what the different constructs are for each one - the differences in how an IF works in different languages is actually quite minimal.
I too write internal apps.... and I think that's what MS is truly targeting with the .NET Framework. I don't think it was intended to target game makers, or people who make apps to sell (most of which are written in C/C++)... they're targeting the internal shops, the enterprise organizations that have home-grown apps. Granted our niche isn't as small as shaggy's is, we do have a number of competitors... but I'm sure they have their own suite of apps that they've built to track the samethings we track. We just believe we do it better.
-tg
-
Re: VBForums' new heavy .Net hand
Quote:
Originally Posted by Shaggy Hiker
I started with BASIC on a TRS-80 Level 1. My second language was ASM (which I have now largely forgotten), then C++, then VBA, VB5, VB6, .NET, etc. You can start anywhere.
I write internal apps, so security is not an issue for me. However, it seems to me that you can buy pirated copies of Windows, and just about anything else. So, how secure is your code? Not at all secure! The thing that protects Esposito is that his code is not valuable enough for somebody to go to the effort of pirating. All protection schemes are based on the assumption that anybody who wants to crack a program will evaluate the effort/reward matrix beforehand. It's not a matter of making it impossible, it's just a matter of making it not worth the time, which can be achieved most easily by making the project only suitable for a niche market. ALL of my programs fall into that category, so I can write in anything I want. I can post the source code on line and nobody will steal it.
No language will protect you if your code is valuable. No protection is worthwhile if your code is not.
That's a basic security concept in general, having something not worth stealing 99.999999999999999999% wont get stolen.
And the whole code protection thing really isn't about protecting your code, it's about not making it worth the effort for someone else to get it.
Also I agree with the whole "if it's started in vb6 and help is needed then help them in vb6 or don't try to help at all" notion too. I also recommend all new projects to be started in vb.net (or other newer language) instead of vb6
dilettante, in this case you shouldn't "shut up" because that implies that you started to say something and need to stop, what you should say is "next time I wont open my mouth in the first place" figuratively of course :p