[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Hey guys, I want to get into coding. I am a complete novice starting

The stories and information posted here are artistic works of fiction and falsehood.
Only a fool would take anything posted here as fact.

Thread replies: 144
Thread images: 17

File: fishsticks.jpg (10KB, 259x195px) Image search: [Google]
fishsticks.jpg
10KB, 259x195px
Hey guys, I want to get into coding. I am a complete novice starting at 0.

Heard in order to learn, it was most effective in this order:
>Python/Java
>C++
>C# and Unity

I just want to do it for the money but I do find it interesting. So /b/, what do you recommend?

I know nothing about it.
>>
File: freshcream.gif (2MB, 200x203px) Image search: [Google]
freshcream.gif
2MB, 200x203px
bumping with titties
>>
C++ isn't too bad tbh learned it in class for college so you might be able to go to a local community college and get a class there for cheap/ or buy a book and self teach , all other languages higher than c++ are easier , the newer the language the more ease you have using it (python being one of the easier languages on that list then java then c++ etc) my advice is that you avoid assembly language (which you shouldn't even have to learn unless you're and electrical engineering major, and also avoid regular C , those two languages are honestly cancer
>>
A new language that a couple of my cs friends have been talkin about is raspberry pi, I personally haven't looked into it at all yet but in my opinion a good set of codes to know for coding are : java , javascript (this is not the same thing as java) and python and if you want more you can learn HTML . I am >>736596038 just thought about it more
>>
>>736596038
>>736596117
I'm talking purely for making money. So since I know nothing, Java, Javascript, C++ and python?
>>
>>736594277

Why do you want to learn coding... what do you want to achieve?

Learn a language, framework and techniques that match that.

Languages aren't good at everything.
>>
>>736596263
>I just want to do it for the money
>>
>>736596318
We'll in that case like earlier I'd reccomend java JavaScript and python to start off with c++ if you want but that's basically a lower form of java , look into the job market for coders and see what types of code they need to know
>>
>>736596439
What order would be the most effective way of learning? C++ then java, javascript, python?
>>
File: pleasesitdown.jpg (6KB, 250x250px) Image search: [Google]
pleasesitdown.jpg
6KB, 250x250px
bump.
>>
answer me you rancid swine
>>
>>736596038
>>736596117
You guys are there reason why there is so much shitty unmaintainable codebases out there. And then you'll be the ones writing blog posts saying writing bad code is good because you get things done more quickly.

OP if you want to learn to code you have to learn the basics of how a computer works. And a good way for that is learning C. You don't have to master it, but you must be very clear with the basics (how does memory work, what are pointers...)
You don't have to learn assembly but you should know what it is.

And then you'll move on to a language where you'll learn OOP (probably Java or C++) . Now, the concept is simple, but I suggest you spend some time practicing it and understand how does it change the way you code.

Then you'll be able to quickly learn some other language of you're going to choose because it fits your project's needs. But don't forget to have a look at all the different concepts and paradigms of programming, and at least know what they are about.

Stay away from javascript while you're learning. The language is designed to let you do whatever you want, so if you learn with javascript you WILL end up doing shit (like described in my first paragraph).

If you do that and you do it well, you'll have as much (and probably more) programming skills than any CS engineer.
>>
>>736596117
By the way, this guy hasn't any idea of what he's talking about.
>>
https://www.codecademy.com/learn

Start here. You'll go through HTML first but it's a good place to start.
>>
File: yup.jpg (2KB, 125x124px) Image search: [Google]
yup.jpg
2KB, 125x124px
>>736597207
Thanks.
>>
>>736594277
My advice
Go for web development first

Learn html, css, then fuck around with that.
Then learn bootstrap
then learn python basics
then learn Django basics
then learn jquery and javascript

boom, then you're a shitty web developer who can make a quick buck. combine all that together and start being creative. And by being creative I mean steal others templates and alter them.

Hint: Most private clinics have shitty websites, big budgets and want minimalistic white design.
>>
>>736597588
Oh yeah, forgot to mention, use youtube and codeacademy. Furthermore if you want to have atleast some recognition you can enroll on some beginner python course. Those are always around
>>
>>736597207
Doin gods work anon
>>
>>736597588
>>736597207
Thanks, I'll be doing both of these. Then that rancid swine will wish she was never born.
>>
>>736597207
What's the best path for learning C?
>>
>>736598197

Tbh I don't have any specific course that I know of in English.
As for general advices:
Go slowly. Don't mind spending a little extra time reading something twice, even if you think you got it the first time.
You have to be crystal clear about what each word you're typing does and mean.
Doing your own experiments is very important. Most of tutorials will have some small stuff to make you practice each point, but you will benefit a lot from setting up a little project so you can understand what all you're learning is about.
Try to do things in different ways, and see what are the differences. Programming is a lot about making trade-offs. Learn to know what are the pros and cons of each different way there is to make one thing.
Be curious! If you see something that you have no idea what it is, look it up.

If you actually enjoy doing good stuff, then you'll take pleasure in learning how to do it and how it works.
>>
>>736599343
Yeah, just been dabbling with HTML to start and already it feels like something I could definitely enjoy doing. Making websites where I live is big money.
>>
File: IMG-20170621-WA0013.jpg (23KB, 375x375px) Image search: [Google]
IMG-20170621-WA0013.jpg
23KB, 375x375px
>>736594277
Java - usually used for android and web apps, quite useless if you're into machine or game programing

Python - slow language usually used for scripting, quite useless if you need big applications

C++ fastest language, can be used for anything

C# - amazing language can be used pretty much for anything excluding real time applications


Having this said, i recommend c# you will see results sooner!
C++ is pain in the ass even if you're not a beginner and you wont see results for a long time.
Java and python fags will tell you to java and python for obvious reasons. Java & python are shit languages.

Take it from someone who mastered c++
>>
>>736599580
yeah, also what >>736597588 is describing is completly real. In fact this is the easiest whay to get quick money.
Web dev is easy to learn because it's easy to do something that "looks fine". But it doesn't mean you did learn about programming.
You can choose this path if you're fine with doing sutff aproximately for money, even if that mean you may get to a point where it'll be very difficult to progress because you're so used to do things badly and going through the basics again will be a pain in the ass.

Take the longer path if you're also interested in knowing what you're doing, and don't mind not having immediate results. Then you'll be able to do whatever you want in the field (and get money too).

Also there is no issue in learning HTML, just bear in mind that this is just a tool to get stuff displayed on your screen, which does not have much to do with programming.
>>
>>736600380
>>736597588 guy here
I agree with you, but you can always make a quick buck and then direct your intrests elsewhere. For an example a nice way to learn c++ is messing around with raspberry pi. Since im also initerested in music, I've always wanted to build a midi/keyboard stuff which is managable with raspb. OP maybe you have some interests to tie your motivation of learning code with.
Aswell luckily I have just finished high school and gonna study informatics in uni, so I'm set I guess. Gonna learn the shit the correct way aswell.

But >>736599343 this might be the better way since you wont be studying shit for real.

But I still think that getting your dick wet with developing with a group and using git atleast on one project can inspire to learn some harder stuff without immediate returns. + with a nice web framework you can get an understanding of the field of work.
But at the end of the day, I'm a 19 y/o who is just interested without a real education. OP, take everything I say with a grain of salt, but I'd say im motivated to educate myself further.
>>
>>736601429
Also nice thread, haven't seen any reasonable shit on /b/ for ages. Mostly porn these days..
>>
>>736599580
HTML and CSS are not programming languages. I'd say they are rather designing languages.
>>
>>736601429
Agreed. In the end I guess the important thing is to know what you're doing, why you're doing it, and where you're going.
>>
raspb. guy here again.
OP if you want to make a quick buck, check out ethereum mining, trust me, this shit is cash atm. Just keep in mind that crypto mining isn't permanent and can make a U-turn any month.
>>
>>736594277
My advice is to do what I did- find a simple open source video game that you enjoy, and contribute to coding.

There are lots of open source indie game projects you can do this with, games like Space Station 13, Dungeon Crawl Stone Soup, and other rogue likes.

This is a great way to start out because it generally means you are involved in a team of people, some of whom will be more than happy to answer your questions and freely help you to start learning, because it's a game you all have enthusiasm for and want to make better, which also means you can more easily stay motivated to learn, for reasons other than just wanting to learn how to code.

Regardless of the language it is coded in, the most important thing starting out is getting used to the logic of coding, and learning basic shit like syntax and terminogy.

After that it will be way more easy to focus your learning efforts on specific languages and for specific applications.

Personally, I began learning to code with MUDs, which were in LPC, an object oriented proprietary variant of C, and which was interpreted rather than complied, using a unix based operating system. This meant I could make changes in the live game as players played and as other coders taught me, and instantly see the effects.

It was invaluable for quickly teaching me the basics, along with the other coders who answered my questions as I went.
>>
>>736594277
Order that you learn the languages matters a lot less than:

>Tools available to you
>Interest in learning
>Availability of feedback
>Amount of fore-knowledge necessary to use whatever frameworks / libraries you choose

C# and Unity can be a difficult because there's a lot of design decisions involved in game making which you may not be familiar with, so there are hundreds of weird quirks you'd just be memorizing at first before you understood the reasoning. On the other hand, video games provide incredible instant visual feedback: if you fucked up your code, you can SEE it not working.

If money is no object, I recommend starting with something like Code Combat. It's a video game where instead of using the keyboard and mouse to move your character, you write scripts to move him. It starts out simple like "move to the right", then later gets complex like "perform a depth first search to explore the maze and if you see an enemy enter the 'combat' state. While in the 'combat' state, keep your shield up to block arrows until enemies get within X distance, then perform a power attack. If the enemy is still alive, run away until power attack recharges. When enemy is dead, return to 'search' state"

If you're on a budget, I recommend starting with web development. You start simple (just using HTML to make simple shit), then slowly get more advanced (styling, scripting), then you can use tools to automate tasks (minify scripts, concatenate style sheets), then you can learn frameworks (Angular, React), then you can learn back-end code (PHP, Perl), then you can dive into network protocols, HTTP, etc. It's also pretty much free.

C++ is an alright starting point if you learn fast (if you have Asperger's or something) but it can be overwhelming otherwise. It's usually used to weed out people who don't have a strong interest.
>>
>>736602712
Python is often taught by universities because it's a favorite of academics and scientists due to the shorthand for matrix math, however it's a hackjob of a language that lacks some of the niceties and standard features seen in other programming languages. I don't like it personally, some people love it.

Java is like baby's C++. It's C++ but they do a lot of stuff for you and give you some standard tools, and it runs on any computer without needing to re-compile it thanks to the JVM. It's dying in popularity, though, and there are a lot of guides and tutorials for it that will only serve to confuse you since the Java community is more focused on purity of object oriented design than actual functioning code

My recommendation is to start with JavaScript. Using NodeJS (free) you can run it in an interpreter just like you would Python, PHP, or Perl. It can technically be compiled like Java or C++, but people never bother doing that. It's also growing rapidly in popularity and it's the only natively supported language for scripting browsers.

It's also based on the ECMAScript standard. While that may not matter much, it means if you learn JavaScript you automatically learn a few other languages like C# and ActionScript.
>>
>>736602712
I just checked out codecombat, seems pretty cool
>>
>>736598197
Learn c++ than for what ever reason you need c learn it'll be easier
>>
>>736599910
Except c# can't be used for anything because its windows so you're better off with java or c++ anyday
>>
>>736597207
underrated post
>>
>>736597207
>If you do that and you do it well, you'll have as much (and probably more) programming skills than any CS engineer.

Hear this man.

Avoid high level languages until you know how to code. Only when you have an idea of what is really going on, not necessarily at hw level, but with a good grasp from algorithms pov, you can learn more advanced frameworks and the languages that seem more profitable.
If you learn directly with high level languages you will learn relying on crutches that hide to floor, and the transition to actual programming will be much harder.
The same as writing, everybody can learn to read and write, but very few people can write a good novel.
>>
>>736604670
You'd be surprised how many companies run on C# + Entity Framework + Azure Services

Also C# is the preferred language for writing Unity scripts if you're into game development

>>736604795
I didn't actually look at that post until I saw you comment on it (I'm >>736602712 this fag) but I'll comment on it now

>>736597207
Shitty un-maintainable code bases have nothing to do with people's language preference or the choice of simple code and implicit design over explicit specifications. It has everything to do with poor over-all structure, which isn't taught in any classes -- much less a C++ class. It's something learned through experience.

Shitty an un-maintainable code isn't caused by people preferring Python over C++. It's caused by people refusing to keep learning after they graduate. Computer Science is a field where you're always learning. If you ever stop learning, you've shot yourself in the foot.

Also OOP isn't a magical golden bullet that organizes all code and solves all problems. Plenty of extremely well-maintained production software isn't built using OOP design principles. OpenGL and avcodec come to mind. OOP is one of several ways to organize your code, and solves a lot of problems of inter-dependency, but it's not like you should just read thousands of books on OOP and proclaim yourself a master of code. They're all just tools to be used when necessary. Saying a failure to use OOP is a failure to code is like saying since you didn't use a hammer when assembling your computer clearly you don't know shit about building.

Also, JavaScript isn't "designed to let you do anything". That's entirely false and probably something you believe because it's interpreted and not compiled. PHP pre-5.6 was designed to let you do anything. JavaScript is pretty well architected.
>>
>>736604832
As I touched on here >>736602712 and here >>736605365

There's nothing wrong with starting with a high-level language. It's arguably better. You don't teach a child about negative numbers before you teach him subtraction, and you don't teach him about transcendental or irrational numbers even though they're technically necessary to complete the set of addition.

Similarly you should start by learning basic logic concepts (and, or, not, if, else, for, while) then move on to basic programming structures (functions, data types, classes) then move on to more advanced topics. If you start at the deep end you do nothing but drive people away from computer science.

You can always dive deeper. But if you drown on day one you'll never learn to swim.
>>
>>736594277
haven't read every reply so this my be repeated information. i started coding around a year ago, but i've only dived into 3 or 4 languages. for me the easiest stuff to learn by far was HTML. it's to do with creating webpages, and it's really simple stuff. i learned through code academy and my college professor
>>
Not OP but just to dumb it down, assuming:
>have a shitty windows computer
>no real money to learn so can be self taught or can be learned from free online courses / resources
>only have time to start with one language
>want to be able to create anything from very simple games to utilities etc. that will run on said shitty windows computer
>something that doesn't set up bad habits for learning other languages

What would the best language be?
>>
File: 1496655013315.jpg (39KB, 585x398px) Image search: [Google]
1496655013315.jpg
39KB, 585x398px
>>736594277
asking /b/ for advice
>>
>>736594277
>python
You know this isn't 2001 right
>>
>>736606305
You've made a few false assumptions here.

First, you said "have a shitty windows computer", implying either "shitty" or "windows" are, in ANY way, limiters

Programming started in the 1940's and really took off in the 1970's. Almost every modern programming language can run on 4 KB of RAM if it needs to. There's no such thing as a computer too shitty to write code. Although it's possible to write a program that requires more than 4 KB of RAM, it's also possible to write programs that operate within it.

The only limitation you'll run into has to do not with your language, but with your environment. You can write C++ code in Notepad and compile it using a command-line tool, or you can write C++ code in Visual Studio. However Visual Studio requires 2-4 gigs of RAM to run.

As far as Windows, almost every programming language runs on every OS. A programming language isn't somehow tied to the OS, it's just a specification for what the program should do. What's tied to the OS are the programs you create with those languages. If you're using Windows then to open a file you have to use a Windows OS hook. If you're using Linux, you use a Linux OS hook. Then a program written for Windows will only run in Windows and a program written for Linux will only run in Linux.

You may be thinking about certain development tools or compilers designed for one OS. For instance, Objective-C is a language developed by Apple and the only "official" compiler for it is XCode, which only runs on Mac. However there are free Objective-C compilers for Windows. More importantly, using VirtualBox (free) you can install a virtual machine on your computer and run any operating system inside of Windows

I'm going to expand on the other points in another post. I'm getting verbose.
>>
Just learn JavaScript. Do some stuff with NodeJS for a while and then once you're kinda comfortable with that do some front end stuff.

Source: I work at MSFT
>>
>>736606305
>>736607109
Second, you said you have no money to learn. LEARNING is free. Being TAUGHT costs money. Humans naturally learn all the time. Put your hand on a hot stove eye and you'll learn really damn fast why not to do that, and that lesson didn't cost a dime.

Since learning is free, it can be done on your own. If you get a text editor and a compiler running then you can dick around until you figure out programming by accident. However DIRECTED learning can be much faster, and fortunately there are free resources for literally every single programming language ever created. Just google "how to write <language>" and you'll find tons of them. Stack Overflow is also a great website for specific questions

Third, you said you'd only have time to learn one language. You're making the false assumption that languages correspond to time. It's the depth of knowledge you wish to gain that corresponds to time. Many people who learn web development learn HTML, CSS, and JS all in parallel, and the three languages complement one another. It's not like learning one takes away time they could be learning the other -- but by learning one you learn more about the other.

Not to mention many languages share a syntax, and all languages share common logic and math. So after you learn one language, the rest is just syntax. You should never feel like you "have" to learn one language because of some arbitrary and incorrect limitation you put on yourself. Learn whatever works for you and whatever you find easy. I started with Ti-BASIC because I could write code in my middle school math classes and the compiler was built into the text editor. I later learned Java, PHP, C++, Perl, Python, etc. Coding isn't about finding the "right language", it's about finding literally any language that you like and that you know how to work with.
>>
Holy fuck guys, had to go for a few hours but thought for sure this thread is dead.

OP here. How would I got about learning C++ or C#. When I was on codeacademy for the basic shit I didn't see it on, obviously it's more advanced.
>>
>>736607109
Thanks, that makes sense. Is writing in notepad the only free way to do it, or are any of these studios or tools available for free?

And to clarify, I'm not looking for a magical language that is better that the rest. Just one that I can see some results with (even simple ones) to stay motivated, vs. one where it's so slow going it'll put me off. (I have limited times with work, family, etc. or else I'd happily take the slower more well rounded route.)
>>
>>736606305
>>736607389
Fourth, you mentioned that you wanted a language that could do "anything from very simple games to utilities etc". This implies that what you can do is a limitation of the language. While there's a limited degree to which this is true (ActionScript is run within the Flash Virtual Machine which doesn't grant it full hardware access so certain features aren't available) it can always be worked around (there are ActionScript compilers which allow you to include C libraries for OS hooks)

Saying you want to be able to code anything with your language is like saying you want to be able to play any genre of music with your instrument. There's nothing preventing you from playing country, western, classical, or jazz on a piano except for your ability to learn and grow as a performer. Similarly what prevents you from making utilities and games isn't the language, but your inexperience as a programmer which will fade away as you continue to learn

Last comment in another post. I went barely over the post limit
>>
>>736607585
Learn JS and do freecodecamp. Everyone here telling you to use C# or C++ is either unemployed or doing something other than programming for a living
>>
>>736606305
>>736607737
Finally, you suggested that learning a language will set up bad habits. This is the closest thing to correct you said in any of your assumptions, but it's still a tough sell to me. At the end of the day, what matters is that you can quickly create code that works, quickly improve upon existing code, and quickly diagnose issues in code. If all three of those criteria are met, then you don't have any bad habits.

There are some languages which lack the constructs utilized by computer scientists and software engineers to organize their code. For instance, if you lack variable scoping or namespaces then it's easy to write code which will have unintended side effects elsewhere in the app. However this will just give you an opportunity to learn how to work around those issues when given these limitations. At the end of the day hardware is really simple -- it's just an array of 0's and 1's. Everything we layer on top of it (classes, objects, stack pointers, function calls, etc) is just abstraction. Slowly as you develop you'll learn to peel away the layers of abstraction and understand the whole system.

>>736607730
SublimeText has an unlimited free trial. Atom is free. Cloud9 is an online tool with an unlimited free trial. Vim is a command line text editor that's popular among die-hard Linux faggots, and also free.

Just google "free IDE for <language>" and see what you find

Eclipse is also free

As far as seeing results, I would recommend either game development or web development. Both of these are very visual -- you move a box, you change the shape or color of something, you pop up a window,... so you get a lot of feedback and it's very interactive. For game development I recommend Unity3D (using C# for scripting) or for web development your best bet is HTML+CSS+JS because those are natively supported by the browser. Anything else has to transpile to that.
>>
>>736605365

I'm >>736597207

Honestly I don't hold a grudge on any language. I also agree that language and paradigm choice is not the cause of shitty codebases.

But this is relevant when you're already into programming. Here we're talking about the learning process.
My point is to learn good programming you have to do it step by step, by starting with languages that allow you to not be aware of the more complex things. The end goal is to focus at one thing at a time, and make sure that, for each thing you know, even if it's basic, you understand it very clearly.
The actual language you choose to do this doesn't matter. I cited C because that's the one I know and because it does very good as a first step (computer basics).
You will notice that in the end what I'm describing here is same as >>736605490

There is a lot of stuff I havn't talked about in my post, that's why I said to be curious and look at everything. Of course OOP isn't everything. It's just good for learning because it helps to structure your thoughts. I'm personally a big fan of functional programming, and as much as I will tell everyone to look at it, I won't force somebody to learn it. Especially at the beginning.

And also when I say Javascript is designed to let you do anything, what I mean is that it has no restrictions and does not push you toward any specific paradigm or code design. It doesn't mean that it's not well architected, on the contrary. It is in fact a powerful feature but it means that you should know what're doing. Wich is not the case when you're learning
>>
>>736607585
I can look around for some beginner lessons for you. Just like with learning anything, you likely have some fore-knowledge and I'm 99% certain you already know basic logic and math (addition, subtraction, conditionals) so you'll likely find some of the early lessons boring or overly simple. It's because of this I always recommend learning by coming up with a project you want to build instead of following a tutorial mindlessly. Different people learn differently, though. My wife tried time and again with my approach but gave up when she hit her first road block, then started doing tutorials on Udemy (it's about $10-20 for lifetime access to a 6+ hour lesson plan) and she's taken to it really well.
>>
>>736607992
OP here, since I'm looking for purely money purposes, I'll be going with what you recommended at first as well as taking on HTML/CSS + Javascript on the side. I'll have the time and they seem pretty basic to get the hang of.
>>
>>736602519
Freaking good advice here
>>
>>736608062
I don't mind taking the step by step approach even if it's boring at first, I understand you have to build from the bottom up no matter how tedious it is. I play 3 instruments and learned them all that way as well.
>>
>>736594277
>Full stack developer here
Learn Python first, from there learn how the languages work and depending on what you understand go into C sharp or Java, If you don't like C sharp stick with Java otherwise move into C++
simple.

heads up, this shit isn't easy and C++ took me a year to get my head around before I could work with it as simply as I could work with Python.
>>
>>736594277
Doing it for the money is like learning Japanese because you want to become a translator
>stupid end goal
>>
>>736607992
My apologize, I honestly looked at who you responded to then skimmed your post. Not to be rude, I'm just having some trouble reading large blocks of text today. I had to put my dog down yesterday and I'm supposed to be at work right now but I'm skipping out. So I'm not mentally in a great place.

I saw you responding to "learn Python" and "learn HTML" with something roughly skimmed as:
>You guys are [trash]
>if you want to learn to code you have to learn the basics of how a computer works
>learn C
>then move on to OOP
>stay away from javascript

All of that I thoroughly disagree with. You can learn about memory and pointers after you learn about basic high-level concepts that utilize them (arrays and hash tables) and you won't suffer for it.

Also, I think javascript is a great language, for beginners and advanced coders alike. It starts out as simple procedural code and moves into functional programming.
>>
>>736608118
>>736608190

Well, if you're able to do all that in the same time, you'll be the king. Just don't get mixed up and get plenty of sleep :)
>>
>>736594277
Learn LOLCODE.
It's gonna be yuge.

example:
HAI 1.0
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
VISIBLE VAR
IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE

>>736596038
>learn c++
>I took one whole class it's easy
>>
>>736608118
>learning web in the dying web developer economy
>>
>>736596038
>>736596117
...
He's le ultimate haxor knowing languages like raspberry pi and html.

Utter genius. This kid.
>>
>>736608457
This shit is gold
XD
>>
Who the fuck even does these gay bullshit anymore
>>
>>736608436
I just need to find out where I can learn C++
>>
>>736608628
>literally google
>>
>>736608457
I prefer befunge. It's extremely visual and easy to wrap your mind around what's happening. Plus it looks cool.

>>736608118
>>736608190
Code Academy has some free lessons, then you pay to continue:
https://www.codecademy.com/learn/all

This claims it's free, but I haven't given it a try:
https://www.sololearn.com/

Some of the oldest free C++ lessons on the internet:
http://www.learncpp.com/

Mozilla (the guys who made Firefox) have a fairly difficult to read but thorough tutorial on web technologies:
https://developer.mozilla.org/en-US/docs/Learn/JavaScript

Finally, you can find tons of free tutorials and lessons on YouTube:
https://www.youtube.com/watch?v=vZBCTc9zHtI
>>
Code word
https://youtu.be/Fsn87nSY5kE
>>
>>736608727
Yeah, using codeacademy at the moment for HTML. So far so good, seems like what I was looking for. I'll just go one step at a time. Prob basic web design then C++ shortly after.

How long does it take to learn C++, approx?
>>
OP seems retarded,
Asks board full of trolls the most basic questions that google could answer in minutes but he can't word right since he doesn't understand anything.
If I can find a specific gif by googling a string of words I'm sure you can find a tutorial on a basic language.
>>
>>736608520
Web development is actually on the rise. Not for web sites, but for web APPS.

Web SITES have been automated like crazy. There are templates that look so good if you DON'T use them then your site looks like trash and everyone thinks you didn't spend any money, so you just grab one generic template complete with hero image, parallax, etc and upload your company logo and go.

But web APPS are the future of almost all modern technology. QuickBooks Online, TurboTax, Netflix, Amazon, Facebook, Twitter, Gmail,... Everything is online now.

If you want to learn web APPS, then once you've gotten a small grip on HTML+CSS+JS you want to learn jQuery only briefly (to get an understanding of libraries and the functionality they provide and how they save you time) then you want to jump into AngularJS, ReactJS, or VueJS (pick one) as these frameworks are the ground work for all modern apps.

You'll eventually want to learn any back-end language (C#, PHP, Java, Ruby, etc) so you can save shit to a database.

>>736608866
It takes a life time to learn. "Learning" to code is like "learning" art, or "learning" music. You never stop. You always improve.

I'd say in a few months you can make basic scripts. In a few years you can make simple apps. In a decade you can make full, well-architected solutions to business problems, and in a few decades you can start diving into theoretical shit and writing low-level libraries to fine-tune hardware performance. Of course it all depends on how much time you invest and what interest you. It's an infinite field with more to learn than any one human could ever do in their short time on earth.
>>
>>736608940
He wasn't asking how to learn, at least not in the first post. The question seemed to be more about what languages to start with. That's asking for opinions, not lessons. Not an unreasonable question for someone who has never coded.
>>
File: hello.jpg (15KB, 269x269px) Image search: [Google]
hello.jpg
15KB, 269x269px
>>736608940
>OP seems retarded
>would end up searching a forum anyway
>interactive chat at his fingertips
>entertaining anyway in case it fails
>useful information appears anyway
>mfw I'm OP
>mfw I'm a faggot
>mfw I don't make faggot threads
>>
File: istock_000002987604_small.jpg (22KB, 620x415px) Image search: [Google]
istock_000002987604_small.jpg
22KB, 620x415px
>>736609124
>>
File: 1493233692142.jpg (399KB, 720x704px) Image search: [Google]
1493233692142.jpg
399KB, 720x704px
>>736608940
>I can find a specific gif by googling a string of words
May you please tell us how?
>>
Get into rust
Its more memory safe than those. Although it still has stack probing issues like with c :/
>>
I started with c++ and moved to Java, learning c++ first gave me a good background on coding syntax in general and Java just made it easier.

Only thing that bothered me was moving from cin >> and cout << to System.out

Also I enjoy Java a bit more for object oriented programming.
>>
File: 1468518862463.jpg (151KB, 427x427px) Image search: [Google]
1468518862463.jpg
151KB, 427x427px
>>736594277
First you brush up on your basic math:
Arithmetic, a little geometry, elementary algebra, and some basic trig.

Next get a standard calculus text and dive in. You should also get a linear algebra and discrete math books as well; make sure the discrete text is proof based (I recommend A Transition to Advanced Mathematics by Smith).
Once you're a couple chapters in to your discrete book (you will want to have covered basic proposition and higher order logic, and basic proofs), you may begin learning programming and computer architecture. As a litmus test, if you don't know what this statement is

∀P((0∈P∧∀i(i∈P-->i+1∈P))-->∀n(n∈P))

you aren't ready to take the reins of a computer.

Now, forget what you do know about computer programming:

First, you learn boolean logic operations
then, you learn transistor logic
then, you learn how to build functional units from logic gates
then, you learn CPU design
then, and only then, you learn assembly language
then, after you have mastered assembly language (not dabbled, but mastered it), you learn C
then, after you have mastered C, you may learn the higher-level languages of your choice, but you will always use C and assembly as your primary languages because everything else is unnecessary bloat.

By this time you should be finished with your calculus (up to advanced integration techniques and vector basics), discrete, and linear algebra, and are ready for the next wave of math: abstract algebra, analysis, multivariate and vector calculus, and, after you have progressed a way in those, topology.

Finally, you become familiar with topoi, and study the internal logic of categories then familiarize yourself with (general) type theory, and its applications to programming. I also recommend studying how to reformulate mathematics in terms of globular categories for use in automatic theorem proving, because there is an inherent programming-like 'feel' to it.
>>
>>736609476
OOP is life
>inb4 C++ is what Java should have been
>>
>>736609476
Fuck java and fuck objects
>>
>>736609551
Don't worry OP this is a gay post, most you'll really need to know is Discrete Math which can help you with algorithms and logic.

Just get a nice introductory textbook and maybe take a class at a community college and enjoy the ride.
>>
>>736609366
Using key words based on what was in said gif.
Learning how a search engine works benefits how you use said search engine.
>>
>>736609476
Guess I forgot to mention the Scanner class lol
>>
So I am using The C Programming Language by Kernighan and Richie, and everything was going great until I got to the character input and output section. I have probably read it 5x now and still don't have a firm grasp of how it works. Is it ok to ask some more questions about it here or is it too general and would better belong on another board?
>>
>>736609720
Many thanks. Here have something nice.
>>
>>736609960
If you're asking for actual programming help, Stack overflow or a dedicated programming website for programming help may be of better help than /b/.

Also my advice, keep doing the examples in the book until you understand, you have to practice coding yourself to actually understand what's happening.
>>
File: cliffordimage.jpg (13KB, 400x266px) Image search: [Google]
cliffordimage.jpg
13KB, 400x266px
>>736609716
>this is a gay post
>>
File: I-Find-Humerus.jpg (26KB, 375x500px) Image search: [Google]
I-Find-Humerus.jpg
26KB, 375x500px
>>736609551
In all honesty, this isn't too far from how I learned - except for evening and weekend dabbling in high-level languages to burn the candle from both ends.

I started as a mathematics and mechanical engineering dual degree then moved into computer engineering (not computer science) where I was taught how to build RAM and ALUs from logic circuits rather than taught how to write a for loop.

Meanwhile I was learning PHP and Java and constantly trying to connect the two in my head.

Still, I wouldn't recommend this. It's great when you're working alone or trying to optimize the shit out of some bottleneck in the code, but coding nowadays is 20% math and logic and 80% history. You need to know what libraries exist, what frameworks exist, what best practices the community has established, how people utilize common tools, and you need to know APIs and protocols. None of these are mathematics, and none of them have a "correct" answer. It's just memorizing decisions that people made (either alone or through consensus) over the years.

Knowing that for all P zero is an element of P and for all i that i is an element of P implies i+1 is also an element of P and therefore it implies all n are an element of P doesn't tell you why they chose to have separate HTTP methods for "PUT" and "POST".
>>
>>736610051
>Literally this
Don't ask questions before looking for solutions otherwise you'll get publicly shamed.
>>
>>736597207
Saved, thanks anon

I hope you get pegged with the power of a thousand suns as karma for your good work here today
>>
>>736609960
problem begins with their discussion of getchar() and putchar()

>The standard library provides several functions for reading or writing one character at a time, of which getchar
and putchar are the simplest. Each time it is called, getchar reads the next input character from a text stream and returns that as its value. That is, after
>c = getchar();
>the variable c contains the next character of input. The characters normally come from the keyboard; input from files is discussed in Chapter 7.

I think I understand putchar pretty well; it takes a char as its parameter and prints it on the screen when called. getchar is where I get confused. The statement

char c = getchar();

makes sense; we make a variable named c of the character type, and set it to equal what getchar() returns. Assuming the keyboard is the default for input for this function, when the statement is executed and getchar is called , the user is prompted to enter a string, which is then stored in memory as an array of chars. Is this correct so far?

A lot of my confusion came when I started playing around with the two functions. For example I would execute the getchar function (without assigning it to anything) then call it again in the very next statement but assign it to something, and it behaved not as I expected it to. I don't recall exactly what it did, or the other things I tried just playing around with the language, but if someone genuinely doesn't mind helping I will get on my PC and tell you precisely what I did and the output.
>>
>>736594277
fucking nerd
>>
>>736594277
Python is easy to read the code and learn some basic logic but it's more often used to show how a piece of code works and not for actual jobs that require performance.

Java is popular and well paid. It's easy to make something but it requires a lot of resources.

C++ is considered the holy grail by many. Extremely resource efficient and widely used.

C#/Unity About as easy as C++ and Java. Unity allows you to easily prototype ideas. Unity can be resource heavy but it depends on how well you program (don't use FindObjectOfType<>() in Update() for example).

Personally I reccomend you try everything, but saving Python for either last or halfway. Every language you mentioned uses similar syntax except for Python.

Start with Java. Once you get sick of that go to C++ and C#.
>>
>>736596117
>A new language that a couple of my cs friends have been talkin about is raspberry pi

A Raspberry PI is a tiny computer, not a machine.
Javascript is shit for anything that's not Web Development. From the OP's post it seems he wants actuall programming languages, not scripting.

HTML isn't even "code". And who refers to programming languages as "a set of codes"?
>>
>>736610051
>>736610150
I have already looked online. The text I'm using assumes I have experience with Unix and I/O, which I unfortunately do not (though I know what these things are, I have only ever really used Windows). Maybe i should get a different text
>>
>>736596439
>C++ a lower form of Java

What the actual fuck? Reading your posts upsets me physically.

Money = Java, but literally every programming language has plenty of jobs, including the old as fuck ones. Java is simply easier to make shit in that's still not too resource heavy so there's more jobs for it.
>>
>>736597373
>Using Codecademy to learn HTML as a start learning languages like Java, C# or C++

I hope you get cancer. I seriously do.
HTML isn't a programming language.
>>
Want easy money and an easy language
Learn .Net

>that's a good joke
But seriously maybe this will actually help you since diving into C or Java is not a good idea.
>>
File: 1489775872135.png (1MB, 2000x2210px) Image search: [Google]
1489775872135.png
1MB, 2000x2210px
>>736594277
I don't know if this is true, because I'm not familiar with coding, but I hope it helps.
>>
>>736610332
I think your confusion stems from not understanding the concept of "streams"

Try reading "http://www.cprogramming.com/tutorial/c++-iostreams.html" -- I haven't proof-read it myself, but I literally googled "C++ intro to streams"

If you see any words that you don't understand 1000% (e.g. if you see "serial interface" and go "eh, I kind of know what serial means, let's keep reading" then STOP -- Google that term, and read the wiki article on it. Continuing to read without knowing what you're reading will just confuse you more, and there's a lot to learn here.
>>
>>736610637
HTML allows you to specify what you want the computer to do. In this way, it's kind of like a programming language. Although it's technically a markup language, it serves the same purpose just in a limited scope.

Also, if you're making web apps then you'll probably use PHP or Ruby or Java as your "programming language" but guess what it has to output? HTML. So you NEED to learn it, no use dissing it.
>>
>>736609421
Yeah, fuck c, use rust. It already has its own microkernel os
>>
>>736611108
Most appreciated bro. Yes I have a tendency to try to understand everything inside and out before I move on. Not sure if this is a good habit but it is the way I am wired.
>>
>>736609551
Kek nice b8 pal
>>
File: hmm.jpg (22KB, 332x500px) Image search: [Google]
hmm.jpg
22KB, 332x500px
OP here. I've looked everything over and gonna go with basic HTML/CSS to learn that shit first. Then move over to Java and C++. Then C# and branch off to the basics like stuff in Python, jquery, javascript etc.

Just kidding, I've decided to become a trap.
>>
>>736610799
Cute and potentially helpful, although a tad misleading and a tad outdated.

It fails to mention that 3D/Gaming is usually done in C# with Unity now

It fails to recognize that PHP underwent a major shift with 5.6, 5.7, and now 7.0

It considers Python more "lego"-y than Ruby, even though it's considered "Pythonic" for all standard libraries and built-in functions to be simple modules and easily overwritten like anything else

I makes no mention of lesser-used scripting languages like Lua or Boo

It makes no mention of higher-paying languages (per the SO 2017 developer survey, the best compensated are Clojure, Rust, Elixir, and Go)

It doesn't touch on more experimental or complex computation tasks like machine learning, AI, parallel programming, etc.

Although as I mentioned before, where you start really doesn't matter. Programming is an infinite journey and the language is just the brush you choose to paint your art. So it's not like giving "bad" advice is possible here.
>>
>>736611480
I've found 90% of the time when you hit a road block in programming and can't make heads or tails of something it's not a lack of brain power, just a lack of not knowing the exact word you should be googling to get an answer.

My wife kept asking me if there's a way to "return an if statement value" so she could store it in a variable. It took me a minute to realize she was asking about ternary operators. I gave her the right word and she was on her way.
>>
>>736611536
but am bretty sure he'd be the one to find zero days by analyzing
>>
>>736610063
Do you recognize what that last statement actually is?
>>
>>736609551
Your a pretentious gay fucking faggot
>>
>>736612011
That was an unnecessarily hurtful thing to say.
>>
>>736611938
If you're referring to my last statement, it's both a transliteration of their discrete mathematics symbols to English and the definition of a proof by induction.

If you're referring to their last statement, I actually don't know what it is. I learned mathematics and computer engineering but didn't dive deep into a computer science PhD so "topoi", "type theory", and "globular categories" are all gibberish to me
>>
>>736610799
I decided which Linux distro to try from one of these things.

Huge mistake.
So will be learning a language without any potential.
>>
>>736612197
If you want to learn Linux, I always recommend Ubuntu. It's the most popular, best community support, it looks a lot like Mac now, and there are tons of applications on the Ubuntu Software Center for easy installation.

You can then slowly ween yourself off the GUI and into the shell as you feel comfortable doing so. It's not strictly necessary, but generally it's considered a waste of RAM and CPU cycles to install a GUI on production hardware so people just SSH into the machine and control it via bash
>>
File: man.jpg (99KB, 646x646px) Image search: [Google]
man.jpg
99KB, 646x646px
>>
>>736612164
I was referring to the principle of mathematical induction, good eye
>>
>>736612453
>when you don't work lower back
>when you don't work obliques
lrn 2 deadlift bro
>>
>>736612044
Come on, you used a gay anime meme and just wanted to show off.

No you don't need calculus or much discrete mathematics to learn basic programming.

Literally all you need to know is and and or logic.

Also what the fuck is that expression?
For every p in where 0 is a domain of p and for every I where I is a domain of p which implies i+1 is a domain of p which all implies. ..

Maybe, MAYBE if op wanted computer engineering, your post would be relevant
>>
>>736610799
Witnessed

If this is true, why do people get into programming to work in corporate jobs? $100k after income taxes is garbage. Are these opening salaries? Very different if yes, but if these are the average that is depressing.
>>
>>736612342
Ubuntu is for try hard fags. The easiest distro this get into is gentoo.
>>
>>736612647
If you can do that and make cash on the sides helping others/building websites etc. it could be pretty lucrative.
>>
>>736612696
Liar. It's arch by far.
>>
how difficult is it to learn python for a math retard? I can solve any problem i get eventually, but im pretty fcking stupid when it comes to the maths

i just wanna design GUI's and functions for small scale programs that are integrated into websites thats literally my only goal
>>
>>736612696
This feels like bait.

>>736612594
>when you can't spot a photo-shopped bicep from a mile away

>>736612818
You don't need to be great at math to learn Python, although Python is a favorite language among math nerds because it has some built-in short-hand for quickly and easily doing matrix operations (which are very common in science and machine learning)

If you want to do GUIs for websites and you like Python, look into Django. It's a Python framework designed for facilitating the construction and output of HTML
>>
>>736594277
>I just want to do it for money

Java is your best bet.
>>
>>736612952
>Django
ill remember that thnx

i just downloaded python compiler from apache
>>
>>736613101
Go is the new upstart from Google which companies pay more for and has a bit less historic cruft than Java.

If you're just doing it for the money, I might recommend Go over Java.
>>
>>736599910
>C# - amazing language can be used pretty much for anything excluding real time applications
>but Java is shit
C# is a bastard child of Java and C++. If Java is shit, then so is C#.
>>
>>736607109
>First, you said "have a shitty windows computer", implying either "shitty" or "windows" are, in ANY way, limiters
Windows is a limiter, though. It's goddamn terrible for your workflow.
>>
>>736609421
Even Rust compiler doesn't use Rust. It's a neat idea, but unless all you want to do is mess around, the language is quite useless.
>>
>>736594277
If you want to make money, Java/JavaScript/SQL is where it's at.

Once you learn one language, it's fairly easy to learn them all. Think of all programming languages as a Romance language. The structures (logic) are similar, but syntax is very different.

C++ is a harder language to start out with, mostly due to syntax. C is slightly easier, but not by much. It's best to start with Java and learn from there. Java is very easy to learn, as it allocates memory for you, no pointers, etc.
>>
>>736611256
>In this way, it's kind of like a programming language.
In the same way paint is kind of like a programming language. Or in other words, not at all the same thing.
>>
What is memory and hoe does it work? Is it essentially a really long vector/list?

Also what are pointers?
>>
>>736614297
I disagree. I've worked professionally on Windows, Linux, and Mac and never once has the OS impeded my workflow. There may have been more setup time for different tools with one or the other (it's easier to install newer versions of NodeJS on Linux than it is on Windows) but once you're set up it's just code.

And if Windows really limits you, install VirtualBox and put Linux on there. Alternatively, install Docker and put Linux on there. Alternatively, use some service like Cloud9 which gives you access to a Linux VM. Alternatively, dual boot Linux. Alternatively, buy a second computer just for Linux.

>>736614584
If you hate HTML so much then make a website without using it.
>>
>>736614627
"Memory" is a generic term referring to the ability to store information and retrieve it later. The most common use of this term when referring to computers is RAM -- Random Access Memory.

It's called Random Access because you are allowed to access any piece of the memory out of order. I could request the 26,758th bit then immediately afterwards request the 83,275th bit, then request the 9th bit. This is different from sequential access memory where you have to access bit 1 before accessing bit 2
>>
>>736614637
>If you hate HTML so much then make a website without using it.
I don't hate it. It serves its purpose quite well. It's just not a programming language, and anyone claiming otherwise is a fucking moron.
>>
>>736594277
Do web development for money, software if you're shooting for an actual career in programming. Honestly avoid Java like the plague unless you have tan skin, wear turban and shit in the road. C# is a good starting point to grasp everything at, from there honestly move to c++. These two languages pretty much prepare you to learn just about anything you'll encounter coding. After you learn both I'd recommend just going with whatever language you see fit. Being a programmer isn't about knowing a million languages, it's about being good at what languages you do know. You wouldn't use a rock to chop down a tree, you'd use a hatchet.
>>
>>736599910
This guy knows what's up. I always can appreciate a fellow c++ dev
>>
>>736604670
C# can be universal. Have you checked out the recent framework adaptations? My Ubuntu server currently is ran off custom programs I wrote in C#
>>
your order is shit and doesn't reflect on real world use cases

>>736594277
>want money
learn SAP
>want money without doing SAP
Java/C# (easier to find a job, good money)
C/C++ (difficult to learn, less easy to find a job, great money)
niche languages (hard to find a job but easier to get the job, but might pay a lot too)
>want to do 2D/3D gaming in small teams (with unity)
learn C#
pick one
>>
>>736611796
wut
>>
File: 1497512921855.jpg (69KB, 300x300px) Image search: [Google]
1497512921855.jpg
69KB, 300x300px
>>736599910
>C++ fastest language
do you measure in microwave time?
>>
>>736616098
Lmao rekt xd
Thread posts: 144
Thread images: 17


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.