Question:
What is the best programming language to learn for a beginner who doesn't know squad in programming?
L'homme
2010-02-13 13:21:20 UTC
I got tell you I'm confused right now about choosing the best programming language for me.I have done some research on line and I have received different opinions.Some suggest VB(Visual Basic) or as best language to learn for a beginner while other think that is like put 5 years old in pilot's seat of airline.Instead they recommend Python or Ruby on Rails etc.., finally I don't know what is the best program for the beginner.
Any one who has been through what I' going through right now,Please help.
Eight answers:
2010-02-14 10:13:25 UTC
first try to learn c++ then u can learn java

java is really very interesting to learn

python and VB are pretty simple to learn
?
2016-09-24 08:08:45 UTC
You're at the correct course. Javascript is nice and it is the excellent one to be trained and such a lot realistic with out getting problematic. Note that HTML and CSS are not programming. What you're doing in the ones languages is making a portfolio and enhancing the textual content and images to appear a exact approach. The advantage of Javascript is you don't want a compiler hence it may be displayed immediately on a browser. The simplest language to be trained is BASIC, however you will not get to use it so much to some thing so that you particularly may not be finding out for far. BASIC and Visual Basic are more commonly utilized in an workplace environment, like for storing records and such. Do you're employed in an workplace? I do not consider you could. The concern with C, C++, and Objective-C is they're very realistic, however best whilst you've taken the correct arithmetic guides equivalent to Discrete math. You can construct systems with out realizing the mathematics, however whenever you desire to create the great systems, then you want a few math, and it is not anything by and large taught in okay-12, that is university. So to reply your query, Javascript without a doubt. There is without difficulty tons of Javascript guides on-line.
jplatt39
2010-02-13 13:52:30 UTC
Nicholas Wirth is a guru in programming education. In the early seventies he created a language to teach programming with called Pascal, which enforced and still enforces the best programming practices of the (pre-oops) time. In the early eighties a commercial compiler called Turbo Pascal became, for a while, the Industry standard, and developers learned it to use it. Wirth has gone on to consider other languages with names like Oberon and Modula-3 but he still knew what he was doing and some schools still use pascal to teach the fundamentals of programming which you WILL learn with it.



There is in fact a free pascal compiler which incorporates some object oriented extensions which Turbo's maker Borland added to it to make their package Delphi:



http://www.freepascal.org



I highly recommend it. Also, if you SEE Colanth's link to a paper by Nicholas Wirth, follow and read it. Once you know this learning other languages will be much easier.
2010-02-13 13:26:16 UTC
my first programming language was Visual Basic.

its easy to learn, and has endless possibilities.

i'm currently learning Java, and there are similarities between the two, so it makes it a little easier to learn.



response to Daniel: with VB you can use other programming languages in it. i'm working on a project right now, it has VB, Java, HTML, and C+ script in it.

so, yes, endless possibilities.
2010-02-13 14:46:45 UTC
Wirth is the guy (I should say genius) but Pascal's not the way. Start with Wirth's programming course - http://www-old.oberon.ethz.ch/WirthPubl/AD.pdf Learning a language is just learning syntax if you know programming. If you don't, it's learning a new method of "programming" for each language. (It's no more programming than nuking a frozen dinner is gourmet cooking, it's just fooling yourself into believing that you learned something.)
Daniel
2010-02-13 14:27:51 UTC
Kyle says:

"my first programming language was Visual Basic.its easy to learn, and has endless possibilities."



Sorry Kyle, but you're quite wrong. All of the BASIC-family languages are terribly limited and are considered a major hindrance and promoter of laziness and bad practice by many experts. And Visual Basic is just another variant of the original. VB is even MORE limited than the original. It can only work on managed runtimes like .NET's CLR and Mono's CLR. There's no way to run it outside of those platforms, and no way to compile them to native binaries (that actually works reliably). Try writing a next-gen flight simulator in VB... not happening... Try writing an operating system in VB... yup, not happening. So there you go, your possibilities are definitely VERY limited. Those are just two things you either can't or cannot *feasibly* do. There are tons of others.



But to answer the OP's question:



You have two routes you can take (that I recommend), and they both will work well. The first way is to work from the "Bottom-up". The other way is to work "Top-down". What I mean is *abstraction*. Are you familiar with the terms "low-level" and "high-level"? To put it simply, "low-level" means there is very little abstraction; you are closer to the machinery and the inner architecture of the system and hardware. "High-level" means there is a lot of abstraction; and you are working in a more "human-friendly" environment. It might seem backward/counter-intuitive, but in general, "low-level" programming is more complicated and difficult for humans, whilst "high-level" programming is more convenient and understandable for humans. Assembly language is an example of a low-level language, and it is just a simple set of opcodes which represent native processor instructions. An example would be (just a snippet):



xor eax, eax

mov eax, someData

push eax



That directly manipulates memory and the processor registers. If you're curious, that first clears the EAX register, then moves some sort of data named "someData" into the 32-bit storage, then pushes that value onto the stack. As you can see, very powerful and "low-level", but might make absolutely NO sense to most humans who don't have experience with assembly language. Hopefully, you get what low-level means now. :)



A HIGH-level language can still be extremely powerful, like C# for instance. It is more abstract and generally better/more convenient for humans to work with. Here's an example snippet of C#:



int AddNumbers(int a, int b) {

return (a + b);

}



Makes much more sense, eh? That simply adds two numbers you pass two it (the integers a and b) and returns the sum. Yes, this would be a rather useless method/function in a real program, but hopefully the example shows you the difference in low/high-level programming.



So, YOU can either choose to start learning from the low-level or high-level. Either way is fine! You can also start right smack in the middle, which is what I did. C is the perfect language to get started with if you want to start in the mid-level of abstraction. C also has very, very few keywords and rules to remember, so you can learn the syntax (basically the grammar) very easily. It's just tough to write useful programs which work correctly (just like every language, really). You can learn the full syntax of C in only a few days or a couple weeks. It all depends on how hard and fast you work and learn. You can be writing some simple console programs on your first day if you're willing to read some tutorials.



If you're brave (and patient), you can start at the VERY low-level. If you want to understand it this way, I would first start reading up on basic computer science first (memory, addresses, circuitry, etc). This is a good thing to learn in ANY case. Learn about the basics of how your computer works. Then you start learning assembly language, which allows you to directly "talk" to the processor. This is extremely difficult to master, but it's very rewarding and fun if you're a tech-junky like me! :) You can even learn to write a simple bootloader and operating system kernel if you learn this way! Very cool, no? I'm working on an experimental micro-kernel based OS right now, but I use very little assembly language. Most of it is standard C and C++. After all, C and C++ are compiled to the same native binary that assembly language is *assembled* to. Assembly just lets you directly access registers and blocks of memory very easily, and it's 100% imperative (commands).



The quickest way to learn, however, is just to start at the HIGH-level. I recommend NO other language to you than C#. Forget VB/BASIC, Python, etc. IF you learn C#, you can learn anything. In fact, the SYNTAX of C# and C, C++, Java and tons of other languages are so similar that you can actually compile snippets of one language in another with little to no changes. The example C# snippet I posted above will also work in C, C++, Java
tbshmkr
2010-02-13 14:06:49 UTC
C++

=

Tutorials online:

http://www.cprogramming.com/tutorial/lesson1.html

http://www.cplusplus.com/doc/tutorial/

=

Free Electronic Books:

Thinking in C++ 2nd Edition by Bruce Eckel

Volume 1 & Volume 2

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

=

Code::Blocks == Open Source C/C++ IDE

http://www.codeblocks.org/downloads/binaries

codeblocks-8.02mingw-setup.exe
2010-02-13 13:30:12 UTC
that and you can pick up some cheap books on ebays www.half.com

I bought a dozen and with shpping they averaged about $8 per book


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...