Can someone suggest a first programming language?
Can someone suggest a first programming language?
Other urls found in this thread:
tour.golang.org
greenteapress.com
archive.org
developer.mozilla.org
cprogramming.com
learn-c.org
learncpp.com
cplusplus.com
cprogramming.com
en.cppreference.com
isocpp.org
learnpython.org
codecademy.com
wiki.installgentoo.com
twitter.com
C
javascript
assembly
C or assembly
scheme
Doesn't matter because it depends on the context and if you're serious about it you will end up learning several languages before doing anything of value anyway.
But if I had to choose I'd try a high level language to see if I liked programming or not.
Pascal, also see
Cobol or .lua
HASKELL
Python then C++ then Java.
This
Pseudocode
As a first? Default Ruby. Learn C and such after becoming a Ruby God.
Forth
C# or Java.
lel
Python
English, then work your way to french, then work your way to german
One with a tutorial you can follow
Pascal, Python, Lua, C
Those were my first ones
Esperanto. Easy language.
BASIC
HTML
Second'd
Forth is the language of gentleman
python, then learn C
The book you use to start learning programming is far more important than the language.
Two good picks are Allen Downy's Think Python, which is free:
greenteapress.com
Another is Stroustrup's Programming Principles and Practice using C++:
archive.org
If you know the bare-bones basics of HTML and CSS, you can also start with Javascript and Mozilla's tutorials:
developer.mozilla.org
I unironically enjoyed learning Javascript. If you start with it, it will be a gateway into web development.
Learning C++ with Stroustup's text will give you insight into how computers work better than learning a scripting or interpreted language will. But that might not be what you're looking for in Programming.
Just pick one of the above and stick with it.
btw, the concurrency part will be really hard..
post results after taking the tour.
Clipper
This but reverse order. People tend to get used to python and use it either incorrectly or for everything.
C, then bash.
ALGOL
Unironically, LISP is a great first language. Getting exposed to a higher-level paradigm (functional programming) will make you a better problem solver from the get-go, will be a good acid-test of your aptitude for programming, and also be a good indicator of whether you will even enjoy programming.
Save the pedantic stuff like memory management and pointers for when you know if you actually want to program.
So you want to learn programming?
Pick a starting language. For beginners, there are generally two recommended "programming families" that you can choose to start learning:
-Dynamically typed/interpreted programming languages, such as: Python, Perl, Ruby
-Statically typed/compiled programming languages, such as: C, C++, C#
These are amongst the most popular languages in use worldwide, including 4 from the top 5. Both approaches are perfectly fine, and well-documented.
-Dynamically typed programming may be a bit more flexible, convenient, and forgiving. It is more popular in academia.
-Statically typed programming is a bit more suited for making general applications. It is more popular in industries.
Cannot decide? Flip a coin.
If you choose statically typed/compiled programming, you may want to start with C, then pick up C++. C is very well documented, and teaches many universal programming concepts. C++ is based on C, and adds new concepts. Sources:
For C:
The C Programming Language (K&R)
C Primer Plus (Prata)
cprogramming.com
learn-c.org
For C++:
learncpp.com
cplusplus.com
cprogramming.com
en.cppreference.com
isocpp.org
If you choose dynamically typed/interpreted programming, you may want to start with Python. It is very easy to pick up. Here are some good sources:
learnpython.org
codecademy.com
>BUT I WANT MORE SOURCES!
Read: wiki.installgentoo.com
>BUT I WANNA START WITH [language x] INSTEAD!
Sure, if you like. But the languages above are considered good for beginners.
>BUT I WANNA MAKE A COOL WEBSITE!
Learn HTML, CSS, and Javascript.
>BUT I WANNA MAKE iPHONE GAMES!
Learn Objective C and/or Swift.
>BUT I WANNA MAKE ANDROID GAMES!
Learn Java.
>BUT I WANNA MAKE PC GAMES!
Learn patience.
Scheme. Anyone advising C is a fool who completely missed what programming is about.