JohnWein

This is a continuation and link to this thread: I don't know where to start! please help me

Re: Show and Tell Employment and programming languages.

Adamus Turner

If you ask a vb.net programmer, he/she will say the C# semicolons are annoying and it's missing functionality that make vb.net so nice.

If you ask a C# programmer, they'll tell you vb.net programmers just like to t ype a lot.

As far as future employment, it's a coin toss on which language to choose. Technically, if you understand programming concepts and theory, moving from one (.net) language to another is a matter of learning a little syntax. More inward, although companies realize this, they want a focus on one or the other.

Fortunately, the programming market has many opportunities for both. So the decision is basically pick one and run with it.

P.S. Regardless of aptitude in any field, every company wants God but will settle for Jesus.

Adamus






Re: Show and Tell Employment and programming languages.

MShanahan

I've been programming professionally for just about a year now. I used VB when I started coding for 'fun' a while back, but when I started professionally, I had to learn C#. The C# syntax is very similar to C++, Java, JavaScript, etc. Personally, I feel because of that, you'd be better off with C#.

With that said, I think VB is easier to read because of it's clear "END FUNCTION" "END IF" and whatnots. My co-worker comments all his C# as such...

method()

{

if()

{
}//End if

}//End method

:-) VB does that for you which makes it much more readable.

My roommate does stuff in VB, and even though I'm very fluent in C#, I can still provide a lot of assistance for him.

But as Adamus pointed out, the programming market has many opportunities for both.





Re: Show and Tell Employment and programming languages.

ReneeC

"If you ask a vb.net programmer, he/she will say the C# semicolons are annoying and it's missing functionality that make vb.net so nice."

I'll say more than that. I think case sensitivity is beyond annoying. On could live with the semicolons but sqiggles are heinous.

I would indeed question how it is that C# programmers are competent knowers of VB.Net experiences and could hardly speak for them. I don't like to type a lot. I like clearly written self documenting code. When I write in C#, writing it is not difficult. Reading what I just wrote is more challenging because the language is so terse.

Certainly the "My" namespace makes a many thing much faster in VB and there are a huge number of nbuilt-in functions like CreateObject where you have to use the CLR in C#.

I don't like any C-like languages. I'd rather program in fortran.






Re: Show and Tell Employment and programming languages.

nobugz

This graph looks pretty realistic to me. If I compare it with the kind of jobs advertised where I live, Java is indeed still the dominant language but waning, bottom falling out of VB for a while, C# on the rise. C/C++ is oddly high though, its been a while since I've seen a decent job. Maybe its embedded development, not much of that going on here. I can't comment on web languages.





Re: Show and Tell Employment and programming languages.

ReneeC

Wow nobugz,

That was an interesting graph. I noticed an inflection point on almost all languages and that inflection point coincided with the release of VS2005. That's when C# really began to climb abd VB began a slower rise.






Re: Show and Tell Employment and programming languages.

Andreas Johansson

The language isn't the most important detail in what will get you a job. It is quite easy to learn different languages and development environments and what is hard is to know the platform that you are using. C# and VB.NET both target .NET and that is what you will spend most time learning.

The language is just how you tell the compiler to do things but you need to know what to say to be able to be a productive developer. To know what to say you need to learn the platform and algorithms. The languages are a bit different but in the end you are saying the same thing, with slightly different syntax.






Re: Show and Tell Employment and programming languages.

nobugz

Not sure if that's true. The typical profile of a favored candidate in the job ads I see in the USA is 3-5 years experience and a very specific list of language and database engine skills. Makes sense, everybody is looking for somebody they don't have to train, is not yet too expensive, didn't quite yet start a family so they can work 60+ hour weeks and still impressionable enough to adapt to the local development culture. I have no clue how often this actually works out.

Once you accumulated 8-10 years of experience, you're getting into the danger zone. You'd better have found yourself a niche or get management skills or you're doomed to join the ranks of the exploited contractors. It is implicitly assumed that you didn't keep up with the last of the two to three technology revolutions that happened during your career. Most likely, it is true to some extent and you're behind a bit.

It is not just that way in the USA. There was another, confused, thread about this about being a software engineer in China. I couldn't find it back if I tried. It started out as "life as a software engineer is over after 35, everybody told me that". Confused, because most posters thought he meant you would actually die after 35. S/he might have, I'm seeing a lot of new Chinese tech names in the past month.





Re: Show and Tell Employment and programming languages.

Andreas Johansson

I do not really know of any other platform than .NET that is as transparant to which language is actually used. That the actual language is less important is probably only applicable to .NET. Just knowing C++ is a quite weak experience if it isn't combined with a platform like win32 or unix.

If you learn .NET well it is quite easy to learn to use it with another language, most of the time I spend is to learn about the framework rather than the language I use.

If choosing between VB.NET and C# it would be best to learn both. Smile






Re: Show and Tell Employment and programming languages.

duck thing

nobugz wrote:
Not sure if that's true. The typical profile of a favored candidate in the job ads I see in the USA is 3-5 years experience and a very specific list of language and database engine skills.


This does unfortunately seem to be true, but I'd like to think employers can look beyond simply the number of years of experience a candidate has with a given technology. If a person can't learn C++ in a year or two, what good will another few years do them





Re: Show and Tell Employment and programming languages.

Derek Smyth

Hey this is an good subject.

nobugz graph was very interesting, notice the drop in VB. I think this might be the jump in knowledge needed to go from VB to VB.NET. This is, I believe, one of the down sides to VB.NET compared to C#. It lures the VB developer into a false sense of security as they happily code away not realising that the whole concept of programming with VB.NET has changed. I have seen this first hand.

Anyone could program VB, it was a very forgiving language in that your mama could hack some spaghetti code out and with any luck and a lot of persperation hey look it works, I can program, give me a job. Now it's different but the lack of knowledge is still there, especially with the more old-school retro managers hiring and firing from IT departments. It takes a lot of effort to keep up with the IT industry and the changes in technologies. When Microsoft hit the industry with .NET it created, in some but not all, a pretty serious knowledge gap in IT management who don't have the time or effort, because they will retire in 10 to 15 years so why bother, to re-learn the ropes. I have seen this also.

It's these people that are writing the job specs, deciding on what the company needs.

Again I think C# is more preferred than VB.NET because it's a new language based on an old language with similar concepts. Any companies who know about the shift in knowledge from VB to VB.NET prefer C# because they know they are less likely to hire someone who falls into the category I've just discussed.

Over here in Scotland the .NET framework has taken off. Without knowning the full details it appears that most jobs over here are for .NET, but they aren't really asking for specific languages, well they are but it's varies, there doesn't appear to be one preferred language. If there was one language that appears most I'd have to say its ASP.NET and again I think this shows that there is still a lack of knowledge in the industry.

If the job advertisment asked for knowledge of ASP then yeah ok, but ASP.NET is complimented heavily with VB.NET or C# but some of adverts don't ask for either of these, some do, but some don't and it's worrying. The jump from ASP to ASP.NET is just so phenominal that an ASP developer would be dumbfounded if they knew what was possible.... I have seen this as well... some companies just don't realise how massive the change is and they are asking for people in a way that indicates this.

So in conclusion, I don't even know what the question was, I think there is, for some, a lack of knowledge in the people who hire developers in companies, but I also think they know it. I think they know .NET is going to be huge and they are wanting to hire people to fill the knowledge gap. Unfortunately not all developers have updated their skills (time, effort, cost). It appears to some companies C# developers are the ones more likely to have the new skills because it is a new language.






Re: Show and Tell Employment and programming languages.

nobugz

Yes, the steep drop in VB is interesting. I did it sorta backwards. I was a heavy-duty C/C++ programmer at first. Then I developed a product that included my own Basic compiler. Just as an intermediate language that most users of my product would readily accept and know how to use. Think macro language. I used it myself too and noticed that I was three times more productive writing the Basic code as I was writing the C/C++ code.

In hindsight, memory management was the key. I just never had to worry about "new" and "delete". My virtual machine took care of that, just like VB6 did. I developed a good debugger for it, with Edit and Continue capabilities and never looked back since then. A factor of three is a *big deal*. After that, I started using the real product instead of my own. Same difference, same productivity factor, somebody else to blame when it doesn't work (that didn't pan out quite as well).

The .NET software development model borrowed heavily from the Java model which borrowed heavily from the VB model. Having a virtual machine is a Good Thing. Having garbage collection is, arguably, better than having a reference counted object model. I just rarely hit the circular reference problem I guess. The Good Thing right now is that I'm productive, just like before when I had to support my own, because of the CLR. Not the language. Once you turn on Option Strict On and can escape the confines of the My namespace, the transition to C# is quite easy. Assuming you can deal with case sensitivity. Which IntelliSense took care of.

I'll assert that more and more VB programmers are finding this out. And employers. VB6 had a well deserved reputation for messing up the minds of the programmers that used it. The confusion between type and instance is still a popular topic at the VB.NET forums. Form1.Show() et al. But as more and more programmers learn the difference, they find out that the language no longer matters. VB.NET programming with Option Strict On is quite indistinguishable from C# code. That is kinda too bad, and kinda good. I'm leaning towards "good", I just never had any sympathy for late binding. My C++ mind screwed up appreciation for that feature. And, frankly, can't understand why anybody would have any.





Re: Show and Tell Employment and programming languages.

magicalclick

I personally think C# is the way of future. It has almost everything from C++, VB, and Java. The only thing I know is missiing is the C++ multiple inheritance (not a shallow interface). C# has memory managment which makes cares all those hard to track memory leak and worse, memory release too early, but you still have the option to manage the memory by yourself for performance. And C# has all the parameter passing features, in, out, and in-out. And the syntax is the more school popular C++/Java sytle.

I like VB's case insensitive and automatic case change. I usuelly intentionally type my variable or methods in wrong case and let the editor to change it right away. It tells me that I typed the name correctly when the case is changed. If the case doesn't change, I know I typed the name wrong. It is very handy. There are pros and cons about the using end if and stuff. But it is ok once you get used to it. It is matter of adaption. I am using VBA, a much less powerful VB, and I haven't have too much problem with it. Java on the other hand, no reference parameter passing on primitives, OMG, nightmares. Don't know about C# and VB, but C++'s function pointer kick Java *** so bad. I have coded like about one thousand lines of Java code that can be done in C++ function pointer array with like 50 lines.





Re: Show and Tell Employment and programming languages.

Dave S. Anderson

Unfortunately, the CLR languages do not have direct control over memory, which *can* be an advantage. Clearly the language is not important. I know VB.NET, C# and C++/CLI and can accomplish the same tasks in all 3. However, Visual Basics syntax is a bit distastful for my liking and I'm a hardcore C++/CLI programmer. I've been using C# more lately due to the better tools, but C++/CLI is still my favore due to its "high-tech" syntax.

Anyone have any idea when the CLR languages will get direct access to the operating system like Native C++ Stick out tongue






Re: Show and Tell Employment and programming languages.

nobugz

Never. The more prudent question would be: when will be have an operating system created from managed code on our desktop. I saw a channel 9 video with an early prototype already running. Well, barely running. It would be interesting to see how MSFT is going to solve the compatibility problem. My money is on Virtual PC.