visitor (0 QPoints)
  • FR
  • EN
  • NL
  • DE
  • ES
315 experts, 1193 registered users, 1659 questions already answered
European Experts Exchange, the very best site for high-quality IT solutions

New Improved Search!

 


05/10/2011 1h30 : Steve Jobs is dead, the father of Apple ][ is gone, we are all orphaned.

Languages :: General :: programming beginner


By: locc U.S.A.  Date: 23/06/2003 00:00:00  English  Points: 50 Status: Answered
Quality : Excellent
I want learn and do programming but I don't know where to start and on how to start. I don't having any language prefereneces or anything. If someone could point me to where a good place to start.

I have searched things on the web but doesn't give me a good idea where to start, so this is where I am at.


By: kobibass Date: 23/06/2003 09:04:00 English  Type : Comment
Hi,

Try to take a basic book of C or look at:

<A HREF="http://www.cs.cf.ac.uk/Dave/C/CE.html">http://www.cs.cf.ac.uk/Dave/C/CE.html</a>

<A HREF="http://www.strath.ac.uk/IT/Docs/Ccourse/">http://www.strath.ac.uk/IT/Docs/Ccourse/</a>
By: VGR Date: 23/06/2003 09:06:00 English  Type : Comment
ok

as you don't have a preference, no "a priori" (that's good) and no idea what to do with which language (that's normal), some clues :

-all L4G (fourth generation languages) are roughly equivalent
-with some exceptions (LISP...), you can do almost anything with any language
-language is not important, algorithmic is. A clear and logical mind is the key to everything.
-some languages are more "teaching" than others, because you learn from your mistakes. So I suggest you choose a strong-typed compiled language for a start. The program won't compile if you make gross (or little :D ) mistakes, and you'll have a clear error message telling you what's wrong. Usually, on Windows those languages come with samples and a good help system.

-I suggest to stay far away from Windows' intricacies and internals (I should say "convolutions" :D ), so any high-enough-level language will do, as will DOS versions of the languages and development tools. It's definitely better to start "on the console" in my humble opinion.
This leaves you the choices : Delphi [+Kylix+Turbo-Pascal], VB, C++ and VC++ [a lot less sympathetic for beginners IMHO]
VB for "apparent easiness", even if it's only BASIC after all and if it's not very robust nor strong-typed
C++ if you incline towards the "cryptic and works OR clear and does not" style of programming :D
Delphi or Pascal if you wanna learn fast and well :D


-Then comes the money factor. Some languages are expensive, some are free.

My best recommendation is to get the free and complete Turbo-Pascal 5.5 from Borland site 8-)
(it includes OO but it's not mandatory to use OOD - I should even say it's not recommended for you - )
By: harbinger4783 Date: 23/06/2003 11:56:00 English  Type : Comment
At the Universtiy of Arizona (where I'm a student) they are starting beginning programmers with the Java language. It's object oriented and doesn't have the learning curve of C/C++/C#. It won't create standalone executables (this means that when you want to run the programs you write, you have to use another program to run it (free)) but for learning purposes it's a good fit and will give you very marketable skills.

Here is my suggestions for you:

--Download the Java Compiler (the program that takes your program and makes it so the computer can understand what you're saying)
--(Optional) Download a program called TextPad (gives you a place to write the code and has a built in means to compile and run the programs you write....this way you won't have to go through the hassle of going outside of Windows to do this)
--Look at some tutorials online (there are many) and start from there

~~~~~Instructions to download the compiler~~~~~
1. Go to java.sun.com
2. On the left side of the screen click on "Downloads"
3. In the drop-down box that says "Full J2SE Technology Downloads List" Choose Java 1.4.1 - All Platforms and click "Go"
4. When the page loads, look under "Download J2SE v. 1.4.1_03", look for Windows (All Languages including english) and go over to the column "SDK" and click on the "Download" link you will find there
5. Either fill out your information and click "Yes, submit" or if you don't want to just click on "No thank you, continue"
6. Read the Terms and Conditions, and if you accept them click "accept"
7. Click on the big bolded link, this is the program that will install the compiler...run this program

~~~~~Instruction to download Textpad~~~~~
1. Go to <A HREF="http://www.textpad.com">www.textpad.com</a>
2. Click on the "download" link at the top of the page
3. Click on the "TextPad Downloads" link in the middle of the page
4. By English Only Click on any one of the links to the right (USA will download faster if you are in the US)
5. The program you are downloading is Textpad and will be your primary means of writing, compiling, and running your code

~~~~~Configuration of Textpad~~~~~
1. Open Textpad
2. Under the "Configure" menu select "Preferences"
3. Click on the "file" option
4. Where it says "Default File Extension" type "java" (if you want when you save for the file to automatically be saved as a java file by default...good idea if you're not going to use this program for any other reason ie. word processor)
5. If you want to change how the program formats the java code (indention, keyword coloring etc) expand the "document classes" menu, then expand the "java" menu....you'll find many options for customization here.
6. Click "OK" when you're done
7. Note formatting and such will not work until you first save the file

~~~~~Using Textpad to compile and run your programs~~~~~
1. Write your code
2. To compile...
a. go to "Tools" --> "Compile Java" --OR--
b. hold down the "ctrl" key and tap "1"
3. To run an application (basically...a program that is not for web-browsers)...
a. go to "Tools" --> "Run Java Application" --OR--
b. hold down the "ctrl" key and tap "2"
4. To run an applet (basically...a program that is made for a web-browser)...
a. go to "Tools" --> "Run Java Applet" --OR--
b. hold down the "ctrl" key and tap "3"

~~~~~Online tutorials for learning java~~~~~
<A HREF="http://www.javaworld.com/javaworld/jw-03-2000/jw-0331-java101.html">http://www.javaworld.com/javaworld/jw-03-2000/jw-0331-java101.html</a>
<A HREF="http://www.geocities.com/Athens/Aegean/5799/Java.html#Tutorials">http://www.geocities.com/Athens/Aegean/5799/Java.html#Tutorials</a>
<A HREF="http://www.javacoffeebreak.com/">http://www.javacoffeebreak.com/</a>

~~~~~Resources for once you get the hang of the language~~~~~
Java API(reference for individual parts of the language) - <A HREF="http://java.sun.com/j2se/1.3/docs/api/">http://java.sun.com/j2se/1.3/docs/api/</a>
Code Samples (code that you can look at that covers more advanced topics)
<A HREF="http://developer.java.sun.com/developer/codesamples/">http://developer.java.sun.com/developer/codesamples/</a>
Book: Core Java - <A HREF="http://www.horstmann.com/corejava.html">http://www.horstmann.com/corejava.html</a>

Hope this helps...if you decide not to do Java...I would suggest Visual Basic....but I would do Java if I were you


By: sonlh_it_vn Date: 23/06/2003 13:55:00 English  Type : Comment
There are some way for you:
- If you want to make simalar with programming : using Turbo Pascal first. That is not a powerful language as C/C++/Java... but Pascal is easy to understand (similar to English language). You must do and learn some basic algorithm, data struct.
- When you simalar with Turbo Pascal - that means you learnt "function oriented programming" - You can change to object oriented programming. The first object oriented I learnt is C++ but you can chose Java inspite because many reason: Java not support poiter data type, Java automatically remove object from memory (deconstructor) - in C++ you must do it yourself.
- When have learnt two type of programming! You chose a language you like best and try to become a experts of this language.

Good Luck
By: bistrica Date: 23/06/2003 16:24:00 English  Type : Comment
Go for Java or C++
By: VGR Date: 24/06/2003 05:57:00 English  Type : Comment
I strongly disagree with :
-go for Java : Java is dead before having grown up. Java is for dummies. PHP is better. Both are interpreted, compiled JIT or quasi-compiled (Zend, and others). Java is slow. Java can't do multiple inheritance. Java is crap.

-"Turbo Pascal first. That is not a powerful language as C/C++/Java" : it's the absolute contrary to the Truth. You can do anything in Turbo-Pascal that you can do in C++ or C [Java doesn't count, it's so powerless...]. The only difference is that your program will compile without any warnings about weird typecasts and wrong return parameter types or range check errors or discarded data... and will work as expected.

-"use function orientated programming then change to object programminf" : completely absurd. That's what WE had to do, and it was a pain in the neck. Go for OO first if you feel like it. Go for MODULAR programming if you prefer to consider that 1+1=2 and not that "object 1 instanciates the Integer Class, object 2 is an other instance, and Operator + is a Virtual Overloaded operator implementing [in some obscure source file 24 level deeper than main program] the addition of two integer Objects"
(quoting Wirth :D )

I repeat : Turbo-Pascal is more powerful than C or C++ for DOS
and Delphi is more powerful than VC++
and Kylix is more powerful than... what? cpp ? :D
By: bistrica Date: 24/06/2003 18:19:00 English  Type : Comment
Go for Java or C++ or C#.
As you are a beginer and you want to learn something and eventually you want to use your new skills to get a job.
By: StillBemused Date: 24/06/2003 19:04:00 English  Type : Comment
I agree with sonlh_it_vn. I started programming years ago with GW-BASIC, moved on to using Turbo Pascal (version 3!) and progressed after that to Visual Basic (whose code is quite similar to Turbo Pascal's).

Pascal was originally invented as a method of teaching structured programming techniques, and is a very good way of ensuring that the programmer is quite clear about what he/she wants to do. Variables etc. must be predefined, and the language is quite strict with its syntax.

The other thing with languages such as Pascal and Visual Basic (and C and its derivatives) is that they must be compiled in order to execute. Compiling will make sure that there are no syntax errors in the code, and also makes the program secure (it is not easy to alter a program once compiled!). Oh yeah, and it makes it much faster than interpreted code (such as GW-BASIC). OK, you get JIT-compiled code, but I've not yet tried that.

By: harbinger4783 Date: 24/06/2003 19:30:00 English  Type : Comment
I've never used pascal as I went from QBasic straight to C++ then branched upward from there. At the time, I didn't really know about pascal to ask for a book about it at the library. However VGR was correct to a degree, Java, although it isn't as widely used as once anticipated, still looks pretty good on your resume if you're looking for any job as a programmer or as someone who works with programmers.

Additionally, java is very close in structure to languages like PHP, and C-style languages meaning that once you get good at it, it will be easy.

From what it sounds like from the suggestions you have ~~2 options

Given that Pascal is supposedly Close to VB in style (from StillBemused)

More oriented to programming Business applications:
Pascal-->VisualBasic-->ASP-->and on

More oriented to general/"hard core" programming
Java-->C++/C#-->PHP/Perl-->and on

Hope this helps,

Aaron
By: locc Date: 24/06/2003 20:13:00 English  Type : Comment
Well all your comments look good and looks pretty foreign to me, but you guys explain your opinions well. It looks like it is a tossup between Pascal and Java?? Is this correct?? Once you learn one programming language you can learn the rest pretty easy , not that big of a learning curve?

So what does everyone think about this conclusion by harbinger4783?

/-----------------------------------------------------------------------\
More oriented to programming Business applications:
Pascal-->VisualBasic-->ASP-->and on

More oriented to general/"hard core" programming
Java-->C++/C#-->PHP/Perl-->and on
\-----------------------------------------------------------------------/

Any good books I can buy to start?? I don't really like reading on the computer screen...for some reason I get more focused from a book. I should mention what I am kind of experienced in, I am alright in ASP and javascript/vbscript....that's about the extent of my web page things. I am if I can't figure out how to do thing I go online and look for examples.


By: harbinger4783 Date: 24/06/2003 20:47:00 English  Type : Comment
ASP is very very similar to Visual Basic by design (it uses VBScript) so you could probably move past pascal to visualBasic without many problems. JavaScript uses the very basic concepts of Java, but there'll still be plenty more to learn in Java.

As far as books go here are some good ones:

~~~~~Visual Basic .NET~~~~~~
<A HREF="http://www.oreilly.com/catalog/learnvbnet/">http://www.oreilly.com/catalog/learnvbnet/</a> - Learn VisualBasic .NET

<A HREF="http://www.dummies.com/WileyCDA/DummiesTitle/productCd-0764525794.html">http://www.dummies.com/WileyCDA/DummiesTitle/productCd-0764525794.html</a> - VisualBasic .NET for dummies (I'm not insinuating anything...they make good introductory books)

<A HREF="http://www.deitel.com/books/index.html">http://www.deitel.com/books/index.html</a> - Visual Basic .NET - How to program


~~~~~Java~~~~~
<A HREF="http://www.horstmann.com/corejava.html">http://www.horstmann.com/corejava.html</a> - Core Java (If you feel comfortable with a more technical book this is the best there is)

<A HREF="http://www.oreilly.com/catalog/learnjava2/">http://www.oreilly.com/catalog/learnjava2/</a> - Learning Java (2nd edition)

<A HREF="http://cda.dummies.com/WileyCDA/DummiesTitle/productCd-0764526464.html">http://cda.dummies.com/WileyCDA/DummiesTitle/productCd-0764526464.html</a> - Beginning programming with Java for Dummies. (Again...not insinuating anything)

<A HREF="http://www.deitel.com/books/index.html">http://www.deitel.com/books/index.html</a> - Java - How to Program

If you decide to go with Java, what I'd suggest is get an introductory book from the library until you get the hang of it and buy the Core Java book(s) as they are kind of expensive (perhaps buy used or eBay?) but you will be able to use these books for as long as you're programming with Java (they have a boat-load of information in them)

I wouldn't be able to suggest any good Pascal books as I'm not familiar with any from experience....but deitel, oreilly, and dummies all make good books with dummies being the most basic but covering the least amout of info.

Hope this helps,
Aaron
By: locc Date: 24/06/2003 20:52:00 English  Type : Comment
What about the the applications you install on your computer....where you double click on the executable and it installs on your computer...what language is that??
By: harbinger4783 Date: 24/06/2003 20:55:00 English  Type : Comment
as for the learning curve comment......yes and no

Going from vb-style languages to c-style languages and vice versa is still going to have a moderate curve to it just because the way you do things are different (but not so bad that you'll get disgruntled).

For example in ASP (like VisualBasic) you right a for-loop like this:
For I = 1 to 20 step 2
'code
Next

In Java or C++ it would be written:
for (i=1;i<=20;i++)
{
//code
}

Moving up and down the chains (c-style or vb-style) should be a matter of learning a few new things and learning the different names for things you've already learned....but that's about it.

...Just as a FYI
By: locc Date: 24/06/2003 20:56:00 English  Type : Comment
ASP is considered a programming laguage???
By: harbinger4783 Date: 24/06/2003 21:05:00 English  Type : Comment
Those aren't by a specific language...those are applications.

There are software titles (ie. a popular one is called InstallShield) that you buy to install programs with... I think one is included for free with Visual Studio .NET. But for beginning programming I wouldn't invest in one of those expensive programs, I'd just write a program that does it.

Write a program called install that either copies the regular program to a directory specified by the user or to a location of your choosing. This may be a little ways off in your programming experience, but who knows...you may pick up the language so fast that Linus Torvalds can't keep up with you.

For your reference: <A HREF="http://www.installshield.com">www.installshield.com</a>

Aaron
By: harbinger4783 Date: 24/06/2003 21:07:00 English  Type : Comment
More or less yes....some people like to call it a "scripting" language and whatnot...but the basics of Visual Basic are used (looping(for/do-while/do-until), conditionals(if/case), objects(Response/Server/Request/RecordSet)) I for one consider ASP a programming language.
By: harbinger4783 Date: 24/06/2003 21:10:00 English  Type : Comment
***correction to my code***
the for statment in the Java/C++ code should read:

for (i=1;i<=20;i+=2)
--OR--
for (i=1;i<=20;i=i+2)

**NOT**
for (i=1;i<=20;i++)
By: VGR Date: 24/06/2003 21:18:00 English  Type : Comment
and in Pascal :

for i:=1 to 20 do ...
By: locc Date: 24/06/2003 21:19:00 English  Type : Comment
I appreciate your quick responses.

I have just one more question...once you have become a so-called expert in one language, what and how do you appy it to everyday life.

Like I know I am pretty good with ASP using javascript client-side scripting. This shows all the work on a web page. What does C++, C, Pascal and other laguage do??? Is this where dll comes in?
By: harbinger4783 Date: 24/06/2003 21:27:00 English  Type : Assist
With the .NET framework(VB, C#, C++, etc) everything compiled can be moved to the internet (may take a while to get the hang of)

You can use CGI to run almost any program you've written on the internet (majority use Perl and C though)

C++ can be used for standalone applications and more

Java can be used for applications and applets (on the internet)

I'd go into more detail but my laptop is outta juice..I'm at 3% now....g/l I'll check back later

Aaron
By: harbinger4783 Date: 24/06/2003 21:29:00 English  Type : Comment
btw.... CGI is just a link between the internet and a program you wrote in another language (ie. perl, c, java, etc) not really a language of its own
By: VGR Date: 24/06/2003 21:33:00 English  Type : Answer
yes and no. DLL is the dynamically-relocatable format inherent of Windows. Like a ".sl" or ".so" on *nix

So versions of any language on the Windaube platform can indeed use (in fact, they HAVE TO use some) DLLs and sometimes produce DLLs (for languages having compilers)

But a DLL is just some kind of "unit" (a separately-compilable modular piece of code separating interface -public part- and implementation -private part-), a concept first introduced by Pascal and especially powerful when using Turbo-Pascal. A unit that hasn't changed since the last build isn't recompiled while you compile your program.

Units and DLLs (libraries in other languages) are used for the same purpose : regrouping (some would say "encapsulating" :D ) features related to each other, so that you retrieve them easily, you know where you implemented that 4x4 matrix function, or that NiceDate() function formatting for Ouzbekistan, etc . It's clear they don't change at all after a while, so it would be a pity to copy-paste their code in any program needing them (the C way) or to recompile them every time the main program is compiled (the original C++ way)

for "everyday life", the problematic is simple :
-problem described in everyday life terms
-modelisation in algorithms + data structures
-implementation using a given language

you can for instance create a simple program to display the hour in analogic format on your desktop, one to remind you of rendez-vous or anniversaries, one that checks a webserver to see if a new comic strip is out, one to maintain your phone book... All very simple problems of everyday life finding their solution in a 100 lines Pascal or Delphi program :D
By: locc Date: 24/06/2003 21:47:00 English  Type : Comment
Well looks like there a lot more to consider than I though, a bit overwhelming.

Thanks for all your comments, if you have any other suggestions you haven't thought of or experiences to share it will be appreciated.
By: locc Date: 24/06/2003 22:01:00 English  Type : Comment
What is the most marketable language to learn.
By: VGR Date: 24/06/2003 22:10:00 English  Type : Comment
difficult to tell. This depends on the domain where you intend to work, and it's rather hard to tell ***now*** :D

in engineering, in accounting, in banking, in air-space, in "off the shelf" products, in power computing, people use different platforms/languages/formats/machines

so it's rather hard to tell.

What I know for sure, is that if you master pascal, you'll be able to program cleanly in any other language :D
By: locc Date: 24/06/2003 22:13:00 English  Type : Comment
Pascal sounds like a start then.
By: attarinho Date: 28/06/2003 00:04:00 English  Type : Comment
I'd go to bookstore to find a programming book for children, cause they explain really great and not with all computer words, which can't be understood easily by beginners. Anyway i did start with html and did some good stuffs with web programming. After that I learned java, vb.net, etc. The point is, how fast you can learn programming, that you do some projects with the language you start to learn. Cause reading thin programming-books won't help much. Well, that's just from my experiences. Good luck !

Do register to be able to answer

EContact
browser fav
page generated in 147.250890 milliseconds

Why Google AdSense ads ?

compteur
 Ranking-Hits PageRank for this page