Programming

Alright, so I'm completely new to programming beyond the good ol hello world application.

What is the best language to learn for your first language?

Other urls found in this thread:

twitter.com/ginanecomments/status/862857592523165697
cprogramming.com/tutorial/c-tutorial.html
learn-c.org/
learncpp.com/
cplusplus.com/doc/tutorial/
cprogramming.com/tutorial/c -tutorial.html
en.cppreference.com/
isocpp.org/faq
learnpython.org/
codecademy.com/en/tracks/python
wiki.installgentoo.com/index.php/Programming_resources
twitter.com/SFWRedditVideos

Assembly language

fpbp.

If you want to program anything, you need to use Assembly otherwise you're wasting your time.

Learn C.

Guess what C compiles to? Assembly. Fuck that shit OP, learn Assembly. You shouldn't depend on 'language' creators/shills

haskell

All jokes aside, you should problem learn The Wolfram Language.

Functional programming is easier to learn than procedural.

Fortran and Cobal are pretty good to get started. But you should listen to the rest of the people here and learn assembly shortly after that because it's slightly harder. Good luck OP

>For Web Dev
-JavaScript
-PHP
And if youre feeling it then finish with SQL

>Software
-Python (Easy syntax, not hard to set up and learn)
-Java

Learn C to understand the basics of programming, preferably you should read K&R.

After you have a good grasp of the language learn one of Python, Java, Scala, C#, Swift and use them to make pet projects.

Alternatively you could start with Functional Programming as another user said. Haskell would be a good choice for this.

I'll give you an answer that won't make you want to kill yourself, OP. It depends on what you want to do with it. Want to get into web development? I would learn Javascript or php coupled with HTML and CSS. Program Windows Apps? Java or C#. Iphone? Objective-C. Android? Java.

I will say though. I didn't fully understand programming, at least on a system level, until I learned C and Assembly. But if you don't really give a shit and just want to make some programs without understanding how it works then use the languages I mentioned above.

For the love of god do not learn Fortan or Cobal as your first language. Idk why these guys don't want to help you but that is not the right answer (and I think they know that)

>c++
>int i = 5;
>java
>Integer i = new Integer(5);
don't learn java.

functional programming is a meme. don't fall for it. literally no one uses haskell or mathematica in the real world.

assembly is a language, senpai.

>functional programming
>you cant even increment integers
a fucking joke

are you retarded?

You know you can declare integers in Java literally the exact same way as c++ right?

If you ever need to increment by one in a functional language, you're probably doing it wrong.

I can't think of a single reason to do that.

if you're not spending time learning machine language, you don't know what kind of botnet is getting compiled into your own program

Why do you want to learn to program?

Python

C and C++ will fry your brain unless you're a genius.

>C and C++ will fry your brain unless you're a genius

Calm down nigga

>If you ever need to increment by one in a functional language, you're probably doing it wrong.
>I can't think of a single reason to do that.


Congrats! You're idiocy is now featured on twitter

twitter.com/ginanecomments/status/862857592523165697

You are fucking retarded
As a matter of fact both your answers are fucking retarded.

Any time you need to increment by one procedurally, it can be done functionally with either recursion, or with some other combination of pure functions.

For example, you're likely used to using a loop and printing the results.

But this can also be done with with
>TableForm[#] &@Range[5]
Range[5] generates an array from 1 ... 5
>Range[5] = {1, 2, 3, 4, 5}
and TableForm simply takes an array an arranges it into a table, in our case a column.
>TableForm[Range[5]] = Column[Range[5]]

Loops are done recursively, and so on.

correction:

c++: int i = 5;
java: int i = 5;

nice memes idiot

You are fucking retarded
As a matter of fact both your feet they're all emphatically mine

>recursion
But that's bad though.

>arrays in c++
>int i[5] = {1,2,3,4,5};

>arrays in java
>ArrayList i = new ArrayList();
>i.add(1);
>i.add(2);
>i.add(3);
>i.add(4);
>i.add(5);

if you don't think java is verbose you've never programmed in it.

correction
arrays in c: int i[5] = {1, 2, 3, 4, 5};
arrays in java: int[] i = {1, 2, 3, 4, 5};
arrays in you: {i, d, i, o, t}

I want to make a back tester for stocks.

Prolog is a good first language.

From there it's easy to learn a lot of other languages since it forces you to get good with basic programming concepts.

You Sup Forumsuys need to stop "learning a language" and tune that to "solve a problem"

Find a good problem on Kaggle (big-data problems) and do analytics and machine learning on it

You can't just "learn a language," first find a problem that really passions you and go at it

Start with Python. It's important to believe in yourself and build confidence. Python will teach you to think logically without worrying about syntax or object oriented properties.

Once you're comfortable with the basics move onto either javascript, java, or C++ depending on what you want to do as a programmer.

Want to make web apps?
JavaScript, HTML, CSS

Want to make quality of life programs?
Java or C++ (I recommend Java first and then moving to C++).

Want to make games?
Find the game engine you feel most comfortable using and go with it's most popular language. Most likely C# or C++. Unity and C# are going to be the easiest at entry level.

People are going to give you a lot of advice that most of them probably didn't do as a self study learner. Don't jump into a language just because it's popular. I advocate python because it's easy. I haven't used it since I first learned programming and now I spend most of my time with javascript, java, and C#. Trying to start with something like assembly could be overwhelming and discourage you. If you really WANT to learn them later, you can. It will even help you with your primary languages because you'll understand more about what's happening under the hood. I just don't advise learning how to build a car from scratch until you've driven and worked on one for a while.

t. guy that did an introductory course

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/tutorial/c-tutorial.html
learn-c.org/

For C++:
learncpp.com/
cplusplus.com/doc/tutorial/
cprogramming.com/tutorial/c -tutorial.html
en.cppreference.com/
isocpp.org/faq

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/en/tracks/python

>BUT I WANT MORE SOURCES!
Read: wiki.installgentoo.com/index.php/Programming_resources

>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.

Integer[] array = {1, 2, 3, 4, 5}
List list = Arrays.asList(array);

THIS! Anyone suggesting differently is misleading you.