Solved

Want to learn

Posted on 2000-04-29
36
332 Views
Last Modified: 2010-04-16
I have zero programming experience, except for a little dbase years ago.  I would like to learn, but I really don't know where to start. What are my options?  I suppose I need something that's not too difficult (I'm not that smart).  Also something flexible, and not too expensive to buy (I don't want to spend 500 dollars getting started).  I'm assuming my choices are VB, C, C++, these are just the ones I've seen mentioned.  Any thoughts appreciated.
0
Comment
Question by:rspar1
  • 9
  • 6
  • 4
  • +7
36 Comments
 
LVL 12

Expert Comment

by:pjknibbs
ID: 2762770
If you want easy to learn and flexible VB is probably the best. However, it's not necessarily the best choice if you wanted to take up programming as more than a hobby, and obviously it's only available for Windows. If you only want to learn Windows programming this isn't a problem, naturally. I have a friend at work who swears by Borland C++ Builder, and I notice some computer magazines (in the UK, anyway) are giving away older versions of this on their coverdiscs--if you can find such a thing where you are it would obviously be a completely free way of finding out about programming!
0
 
LVL 54

Accepted Solution

by:
nico5038 earned 50 total points
ID: 2762903
The main question is what you want to learn and what you want to program.
Languages like C, C++ etc. are very "basic" and offer little support when things go wrong.
Howevr if you want this, I would advise you to look at Perl. Its for free and is very popular. (It has also an Experts-Exchange topic area)
When you need a databese, just look at MySQL that;s also free and has also an Experts-Exchange topic area.

If you want quick results it's better to look into VB or (even easier) MS Access. Access is having lots of wizards to make programming easy. Also a great deal of samples are part of the database, just giving you much to learn from.

Success !
0
 
LVL 9

Expert Comment

by:GivenRandy
ID: 2763010
I would recommend Visual Basic.  I would hesitate to recommend Borland Builder, but would certainly rank it higher than Visual C++ for a first language.

There are several levels of VB, many of which are available at good discounts or on eBay (buyer beware!).

If you get comfortable with these languages, you might branch off and try different approaches like Prolog or Lisp.  However, those should not be for your first language.
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2763619
I would recommend Java, you need exactly 0$ to learn it and to write in it, as the Java Development Kit is free and you can find many free IDEs on the net. Java is the future - It is platform independant, so a program you write will work on all Operating Systems. Java is also very easy to learn, at least the initial level, and you can show your friends what you did very easily, by writing an Applet and putting it on the web. VB is a silly language, it works well when you need to write something easy and quickly. C++ with it's memory management and multiple inheritance is hard for a beginner. Java is powerful and easy, it is also object oriented, so you will start "correctly" from your first step. For a procedural language, I would recommend Pascal.
0
 
LVL 9

Expert Comment

by:GivenRandy
ID: 2763634
Java is not bad, but not as easy to learn as VB.  I would guess that Sasha has not tried to do cross-platform development with Java, as least not commercial applications (ones that require "real" work).  Java is NOT what it is proposed for cross-platform.  Just about anyone who has tried that, including myself, will tell you that there are MANY conflicts.  Often, it is easy to use C or C++ on cross-platform!  Been there, done that.
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2763727
GivenRandy: ahem, wrong guess. Applets developed with JDK 1.0 seem to work very well pretty much everywhere. Of course I had to implement some of the controls myself, such as ScrollBar because their browser JVM implementations have horrible bugs.
0
 
LVL 9

Expert Comment

by:GivenRandy
ID: 2764005
Not wrong, not a guess.  We implemented several apps across Windows (95,NT), Linus, and OS/2.  Java did not cut it.  We had to implement SEVERAL things before we gave up on it.  Those problems still exist.  Want to move this thread to The Lounge?
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2764036
The wrong guess was "I would guess that Sasha has not tried to do cross-platform development with Java".
>> Want to move this thread to The Lounge?
sure.
0
 
LVL 54

Expert Comment

by:nico5038
ID: 2764062
rspar1,

There are two main types of programming:
1) Traditional
2) Object oriented

The first is most like Dbase, oject oriented is a totally different concept.

You will find that languages like VB and Access also are showing some signs of object orientation. (as properties and methods and classes) And that they are slightly different as Dbase while they are "event-driven". In Dbase you construct a program that does everything, in VB and Access you make little modules that are triggered by an event like a button-click, the opening of a window, typing of the user, etc.

In an object oriented environment you will find objects that are interacting. Each client-record will be a client object and will handle requests like give name, print, etc.
It's a bit short, but I'm no ObjectOriented expert.

Nico
0
 
LVL 4

Expert Comment

by:adam923
ID: 2764928
fun thread to read.... just a side note: "traditional" programming that you're refering to would be called procdural technically
i'll also throw my two cents in... i've taken high school and university courses in java, c++, and basic and i think that java is the best beginners language
once you learn about oo design and gui programming it will easily carry over to c++ where most of the industrial-strength development goes on

perl is NOT a beginner's language, it's best for people who need to throw together a quick solution that involves Cgi and/or file parsing

c++ is NOT a beginner's language, i wouldn't wish pointers and references on any beginner

visualbasic can be a beginner's language but it's going to cost you $$ and only works on ms windows afaik?

java is free and very much cross platform for the kind of things beginners will do
0
 
LVL 9

Expert Comment

by:GivenRandy
ID: 2764932
All things considered, I would second adam923's statement.
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2765184
LOL, and I would first it, since I suggested Java in the first place ;-) Thanks for the support adam :-)
0
 
LVL 4

Expert Comment

by:adam923
ID: 2765191
b'vakasha -- you're welcome
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2765334
Hmm, where are you from adam? How do you know Hebrew?
0
 
LVL 1

Expert Comment

by:Rheingold
ID: 2765501
Hi

since I tried quite many languages, maybe I can help you decide with a small analysis for beginners.

Visual Basic: It is very easy to create small programs very quickly when you are a starter. This will get you satisfied some months, but if you want to more advanced stuff like lower API Implementing it can get a bit painful. Additionaly I don't like that you have to distribute the MSVBVM50 or 60 (depends on the version) with your progs. It is also a slight speed decrease that your prog has to call these functions.

Delphi: Delphi is a good RAD Tool which beats - in my opinion - VB in many cases. It is extremely easy, too in the beginning. I practiced a bit and was able to create a Notepad like Text editor in less than 5 minutes (every mouseclick must be correct to get this ;) - Better then VB is the API implementing. API functions can be called easily and the problem with the DLLs doesn't exist either, because the runtime modules are directly linked to the EXE file. Another advantage are the so called "components" which allow to add functionality as a kind of "plug-in". There are many thousand components on the web.

C++ Builder: As adam923 already said: Standard C++ is really no beginner's language. Dealing with pointers may be a little painful at the start. C++ Builder is a good RAD tool that is 99% like Delphi, but with the difference that it uses the C/C++ syntax and you can get a start to "real" C++ from that. Delphi uses Pascal code. I believe that C++ is nowadays more used then standard Pascal and this could be an advantage if you want to get to lower level programming.

To summarize: I consider C++ Builder the best RAD tool because of its ease to use, the components which can be added and the fact that it uses C++ syntax. The standard version is about 90-100$ or so. Borland C++ 5.5 (the standard one) is freely available now, but it is really hard to find a start there.

Sorry, that I didn't comment on Visual C++ and Java, but I never tried them.

Regards
0
 
LVL 4

Expert Comment

by:adam923
ID: 2766562
please excuse this off-topic comment:
sasha, i'm from the us but learned ivrit in school... though i don't remember all that much of it
rspar1: is there anything else about these languages that you want to know?
rheingold has many good thoughts on c++ but for what it's worth i think it's easier to get your feet wet in java (did we mention that it was free?) and then move to c++ like he's suggesting, imho
0
 

Expert Comment

by:ntguru
ID: 2767889
Rspar1, from one relatively new beginner to another, let me set you on the right path. These above comments are all very good, but these guys ( or gals ) are all too smart (in computer programming, that is) to give any helpful advice. I recently took up programming about 3 months ago. And I was (and for the most part still am) completely dumbfounded when it came to learning programming. I spent about $200 in buying several beginning programming technical books. Now, I can easily tell you to save your money. If you want to learn the essence of programming that will carry over to any language you want to learn, then learn HTML and Javascript 1.3, respectively. Both are completely free! All you need is Notepad and an internet browser (Int Explorer or Netscape)! You won't feel like you're learning much from HTML, however, it is essential for learning Javascript. Javascript uses the exact same terms, definitions and fundamentals that most (correct me if I'm wrong, programming techies) computer languages use. Then when you switch to another language such as Perl, or whatever, all you have to do is learn different commands and not theories. Go out and buy an HTML and Javascript 1.3 book for beginners. The "Teach yourself in 24 hours" books are good for quick learning. You must trust me on this! These guys have been programming for years and they probably forgot what it's like to not know **** when it comes to programming. I read like 4 chapters from MANY programming language instructional books and found that Javascript is easy and carries over to other languages.

Hope I helped out and sorry I rambled on so long!
0
 
LVL 4

Expert Comment

by:adam923
ID: 2767904
ntguru -- i'm glad we got a beginner's perspective here... but i would really hesitate to call html programming, it's a stretch.
it is programming in the sense of telling a computer what to do, but then so is typing a document in ms word, it's really a markup language (that's the ml part, as i'm sure you've read) and not a programming language; the line has to be drawn somewhere
javascript on the other hand i don't really know but it's a programming language that simply modifies the behavior of the browser.  if you'd like to write real programs that run on today's operating systems javascript does you no good, except maybe in learning the basic syntax of programs
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.

 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2768392
WHOA!
HTML is hardly a language, and JavaScript is like its name - a scripting language, not a real one! Furthermore, HTML doesn't require learning, you just need to understand what a tag is and have a list of possible tags and you can do anything. Javascript does not define any normal "features" a language has (especially no Object Oriented ones), all you do is define functions that will get called when the user does something in the page, like adam said, it's used stricly to give additional customization power to a page designer. That is, btw, also the reason why HTML and JavaScript are so easy, they were designed to be understood by Graphics design people, not by programmers.
0
 

Expert Comment

by:ntguru
ID: 2771311
Ahh...I like your spunk Adam and Sasha! I know this topic is not going to go away anytime soon and I hope RSPAR1 doesn't mind his question being used as a forum. Anyway, it's clear you guys are programming gurus and I only wish I was bright enough to do it. Networking is my forte` so I was only suggesting to RSPAR1 that by learning Javascript, you will learn the fundamentals and theory that will carry over to more important languages. Overall, I guess he should listen to you guys since you guys program. By the way, what do you two suggest I focus my attention on learning? Which language will help me out as a Network Engineer? I know it's not necessary to know programming in a Network environment, but what's a good language to know to help make me a better NT administrator? Thanks...


0
 

Expert Comment

by:ntguru
ID: 2771316
ntguru changed the proposed answer to a comment
0
 
LVL 4

Expert Comment

by:adam923
ID: 2771573
if you want to learn programming in general, learn java
as far as nt admin goes i'd suggest learning perl, it's great for working with files and network tasks... there are books available that discuss network admin using perl tools for user and share administration
0
 
LVL 1

Expert Comment

by:Rheingold
ID: 2772262
Hi again

as nobody is here to promote the advantages of a C++ Builder I will try again ;) - It's a very nice RAD (Rapid Application Development) tool that allows you to make very easy to make fully functional apps right from the start. You should consider something like "C++ Builder in 21 days" (which I have and I think is very valuable) or a comparable book to get started. When you're done with RAD applications, C++ Builder allows you to write applications without the RAD overhead using plain Win32-C/C++. So you don't even need to get another program to do this, too. DLLs, console apps and some other stuff is supported, too.

Javascript and HTML aren't really good starter languages, because - as mentioned above - they don't have the structure of "real" languages and what you can learn there is more or less useless for coding applications.

Regards
0
 

Author Comment

by:rspar1
ID: 2776118
Wow, a lot of information.  I appreciate all the comments made, although I'm still a little lost.  It seems Java is an ok place to start at least.  I'm a little confused can you use it to make fairly basic programs, 1 plus 1 equal two type stuff?  What kinds of things can you do with it?
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2776632
Java is a full blown programming language. You can do everything starting with small programs to calculate 1+1 :-) through arcade games and to commercial applications :-)
Read the Java tutorial at: http://java.sun.com/docs/books/tutorial/
0
 

Expert Comment

by:PaulM26
ID: 2777110
Guess I'll give my two cents as well. I too am a newbie to programming. I Learned BASIC Years ago(1984) but didn't do much with it. I have tried to learn C, C++, Visual C++, Delphi, and some others without much success. The problem is that the people writing the programming books tend to take for granted that if you are reading this book you must already have an extensive background in computers and programming. I finally broke down and signed up for a college course in C++. It's not too difficult to learn, but we haven't gotten into the pointers yet. If you decide to learn C++ get a book written by Nell Dale. She is Excellent.

As Sasha has noted already, Java is a full blown language. What Sun did was polled a group of C++ programmers and asked them what they would do to make C++ better. They then took those results and created Java.

All languages have similar theory. I don't really think one is any harder than another. They all do the same thing only they use different ways to do them.

If you really want to learn programming, either sign up for a class or download the Java Kit. Java is the latest greatest and getting help is easy and free.

Good luck,

Paul
0
 
LVL 12

Expert Comment

by:pjknibbs
ID: 2777204
PaulM26: I'd argue about all languages having similar theory. In fact there are two competing ones: procedural (C, BASIC, Pascal) and object-oriented (C++, Java). Learning one will not necessarily give you a good grounding in the other, although object orientation seems to be the way forward at the moment.
0
 
LVL 4

Expert Comment

by:adam923
ID: 2778687
procedural and object oriented are very close cousins because objects still need to know how to do stuff and these methods (java term) or member functions (C++ term) are basically just short sections of procedural code.
learning one language in computer science is like learning one foreign human language, the second one will be easier because you've learned how to learn it!
0
 

Expert Comment

by:Arcrass
ID: 2779606
i would suggest you to start with a very basic programation language (Qbasic), Qbasic is free and you can learn it easyli with the help section of it.
so you should start with qbasic that would give you a base in programation and when you ll know it it will be more easy for you to go with a bigger langague (c or c++)
0
 
LVL 12

Expert Comment

by:pjknibbs
ID: 2779725
Arcrass: You're new to the site, so welcome. I should point out that it's customary to post COMMENTS, not answers--answering a question locks it and hides it from the view of other experts.
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2780330
PaulM26 - >>As Sasha has noted already, Java is a full blown language.
>> What Sun did was polled a group of C++ programmers and asked them
>> what they would do to make C++ better. They then took those
>> results and created Java.

That's not the way it went! Java evolved from ADA, James Gosling and a few others are responsible for Java, but they came up with the idea independently, only after that SUN got involved...
0
 

Expert Comment

by:Arcrass
ID: 2782225
ok pjknibbs, thank you for the tip
0
 

Expert Comment

by:PaulM26
ID: 2783702
pjknibbs, you do have a point. But in OOP you DO still have to know how to assemble the code(syntax and semantics). You can still write programs in C++ and Java without using object orientation. But you are right about OOP. You don't have to know how it works, just what it does. I guess I was assuming that rspar1 wanted to know HOW it works. At the very basic level,(non OOP) all languages are similar, just different commands, syntax and semantics. With a good understanding of how the code works, it is easier to understand data abstraction and OOP(IMHO)

Sasha - >> only after that SUN got involved

And then what did SUN do?
0
 
LVL 7

Expert Comment

by:Sasha_Mapa
ID: 2783893
Umm, promoting, advertising, marketing, paying money for further development? :-)
0
 

Author Comment

by:rspar1
ID: 2795022
Well --- thanks for all the good comments!! I don't have a clue who to give the points to.  It seems that if I want to get some quick experience VB is the way to start.  And then for more up to date programming Java.  I've started a Java on-line tutorial, we'll see how that goes.  I going to check out vb, and ms access as well.  Points to nico5038, by the patented eeny meeny miny moe method.
0
 
LVL 54

Expert Comment

by:nico5038
ID: 2801107
Thanks, I get a real lucky feeling!

It's a pitty that splitting points isn't yet possible. But Community support has promised to look into it, thus all valuable contributers could get there share and this was a thread with many contributers. Perhaps food enough for a guide: "Start Programming with ..... "

rspar1, much success with your programming, but be aware: it's very addictive !

Nico
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

757 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

18 Experts available now in Live!

Get 1:1 Help Now