Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a friend who is non - computer major.

For example, he dose not know what is a bit,byte and etc.

Now he want to program .

So I wonder which language is better? C,JAVA or something else?

share|improve this question

closed as off-topic by Journeyman Geek, terdon, Mark Henderson, Michael Hampton, Keltari Aug 5 '13 at 1:48

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they tend to become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve. Here are a few suggestions on how to properly ask this type of question." – Journeyman Geek, terdon, Mark Henderson
If this question can be reworded to fit the rules in the help center, please edit the question.

1  
I recommend a teacher. –  Daniel R Hicks Aug 5 '13 at 0:24
3  
Try assembly code –  Nikolay Aug 5 '13 at 1:03
    
FORTRAN, obviously. (Hey, it was good enough for me!) –  Daniel R Hicks Aug 5 '13 at 1:43
    
Try something simple and fun like Karel the Robot. karel.sourceforge.net –  Keltari Aug 5 '13 at 5:20

2 Answers 2

up vote 2 down vote accepted

Goal

The most important part to programming, is just to start. Once you feel the satisfaction from creating a 'Hello World' it will motivate you to keep going.


Language

The language really doesn't matter as long as you learn the principles. Most classes start with either Python, Javascript, or Java. Once you understand the principles of for loops, functions, and bitwise operators, you can then move on to a language like Java, C, C++ which require a deeper understanding of garbage collection, object oriented programming, pointers, interfaces, Generics, ect..


Tutorials There are many resources for people new to programming. Here are my favorites.

Scratch - A fun visual approach to programing, created by MIT

CodeAcdemy.com - An interactive website with many different languages (Python, Ruby, ect..)

Code.org - Another online interactive tutorial.


Additional Info

Here is a collection of many more online apps.

http://mashable.com/2013/03/13/learn-to-code-free/

Lastly, some people learn better in a group environment, if so then they should enroll in a community college.

share|improve this answer
    
and C/C++, because there are principles in C/C++ that you wont learn in any other language - memory management –  Taylor Flores Aug 5 '13 at 1:04
    
A common opinion is that C and C++ have a higher learning curve (pointers, no garbage collection, ect..). While there are good tutorials for C (Apples Objective C documentation comes to mind as a good example), many new programmers might be overwhelmed at first. Python and Javascript would probably be the most friendly place to start. Then Move to Java / C# / C++ / Objective C one they are ready to learn Object Oriented Programming. –  spuder Aug 5 '13 at 1:08

Depends, what is your friend interested in? Why does he or she want to program?

If he or she wants to know programming in and out, I recommend C. C teaches you everything memory-related that the higher level languages don't. You will learn much more about computers by learning C than any other language (other than assembly, but that isn't generally recommended as a first language).

If he or she wants to learn programming without having to know what happens behind the scenes (sounds like this may be what your friend is looking for), then I recommend a higher level language, such as:

  • Javascript: is probably the most widely applicable programming language there is. You can run this on webpages as well as a standard application. I recommend Javascript to your friend.
  • Python: generally simpler than Javascript and Java, but runs slower.
  • Visual Basic
  • C#: see comment by DanielRHicks
  • Java: expected to run faster than Python and Javascript, but with more code.
share|improve this answer
    
Actually, C# may not be too bad of a beginner language. It's basically Java with added functionality and a few of the rough edges rounded off, and one can initially limit use to essentially the Java subset. Though the fancy MS development system for it costs $$ one can get a skeleton system from MS for free or use one of the open source development systems for it. –  Daniel R Hicks Aug 5 '13 at 1:48
    
@DanielRHicks thanks. I only regularly use Javascript and C, so I didn't want to say too much else about the other languages. –  Taylor Flores Aug 5 '13 at 1:53
    
I'm just starting with C#, with considerable experience with Java (not to mention FORTRAN, BASIC, assembler, C, a touch of COBOL, and a smattering of RPG). And, while I hate to recommend a MS product, I can see that C# has some advantages over Java, and is in some ways easier to use, from a compile/build/run standpoint. –  Daniel R Hicks Aug 5 '13 at 4:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.