Solved

What to Learn - continued ....

Posted on 2004-09-27
22
402 Views
Last Modified: 2010-07-27
Hello List,
I am a certified MCSD MCSA AND NEARLY MCSE (STILL NEED 1 EXAM 70-216).
I AM NOW STUDYING MY UPGRADE FOR MCSA 2003 AND MCSE 2003 ( WHEN I WILL GET MY 70-216 )
I PROGRAM USING VFP AND NOW WORKING ON SWITCHING MY APPLICATIONS TO A  BACK END SQL SERVER.
I AM PROGRAMMING VFP SINCE FOX 2.5 DOS AND NOW MOST OF MY APPLICATION ARE UNDER VF7 OR EVEN 8.

WITH THE LAUNCH OF VB.NET , C++ , JAVA AND ALL THESE NEW (AT LEAST TO ME) PROGRAMS ,
I AM KIND OF LOST AND DON'T KNOW WHETHER I SHOULD CONSIDER LEARNING SOMETHING ELSE THAN VFP.
(I KNOW VB QUITE GOOD, BUT VB7- AND I DID NEVER WRITE A BIG APPLICATION ON IT  ! )
I AM 37 YEARS AND I FEEL LIKE I DO NOT HAVE THE SAME ABILITY TO LEARN AS WHEN I WAS 25 !
WHAT IS MY FUTURE ?
WHAT SHALL I DO ?
PLEASE DO NOT ASK ME WHETHER I LIKE PROGRAMMING MORE OR SYSTEM ENGENEERING MORE...
I LIKE BOTH...
PLEASE HELP.
0
Comment
Question by:pammoun
  • 7
  • 6
  • 4
  • +2
22 Comments
 

Expert Comment

by:vidyavrat
ID: 12158616
Hello

I do understand totally, how you might be feeling, I just would like to share what I know and feel.

Firstly, let me congratulate you that you hold many of the great certifications (MCSD, MCSA and MCSE etc.)

Let me share something from my part with you, I also started doing and writing project codes with foxpro 2.6, but now I work with .NET technologies.

In your case you have sound background of programming with language and databases with an added advantage of system admin understanding which helps in many ways to a developer (MCSA & MCSE) which most of the programmers in the world don't have.

I would sincerely like to suggest, that you still have the same power of learning which you were having when you were just 25, and even your skilled have got more sharper, and you should undestand that as you got mature with time, technologies are also getting mature and so we feel confused which way to go.

I am of the belief that as you have sound background in MS technologies, try some .NET stuff, and have hand on practice with VB.NET and C#, rest all you have in you. Programming is not much different in any language you work with, just few things are getting change. This is the only way by which you can utilise all, whatl you have learned so far.

"The journey of thousand miles begin with one step"

" IT is an industry where change is the Norm."

Sincerely,

a Microsoft Pusrist
Vidya Vrat Agarwal.
0
 
LVL 21

Expert Comment

by:MogalManic
ID: 12158806
My philosophy on programming is that it is alot like the stock market.  You can invest your time and resources on a technology/skill only to find that it is unmarketable in the current job market.

For example, I have previously been programming in a langage called Forte.  The company by the same name produced this distribued programming environment.  This product had a monopoly on the market because it was the only product could produce enterprise wide distributed applications.  Then Sun bought out the company and killed it (probably on purpose!).  Now my skills in Forte are almost useless.

All is not lost though, like you I have been programming for over 14 years.  Many of the skills I have learned over the years have transfered to current technologies.  For example, Forte's TOOL language is very simalar to Java, so I picked that up very quickly.  I have found that it is more important to keep an inventory of ALL of your skills.  That way you can apply the necessary ones in future projects.

Look at it another way, what would happen if Microsoft declared bankruptcy. (It could happen!!  Look at MCI!!).  All of your Microsoft certifications would NOT be useless.  They show that you have applied yourself and PROVEN that you are skilled in the necessary tasks in designing applications.  Once you get past the language differences, building an application in Java is not much different.  You still have to analyse, design, code and test the code to get a finished product.
0
 

Author Comment

by:pammoun
ID: 12158829
Thank you so much for your comments.

If I were to start with C# ( I did not like VB so much and since it is very very similar to VFP , I would like to dig
into something I didn't try yet ) where do you recommend me to start ?
is there any difference between C# and C++ ??
0
 
LVL 21

Expert Comment

by:MogalManic
ID: 12158961
C# is more closer to Java than it is to C++.
0
 

Author Comment

by:pammoun
ID: 12159170
DO U RECOMMEND THAT I DO VB.NET ???
SINCE I KNOW QUITE OKAY VB6 & A LOT OF VFP...
MAYBE IF I DO IT THIS WAY, WON'T BE TOOO MUCH OF A DIFFERENCE ???
DOES VB.NET STILL CAN BE COUPLED TO SQL SERVER ??
THANKS
0
 
LVL 19

Expert Comment

by:mrwad99
ID: 12159308
If I were you I would escape from the comforts of VB and learn *real* programming.  By that I mean C++, or, if not, Java or preferably C#.

I don't like VB but that is nothing personal against VB programmers, it is just that if someone can program in VB only they think they can program *period*.  No.  No no no no NO.

It is far easier to go from C++/C# to VB, but not at all the other way.

Learn what programming is all about and then when you know what you want to do let VB and it's ease of use do the donkey work for you.

Or, if you are like me, don't touch VB.  In fact, don't even install it on your machine:)
0
 
LVL 9

Expert Comment

by:DrWarezz
ID: 12160711
>"I don't like VB but that is nothing personal against VB programmers, it is just that if someone can program in VB only they think they can program *period*.  No.  No no no no NO."
lol - Agreed. :P

I personally recommend learning Java before C++ (if you go for either).  I tried tackling C++ first, with VERY little programming experience before that. I 'failed' - and came across a book on Java. I thought that I'd give it a go. I found it rather easy, and really enjoyed it.
Once I'd got good at Java, I decided to try C++ again. Now, I'm no C++ pro still, obviously, but I found/find it MUCH easier, because it's fairly similar to Java, yet Java is easier to learn... if that makes sense..? :o\  lol

So, personally, I recommend going for Java  =)

Best of luck,
[r.D]
0
 

Author Comment

by:pammoun
ID: 12162839
Java ? VB.net ? C++ ? C# ?
I am more confused here than before I posted my question.
Please bear in mind that my major programming stuff has a lot to deal with databases.
(isn't C flavors deal more with hardware stuf..??)

Please advise.
0
 
LVL 19

Accepted Solution

by:
mrwad99 earned 125 total points
ID: 12163059
I think that you are getting a lot of answers based on people's personal opinion.  I have given mine previously.

Now for fact.

When deciding, it is worth while thinking what has been around for the longest, and what will likely be around in the future.  Let us first discuss VB.

VB:

Now VB is Windows only: you have to be running Windows to run it - most likely something Win 98+.  Now, what is Windows itself written in ?  VB ?  Hah; hardly.  Java: er, no.  C#: maybe Longhorn will be, but the version of Windows most people use - no.  C/C++ ?  Finally.  Yes.  This is because these two languages give the most power, speed and low level control that an OS requires.  VB is good for quick and dirty applications; it is easy to get something up to scratch.  In fact it is very good for database development (I hear).  Indeed, I asked MFC (C++ GUI framework for Windows) programmers their opinions of VB at http://www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_20429155.html and  they gave a fair discussion of it.  In fact they ripped it to bits...

Java:

Hmm.  Tough one this, but I think that Java does have a future, it has its uses in Web dev for applets/jsp scripts, as well as database integration, but there is just something about it I think that will not make it as big and world-renound as C/C++.  As mentioned before, Java is not used in coding Windows; in fact I don't think there is an operating system that is coded in it.

C/C++:

Well, I think we have discussed the merits of this by now :) - see http://www.experts-exchange.com/Miscellaneous/Lounge/Q_20743254.html if you are not convinced.
 C lets you know what is going on "under the hood" - the other languages hide this to some extent.  Consequently you are more knowledgeable overall.  Would you be content driving a car even if you never had a rough idea of how it worked ?

Example.

A string called str in C is written as

char* str;

In VB it is (I think)

dim str as string; // eughh

In C#/Java these are both (I think)

String str;

But what is a string ?  It is an area of allocated memory that holds zero or more characters.  See that ?  "Area of memory".  All apart from C hide that fact, they simply say "String".  Fine.  Nice and simple.  C however states char* - this is a pointer to a piece of memory, or, more precisely, a part of memory where the string resides.  You can access that memory directly via str.  The other languages essentially do not permit this, since when you refer to str, the implementation has to first go through str, then to the area of memory where the string resides.  It is less efficient (DanRollins discusses this in detail in my lounge question above) clearly for speed.


The final line on this is simple.  If you can program well in C/C++ then you can program in any of the other languages you are considering.  You will have a skill that is easily transferable to many other languages since those languages are possibly based on C anyway.

Anyway that is my "2 cents", as out American friends say :)
0
 
LVL 9

Expert Comment

by:DrWarezz
ID: 12163236
Nicely worded, mrwad99 .

If you're looking for a career in Object-Oriented Programming (OOP), then C/C++ is what you want to go for.
However, back to personal opinions :P, I recommend at least scraping Java at some point... "Write once, run anywhere". :D

All you need is the J2SDK from java.sun.com and a good tutorial/book. I started off with: "Sams Teach Yourself Java 2 in 21 days" (ignore the 21 days bit though :P). I then used (and still do): www.javaalmanac.com reference, and have even got a copy of the book :). With a bit of patience, you'll be a pro in no time ;)

Best of luck,
[r.D]

PS: I'm not trying to influence you into LEARNing JAVA.  :P
0
 

Author Comment

by:pammoun
ID: 12166285
So according to you guys, C++ is the way to go ?
Is it suitable for database development ?

Thank you.
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Expert Comment

by:vidyavrat
ID: 12166648
Dear Pammoun

Once again, I am of the concern what you already know and have, and what you should do to make the best out of that.

I believe that one who happened to work on Microsoft Technology, need to go for other competitive technologies.

For you again, if you wish to go for C/C++ or Java  better you go for C# and .NET because this is what all the big software companies are working on, and by this only you can see the future of .NET and yours. As you mentioned in your comment earlier, you don't want to go for VB.NET, certainly C# is the choice of industry today.

I do have respect for every technology, but we have to make our choice, which will give you a competetive edge.

Today all non-Microsoft technology vendors are offering Migration tools and utilities to work with .NET, even Java has JUMP(Java User Migration Path) for .NET. UNIX and Linux has also joined the .NET revolution.

I can gaurantee that you will be having bright future if you will shift to C# and .NET, which will help you to match your steps with present with a fascinating return of what you already know (Vfp, SQL & MS certifications etc.), if you want to earn some credibility you can go for just one C# Certification, and you will be having new Star (*) on your technological bench.

For your information, NASA is using Space Shuttle Simulators written in C# and .NET.

Rest, you are the only person who has to make a decision, which way to go.
I suggest come and join the .NET revolution.

Good Luck & Best Regards

a Microsoft Pursit
http://dotnetpassion.blogspot.com

Vidya Vrat Agarwal.
0
 
LVL 19

Expert Comment

by:mrwad99
ID: 12167354
>> I suggest come and join the .NET revolution.

That is a fair comment.  Some may argue however that .NET is still teething, since many industries have not yet adopted it.  I think we will have to wait and see what the future is.

But my comment still stands; if you know C/C++ well then nothing else will be difficult.  If you only know C#, which then falls flat, you will not *easily* pick up C++.  At all.
0
 
LVL 9

Expert Comment

by:DrWarezz
ID: 12168743
>"Is it suitable for database development ?"
Definitely.  :)

Oh, and I recommend joining: www.codeproject.com  --  especially before you've decided what language to settle for.
You'll see what I mean when you get their newsletter ;) - very useful :)

gL,
[r.D]

Tip: When I first got into computers, I had trouble understanding most of what I read. Because of all the jargon, so, although you have a fair bit of comp knowledge, you may still want to take me up on this: Use: www.webopedia.com as a Jargon Buster. It has come in VERY handy on more than one occasion. :)
0
 

Author Comment

by:pammoun
ID: 12168817
can someone guide me through the differences between C++ / C# and C DOT NET ?
0
 

Expert Comment

by:vidyavrat
ID: 12169608
The difference between C++ and C# is only that C# runs on .NET framework.

Whereas the similarity is that both are Object Oriented Languages. Infact the whole power of any .NET tool is in .NET Framework, from where all the tools derive their features like memory management, garbage collection, security, assemblies.

Related to your latest comment the very technical and detailed explaination of differences between C++ and C# can be read on my blog  http://dotnetpassion.blogspot.com

All The Best

a Microsoft Pursit
http://dotnetpassion.blogspot.com

Vidya Vrat Agarwal.
0
 
LVL 19

Expert Comment

by:mrwad99
ID: 12169643
>> can someone guide me through the differences between C++ / C# and C DOT NET ?

Yes.

C++ is the basic hardcore language that has been around for a long time.  It has obviously come into existence as a sucessor to C.  In this language, like C, you have to manage memory explicitly which means deleting as well as allocating to some extent.  C++ can be run on any platform that it is first compiled on, providing that libraries are present.  For example, you could not run a C++ application that uses Winsock on UNIX because the Winsock DLL is written for Windows only.  UNIX has its own sockets package that cannot easily be run on Windows etc.

C#

This is Microsoft's new language.  DOT NET is the new way of producing web applications according to MS.  It provides an easy way to integrate databases into web based applications although it has uses with desktop development (the Windows Forms libraries).  C# is still coming into wide use and it is questionable if it ever will be used as globally as C++.  You need the .NET environment installed to run a C# program and they can only be run on Windows (AFAIK)

C++.NET

This is what is known as C++ with managed extensions.  I am not incredibly knowledgeable on this but I know that these extensions take some of the pain out of memory management that is notorious in C++.  You can google search for the differences and find loads more info.

HTH
0
 
LVL 19

Expert Comment

by:mrwad99
ID: 12169656
0
 

Author Comment

by:pammoun
ID: 12176541
I have made up my mind and will go for visual C++ 6.0 then maybe I will switch to c#.

thank you all for your help & advices.
0
 
LVL 19

Expert Comment

by:mrwad99
ID: 12177530
Glad to help :)

If there is nothing else that you need advise on then, I suggest you close this question yourself to prevent negative feedback and annoying the page editors...
0
 

Expert Comment

by:vidyavrat
ID: 12177897
How about if you directly switch to C#, because in anycase (C++ or C#) will get to know Object Oriented concept. So why to work twice (VC++ and the C#), jump in to C# and work on some .NET architecture issues.

And hands on practice with C# will help you to work on .NET and you will also understand the very core concepts of Objects, I guess because of that you planned to go for VC++.

I just tried to suggest you this solution because of time and productive result before you put your efforts into technology.

Vidya Vrat Agarwal.
0
 

Author Comment

by:pammoun
ID: 12178073
I think I will go for c++ just for couple of months just to get the feelings , then I will switch to c.net

thanks to everybody for your help.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now