Good Coding Languages to Learn

I want to learn a coding language that's useful, however I don't know where to start. I'm fairly smart so i would prefer to start with something challenging. I don't want to learn anything useless like HTML. What should I learn?

Other urls found in this thread:

amazon.com/Programming-Principles-Practice-Using-2nd/dp/0321992784
amazon.com/Data-Structures-Algorithms-Adam-Drozdek/dp/1133608426
amazon.com/Discovering-Modern-Scientists-Programmers-Depth/dp/0134383583
internals.rust-lang.org/t/diversity-on-the-governance-teams/2048
twitter.com/SFWRedditGifs

HTML5

:(

http

or https, if you want to be more up to date with the current shiet

>I'm fairly smart so i would prefer to start with something challenging.

FORTRAN

>not brainfuck

Ruby. Java. C++. C#. Idk. What do you even wanna make? "Useful" depends on your application.

Binary.

Once you understand that you understand it all.

Or you dont.

I want a good all-around code that i can use to create software, and one that is useful for those who code as a profession.

You're request doesn't even make sense, you don't know how to program AT ALL, so anything is going to be a challenge, even the scratch interactive GUI from Harvard's CS50. In addition, there's already millions of guides out there people like you.

if you really were 'fairly smart', you wouldn't make such a shitty thread. GTFO idiot

Python for general shit.
C for optimized shit.
Haskell for useless shit.

>haskell
>useless

Pardon me while I laugh to the bank with my haskell and fortran skills

Python is useful and easy. Java is half useful and somewhat easy after you get the basic principles down, C++ is more useful and a little harder to learn, C is both useless and useful depending on whom you ask (It was more useful back then but now it's as useful as Java) and it's easier than C++, C# is an unnecessary mix between Java and C++ but it's somewhat useful and ranges between Java and C++ level of difficulty. Ruby is between Python and Java level of difficulty (if you know python, ruby is a breeze) and is almost as useful as Python. R is basically a python alternate, and can be more useful than Python when it comes to handling math/stat/(sometimes)machine learning stuff. Assembly is hard as shit and only useful to understand concepts. Visual basic is easy but not used for much other than specialized projects (macros, etc.). Matlab/Mathematica is easy if you're doing it for school or work and extremely useful and extremely expensive. Octave is a free alternate to Matlab. Lisp/Basic/Pascal/Fortran all used to be useful, but they're a waste of time to learn now, unless you want to work on legacy code as a job. I don't know much about Go, but I've heard it's good. Haskell is abstract as hell, hard to learn, and isn't what you're looking for.

Learn SQL if you want to work with large intricate databases.

As far as web shit, PHP is somewhat useful and somewhat difficult. Javascript is easy but it can be bullshit how data types work, and is a need-to-know language if you want to do any web development. CSS is also somewhat useful but I don't know how difficult it is.


tl;dr if your overall goal is to make some application that does useful stuff for users, C/C++/C#. If it's just to run some small stuff, Python/Ruby/R/Java. If it's to run robotics/industrial related stuff, use LabView. I didn't mention it earlier but it's easy and useful for this. If it's some obscure shit, pick any language I didn't mention in this tldr.

Programming languages work on differing paradigms and level of abstraction.

On the "low level" we have stuff like machine code, assembly, the kind of stuff people in the 50s-70s would be programming with.

Around the 70s C was made to be a "portable" version of assembly. Each language generally has its own machine code which makes transferring code to different systems because they can't understand what you're talking about. C was made to bridge that gap.

Later comes along the concept of objects and classes which helps simplify giant code with tons of functions by simply allowing you to recycle general purpose code and even override their functions to do something other than what the class intended it to do. E.G. we have a class called "dogs", all dogs share certain functions but some dogs can do things others cannot. This is called object oriented programming which is seen in stuff like Java, C++, Python, etc.

Very rough overview and I'm sure someone will said I got something wrong, but as for "good all-around" I'd say Java. Which might not be the answer you want, but there's nothing wrong with the language. If you're just starting out, you should focus on understand concepts and programming logic.

All languages were made for some intended use. Before compilers were a thing, "programmers" were mathematicians. Things got easier and easier overtime as people tried to find solutions because the way they were doing it made them think "there's gotta be an easier way to do this". Starting anywhere is good, but learning solid functional code is a great start.

C++ is your language. Nearly all the greats are derivatives of c++

start with assembly, its much easier and robust process to go from low to high than the other way around

MIPS is very simple and used to teach assembly in schools

after you understand what physically happens in the computer, move on to C, this transition will be very easy. people bitch and moan about pointers but you will have no problem with these since you start with assembly.

at this point you'll need to start using shells environments and development software, (linux, powershell, git, etc...)

also very important at this point, you need to learn some math and algorithms. learn all the common data structures and IMPLEMENT them all in C or if you really hate yourself, implement in assembly. learn all the basic search, sorting, tree algorithms and implement them all in C or if you really hate yourself, implement in assembly

after that learn c++ so you can learn what objects are, re implement all the data structures and algorithm in C++ as objects

then learn java and python, you can start doing some programming challenges and practice using your knowledge of data structures and algorithms

dont just do find some shitty website and read a couple of pages and go to the next thing. build an actual program that does something significant

dont touch javascript or ruby or any of that other crap, web development moves too fast to keep up and doesn't pay nearly as well as backend

This shouldn't take more than 2 years, after this you are significantly better off than 80% of the university graduates out there. internships are guaranteed, full time positions might require you to show off some significant personal projects to get in the door.

>how to lose 2 years of your life

just learn C++

>not dedicating yourself to the cause

>start with assembly
tryna spook somebody from learning computers

You wrote a wall of text, that not only fails to persuade the readers, but is also wrong. I wouldn' want to debug your code.

C++

amazon.com/Programming-Principles-Practice-Using-2nd/dp/0321992784
amazon.com/Data-Structures-Algorithms-Adam-Drozdek/dp/1133608426
amazon.com/Discovering-Modern-Scientists-Programmers-Depth/dp/0134383583

no your wrong

FORTRAN is the only correct answer

*you're
I bet you throw syntax errors too lol

I think his use of "your" was meant to point out the fragility of your argument in just telling him he was wrong without explaining what it was that he was wrong about.

>implying my auto complete has syntax errors

I use a pirated VS that tells me when I've missed a semicolon;

I'm not the guy he's responding to lol, I just thought it would be fun to post

Or you can just switch to a less strict language that doesn't give a fuck about semicolons. Said languages even allow you to declare strict datatypes.

>he can't do semicolons
How about you kys lmao

Care to elaborate? What does a fallacy have to do with words that are not uncommonly mistaken for each other?

I know several languages, but write mostly in C++ because it pays me big money. And I prefer to use my free time spending that big money, instead of learning some obscure languages that no one will support after 5 years.

argue the point, or shut the fuck up

your was intentional, I can just tell retards like you loves to hang on to syntax and punctuation mistakes

>your was intentional
Your considered harmful, you considered a dumb dumb

sweetheart you've already proven to me that you are retarded, don't need to try any harder

>Study "Cracking the Coding Interview"
>Learn Java, the language the book uses
>Work for Google

If you're giving advice on how to be well-rounded, you missed linear algebra, models of computation, formal methods, operating systems, networking, probability and statistics, functional programming, etc. Stuff that graduates from my shitty state school can put on their resume, even if they don't actually know it.

Why do you think going from high to low is hard?

>functional programming
nice meme

This is literally what every other thread on /g/ is like

>Why do you think going from high to low is hard?
Because he's a moron
Only meme here is you, brainlet.

How would one know that it was meant? It seems simpler that a typo was made than that the post was rich with arch and drĂ´le wit. Oxford's comma comma states as much.

good post

...

you have to learn 1s and 0s sooner or later, easier to just start with it

argue the point, or shut the fuck you pisspot

...

...

So you start with the hardest problem in a set because you'll have to do it anyway?

>inb4 implying binary is hard

I'd rather not.
Sum up your personality real nicely lol.
>you have to learn 1s and 0s sooner or later
Because the average software "engineer" is dealing with boolean algebra on a daily basis lol. If you're serious about being complete in your discipline there's no reason you can't learn these things side by side. Plus, it's arguably harder to start with because it's more abstract and you don't have an application for what you learn yet. Also, if you're suggesting assembly is strictly binary then you've clearly never even looked at the stuff.

>i want make compooter game
>"here's some proof based calculus, linear algebra, discrete math, category theory, type theory abstract algebra, analysis (real, complex, and Fourier), and topology textbooks."
>"oh and read SICP cover to cover, and don't even think about making a 'hello world' program in Java until you've mastered CPU design, boolean logic, logic gates, ASM, and C"
>th-thanks

screenshot poster here. I'm not the same user as I posted the screenshots because they are derivatives of this meme which has been circulating.

Just Learn C++. It's the closest thing to Machine language you'll get without all the syntax requirements of C. All popular languages are simplifications of C++ and easy to use. Let the liberals learn Html5, PHP, and CSS. I guarantee you, they will get replaced by some new, better streamlined language. C++, however will always have a home in some way shape or form.

>ctrl+f "rust"
>0 results

You should all be ashamed

>Coding in SJW language.

>SJW language
Care to elaborate ?

internals.rust-lang.org/t/diversity-on-the-governance-teams/2048
>Diversity on the governance teams
the level of diversity on the teams is low: in particular there appear to be no women on any of the sub-teams
>As a member of the moderation team, I really really think this must change. There are many reasons, but for the moderation team in particular I don't think we can be maximally effective at helping to uphold the Code of Conduct without a more diverse team. For example, gender bias and gendered harassment are a huge problem in online communities and open source. The moderation team is explictly supposed to fight sexism, racism, and other discrimination. We could see, anticipate, and respond to such issues much better if we had more than just male perspectives on the team.
>women and minorities are under-represented in the Rust project and broader community. This is not an excuse; it points to a bigger problem that we also need to solve.
>We can and should build a team now that can best serve the diverse community we want to welcome.
>This means looking beyond the group of people who have been most active or visible in the past, and creating more opportunities for new people to come into the project to build its future.
>I want the best possible moderation team for the Rust community, and I believe that means replacing a too-narrow process with a more inclusive one.
>I personally would be happy to be replaced by someone picked from a larger pool of qualified candidates, and want to find the best way to make this happen.
>I don't however want to succumb to the common problem of asking women, people of color, and other victims of discrimination to do disproportionate or unpaid work to fix problems they didn't create.

>I was struggling to come up with more than 4 not-cis-man active members (that is, publicly not-cis-man, there may be people who have kept their gender private) of the Rust community, and this was when I included people who used to be active but aren't anymore. That's doubleplusungood.
Diversity on the mod team is very important, and I hope we can work towards a solution to that.

learn SNOBOL

it's like the IT version of start with the Greeks