Which programming language should i start with?

...

Python or Java

C

Assembly

dragon dildo

start with perl

I did Python and now i'm looking at C. I recommend this path.

PL/I

Java

this. or tcl.

Way to go.

C

Brainfuck

install gentoo

python

I was thinking of starting with Python or C. There a lot of easily accessible resources for Python, but what about C?

Python

great path

Pascal.

It's the easiest to learn and the Free Pascal compiler is great and free (duh).

It also isn't just a learning language, it has a lot of advanced features like object-orientation, procedural types, an entire RAD framework, etc.

Haskell

C and Python at the same time. You will learn what the differences are and which language is better for each job.

When you learn C then you move to C++

Javascript

depends what you wanna do (simialr to "what is the best programming language" etc...)
Just wanna get codining prolly object orientated? By far the best beginner's choice: Python
Want to learn how computers work (on a somewhat superficial level) and code really clean from the beginning. Also: It just does everything well: C
Want to go into functional programming? Well, some choices there, some like Haskell over OCamel, some say go fill Lisp - Stallman style.
If you have no clue what to do: Python

...

Why do you want to learn a programming language?

Any book?

Racket + SICP compatibility package.
Then C and Assembly when learning computer architecture.
Then Smalltalk to learn OOP.

>but what about C?
Even more.

Pretty much every C library known to man has some kind of docs you can read about, specially the most used ones like ncurses.

Tutorials, books and guides a plenty for the language itself, aside from the K&R book I also recommend C Programming: A Modern Approach, by K. N. King.

Spanish

malbolge

I would start off with assembly if you really want to know how a computer works.

I agree. Its a good time

Fuck off pajeet

Most people will just quit, it's very good intro but the person needs to know some basic math tricks and understand binary & hex + able to calculate that shit.
And knowing about memory is pretty sweet.

What's the best language to program aimbots? C?

What's the best language to make linux widgets? Java?

Jython :^)

html

Microsoft Excel

Learn the following
x86 (play for a month, you don't really need to know it inside out)
C (use it for 5months, try to learn the standard library in this time)
C++ (study this for a year, learn as much as you can but make sure you understand all the concepts of the langauge. Try to write some software)
Java (it will take you 4 months to learn it)
SQL(5 months of training should be enough)

You are now qualified to be a 60k code monkey

>What's the best language to program aimbots? C?
there is a book called Game Hacking.
it teaches the basics of everything you need to know

Swift

C its good for you.

>SQL 5 month
More like a weekend

Banks take SQL very seriously.
They want people to have a text book knowledge of all the shit Oracle put into their SQL

So we are looking at about 2 years?

What can I learn to give me a basic 35k a year job? Like bottom of the barrel thing that I can get into to just to get my feet wet.

I'd rather do it this way so in case if it's not for me then I wouldn't had wasted too much time.

SQL+JAVA will give you an easy 40k

is it realistically possible to learn assembly without knowing any other language?

Thank you.

Yes, in fact, it's much to do so, compared to learning Assembly after knowing high level languages.

yes.
Since assembly is so low level it helps you learn higher level languages as you would intuitively understand what they do under the hood.

I can teach you assembly in this post if you want

CPU has places inside it that are called A, B, C
A, B, C can hold values
A, B, C can have calculations done on the values like in a calculator
for example to move the value 2 into A you write:
MOVE A 2
The value of two is moved into A, to add two to A you would write
ADD A 2
Now the value inside of A is 4

Congratulations you now know 30% of assembly

much easier*

Python

Javascript is more useful but has enough strange parts it's better to leave it for later

>Sup Forums memes
C has no practical value in 2017 outside of certain niches which beginners don't get involved with anyway

can you explain why?
i know some assemby syntaxis because i've been playing TIS-100 which uses a simplified version of asm

>recommends python
>claims C has no practical value
>python
>not Java

How does it make you feel to be retarded?
How does it make you feel to form your /tech/ opinions from a anime site?

This. after doing object oriented programming for over 2 years I had a very hard time grasping that there are literally no rules in assembly and everything is done by convention

>I still didn't get it.

Python is easier to learn than Java, and both are widely used in academia and industry for all sorts of projects. (Java is more common, but Python is a decent runner up)

C is more difficult and introduces more concepts at once than either. And I'm right - there is no reason to use C outside of kernel hacking, writing drivers, graphics programming, etc, and beginners don't do those things.

If I formed my tech opinions from an anime site, I'd tell OP to use some obscure variant of Lisp.

Pee aych pee

Say my knowledge of computers is pretty much nil, is it a bad idea to start learning assembly right off the bat? Basically, going by what another user said I should be learning binary and hexadecimal first. Is there anything else I should read up on before diving in?

You can screw around with it if you want

Really the most important thing is to pick something that keeps your interest

learn kotlin ;-)

Assembly > C or COBOL > Java

You'll actually understand what you're doing then

I always recommend Python. It's easy to pick up, doesn't need to be compiled, and requires less code to get things done.

>Python is easier to learn than Java,
C is easier to learn than both and gives the programmer a good foundation.
>both are widely used in academia and industry for all sorts of projects.
I assumed OP was a NEET trying to learn programming.
NEETs can learn Java and get into a basic job in a year.
Python is used in projects that require 5+ years of experience which are not offered to the plebs

>C is more difficult and introduces more concepts at once than either.
I disagree Python introduces the concept of "EVERYTHING IS AN OBJECT" which is gibberish to a newb
Python also hides the type system which makes newb programmers annoyed and confused as to why "123" is not the same as 123
C introduces a good foundation that every programmer must know in order to get anywhere. trying to hide the type system to reduce the number of keywords the programmer needs to remember may work for scientists
who just need to glue together math functions with some logic but its horrible for a person that wants to learn programming.

>And I'm right - there is no reason to use C outside of kernel hacking, writing drivers, graphics programming, etc, and beginners don't do those things
That is not the point. C is useful because it teaches the programmer the low level concepts of the language so that they have a solid foundation to stand on when learning something new
A programmer that learned Python first will have a harder time learning a second language compared to a programmer that learned C first

>pick something that keeps your interest
I can say this is really good advice.
If you cant stand studying Assembly for more than an hour pick up something else that can keep your attention.
Its better to study anything over not studying at all.

So I know nothing about programming or the job market, but from the thread it seems like if I'm a beginner who wants to try to learn a programming language to get work I should start with C or Java?

C is easier to learn than almost anything else because it's simple.
It's just harder to write for most people because it requires you to put a bit of thought into the structure of your program and your data structures.
It's a good language to learn first

>C is easier to learn than both
Python has a REPL and you can do basic stuff immediately. Both have a much better standard library.

>gives the programmer a good foundation.
To its utterly bizzare type system ("type system") and memory management most other languages don't require.

>I assumed OP was a NEET trying to learn programming.
>NEETs can learn Java and get into a basic job in a year.
>Python is used in projects that require 5+ years of experience which are not offered to the plebs
It's being used more and more in other places, but I do agree that Java is the best path to getting a quick job.

>I disagree Python introduces the concept of "EVERYTHING IS AN OBJECT" which is gibberish to a newb
newbs don't have to know what any of that shit means, unlike in C, where they have to know how the type system and memory work.

Once they do, "everything is an object" is more straightforward than C's type system.

>Python also hides the type system which makes newb programmers annoyed and confused as to why "123" is not the same as 123
That's not confusing. Something with quotes around it is text. Easy.

>C introduces a good foundation that every programmer must know in order to get anywhere.
See above.

>trying to hide the type system to reduce the number of keywords the programmer needs to remember may work for scientists
>who just need to glue together math functions with some logic but its horrible for a person that wants to learn programming.
>That is not the point. C is useful because it teaches the programmer the low level concepts of the language so that they have a solid foundation to stand on when learning something new
You don't need any of that to get started.

1/2

>web developer

You're the reason websites are so fucking slow. Fuck you. You're fucking garbage.

>A programmer that learned Python first will have a harder time learning a second language compared to a programmer that learned C first
Yes and no. People who started with C and then dabble in higher level languages tend to write horrible higher level code (they don't use iterators, built-in data structures, higher level functions or any sort of functional programming...)

Better to learn to think about things conceptually - in terms of data structures and control flow - than about things you only need to care about in C, or once you start getting into heavy duty performance tuning, etc

C isn't simple, it's extremely convoluted. Segmentation faults, character strings and the old and busted standard library alone are nasty newb traps.

If your aim is to get a job ASAP, either Java or the front-end web stack (HTML/CSS/Javascript)

C jobs are legacy or experts only

I agree with your first statement.
I managed to cut down a persons bash script from 100 lines of code to 5 by looking at the commands he was executing and using their built in flags to do the processing instead of relying on loops and if statements

that being said its also a lot slower to reference the docs every time you write a line of code

>C isn't simple, it's extremely convoluted.
It's as simple as it gets. It's syntaxically simple, and conceptually simple as well (it doesn't try to do magic). Having worked with beginners, I'd say the main ""difficulty"" with C is learning about pointers. The rest is as easy as it gets.

>Segmentation faults
Forces you to reason about your program. Not fundamentally different from a NullPointerException, or whatever Python uses.

>character strings
Work fine in C. Beginners don't need to write safe/critical code, so it's OK for them to be vulnerable to buffer-overflow. Simplicity over correctness, when you're starting.

>old and busted standard library
Meaning you have to write your own code if you want to do something more complicated, instead of relying on language magic. This leads to a better understanding of computers, for a beginner.

>or the front-end web stack (HTML/CSS/Javascript)
>he thinks he wont be forced to learn 20+ apis that will be replaced in 5 years when browsers agree to just be sandboxed app streamers

Front-end is a clusterfuck but that in no way refutes my post.

>he thinks that matters to a beginner

>I'd say the main ""difficulty"" with C is learning about pointers
If you manage to drill the concept of int* being a int pointer type and not an int it really helps people understand
the people who made the pointer syntax did not really think it out.

C/C++ or Go. Java and Python are fine too. Everything else sucks to learn because they're too heavily abstracted.

>the people who made the pointer syntax did not really think it out.

It's also difficult for a beginner to understand that
>`int *i;` declares a pointer
>`*i` dereferences a pointer--the exact opposite operation
>`&i` create a pointer to the value

And if you're doing C++, it's even worse, since you have to include references too. And then
>`int& i;` declares a reference

So many people in my cohort didn't understand those, even after 1 year of C++ programming.

They thought it out, you just don't understand what C is. It's a systems language. Go do Java or Ruby and sip lattes

Don't start with assembly. It's vital to know eventually, but don't start there.

>It's as simple as it gets. It's syntaxically simple, and conceptually simple as well (it doesn't try to do magic). Having worked with beginners, I'd say the main ""difficulty"" with C is learning about pointers. The rest is as easy as it gets.
Anything to do with pointers (especially function pointers) isn't simple (See ). String manipulation isn't simple.

>Forces you to reason about your program.
So does Brainfuck's syntax: that shit just does not apply to other languages.

>Not fundamentally different from a NullPointerException, or whatever Python uses.
I was really tempted to stop reading your post here (you've obviously never used Python and don't have any understanding of the language)

>Work fine in C. Beginners don't need to write safe/critical code, so it's OK for them to be vulnerable to buffer-overflow. Simplicity over correctness, when you're starting.
Aside from any performance benefits, they're an inferior design, and much less simple

>Meaning you have to write your own code if you want to do something more complicated, instead of relying on language magic. This leads to a better understanding of computers, for a beginner.
Having a built-in sort function or dictionary class isn't "magic", and it's more important for beginners to understand how to do things at a high level than hand-code their own data structures.

If you're going to be a purist about things that don't impact the vast majority of programmers, why not assembly?

Thanks for the advice. What would you recommend tackling first out of those two?

Golang. All other languages are garbage by comparison. It's is like the fucking programming language apex predator.

people like you are the reason COBOL is a thing

C was a rushed together hack job, it won because UNIX spread quickly, even the creators admit this

Tough to say, probably Java

Keep telling yourself that while I laugh at you as your code runs 1000x slower than mine IRL. C has shit internet compatibility and most coders are stupid and lazy. It (along with Fortran) is still used heavily in scientific programming because it's fast. It's used in the Unreal engine because it's fast. It's used in financial and medical applications because it's fucking fast.

That's why Go is pretty much the best of any modern languages.I assume you think using CSS stylsheets is coding so you probably won't like it and its amazing quickness and robust feature set though Guess what language it takes its cues from? Spoilers, not fucking ruby or some hippie bullshit language. Golang rules all.

>don't impact the vast majority of programmers
In order to write efficient programs, you need to understand what the computer actually does. C gives you that understanding. Python, on the other hand, does not.

I would argue that understanding fundamentals is much more useful. A programmer who's only done C can pick up Python, and write efficient code. A programmer who's only done Python can't pick up C (or Java, or C++) and write efficient code.

This is exactly what's going on with a friend of mine. He's been programming in Ruby since he was 13, and I've been programming in C since I was 13. Any Ruby code he writes is fine--but any C++ (or performance-critical ruby) he writes is dogshit. He doesn't take performance into account ever, because he doesn't understand what operations are costly.

>In order to write efficient programs, you need to understand what the computer actually does
Again: this doesn't impact the vast majority of programmers, and it certainly doesn't impact beginners.

>I would argue that understanding fundamentals is much more useful. A programmer who's only done C can pick up Python, and write efficient code. A programmer who's only done Python can't pick up C (or Java, or C++) and write efficient code.
Read the thread

>This is exactly what's going on with a friend of mine. He's been programming in Ruby since he was 13, and I've been programming in C since I was 13. Any Ruby code he writes is fine--but any C++ (or performance-critical ruby) he writes is dogshit. He doesn't take performance into account ever, because he doesn't understand what operations are costly.
Algorithmic complexity, the core determiner of performance, is something you can learn in any language - and is easier in a higher level language, because iteration between experiments is faster, the syntax is nicer, and the tools are provided for you.

Things like caching and paging are also important, but C hides those from you too!

is it worth the time and effort to take harvardx's cs50 course? you begin with c, then move onto python in the course. it's a comp sci course. i don't want to be a real programmer, i just want to be able to hack some shit together to get stuff done. wondering if it's worth the time.

haven't taken it myself but probably

>i don't want to be a real programmer
>i just want to be able to hack some shit together to get stuff done
bash/python scripting

Well, C's been around for about 40 years so there might be some sort of info on it to be found

While I mostly agree:

>C hides those from you too!
No it doesn't. The design of all operating systems worth a shit does, C doesn't have the ability to expose that to you and never has done.

Just go play CSGO and people will give you aimbots.
Wall hacks are free also

>The design of all operating systems worth a shit does, C doesn't have the ability to expose that to you and never has done.
I think we agree. I know _why_ C doesn't expose it to you (just didn't elaborate in my post), but it still doesn't expose it.

>not using the comfort of linux for web browsing and superiority of windows for all your real development work

Sadly this is true

>not just using os x for both

...