|
You're describing my history, with two differences: I didn't let that much time pass before I made the change, and I never even looked at VB.NET, I went straight to C#, thinking that a different language would help me break with VB6 nastier habits.
I was wrong. Just like you, I was writing good procedural (VB6) code in C#: I didn't understand, so I didn't use OOP, lambdas etc. My advice is that first and foremost, train yourself in OOP thinking. Learn patterns, and apply them. When you have a good understanding of these basic foundations of programming that we could happily ignore in VB6, then you can learn C#, WPF, ASP.NET or whatever else you choose.
|
|
|
|
|
Same here, VB3 to VB6, with other technologies (C, C++, Object/1, database, etc.) interspersed. I shifted to VB.NET for a couple of years around 2002, and then onto C#.
I did some personal research recently, and C# (IMO) is a good choice. Different sites measure in different ways, but all agree that C# has good market share, e.g., there are many jobs available. Microsoft supports it so it's not likely to go away any time soon. Which platform? I suggest you get a primer on all of them, it will help you make an informed choice. Then delve deeper into your chosen one.
Start with Windows Forms programming -- it's the most familiar and you'll make an easier transition. But after that, I agree with the folks that recommended web programming. If you want to be more marketable, that is key.
That said, it sounds like the real problem is getting a handle on OO programming. THAT is the crux.
When I moved to VB4 I shifted into OO mode, er, well, as much as VB allowed. It was good training, thinking in terms of encapsulation. The shift into VB.NET and then C# wasn't that difficult for me, more a matter of training myself to take the lessons farther.
Vaughn, I suggest you get a decent C# book. I like the SAMS series -- I used several of them over the years in different technologies and they are good, basic training that cover a lot of bases in an organized fashion. The lessons are practical and you can see daily improvement. [I also have WROX Professional C# 2008, but I found that one useful as a reference, not as a teaching aid.]
I found the following one on Amazon, not sure it's the most recent, it was published in 2012. Check publication dates -- the original C# book from 2002 is still available, you don't want that one.
Sams Teach Yourself C# 5.0 in 24 Hours: Scott J. Dorman: 9780672336843: Amazon.com: Books[^]
Don't try to learn everything at once. You will overwhelm yourself and kill your own self confidence. Start with Forms programming, then expand your horizons.
Good luck and perseverance!
|
|
|
|
|
CMPerez wrote: My advice is that first and foremost, train yourself in OOP thinking. Learn patterns, and apply them.
Pretty sure, that hits the nail on the head. Now I just need to figure out how to go about learning to think like that.
|
|
|
|
|
I have some bad news for you. This thread has been talking about you studying things, which is definitely needed, but its going to be hard to master without a job doing it, and so on.. Its kind of like learning a foreign language - it's far easier to learn when you are "In Country".
So what to do about this chicken and egg problem? The first thing you have to hurdle, is the job application, and the interview. Your CV will be scanned for mere seconds, and they are looking for key words. The CV gets the interview, gets the job. So I would add those key words (ASP.NET MVC architecture), (You wouldn't be the first person to do this). But be honest about your skill sets in the interview. In the mean time create an app of your own to learn the basics. Use a book, use a template from Microsoft, whatever you can do to become conversant. Using the ASP.NET MVC architecture.
Then, focus on common interview questions, and bone up for the interview. Do not try to sell yourself as an expert, be honest about your skill level. The truth is, experience on one ASP.NET Project doesn't make you an expert in another. Everyone has to learn on a new job. Its going to be hard, maybe impossible. (You didn't mention if you had a job currently) If you do, you should stay late, come in early, carve out some time to "learn on the job". If you don't, then you have all the time in the world. Focus on answering the interview questions, divide your time between actual coding ,and plain old studying. REST, WEB API, all the things you should at least be able to convey understanding. Look for interview questions, that exist on this site as a template for study.
Once you get the job, you need to put in extra hours to play catch up. Do everything you can to understand how the existing code works. Network with team members for help, but be careful not to ask questions the google can answer, rather ask specific questions about where to get the code from the repo, things that are unique to that job. Lastly - don't feel too bad about yourself, this happens to lots of people who stay at a place (maybe too long). You wind up dragging code around for years, stuck in a vertical. Employers will even hire new folks, rather than help existing folks along with this constant learning curve.
Very Last thing: Get started today. Don't waste another minute.
Where there's smoke, there's a Blue Screen of death.
|
|
|
|
|
Very practical advice. Up-voted.
Cheers,
Mike Fidler
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
"I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.
|
|
|
|
|
Great advice here. Having been in a similar situation and wanting to move on to newer technologies one of the things I did was to find a job that had a mix of the old and new. Then while working (and hopefully upgrading) the old I had access to the code written in the new technologies to learn from.
|
|
|
|
|
The web development field is saturated with posers.
I specialize in desktop, back-end and web services; leaving the rest to those that don't know the difference between XML, XAML and HTML. (And there are a lot ... I also avoid IOS, Android unless it's using some C# cross-development tool).
My tools of choice are C#, WPF, SQL Server, WCF and EF (and anybody that says to avoid EF does not know what they are talking about; or they like bit-fiddling). I'm also not a slave to MVVM; developing highly interactive custom desktop apps that do not necessarily benefit from a "one size" mentality.
The web development arena reminds me of PC development in the 90's; lots of 3rd party shite that was needed to complete one's toolkit. With the MS stack I referred to, I can pretty well do anything.
(I was "outsourced").
I "remade" myself by taking on freelancer jobs that would stretch my new found knowledge (C# walkthroughs and "how-to"): it was like getting paid while learning. (Just don't blow the project).
I continue to freelance using my tools of choice, with the occasional 3rd party graphics library. My current gig is running into it's 3rd year with no definite end in sight .... Desktop (kiosk) development.
Every freelance project I worked on always required me to learn something new; even when the project on the surface seems trivial. You can add it to your "experiences".
Every time someone comes here asking for "the codez", they are told to "go to a freelancer site". As a "seller", these sites are worth checking out and experiencing the current state of "software development" (LOLZ). Check out the forums (beefs and bouquets). Once you figure out how to play it, it can be fun and profitable.
|
|
|
|
|
I'm pretty much done with my first complete MVC app. It allows the user to take a survey.
It's not nearly as interesting as the WPF desktop application that allows you to construct the survey, and I hated every minute of the development time.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Can we see it?
If it's not broken, fix it until it is
|
|
|
|
|
He works for the government. He could show you, but then he'd have to kill you.
|
|
|
|
|
Oh right, I forgot.
Redacted!
If it's not broken, fix it until it is
|
|
|
|
|
I think it's the paperwork involved in seeing it that would kill you.
cheers
Chris Maunder
|
|
|
|
|
Not quite, you have to sign something agreeing to kill yourself.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I know the feeling. The Razor view engine has grown on me but the need to write controller actions and views to handle all the separate things that can happen to a 'Model' gets old pretty quick. And don't get me started on the Entity Framework. I started out in the database world before graduating to application programming and the things that the Entity Framework does makes my eyes bleed.
if (Object.DividedByZero == true) { Universe.Implode(); }
|
|
|
|
|
OK, I know it's Fox News, and you can't trust anything they say.
But...Fire on the Sun[^]
O...kay...so now we know...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
|
|
Fox just wants your money? Really? What's your point? So does everyone else!
Get me coffee and no one gets hurt!
|
|
|
|
|
Quote: OK, I know it's Fox News, and you can't trust anything they say.
Come on it is on the WWW, it can't be wrong. Similar with Wiki, it does tell us "the only truth"
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Quote: Come on it is on the WWW, it can't be wrong Bruno,
If you believe that, you have reached the end of the Internet. Go back to the start.
Get me coffee and no one gets hurt!
|
|
|
|
|
There was no icon for sarcasm/ironie Now I'm on googling (in wiki??) to find the difference between sarcasm and ironie. Aah, great, "Duden" does also explain it. Let's see who copied whom
Bruno
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Strictly speaking, from a "not getting the joke geeky perspective" - the sun is not on fire but rather is fusing nuclei which is what gives the impression of fire.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Quote: the sun is not on fire Is it not just a different kind of fire?
Get me coffee and no one gets hurt!
|
|
|
|
|
Cornelius Henning wrote: a different kind of fire Like this?[^]
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Maybe, but not quite what I had in mind.
Get me coffee and no one gets hurt!
|
|
|
|
|