Beginning programming question

Posted on 2005-03-22
Medium Priority
Last Modified: 2010-04-24
Hello everyone,

I know this question has probably been asked time and time again... However I have been reading a bunch of different things. Being new to programming in general I am not sure which would be the best choice for me I guess maybe by giving you all some background maybe you can give me some more information

My Background: No real programming experience. I am currently learning concepts through QBASIC I know your probably laughing right now.... oh well it is a starting point

I need to learn at least PHP and am in the process of learning MySQL have little experience with Access or other Databases. I also WILL have to learn Windows Scripting Host/ Scripting for Windows 2003 Sever administration. I may also get involved with writing scripts in Red Hat Linux (I do not know what language that is I have yet to get into Red Hat heavily)

What I want to program:

I want to program a PHP based website with a MySQL background so I know I will have to learn both of these.

I also want to program the following

My own Anti spyware / virus software and other security type software.
Other programs
Most of the programs I want to create will have heavy use of a database most likely MySQL.
Also many of them will be for Windows and need to modify the registry in many ways the services.msc, GPO's permissions, etc...

I want to choose a language to learn that will not be rediculous in difficulty. I know some are harder then others. the less cryptic the better off I am. I also want to get into a language that is well documented and has a lot of information on it. I know some of the programming languages out there the only way you will find info on them is pretty much if you take a 4 year college course in Information Science.

I currently own and have never really used Visual VB 6 learning edition and Visual C++ version 4.0. Up until this point I never understood much of the programming scheme of things but recently got a book that has cleared up a lot of things (SAMS beginning programming in 24 Hours).

I have heard a lot about .NET like VB.NET, C++.NET and C# but I don't know if this is the way I want to go. Most of the programs I am going to create will be Windows Based for Windows 98/ME/2000/XP/2003 and future versions of windows. I do not know if it is possible for cross platform but I may also want to make apps for Linux and Apple/Macintosh.

So basically what language(s) would be the better or best choice for what I want to do ?

What is the difference between Visual C++.NET and C# ?

is .NET for internet based applications only ?

ALSO in regards to spyware and anti virus software does anyone have ANY information on how to program this sort of thing like actual code examples or explanations ?

Thanks in advance
Question by:briancassin
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 19

Accepted Solution

Barthax earned 2000 total points
ID: 13607497
Good job this wasn't posted on April 1st. :)

OK, first things first: there is NO RIGHT ANSWER!!!

In terms of learning the basics, you can pick and choose among many languages.  For the fundamentals of what you are after achieving, the most obvious language to learn early on would be some derivative of C - very likely C itself.  Before that, in order to get to grips with the language constructs (functions/procedures, variables, type casting and a whole load of other stuff), I'd advise you start with the Pascal lanugage.  Pascal was designed with learning in mind - it originated as a teaching language.  Once you have the basic structures of the programming concepts, move on to C.  Some would say there is very little difference between starting out in C vs. Pascal.  Personally, Pascal is so strongly typed that it forces the beginner to learn to at least program syntactically correct.  It also forces some good concepts in programming such as declare you variables before you attempt to use them.  In this regard you will get away with a number of things in a C compiler that could make your learning experience slower.  At this stage the only thing you really need to be concerned with is getting a program compiling and doing some simple stuff - don't worry about the Windows stuff yet.

Once you've got on the ball with C, go for PHP and get that under your belt, then head on to C++, C# or other Object-Oriented Programming (OOP) language.  The problem with OOP programming is, if designed well, it's going to be nothing like your Pascal/C designs.  PHP should hold you in good stead with this, but by this time C++ would do equally as well.

Windows programming can be viewed as a cross between normal programming and OOP.  Windows programming is primarily event-driven.  What basically happens is your program starts and your program gives Windows the authority to start dictating as & when your program gets to do stuff.  It does this through the Windows events - Windows sends your program a series of messages, to each which your program responds in some fashion.  You shouldn't need to go much beyond that understanding at first if you use a good OOP Windows compiler (Visual C++, Borland C++, Borland Delphi and probably various others).

Spyware & Anti-Virus... You need to understand how these things work in the first place and how to detect file patterns.  Leave this for a few years.

LVL 21

Author Comment

ID: 13607636

thank you for your response, where or how would I get Pascal is it something I could do on a current PC or would I need to dig up a 486 DX some place my understanding is Pascal is a very old language please excuse me if I am wrong in this...  .. I guess what I am asking is, is this something that is freely available or pay for only also can it be run on windows xp and the like ?
LVL 19

Expert Comment

ID: 13607863
It's as old as the hills... as is C. :)  

FreePascal is probably the leading compiler for Pascal and is available for pretty much any modern desktop OS.  You should note that Borland's Delphi and Kylix are both OOP versions of Pascal and remain very popular. :)

FreePascal: http://www.freepascal.org/

Expert Comment

ID: 13614004
I would say that if you want cross platform...then even exploring JAVA may be a good option.
LVL 21

Author Comment

ID: 13921882
sorry it took so long to get back to this throwing in an extra 100 pts for the wait

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The following diagram presents a diamond class hierarchy: As depicted, diamond inheritance denotes when two classes (e.g., CDerived1 and CDerived2), separately extending a common base class (e.g., CBase), are sub classed simultaneously by a fourt…
In Easy String Encryption Using CryptoAPI in C++ (http://www.experts-exchange.com/viewArticle.jsp?aid=1193) I described how to encrypt text and recommended that the encrypted text be stored as a series of hexadecimal digits -- because cyphertext may…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

777 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