Jump to content

What language to learn as a beginner?

Hey guys! So im currently a senior in high school and next year im going to community college to study computer science and to be honest as of now i dont know anything about coding at all. I was wondering what language is the best to start learning as a beginner and after i get good at it i want to jump to the next language and so forth. but mainly is there a relatively easy language out there that is used alot in the CS major in college? thanks  

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, glitchmaster0001 said:

Hey guys! So im currently a senior in high school and next year im going to community college to study computer science and to be honest as of now i dont know anything about coding at all. I was wondering what language is the best to start learning as a beginner and after i get good at it i want to jump to the next language and so forth. but mainly is there a relatively easy language out there that is used alot in the CS major in college? thanks  

Start with something like Scratch, written by folks over at MIT. Then move on over to Python. It's ridiculously simple syntax makes it the perfect choice for beginners.  

Link to comment
Share on other sites

Link to post
Share on other sites

Want be off to the best start, learn C, C# and Python.

A tip I would give, is get an Arduino nano or Uno, Nano's are like $1-2 in china and they are essentially written in C, but it's fun to learn because you can make physical stuff happen, like, makes stuff blink play music whatever, it keeps stuff interesting.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Naman Gupta said:

Start with something like Scratch, written by folks over at MIT. Then move on over to Python. It's ridiculously simple syntax makes it the perfect choice for beginners.  

what about javascript? or c++

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

I started with java, pretty simple

n0ah1897, on 05 Mar 2014 - 2:08 PM, said:  "Computers are like girls. It's whats in the inside that matters.  I don't know about you, but I like my girls like I like my cases. Just as beautiful on the inside as the outside."

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, glitchmaster0001 said:

what about javascript? or c++

C++ is much more "complex" language in the sense that the syntax is finnicky and the rules are stricter. I started with C++ and have no regrets but now that I have more experience, I only wish I had started with Python. 

Javascript is similar to Python but Python is much more versatile.  

Link to comment
Share on other sites

Link to post
Share on other sites

Commodore Basic V2

RyzenAir : AMD R5 3600 | AsRock AB350M Pro4 | 32gb Aegis DDR4 3000 | GTX 1070 FE | Fractal Design Node 804
RyzenITX : Ryzen 7 1700 | GA-AB350N-Gaming WIFI | 16gb DDR4 2666 | GTX 1060 | Cougar QBX 

 

PSU Tier list

 

Link to comment
Share on other sites

Link to post
Share on other sites

html is easy lol.

Elemental 

Spoiler

Intel i5 6500 @3.8ghz - 8GB HyperX - 600w Apex PSU - GTX 1060 G1 GIGABYTE 6GB - s340 Black - 240gb Toshiba Q300 - Cooler master TX3i - MSI z170-A PRO.

Old Build (sold for 290€)

Spoiler

Intel i3 540 @ 3.9ghz (On stock cooler, Hits 80c max) - 8gb ram - 500w power supply - P7H55-M LE  120gb SSD - Talius Drakko case

Project Frug 50$ Water loop

 

Laptops

Spoiler

13" Macbook Air - Alienware m14x r2 -  2009 15" Macbook Pro (I was give all of these and would never buy them myself)

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

EVE Online was coded in Python and works pretty well :D

We have a NEW and GLORIOUSER-ER-ER PSU Tier List Now. (dammit @LukeSavenije stop coming up with new ones)

You can check out the old one that gave joy to so many across the land here

 

Computer having a hard time powering on? Troubleshoot it with this guide. (Currently looking for suggestions to update it into the context of <current year> and make it its own thread)

Computer Specs:

Spoiler

Mathresolvermajig: Intel Xeon E3 1240 (Sandy Bridge i7 equivalent)

Chillinmachine: Noctua NH-C14S
Framepainting-inator: EVGA GTX 1080 Ti SC2 Hybrid

Attachcorethingy: Gigabyte H61M-S2V-B3

Infoholdstick: Corsair 2x4GB DDR3 1333

Computerarmor: Silverstone RL06 "Lookalike"

Rememberdoogle: 1TB HDD + 120GB TR150 + 240 SSD Plus + 1TB MX500

AdditionalPylons: Phanteks AMP! 550W (based on Seasonic GX-550)

Letterpad: Rosewill Apollo 9100 (Cherry MX Red)

Buttonrodent: Razer Viper Mini + Huion H430P drawing Tablet

Auralnterface: Sennheiser HD 6xx

Liquidrectangles: LG 27UK850-W 4K HDR

 

Link to comment
Share on other sites

Link to post
Share on other sites

23 minutes ago, glitchmaster0001 said:

Hey guys! So im currently a senior in high school and next year im going to community college to study computer science and to be honest as of now i dont know anything about coding at all. I was wondering what language is the best to start learning as a beginner and after i get good at it i want to jump to the next language and so forth. but mainly is there a relatively easy language out there that is used alot in the CS major in college? thanks  

Why do you want to study computer science? What is it that you want to be doing on a daily basis?

 
Link to comment
Share on other sites

Link to post
Share on other sites

27 minutes ago, glitchmaster0001 said:

Hey guys! So im currently a senior in high school and next year im going to community college to study computer science and to be honest as of now i dont know anything about coding at all. I was wondering what language is the best to start learning as a beginner and after i get good at it i want to jump to the next language and so forth. but mainly is there a relatively easy language out there that is used alot in the CS major in college? thanks  

If you are going to college as a CS major, chances are  you'll most likely encounter the following languages:

  • Java
  • C/C++
  • Fortran (yes they still use this, but it's mostly for introductory courses)
  • C# (maybe)
  • MATLAB (not really a programming language, but it's used a lot in CS fields)

They might have Python courses, but a lot of the formal classes I've seen use those languages. If you're trying to get a handle on programming, Python will be easier to use to get a handle on the basic concepts. However, I also recommend a language with easy debugging support. On Windows at least, you can use VisualStudio to develop and debug with C, C++, and C#, which can help a lot with understanding the guts of a program.

Link to comment
Share on other sites

Link to post
Share on other sites

17 minutes ago, M.Yurizaki said:

Well either way, my stance on Python still remains. In my entire software development career I've yet to see it in use for customer delivered applications. So keep that in mind, you must learn another language on top of Python if you decide to start with Python.

like javascript or something? 

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, M.Yurizaki said:

If you plan on going into web development sure, but I don't think CS classes teach this. If you are going into CS as your major, you will need to learn at least C.

so as a CS major id have to learn at least C++ right? can i learn python to get the basics of coding then move on to C++ directly? or do i have to learn something else before i jump to C++ 

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, glitchmaster0001 said:

so as a CS major id have to learn at least C++ right? can i learn python to get the basics of coding then move on to C++ directly? or do i have to learn something else before i jump to C++ 

Well here's where things get tricky and why I only recommend Python to get some of the core concepts of programming down.

 

The thing with C is that variables have different types and you must adhere to them. For example in Python you can go:

x = 1
y = "2"
print x + y  #output is "3"

However, you cannot do this in C. In fact, the equivalent C could would be this but it wouldn't work:

int x = 1;
char y = '2';

printf("%d", x + y); // This will throw a compiler error

So basically, there are more rules to C that you have to follow, among other things that get annoying really fast (like C has no concept of strings, there are hacks to make strings available but they're just that, hacks). C++ I also feel is a little hard to dive right into. I found C#/Java a better programming language to get into object oriented programming and the like.

 

Really though, I feel any programming language can be used to teach yourself how to code, it all really depends on how it's taught and if it teaches you the core concepts of programming. So if you live near a Barnes and Noble, I'd say go check out what they have in the coding tutorials section.

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, M.Yurizaki said:

Well here's where things get tricky and why I only recommend Python to get some of the core concepts of programming down.

 

The thing with C is that variables have different types and you must adhere to them. For example in Python you can go:


x = 1
y = "2"
print x + y  #output is "3"

However, you cannot do this in C. In fact, the equivalent C could would be this but it wouldn't work:


int x = 1;
char y = '2';

printf("%d", x + y); // This will throw a compiler error

So basically, there are more rules to C that you have to follow, among other things that get annoying really fast (like C has no concept of strings, there are hacks to make strings available but they're just that, hacks). C++ I also feel is a little hard to dive right into. I found C#/Java a better programming language to get into object oriented programming and the like.

 

Really though, I feel any programming language can be used to teach yourself how to code, it all really depends on how it's taught and if it teaches you the core concepts of programming. So if you live near a Barnes and Noble, I'd say go check out what they have in the coding tutorials section.

so like go to barnes and nobles and see if they have a book on how to code? 

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, glitchmaster0001 said:

so like go to barnes and nobles and see if they have a book on how to code? 

Yes. Look through the first few chapters and see if their explanations makes sense to you. That's the important part. If you can understand what's going on, then the concept can be generalized to any programming language. You just have to figure out what "words" the language uses to do that thing.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, glitchmaster0001 said:

what about javascript? or c++

Javascript is primarily used by web applications, it's not a real programming language. I started with java, it is a relatively easy language to learn and pretty universal, you can use it for any client, server, and android applications. The good thing about learning java are plenty of prebuilt libraries, already part of the JDK,  but this can also be very confusing sometimes.

If you want to start really basic you can start with Python, it is also very easy to program but it is really basic, there are almost no complex functions shipped with python ( that's my experience, I never really used python so far) 

Link to comment
Share on other sites

Link to post
Share on other sites

Multiple languages are used for many things. Some of the most popular languages are:
JS - Interpreted
Java - Compiled then Interpreted
Python - Interpreted
C/C++ - Compiled

Those were not sorted in any order. There are ways to compile Python and interpret C, so those notes aren't absolute. Just a majority guideline. Compiled languages are faster yet they take longer to develop as every time a change is done, you have to wait for the program to build instead of immediately running it.

JS is used with web development. Now that node exists (a way for JS to be more of an actual programming language, actual meaning can be used for anything, not just web), JS is an increasingly viable market language. Node is still oriented towards the web with it's intent being a way for you to have a JS server, not just client. The language is pretty easy and you can do fun things with it. If you start with JS, I recommend not using node as then you can see in your browser what you did.

Java is a very popular language as it is easy, all the tools you need are given to you, and you compile once, run anywhere. I personally dislike Java as it is slower than other languages, and I feel it doesn't teach much about computers themselves. The run anywhere bit is cool.

Python is the worst to me. A lot of people like it, it's easy, contains a lot of libraries...... My issues are the styling. It's indentation based. It also doesn't use semicolons. Those two things irk me. My favorite language does the same, so I am a bit of a hypocrite, but Python just gives me a cringe feeling. I also dislike Python's Read-Eval-Print Loop system. You can do scripts easily, yet that is brought up a lot. Python is very slow compared to other languages, and has a divided user base (2.7 vs 3.x). It is a good beginner language yet I recommend learning a compiled language (not Java) afterwards.

C/C++ are the grandaddies of programming. They can be found everywhere. C's syntax is a bit dated and uses more technical concepts, but is immensely powerful and fast when used correctly. An issue a lot of people have with C is memory management and its complexities. C++ solves the most common gripe involving memory (arrays/Strings) and introduces more powerful features. The bulk of these features are/relate to classes. Classes allow you to create custom data objects for organized code. Java also offers classes, and requires classes to be used. I do think Java classes are less complicated.

Someone brought up Scratch. I hate Scratch. It is used a lot for beginners yet has no market use. You CAN make games in it, but none go anywhere. The language primarily uses drag and drop blocks and is for animation. The blocks limit you, take a while to sort through the windows, and teach you to identify, not memorize, coding concepts.

I brought up my favorite language in a sentence, and my favorite is Nim (nim-lang.org). Great language, very easy to use but has all the power of C and more. It compiles down to C and you can mix C/Nim code. I would recommend it for beginner's except almost no business's use it. Right now it is more for people than companies as the companies have yet to accept it. You can still use it of course, just don't expect companies to say, "Oh my gosh. This coder knows NIM! NIM PEOPLE! WE MUST HIRE HIM!" They would be more likely to say ,"Ok. you learned this one random language. We don't use it. Know anything else?" (as of right now).

Good luck on whatever language you choose!

Link to comment
Share on other sites

Link to post
Share on other sites

Could've sworn I just did that. Oh well. Maybe that interpreter was buggy.

 

EDIT:

Anyway here's what I don't like about Python when handling variables:

  • Because everything is implicitly typed, it can be harder to keep track what something is supposed to be. Granted your variable name should be self-commenting, but when a user can plainly see "oh, it's supposed to be an int" or "oh, it's suppose to be a char", then they know how they're supposed to use it.
    • I probably got my goof from Javascript, which brings up another point, if the language is going to be implicitly typing your variables, then wouldn't it make sense to allow mixing and matching?
  • Global variables are annoying to use. Granted you should avoid using them but when you have to, every other language I've used makes it clear that if you declare a variable global, it's global no matter where you call it.

And one other thing about Python that no other language has (but I wish  they did), which makes it dangerous to get used to: default parameter values and returning multiple things.

 

I have nothing against Python, but one still has to make sure to understand that languages have their quirks. It's better to understand how to design a program in a general sense rather than how to actually program it.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, glitchmaster0001 said:

so like go to barnes and nobles and see if they have a book on how to code? 

codeacademy.com

 

i5 4590 @ Stock, XFX R9 290!, HyperX Beast 4x8GB  @1600, 850 EVO 120gb, WD Caviar Blue 1TB, , Asrock H97m Pro 4 , Fractal Design Define R4, Windows 10

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, M.Yurizaki said:

Well here's where things get tricky and why I only recommend Python to get some of the core concepts of programming down.

 

The thing with C is that variables have different types and you must adhere to them. For example in Python you can go:


x = 1
y = "2"
print x + y  #output is "3"

However, you cannot do this in C. In fact, the equivalent C could would be this but it wouldn't work:


int x = 1;
char y = '2';

printf("%d", x + y); // This will throw a compiler error

So basically, there are more rules to C that you have to follow, among other things that get annoying really fast (like C has no concept of strings, there are hacks to make strings available but they're just that, hacks). C++ I also feel is a little hard to dive right into. I found C#/Java a better programming language to get into object oriented programming and the like.

 

Really though, I feel any programming language can be used to teach yourself how to code, it all really depends on how it's taught and if it teaches you the core concepts of programming. So if you live near a Barnes and Noble, I'd say go check out what they have in the coding tutorials section.

That won't throw a compiler error in C. It works since chars are encoded as numbers using the ASCII encoding.

Sure, it won't print out 3, rather 51. Or otherwise, if you were printing with the character format specifier, it would print out 3, '3' to be more exact.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

24 minutes ago, Nineshadow said:

That won't throw a compiler error in C. It works since chars are encoded as numbers using the ASCII encoding.

Sure, it won't print out 3, rather 51. Or otherwise, if you were printing with the character format specifier, it would print out 3, '3' to be more exact.

Ah right, a char is really an unsigned byte.

 

This is is what happens when you deal with a half dozen languages. Because I know in C# it won't let you do that. It will enforce you to type cast (which is annoying as hell).

 

EDIT: Okay, I thought about this some more...

 

Python uses implicit typing but is strongly typed. Meaning the data type is determined at runtime but you can't mix and match types in operations.

 

C/C++ uses explicit typing but is weakly typed. Meaning you have to declare the data type but it doesn't really care what you do with them.

 

C# is uses explicit typing and is strongly typed. You have to declare the data type and if you want to mix and match types in operations, you have to type cast them.

 

Javascript uses implicit typing and is weakly typed. Meaning you can do whatever duck all you want with your variables and if it makes sense it'll do it.

Link to comment
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

×