Jump to content

So I know this is probably the most noobiest question, but I have been wanting to get into coding for a while now

Im 16 and very tech savvy as I know how to build computers and I pretty much know everything about any model and part, 

I am also very software knowledgeable. I am very good at math and have a 4.7 gpa, and am hoping to go to college for a masters in 

computer science, computer hardware engineer, or a software architect, so I figured I should start learning how to code now

 

I have messed around in unity and gamemaker and made small games but only buy copying codes as I have no idea how they work,

I want to be able to make games, and programs that will be useful for me to learn as a future software arcitect

 

So what do you guys think is the first language(es) I should learn are, and where I should learn them? 

Thank you for any help

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/
Share on other sites

Link to post
Share on other sites

I love Lua, it's super easy (IMO) to use and relatively powerful

A great platform to use it with is ComputerCraft, which is a mod for Minecraft.

 

Java is also good to know and medium difficultly to start with

i7 4790k | MSI Z97S SLI Krait Edition | G.Skill Ripjaws X 16 GB | Samsung 850 EVO 500 GB | 2x Seagate Barracuda 2TB | MSI GTX 970 Twin Frozr V | Fractal Design R4 | EVGA 650W

A gaming PC for your budget: $800 - $1000 - $1500 - $1800 - $2600 - $9001

Remember to quote people if you want them to see your reply!

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7721575
Share on other sites

Link to post
Share on other sites

9 minutes ago, OneSaltyDog said:

- SNIP -

+1 for Lua and Java. Modding Minecraft and scripting with ComputerCraft, while not how I started, are immensely fun to do. If you're looking for general Java tutorials, I'd highly recommend TheNewBoston on YouTube. If you want to learn a more current, in-use language like C#, this series is great. Most important though is having fun with it and doing real projects. Demo programs, to me at least, are no fun. I learn best when there are real examples, even if I have to create them myself.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7721614
Share on other sites

Link to post
Share on other sites

Just pick a language and stick with it. Some are easier for beginners than others such as python but more powerful/complex languages such as C++ are also doable if you're determined.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7721617
Share on other sites

Link to post
Share on other sites

Python.

 

Codeacademy, Lynda.com, MIT Opencourseware

CPU: Intel Core i7 8700k CPU Cooler: Corsair Hydro Series H100i Mobo:  Memory: G.Skill Ripjaws X 32GB 2133 Storage #1: 1TB 850 EVO SSD Storage #2: Western Digital Black 2TB Storage #3: Western Digital Green 4TB GPU: Gigabyte 980 Ti G1 Case: Mastercase5 PSU: EVGA 750 W G2 80+Gold Keyboard: Corsair K70 RGB Cherry MX Brown Mouse: Razer Deathadder Elite Monitor: LG 34UM94 Headset: Bose

Phone: Samsung Galaxy S9

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7721907
Share on other sites

Link to post
Share on other sites

1 minute ago, paps511 said:

Python.

 

Codeacademy, Lynda.com, MIT Opencourseware

I actually just did the first 2 lessons of python on code academy, it looks understandable, but how do I make programs out of that, like once i write all the code how to i compile it into a game or program?

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7721914
Share on other sites

Link to post
Share on other sites

1 minute ago, OneSaltyDog said:

I actually just did the first 2 lessons of python on code academy, it looks understandable, but how do I make programs out of that, like once i write all the code how to i compile it into a game or program?

I just finished a class on it (MBA) and we used Anaconda and Jupyter. Anaconda is a skin/launcher, and Jupyter is a web based place to write and run.

 

Most of the class was scraping and text analytics. Scraping twitter, Yelp, Trip Advisor, etc

CPU: Intel Core i7 8700k CPU Cooler: Corsair Hydro Series H100i Mobo:  Memory: G.Skill Ripjaws X 32GB 2133 Storage #1: 1TB 850 EVO SSD Storage #2: Western Digital Black 2TB Storage #3: Western Digital Green 4TB GPU: Gigabyte 980 Ti G1 Case: Mastercase5 PSU: EVGA 750 W G2 80+Gold Keyboard: Corsair K70 RGB Cherry MX Brown Mouse: Razer Deathadder Elite Monitor: LG 34UM94 Headset: Bose

Phone: Samsung Galaxy S9

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7721924
Share on other sites

Link to post
Share on other sites

I'll throw in my vote for Java as well. There's plenty of documentation out there to help you along the way, and it's still one of the most widely used languages.

 

You'll also learn a lot that will be applicable to many other languages that you may use in the future.

 

If you're dead set against Java for some reason C# would be another solid choice imo.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7721981
Share on other sites

Link to post
Share on other sites

I'm going to vote C++. People will say it's too complicated for beginners but it's not like you're going to throw yourself straight into the deep end. Once you have a good understanding of it, transitioning to other languages is easy. But that's just my opinion! ^_^

 

There's tons of libraries out there too which will let you get into creating games or multimedia programs quickly. My personal favorite is SFML (Which supports multiple platforms and languages anyway).

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7722153
Share on other sites

Link to post
Share on other sites

You wont have to really Program to learn the basics, you van start with scripting languages like HTML and CSS (this is how i started a few months ago) after that, you can choose multiple programming languages to learn (so you can see that programming Different languages dont have a lot of differences except for style and some functions) try at least 4 programming languages, and than focus on one languages to learn in detail. For me It was c, and that is what i'm learning now.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7722270
Share on other sites

Link to post
Share on other sites

6 hours ago, OneSaltyDog said:

I want to be able to make games, and programs that will be useful for me to learn as a future software arcitect

 

So what do you guys think is the first language(es) I should learn are, and where I should learn them? 

Since you have eluded to an interest in software architecture then I think you should read my comments in this thread. Hammering away like a chimp at any one syntax will not help you very much if you desire to become a Software Architect, you'll need the theory and you'll need to start on it ASAP.

3 hours ago, xaaronx said:

I'm going to vote C++. People will say it's too complicated for beginners...

I would agree. Starting with C++ is likely to provide one with a solid foundation for appreciating what is going on down at the fundamental level. In any event the gap between C++ and what we consider higher level languages is closing since the advent of C++ 11 onwards.

2 hours ago, ard1998 said:

You wont have to really Program to learn the basics, you van start with scripting languages like HTML and CSS (this is how i started a few months ago)...

HTML and CSS are not scripting languages they are markup languages...

2 hours ago, ard1998 said:

...after that, you can choose multiple programming languages to learn (so you can see that programming Different languages dont have a lot of differences except for style and some functions) try at least 4 programming languages...

That may be true within one specific programming paradigm. However if one wants to truly seek diversity then start learning from other paradigms - more tools for the toolbox (see my comments on that thread as I mentioned earlier).

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7722561
Share on other sites

Link to post
Share on other sites

Huh, alright, so this is going to be long... again :D

Coding is a term very often misused by non-technical people and beginners. The definition of code is this:

Quote

a set of instructions for a computer

So it can be any set of instructions, it could be a set of coordinates for a graph, but is it's not programming, and you probably won't get a job writing coordinates for graphs :P

Programming is coding, but coding isn't programming. Two "coding" languages that are commonly used but aren't programming languages are HTML (markup) and CSS (styling), which are used in website development, so there isn't much point in learning those if you want do to something. Tho, you can create apps using those too, but you need programming with all that as well.

So what is programming?

Quote

the act or job of creating computer programs

you are creating them by writing code in a language. All languages are more or less similar, so once you get the basic concept of programming logic, you can easily learn another language's syntax by just learning how it does certain things.

 

So, now the question is what language to learn. It always depends on what you want to do.

It seems to me like you don't really have a specific goal to achieve, you just want something to do before the college. The problem is, that at school they are most often using C# or Java, and sometimes C++ or Python. And there is no way to know which you're going to have... unless you ask them, of course.

So what I would recommend is Ruby. Those choices above aren't bad, but I think Ruby would be perfect for you.

It's a fairly easy language, quite mature, and most importantly - very object-oriented. Object-oriented programming is a style of programming that's "the thing" right now and you very likely won't find a job in programming without knowing that. C# and Java are very heavily object-oriented. I think that Ruby is a nice language, especially to start with, but most importantly, it will greatly help you understand OOP in a simple, easy matter.

 

Now, there is the question of where to learn the language. I wrote a fairly large topic on why Codecademy and similar websites are bad.

https://linustechtips.com/main/topic/543658-why-codecademy-and-similar-websites-suck/#comment-7191696

tryruby.org is pretty decent, but it is more of an overview of the language rather than something to learn, but it's still worth checking out. There aren't many Ruby tutorials, but I'm sure you can find something. Here is a great one, but it can be a bit overwhelming for a beginner:

You can just hit me up on PM or IRC if you have any questions regarding Ruby :)

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7722890
Share on other sites

Link to post
Share on other sites

2 hours ago, Gachr said:

Coding is a term very often misused by non-technical people and beginners.

Honestly the very mention of that particular term fills me with contempt.

2 hours ago, Gachr said:

Now, there is the question of where to learn the language. I wrote a fairly large topic on why Codecademy and similar websites are bad.

The main reason that I don't like them is because one gets no exposure to engineering or design principles. I think that when setting out to learn how to write software it's important to have a healthy and balanced diet of syntactic sugar combined with the oaty goodness of engineering and design theory in order for one to grow up big and strong.

 

Why the hell am I making dietary analogies...

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7723288
Share on other sites

Link to post
Share on other sites

1 minute ago, Nuluvius said:

Honestly the very mention of that particular term fills me with contempt.

The main reason that I don't like them is because one gets no exposure to engineering or design principles. I think that when setting out to learn how to write software it's important to have a healthy and balanced diet of syntactic sugar combined with the oaty goodness of engineering and design theory in order for one to grow up big and strong.

 

Why the hell am I making dietary analogies...

I think the worst thing about those sites is that you can't experiment, which is the best way to learn.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7723293
Share on other sites

Link to post
Share on other sites

I agree with what most people here said, but be sure to actually understand what you are doing and once you have completed a tutorial, you should give yourself the task to add or alter the final product. Things like that will make you actually think like a programmer and teach you to adapt to what is written down already (which is something you probably will have to do once you're a real programmer)

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7723446
Share on other sites

Link to post
Share on other sites

14 minutes ago, Minibois said:

Things like that will make you actually think like a programmer and teach you to adapt to what is written down already (which is something you probably will have to do once you're a real programmer)

Oh you most certainly will. Have you ever hear of the phrase 'hammering a square peg into a round hole'? :D

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7723542
Share on other sites

Link to post
Share on other sites

6 minutes ago, Nuluvius said:

Oh you most certainly will. Have you ever hear of the phrase 'hammering a square peg into a round hole'? :D

I have heard the Dutch equivalent a couple times last year, yes :P I have even had to apply it a couple of times!

If only every developer added comments to his/her code.. (and also remove all irrelevant code and not just tag it out)

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7723574
Share on other sites

Link to post
Share on other sites

27 minutes ago, Minibois said:

...also remove all irrelevant code and not just tag it out

Oh now that just makes me die inside... Nothing quite like opening an already oversized class file only to find that there's thousands of lines of irrelevant (due to source control) code commented out all over the place.

 

The best term I have ever heard applied to this context (from a colleague): "It looks as if someone has farted all over the page".

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7723700
Share on other sites

Link to post
Share on other sites

7 minutes ago, Nuluvius said:

Oh now that just makes me die inside... Nothing quite like opening an already oversized class file only to find that there's thousands of lines of irrelevant (due to source control) code commented out all over the place.

 

The best term I have ever heard applied to this context (from a colleague): "It looks as if someone has farted all over the page".

I have had a programming internship for the last year and whenever I complained about it, they always said "well what if I want to use this code some time still?!" and I was always like "well if you would actually save new version with version numbers.." and right there it always stopped because they were are like "yea yea" (because they didn't do version numbers and stuff)

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7723729
Share on other sites

Link to post
Share on other sites

On 5/10/2016 at 4:00 AM, OneSaltyDog said:

I actually just did the first 2 lessons of python on code academy, it looks understandable, but how do I make programs out of that, like once i write all the code how to i compile it into a game or program?

There is a package for python called py2exe which will compile a python file, it's a good starting language

Link to comment
https://linustechtips.com/topic/593788-how-do-i-get-into-coding/#findComment-7758615
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×