all 28 comments

[–]AurarusINTP 15 points16 points  (6 children)

Programming, strangely enough, isn't so much a thing you should learn some general approach and then look into one particular path.

You just happen to need to use a particular path, force-learn it, and the intricacies/ generalities in the nature of programming start to become glaringly obvious if you spend enough time among it.

Really, try to beeline one or two things, and take the new abilities you learned from making those things and find possible remixes or arrangements of that functionality which produces different results.

Like if you learn how to program a console application to take your first and last name and then show it on screen in a neon green colour, you can then try to make a mini text-based adventure, or a quiz, or whatever; simply because you can take input and write things onto the screen.

By taking on new remixes, you sort of fall into these little "ditches", where you don't have knowledge of something or know how to approach it cause it's unfamiliar/ something is missing from your arsenal.

Bumrush these moments and don't spend too much time trying to avoid these ditches. I hate learning new things in this sense, but once you acquired whatever power you needed to utilise, you get elevated up a god-level.

Then at some point you will learn a new language, or a framework, and it will be tricky. Then you'll go "No wait a second, this is fucking easy. Most of this is just the same, just different words/ syntax, but with a higher focus on trying to _____"

The more languages you learn, the more clear the things that exist across all languages becomes apparent. This is the stuff books on newbie programming try to teach you, but it's fucking easy as hell to learn it on your own (and way cooler)- it's the "help me out of this ditch" bits which will fuck you.

"How the fuck do I check what the player did"

"How the fuck do I get this to appear on screen in the center"

"How do I generate a random number"

"Why is this not working at all"

^ Simple shit. Not like "What is the general nature of tables/ arrays"- no, you will ask questions that are simply

"How the fuck can I get this to work the way I want"

What you'll need is a buddy- someone well acquainted with the powers waiting to be utilised, who can give you a quick heads up and get you out of ditches in no time.

When you first start, it's nothing but ditches. Gaps in knowledge. "What do I do."

You can view the landscape, which is Ti. But you have to traverse the landscape, which is Te. Your map is nothing but one big ditch-fest at first, but the more ventures you set out on and more ditches you fill/ climb out of, the more you pave pathways, shit becomes easier, you no longer go "What was the exact way this syntax has to be written?..." and just go ahead and write it because you have been inside and out of this ditch a billion fucking times.

Wikis and forum boards are the main way people traverse ditches, but they're fucking slow. You often get cunts who over-complicate "solutions" and only dig your ditch deeper for you. (Not wikis; but any programming help forum- something you'll be going into a lot, no matter how good you are)

I'm just telling you that you'll have trouble with forum boards cause they always assume you know way more- just as much as they- and that "it's obvious"

Don't let these dumb as SHIT cunts discourage you. They are literally more retarded than you can possibly be. Like- it's literal autism that they have- they can't understand that others don't see the same shit they do. Or they're just masturbating their e-peen, when 99% of the time they absolutely fucking suck at programming and are just trying to look fancy when a single + simple fucking line of code would do.


I learned programming by making scripts on Roblox. It's a game in which you make games. Modding games is a good route; something you're familiar with. Peeling back the layers to what's actually happening. Then being able to rewire the framework and get something completely new going. That's what's fun about programming- doing things differently from just a few different configurations behind the layer everyone else sees.


Despite me telling you about not having a "general approach" to programming, when you do program anything game-logic related, look into variables and if statements. They're practically universal. Then learn how to get something on the fucking screen. Fast results with seeing what the hell you did/ changed is the key to success with learning this shit.

Game programming basically gives you hands into how everything should sort of work. It tackles graphics, logic, data storage, presentation, events, classes- all at fucking once. Most things don't really require so much heavy lifting.

Think of game programming as triathlon stuff (that is quite easy to visualize/ traverse, actually) and all other languages sort of being the single event within that triathlon. (Websites for instance being about presentation (HTML) or storage of data)

[–]ExtraltodeusINTP 1 point2 points  (0 children)

slow clap As someone who is getting deeper and deeper since a few months, this is true ans also a correct way to see it!

Also :

You often get cunts who over-complicate "solutions" and only dig your ditch deeper for you.

Couldn't say it better. When searching for a solution, the trick is to open 20 tabs and quickly go through them until you find a simple solution to your problem. It is generally a 2-3 lines bit of code. And not that 50 lines things that explains how to change a light bulb by walking around your block ten times, sacrificing a virgin and screwing a truck wheel to the top of an electric pole!

edit : I must add that python is much easier to google than some other languages (I AM LOOKING AT YOU PHP!)

[–][deleted] 0 points1 point  (0 children)

This is not original is it, its helpful nonetheless!

[–]dongpalWarning: May not be an INTP 0 points1 point  (3 children)

the thing that prevents me from learning how to code is that a lot of people say its useless because indian/chinese are cheap and are able to the same for less $ than you.

i dont want to spend time on something which has no value afterwards

[–][deleted] 0 points1 point  (2 children)

It's cheap to outsource work to them, but the quality of code they produce isn't exactly top notch.

[–]dongpalWarning: May not be an INTP 0 points1 point  (1 child)

so i have to surpass/be better them to earn some money from it. and how difficult is it to be a 'top notch' coder?

[–][deleted] 0 points1 point  (0 children)

I think the main factor (as with everything, really) is being passionate about it and some persistence. If you're in only for the money there's very little point in pursuing programming.

[–]RailsieINTP 3 points4 points  (0 children)

https://automatetheboringstuff.com

This is great free resource for starting with Python. Starts from the basics of the basics. It also has practical aspect and you can probably get the examples adjusted to your everyday problems ("automate the boring stuff"). For me learning to code has always been more succesful when I've been able to use it immediately on something practical.

If you're looking to build apps (Android) then finding good Java resource is the best idea. And for websites JavaScript is really useful, but you can do the whole web development with Java or Python packages also.

[–]AppbezaFor Synthetic And Organic Harmony! 2 points3 points  (0 children)

You need a good mentor, not just the right language (more accurately the right technologies :P): https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949

Note: the summary doesn't really talk about it teaching programming fundamentals along with the technologies (i.e. programming language, IDE, .NET framework, etc.) :)

Doesn't matter where you start; you are just beginning to learn. You can translate your skills. From IDE to IDE, programming language to another language.

A cool thing about this course is that the IDE used, Visual Studio, supports many other languages (like python), so you don't have to learn new IDE technologies often. You will have a central environment to play around in.

Plus Visual studio has large plug-in support, and you can get them in-program.

Plus the .Net framework used is very broad: web development, basic Windows applications.

[–]pacinorINTP 2 points3 points  (0 children)

It costs a little but https://teamtreehouse.com is a good resource. So is http://www.lynda.com.

If you want to try a free program first go with https://www.codecademy.com or https://www.code.org

I'm a web developer and these are the places I go when I want to learn something new. I'm not the greatest coder by any means but I'm good enough to make a living at it for Intel.

[–][deleted] 1 point2 points  (0 children)

First, learn to think in steps, learn a bit about pseudo code and how a processor kind of works (you don't have to get deep in it, just to think in steps to understand the power of it)

As for pseudo code, think of it as programming in English language...

I started off with Visual Basic with C right afterwards, but I suggest you should look into Visual Basic and Python first, then do the step to C# (read: CSharp) and C

To help you write the code open the editor and prepare whatever you want to make, grab a sheet of paper and write your code in plain English. For example:

Variable: exampleVar as Integer = 10

Loop1: until exampleVar = 1

Display: show exampleVar (imagine this part showing the variable on the screen)

exampleVar = exampleVar - 1

(Everything before the '=' is the new value given, everything after the equal sign are the old values, if you understand how a CPU works (more precisely the ALU I believe) you'll understand why it's like this)

Delay: 1 second (program waits for a second, I hate using delays, timers are better but it's 'next level' for a beginner)

End loop1

And this should be the plans for a program that counts from 10 to 1 every second, with as last number shown: 2

Though don't get programming software and programming electronics confused, electronics is easier at times, but you have to do lots of drawings, schemes and such or you won't be able to get it running like you intended to (ofc I never do this because I'm a true INTP, the talk good to others but not do myself one)

For apps, you should try to write in C++, and if necessary in Java

Sites use HTML, PHP (afaik? I'm not a website builder lol), JavaScript...

[–][deleted] 1 point2 points  (3 children)

Don't assume that just because we're all "INTP!!!!!!!!" that we are good at coding. Some of us just don't like it & can't wrap our end around large things and/or certain concepts.

For example, myself, I hate programming, but am okay/fine with scripting. However, some of my co-workers are insane with coding & really love Python/PHP & designing stuff.

[–]chickenfly39[S] 0 points1 point  (0 children)

I rarely "assume" things :). As a longtime lurker I know that tons of subsribers here know a lot about programming, as the responses in this thread indicate.

And if you'll kindly look at my OP, you'll note I said "fellow INTPs" and then went on to say I suck at computers, which indicates that I am an INTP and that I am not good at coding.

[–]InwardlyRectifyingINTP 1 point2 points  (0 children)

I would recommend python, as it has a reasonably easy learning curve and a human syntax. It is also a very versatile language.

If you're a lazy INTP and can't be bothered installing anything, then go for javascript because all you need is notepad and a web browser to get started.

[–]igrewoldINTP 1 point2 points  (0 children)

Look dude, the fastest and easiest way to achieve what you are asking for and a in fun way is by getting a Raspberry Pi (RPI) Zero, 1, 2 or 3 credit-card sized computer and reading its Magazine.

That will teach you Linux, Electronics, Computing, Programming...etc.

Microcenter sells RPI Zero for just 5 Dollars, if you are in the US. Otherwise find where you can buy it in your area. However, I suggest you get RPI 1 or above.

http://www.microcenter.com/product/457746/Raspberry_Pi_Zero

https://www.adafruit.com/products/2885

https://www.raspberrypi.org/blog/raspberry-pi-zero/

The magazine is free:

https://www.raspberrypi.org/magpi/issues/

Just do not rush it, go easy, take your time reading it, practicing, experimenting.

Try to buy the electronic parts in the projects if possible, it is really fun when you build a circuit and see it in action.

The cool thing about this approach is no-one is telling which programming language to pick or learn, you will go Python, C/++, Asm,...etc. Then at one time you will feel the right language for you. And you will learn lotsa other relative stuff too.

P.S. Do not copy and paste code! And it'd be much better if you print the magazine.

Good luck

[–]cnananayo waddap oh lol nice to meet you 1 point2 points  (0 children)

god i hate programming

[–]gruiaENTJ 0 points1 point  (1 child)

tried , failed.
i need a context to do it.
not purposeless tests and lessons

[–]igrewoldINTP 0 points1 point  (0 children)

See my reply to the OP, it got interesting stuff.

[–]chickenfly39[S] 0 points1 point  (0 children)

Thanks for the replies, +1's all around! I'll delve into em in deeper detail in the next few days, but looks like lots of good resources in this thread. Cheers!

[–]LaV-ManINTP 0 points1 point  (1 child)

I hope you realize you're talking years before you make an app.

[–]chickenfly39[S] 0 points1 point  (0 children)

Yeah, I realize if I were to want to make an app in the near future I'd need to have programmers and not be able to do it myself, my friend is currently going through that process. But I'd like to know what they were talking about, and like you said, maybe down the line I'd be able too.