Question:
which is the best programming language for a beginner -no previous programming experience?
anniyan
2006-09-10 11:21:37 UTC
which is the best programming language for a beginner -no previous programming experience?
22 answers:
2006-09-10 14:52:21 UTC
This truly depends on what you plan on doing with the language once you learn it or are learning it.



All true programming langauges will help you with the basic fundamentals of programmig, learning to think like a programmer in a logical way. In most cases learning any computer any language will assist you in learning more languages in the future.



However, I disagree with some of the previous answers saying "learn ". There will always be a langauge that is more suited for different applications. If your passion is that you want to make web pages or do something with Internet technology there are langauges more suited for that which wont be useful if you want to make PC video games for the commericial market.



Even colleges will teach the basics at first such as a PASCAL, COBOL, FORTRAN, C/C++, etc. As you make your way through college and steer your classes based on your desired career you will begin to learn more advanced programming using the langauges typically used in that field.



So ask yourself what you want to accomplish with learning a programming langauge as there is not a general langauge best for everything.



When I was 12 years (early 80's) I had an interest in video games and I began learning BASIC as that was part of DOS and no other place to start. BASIC helped me understand programming however, I only used it for 1 or 2 years before I moved onto C. C langauge is what other companies we starting to use and so I moved on to it. I have been making video games for 18 years, the last 12 professionally and I have used C/C++ during that time. Overall, I know very little about BASIC and would rate my level as a 3 or 4 on a ten point scale. Being an expert at BASIC or Visual Basic wouldnt help me in my career.



Most people today think by learning the easiest and/or newest langauge out there (.Net or C#) is the way to go, and they are wrong in my opinion. In particular, Mircosoft tends to make things easier and easier to develop applications by providing things like functions or procedures for you so you. What are you learning really? Your learning how to program their way and when they make a change you follow their path without a clear understanding of what is going on behind the scenes.



Just like today people are use to using operating systems like Windows XP and have no idea what DOS is or where Windows actually evolved from. I am not saying everyone should use DOS as it is way passed it time. The point is learning the easiest langauge and relying on game engines, programming SDK's, scipting type languages, or anything where some other programmer has done everything for you will never make you the best programmer. It will only make you a "slave" to what they decide is the right way.



Of course, all this is just my opinion and others may disagree I just know how I evolved and what worked for me many years ago. I have no college degree and only attend college for 1 semester back in 1991.



Note: I am not saying anything negative about going to school I just went a different path and I am drawing my opinions from real world, hands on experience.



Lastly, one thing you can do is look for job postings on the Internet and see what employers are requiring for specific positions. A game companies will generally have C/C++ & DirectX requirements where companies doing e-commerce will require langauges such as Java, .Net, and HTML



HTML/JAVA = Web pages and basic internet development

C/C++/Visual Basic = Application development



This link might help to:



http://www.accu.org/resources/public/terse/learn.htm
2016-03-27 09:33:55 UTC
There is no simple answer. The problem (one of them) is that C or, say, tcl are relatively quick to pick up as languages, but it takes an extraordinary amount of code to do anything impressive. The Object Oriented Languages (C, C++, C#, Python ...) are generally much more powerful and can make quite significant programs with nice user interfaces, all from not that much code. Most programmers would always use an Object Oriented Language for all but the simplest of programs. But the downside is that there is quite a big initial overhead of stuff you need to understand before you can really get going at all. And that stuff may seem pretty abstract if you haven't done any programming yet.
kahless_k
2006-09-10 13:46:39 UTC
You should try Visual Basic 2005 Express edition. You can download it from Microsoft's site for free.



It has quite simple syntax yet it's powerful enough to get some real work done. It's primary used for bussines software, but you can do all kinds of work. There's plenty of tutorials and even free ebooks for VB 2005.



However, I'm not sure if it is the right language to start learning programming. It really depends what you want to do with it.



You could also try C and later on move to C++ and eventually C#, but don't expect you'll learn it overnight. It's rather complex, so you'll need a lot of learning. But once when you get basics, you'll be able to learn other languages more quickly.
2006-09-10 11:26:43 UTC
It depends on what you want to go into later on. I would recommend HTML, because it will give you a general understanding of programming, and you will be able to use it right now. Many other programming languages require you to buy a compiler, whereas HTML can be typed in the text editor that comes with windows and then viewed in a browser, which also comes with windows.



The programming language that I learned first was pascal. It is fun and easy, but not very practical now.
The Nerd
2006-09-10 11:30:39 UTC
First Of...HTML is not a Programming Language.

Second. BASIC as in BASIC it is completely Outdated.

Third, C++ would be your best choice, along with Visual Basic.



The only Programming Language I've learned is BASIC and QBASIC. I learned this 10 Years ago. When it was a great thing to learn.
rockie
2006-09-10 12:28:13 UTC
as u said dat the person is beginner, i would suggest him / her to learn C first and den goto C++, continuning it with Core JAVA concepts..... and later he can go for HTML, DHTML, XML, VB script and so on.....



if he / she is intrested in learning all the programming lanuages then da person has to go for Principles of Programming Languages (PPL) which includes programmng langs frm BASIC, PASCAL, ADA,........



At the same time, he/she has to learn about the Algorithms, which plays a vital role in computers......



these dayzzzz..... Advanced JAVA and .NET languages are in demand....



al da best..!!!
2006-09-10 11:40:16 UTC
if you are thinking as programming as a serious option the best language to learn would be C.Its a very good language and an important one too....most programs are written in C.Even hardware programming is done in C.Then proceed towards C++,C# Java and the .NET.
jake cigarâ„¢ is retired
2006-09-10 11:27:57 UTC
basic will rot your mind.



stay structured.



get simple... wait for C# or java till you have learned a simple structured language first.



too bad people don't use pascal anymore....



javascript can be simple to learn with 0 bucks, and plenty of online classes.



and it works well with html (which is not a programming language)
Isa
2016-02-14 21:02:06 UTC
Of course, all this is just my opinion and others may disagree I just know how I evolved and what worked for me many years ago. I have no college degree and only attend college for 1 semester back in 1991.
Vikas Singh
2006-09-10 11:42:22 UTC
1st learn C nicely.Write ur own codes n check on turbo c compiler.Next learn C++ nicely.If u good in these two languages u are always at advantage and given a red carpet welcome in any s/w company.Rest all language u can learn easily if ur learning of c,c++ is good.
aazib_1
2006-09-10 11:24:05 UTC
My friend,

Since you are a beginner, I would suggest that you must start from C, C++ as it has a bright future ahead.

Graudally you can move forward with HTML, Java, etc.....
wildeve h
2006-09-10 11:58:09 UTC
C++

its the begginiiers langualge in many schools n colgs
2006-09-10 11:23:15 UTC
I learned Excel 4.0 first. But considering that's an essentially dead language, I'd suggest some form of Basic, it's pretty simple and easy to understand. I taught myself some TI-basic (enough to write a simple game on my TI-83), and it wasn't very hard.
Uma G
2006-09-10 11:47:41 UTC
C is the best & easy to start with. It will help in understanding all other langauges too,
indiananytime
2006-09-10 11:28:30 UTC
c is the best language. Other languages will not help you anytime and nobody wants it.
ri_ma_bo
2006-09-10 11:27:16 UTC
for that criteria, best is Visual Basic

but for future, either goto C# , ASP.Net or Java
Big Boss
2006-09-10 11:23:24 UTC
Start out with simple stuff like html. lol VERY easy to get used to.
2006-09-10 11:46:31 UTC
c++
david w
2006-09-10 11:25:30 UTC
vb
aadil r
2006-09-10 11:22:32 UTC
i would recommend BASIC, and then move on to JAVA.
Lawrence of Arabia
2006-09-10 11:36:06 UTC
If you are about to enter the world of "applications' making" your best will be Visual basic, then Python, python, and python. it is easy, fast and extremely memory saving during working or after creation.



Python is an interpreted programming language created by Guido van Rossum in 1990. Python is fully dynamically typed and uses automatic memory management; it is thus similar to Perl, Ruby, Scheme, Smalltalk, and Tcl. Python is developed as an open source project, managed by the non-profit Python Software Foundation, and is available for free from the project website. Python 2.4.3 was released on March 29, 2006.



Python is notable amongst current popular high-level languages for having a philosophy that emphasizes the importance of programmer effort over that of computers and for rejecting more arcane language features (readability trumps speed and expressiveness). Python is often characterised as minimalist, though this only applies to the core language's syntax and semantics; the standard libraries provide the language with a large number of additional libraries and extensions.



The de facto standard for the language is the CPython implementation, although there are other implementations available. Miscellaneous parts of the language have formal specifications and standards, but not the language as a whole.



The last version released from CWI was Python 1.2. In 1995, van Rossum continued his work on Python at the Corporation for National Research Initiatives (CNRI) in Reston, Virginia where he released several versions of the software. Python 1.6 was the last of the versions released by CNRI.



Following the release of Python 1.6, and after van Rossum left CNRI to work with commercial software developers, it became clear that the ability to use Python with software available under the GPL was very desirable. CNRI and the Free Software Foundation (FSF) interacted to develop enabling wording changes to the Python's free software license that would make it GPL-compatible. That year, van Rossum was awarded the FSF Award for the Advancement of Free Software.



Python 1.6.1 is essentially the same as Python 1.6, with a few minor bug fixes, and with the new GPL-compatible license.



Python 2

In 2000, the Python core development team moved to BeOpen.com to form the BeOpen PythonLabs team. Python 2.0 was the first and only release from BeOpen.com. After Python 2.0 was released by BeOpen.com, Guido van Rossum and the other PythonLabs developers joined Digital Creations.



Python 2.1 was a derivative work of Python 1.6.1, as well as of Python 2.0. Its license was renamed Python Software Foundation License. All intellectual property added, from the time of Python 2.1's alpha release on, is owned by the Python Software Foundation (PSF), a non-profit organization modeled after the Apache Software Foundation.



The future

Main article: Python 3000

Python developers have an ongoing discussion of a future version called Python 3.0 (the project is called "Python 3000" or "Py3K") that will break backwards compatibility with the 2.x series in order to repair perceived flaws in the language. The guiding principle is to "reduce feature duplication by removing old ways of doing things". There is no definite schedule for Python 3.0, but a PEP (Python Enhancement Proposal) that details planned changes exists.[1]



Planned changes include:



move map, filter and reduce out of the built-in namespace (the rationale being that map and filter are expressed more clearly as list comprehensions, and reduce more clearly as an accumulation loop)

add support for optional type declarations

unify the str/unicode types, and introduce a separate mutable bytes type

convert built-ins to returning iterators (instead of lists), where appropriate

remove backwards-compatibility features like classic classes, classic division, string exceptions, implicit relative imports.



Usage

Main article: Python software

The Python programming language is actively used in industry and academia for a wide variety of purposes. Some of the largest projects that utilise Python are the Zope application server and the Mnet and BitTorrent file sharing systems. It is also extensively used by Google.



Syntax and semantics

Main article: Python syntax and semantics

Python was designed to be a highly readable language. It aims toward an uncluttered visual layout, uses English keywords frequently where other languages use punctuation, and has notably fewer syntactic constructions than many structured languages such as C, Perl, or Pascal.



Indentation

Python uses indentation, rather than curly braces, to delimit blocks. An increase in indentation comes after certain statements; a decrease in indentation signifies the end of the current block.



Control structures and statements

Python's statements include:



if statement, for conditionally executing blocks of code, along with else and elif (a contraction of else-if).

The while statement runs a block of code until a condition is False.

for loops iterate over an iterable, capturing each element to a local variable for use by the attached block.

class statements execute a block of code and attach its local namespace to a class, for use in object oriented programming.

def defines a function.

Each statement has its own semantics: for example, the def statement does not execute its block immediately, unlike most other statements.



Standard Python does not support continuations, and according to Guido van Rossum, never will. However, better support for coroutine-like functionality is planned, by extending Python's generators. Type system

Python espouses duck typing, also known as latent typing. Type constraints are not checked at compile time; rather, operations on an object may fail, signifying that the given object is not of a suitable type. Despite not enforcing static typing, Python is strongly typed, forbidding operations which make little sense (for example, adding a number to a string) rather than silently attempting to make sense of them.



Built-in types

Python includes several simple data types, including int for representing integers and float for floating-point numbers. The language also includes a bool type for Boolean operations (other languages, like C, do not). There is also a complex type for complex numbers.



In addition to those four numeric data types, Python includes a number of built-in types used for a variety of purposes. This list describes the most commonly-used types; Python provides many more.



Other features



CPython's interactive mode, used via IDLEThe standard Python interpreter also supports an interactive mode in which it acts as a kind of shell: expressions can be entered one at a time, and the result of their evaluation is seen immediately. This is a boon for those learning the language and experienced developers alike: snippets of code can be tested in interactive mode before integrating them into a proper program. As well, the Python shell is often used to interactively perform system tasks, such as modifying files.



Implementations

The mainstream Python implementation, also known as CPython, is written in C, and is distributed with a large standard library written in a mixture of C and Python. CPython ships for a large number of supported platforms (see below) and can be ported to other platforms, most readily to POSIX (Unix-like) systems.



There are two other major implementations, Jython for the Java environment, and IronPython for the .NET and Mono environment. PyPy is an experimental self-hosting implementation of Python, in Python, that can output a variety of types of bytecode and object code. Several other experimental implementations have been created, but not (yet) reached widespread use.



CPython supported platforms

The most popular (and therefore best maintained) platforms Python runs on are Linux, BSD, Mac OS X, Solaris, and Microsoft Windows.



Unix-like



AIX operating system

BSD

Darwin

FreeBSD

Plan 9 from Bell Labs

Mac OS X

NetBSD

Linux

OpenBSD

Solaris

Other Unixes, e.g. Irix

Desktop OSes



Amiga

AROS

BeOS

Mac OS 9

Microsoft Windows

OS/2

RISC OS

Special and embedded



GP2X

Java virtual machine

Nokia 770 Internet Tablet

Palm OS

PlayStation 2

PlayStation Portable

Psion

QNX

Sharp Zaurus

Symbian OS

Windows CE/Pocket PC

Xbox/XBMC

VxWorks

Mainframe and other



AS/400

OS/390

VMS

z/OS





Python was originally developed as a scripting language for the Amoeba operating system capable of making system calls; however, that version is no longer maintained.



Many third-party libraries for Python (and even some first-party ones) are only available on Windows, Linux, BSD, and Mac OS X.



Standard library



Python comes with "batteries included"Python has a large standard library, which makes it well suited to many tasks. This comes from a so-called "batteries included" philosophy for Python modules. The modules of the standard library can be augmented with custom modules written in either C or Python. The standard library is particularly well tailored to writing Internet-facing applications, with a large number of standard formats and protocols (such as MIME and HTTP) supported. Modules for creating graphical user interfaces, connecting to relational databases, arithmetic with arbitrarily precise decimals, and manipulating regular expressions are also included. Python also includes a unit testing framework for creating exhaustive test suites.



The standard library is one of Python's greatest strengths. The bulk of it is cross-platform compatible, meaning that many Python programs can often run on Unix, Windows, Macintosh, and other platforms without change.



It is currently being debated whether or not third-party but open source Python modules such as Twisted, NumPy, or wxPython should be included in the standard library, in accordance with the batteries included philosophy.



Multiple paradigms

Python is a multi-paradigm language. This means that, rather than forcing programmers to adopt a particular style of programming, it permits several styles: Object orientation, structured programming, functional programming, and aspect-oriented programming are all supported. Many other paradigms are supported using extensions, such as pyDBC and Contracts for Python which allow Design by Contract. Python is dynamically type-checked and uses garbage collection for memory management. An important feature of Python is dynamic name resolution, which binds method and variable names during program execution.



Another target of the language's design is ease of extensibility. New built-in modules are easily written in C or C++. Python can also be used as an extension language for existing modules and applications that need a programmable interface.



Though the design of Python is somewhat hostile to functional programming (no tail-call elimination or good support for anonymous closures) and the Lisp tradition, there are significant parallels between the philosophy of Python and that of minimalist Lisp-family languages such as Scheme. Many past Lisp programmers have found Python appealing for this reason.
dinoman
2006-09-10 11:22:55 UTC
no


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